summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/browser_process_impl.cc6
-rw-r--r--chrome/browser/chromeos/cros_stubs_aura.cc241
-rw-r--r--chrome/browser/chromeos/frame/bubble_window.h28
-rw-r--r--chrome/browser/chromeos/login/login_html_dialog.cc11
-rw-r--r--chrome/browser/chromeos/login/screen_locker.h10
-rw-r--r--chrome/browser/chromeos/login/user_manager.cc9
-rw-r--r--chrome/browser/chromeos/media/media_player.cc4
-rw-r--r--chrome/browser/chromeos/network_login_observer.cc5
-rw-r--r--chrome/browser/prefs/browser_prefs.cc5
-rw-r--r--chrome/chrome_browser.gypi32
10 files changed, 345 insertions, 6 deletions
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index ae38669..24df1a4 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1002,9 +1002,13 @@ void BrowserProcessImpl::CreateIntranetRedirectDetector() {
}
void BrowserProcessImpl::CreateNotificationUIManager() {
+#if defined(USE_AURA) && defined(OS_CHROMEOS)
+ // TODO(saintlou): Implement notifications.
+ NOTIMPLEMENTED();
+#else
DCHECK(notification_ui_manager_.get() == NULL);
notification_ui_manager_.reset(NotificationUIManager::Create(local_state()));
-
+#endif
created_notification_ui_manager_ = true;
}
diff --git a/chrome/browser/chromeos/cros_stubs_aura.cc b/chrome/browser/chromeos/cros_stubs_aura.cc
new file mode 100644
index 0000000..66125d8
--- /dev/null
+++ b/chrome/browser/chromeos/cros_stubs_aura.cc
@@ -0,0 +1,241 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/login/screen_locker.h"
+#include "chrome/browser/chromeos/notifications/system_notification.h"
+#include "chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.h"
+#include "chrome/browser/ui/views/frame/browser_view.h"
+#include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h"
+
+namespace chromeos {
+
+////////////////////////////////////////////////////////////////////////////////
+// SystemNotification
+
+void SystemNotification::Init(int icon_resource_id) {
+ NOTIMPLEMENTED();
+}
+
+SystemNotification::SystemNotification(Profile* profile,
+ NotificationDelegate* delegate,
+ int icon_resource_id,
+ const string16& title)
+ : profile_(profile),
+ collection_(NULL),
+ delegate_(delegate),
+ title_(title),
+ visible_(false),
+ urgent_(false) {
+ NOTIMPLEMENTED();
+}
+
+SystemNotification::SystemNotification(Profile* profile,
+ const std::string& id,
+ int icon_resource_id,
+ const string16& title)
+ : profile_(profile),
+ collection_(NULL),
+ delegate_(new Delegate(id)),
+ title_(title),
+ visible_(false),
+ urgent_(false) {
+ NOTIMPLEMENTED();
+}
+
+SystemNotification::~SystemNotification() {
+}
+
+void SystemNotification::Show(const string16& message,
+ bool urgent,
+ bool sticky) {
+ NOTIMPLEMENTED();
+}
+
+void SystemNotification::Show(const string16& message,
+ const string16& link,
+ MessageCallback* callback,
+ bool urgent,
+ bool sticky) {
+ NOTIMPLEMENTED();
+}
+
+void SystemNotification::Hide() {
+ NOTIMPLEMENTED();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// SystemNotification::Delegate
+
+SystemNotification::Delegate::Delegate(const std::string& id)
+ : id_(id) {
+ NOTIMPLEMENTED();
+}
+
+std::string SystemNotification::Delegate::id() const {
+ NOTIMPLEMENTED();
+ return id_;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// XInputHierarchyChangedEventListener
+
+// static
+XInputHierarchyChangedEventListener*
+XInputHierarchyChangedEventListener::GetInstance() {
+ NOTIMPLEMENTED();
+ return new XInputHierarchyChangedEventListener();
+}
+
+XInputHierarchyChangedEventListener::XInputHierarchyChangedEventListener()
+ : stopped_(false),
+ xiopcode_(0) {
+ NOTIMPLEMENTED();
+}
+
+XInputHierarchyChangedEventListener::~XInputHierarchyChangedEventListener() {
+ NOTIMPLEMENTED();
+}
+
+void XInputHierarchyChangedEventListener::Stop() {
+ NOTIMPLEMENTED();
+}
+
+base::EventStatus XInputHierarchyChangedEventListener::WillProcessEvent(
+ const base::NativeEvent& event) {
+ NOTIMPLEMENTED();
+ return base::EVENT_HANDLED;
+}
+
+void XInputHierarchyChangedEventListener::DidProcessEvent(
+ const base::NativeEvent& event) {
+ NOTIMPLEMENTED();
+}
+
+bool XInputHierarchyChangedEventListener::ProcessedXEvent(XEvent* xevent) {
+ NOTIMPLEMENTED();
+ return true;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ScreenLocker
+
+ScreenLocker::ScreenLocker(const UserManager::User& user) {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::Init() {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::OnLoginFailure(const LoginFailure& error) {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::OnLoginSuccess(
+ const std::string&,
+ const std::string&,
+ const GaiaAuthConsumer::ClientLoginResult&,
+ bool,
+ bool) {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::BubbleClosing(Bubble* bubble, bool closed_by_escape) {
+ NOTIMPLEMENTED();
+}
+
+bool ScreenLocker::CloseOnEscape() {
+ return true;
+}
+
+bool ScreenLocker::FadeInOnShow() {
+ return false;
+}
+
+void ScreenLocker::OnLinkActivated(size_t index) {
+}
+
+void ScreenLocker::OnCaptchaEntered(const std::string& captcha) {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::Authenticate(const string16& password) {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::ClearErrors() {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::EnableInput() {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::Signout() {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::ShowCaptchaAndErrorMessage(const GURL& captcha_url,
+ const std::wstring& message) {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::ShowErrorMessage(const std::wstring& message,
+ bool sign_out_only) {
+ NOTIMPLEMENTED();
+}
+
+void ScreenLocker::OnGrabInputs() {
+ NOTIMPLEMENTED();
+}
+
+views::View* ScreenLocker::GetViewByID(int id) {
+ return NULL;
+}
+
+void ScreenLocker::SetLoginStatusConsumer(
+ chromeos::LoginStatusConsumer* consumer) {
+ NOTIMPLEMENTED();
+}
+
+// static
+void ScreenLocker::Show() {
+ NOTIMPLEMENTED();
+}
+
+// static
+void ScreenLocker::Hide() {
+ NOTIMPLEMENTED();
+}
+
+// static
+void ScreenLocker::UnlockScreenFailed() {
+ NOTIMPLEMENTED();
+}
+
+// static
+void ScreenLocker::InitClass() {
+ NOTIMPLEMENTED();
+}
+
+} // namespace chromeos
+
+namespace browser {
+
+BrowserNonClientFrameView* CreateBrowserNonClientFrameView(
+ BrowserFrame* frame, BrowserView* browser_view) {
+ // TODO(saintlou):u
+ NOTIMPLEMENTED();
+ return NULL;
+}
+
+} // browser
+
+// static
+BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) {
+ // TODO(saintlou): As per Ben there is no need for this in Aura.
+ BrowserView* view = new BrowserView(browser);
+ (new BrowserFrame(view))->InitBrowserFrame();
+ return view;
+}
diff --git a/chrome/browser/chromeos/frame/bubble_window.h b/chrome/browser/chromeos/frame/bubble_window.h
index 161b532..2ad6e92 100644
--- a/chrome/browser/chromeos/frame/bubble_window.h
+++ b/chrome/browser/chromeos/frame/bubble_window.h
@@ -7,12 +7,22 @@
#pragma once
#include "chrome/browser/chromeos/frame/bubble_window_style.h"
+
+#if defined(TOOLKIT_USES_GTK)
+// TODO(msw): While I dislike the includes and code to be mixed into the same
+// preprocessor conditional, this seems okay as I can hopefully fix this up
+// in a matter of days / crbug.com/98322.
#include "views/widget/native_widget_gtk.h"
+#else // TOOLKIT_USES_GTK
+#include "views/view.h"
+#endif
namespace views {
class WidgetDelegate;
}
+#if defined(TOOLKIT_USES_GTK)
+// TODO(msw): To fix as explained above (crbug.com/98322).
namespace chromeos {
// A window that uses BubbleFrameView as its frame.
@@ -38,4 +48,22 @@ class BubbleWindow : public views::NativeWidgetGtk {
} // namespace chromeos
+#else // TOOLKIT_USES_GTK
+
+namespace chromeos {
+
+class BubbleWindow {
+ public:
+ static views::Widget* Create(gfx::NativeWindow parent,
+ BubbleWindowStyle style,
+ views::WidgetDelegate* widget_delegate) {
+ NOTIMPLEMENTED();
+ return NULL;
+ }
+};
+
+} // namespace chromeos
+
+#endif // TOOLKIT_USES_GTK
+
#endif // CHROME_BROWSER_CHROMEOS_FRAME_BUBBLE_WINDOW_H_
diff --git a/chrome/browser/chromeos/login/login_html_dialog.cc b/chrome/browser/chromeos/login/login_html_dialog.cc
index a1cbe8d..fa5ad94 100644
--- a/chrome/browser/chromeos/login/login_html_dialog.cc
+++ b/chrome/browser/chromeos/login/login_html_dialog.cc
@@ -53,6 +53,11 @@ LoginHtmlDialog::~LoginHtmlDialog() {
void LoginHtmlDialog::Show() {
HtmlDialogView* html_view =
new HtmlDialogView(ProfileManager::GetDefaultProfile(), this);
+#if defined(USE_AURA)
+ // TODO(saintlou): Until the new Bubble have been landed.
+ views::Widget::CreateWindowWithParent(html_view, parent_window_);
+ html_view->InitDialog();
+#else
if (style_ & STYLE_BUBBLE) {
views::Widget* bubble_window = BubbleWindow::Create(parent_window_,
static_cast<BubbleWindowStyle>(STYLE_XBAR | STYLE_THROBBER),
@@ -69,6 +74,7 @@ void LoginHtmlDialog::Show() {
this, content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME,
Source<TabContents>(html_view->dom_contents()->tab_contents()));
}
+#endif
html_view->GetWidget()->Show();
is_open_ = true;
}
@@ -132,8 +138,13 @@ void LoginHtmlDialog::Observe(int type,
const NotificationSource& source,
const NotificationDetails& details) {
DCHECK(type == content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME);
+#if defined(USE_AURA)
+ // TODO(saintlou): Do we need a throbber for Aura?
+ NOTIMPLEMENTED();
+#else
if (bubble_frame_view_)
bubble_frame_view_->StopThrobber();
+#endif
}
} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/screen_locker.h b/chrome/browser/chromeos/login/screen_locker.h
index e4db0f5..d226c8d 100644
--- a/chrome/browser/chromeos/login/screen_locker.h
+++ b/chrome/browser/chromeos/login/screen_locker.h
@@ -61,7 +61,12 @@ class ScreenLocker : public LoginStatusConsumer,
// Returns the default instance if it has been created.
static ScreenLocker* default_screen_locker() {
+#if defined(TOOLKIT_USES_GTK)
return screen_locker_;
+#else
+ NOTIMPLEMENTED();
+ return NULL;
+#endif
}
// Initialize and show the screen locker.
@@ -109,10 +114,12 @@ class ScreenLocker : public LoginStatusConsumer,
// Called when the all inputs are grabbed.
void OnGrabInputs();
+#if defined(TOOLKIT_USES_GTK)
// Returns the user to authenticate.
const UserManager::User& user() const {
return user_;
}
+#endif
// Returns a view that has given view |id|, or null if it doesn't exist.
views::View* GetViewByID(int id);
@@ -135,6 +142,7 @@ class ScreenLocker : public LoginStatusConsumer,
// Notifies that PowerManager rejected UnlockScreen request.
static void UnlockScreenFailed();
+#if defined(TOOLKIT_USES_GTK)
// Returns the tester
static test::ScreenLockerTester* GetTester();
@@ -251,6 +259,8 @@ class ScreenLocker : public LoginStatusConsumer,
// Tests can use this to receive login status events.
LoginStatusConsumer* login_status_consumer_;
+#endif // TOOLKIT_USES_GTK
+
DISALLOW_COPY_AND_ASSIGN(ScreenLocker);
};
diff --git a/chrome/browser/chromeos/login/user_manager.cc b/chrome/browser/chromeos/login/user_manager.cc
index 5ff63cf..e6de675 100644
--- a/chrome/browser/chromeos/login/user_manager.cc
+++ b/chrome/browser/chromeos/login/user_manager.cc
@@ -32,7 +32,6 @@
#include "chrome/browser/chromeos/login/login_display.h"
#include "chrome/browser/chromeos/login/ownership_service.h"
#include "chrome/browser/chromeos/user_cros_settings_provider.h"
-#include "chrome/browser/chromeos/wm_ipc.h"
#include "chrome/browser/defaults.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/prefs/scoped_user_pref_update.h"
@@ -45,6 +44,10 @@
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/codec/png_codec.h"
+#if defined(TOOLKIT_USES_GTK)
+#include "chrome/browser/chromeos/wm_ipc.h"
+#endif
+
namespace chromeos {
namespace {
@@ -765,8 +768,12 @@ void UserManager::NotifyOnLogin() {
// Shut down the IME so that it will reload the user's settings.
chromeos::input_method::InputMethodManager::GetInstance()->
StopInputMethodDaemon();
+
+#if defined(TOOLKIT_USES_GTK)
// Let the window manager know that we're logged in now.
WmIpc::instance()->SetLoggedInProperty(true);
+#endif
+
// Ensure we've opened the real user's key/certificate database.
crypto::OpenPersistentNSSDB();
diff --git a/chrome/browser/chromeos/media/media_player.cc b/chrome/browser/chromeos/media/media_player.cc
index 58ddfb4..36e3756 100644
--- a/chrome/browser/chromeos/media/media_player.cc
+++ b/chrome/browser/chromeos/media/media_player.cc
@@ -46,7 +46,7 @@
#include "net/url_request/url_request_job.h"
#include "ui/base/resource/resource_bundle.h"
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) && defined(TOOLKIT_USES_GTK)
#include "chrome/browser/chromeos/frame/panel_browser_view.h"
#endif
@@ -222,7 +222,7 @@ void MediaPlayer::PopupMediaPlayer(Browser* creator) {
chrome::NOTIFICATION_BROWSER_CLOSED,
Source<Browser>(mediaplayer_browser_));
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) && defined(TOOLKIT_USES_GTK)
// Since we are on chromeos, popups should be a PanelBrowserView,
// so we can just cast it.
if (creator) {
diff --git a/chrome/browser/chromeos/network_login_observer.cc b/chrome/browser/chromeos/network_login_observer.cc
index 449c070..89c28ee 100644
--- a/chrome/browser/chromeos/network_login_observer.cc
+++ b/chrome/browser/chromeos/network_login_observer.cc
@@ -27,6 +27,10 @@ NetworkLoginObserver::~NetworkLoginObserver() {
}
void NetworkLoginObserver::CreateModalPopup(views::WidgetDelegate* view) {
+#if defined(USE_AURA)
+ // TODO(saintlou): This needs to be done for Aura.
+ NOTIMPLEMENTED();
+#else
Browser* browser = BrowserList::GetLastActive();
if (browser && !browser->is_type_tabbed()) {
browser = BrowserList::FindTabbedBrowser(browser->profile(), true);
@@ -43,6 +47,7 @@ void NetworkLoginObserver::CreateModalPopup(views::WidgetDelegate* view) {
background_view->CreateModalPopup(view);
}
}
+#endif
}
void NetworkLoginObserver::OnNetworkManagerChanged(NetworkLibrary* cros) {
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 888ced4..c285f08 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -117,7 +117,12 @@ void RegisterLocalState(PrefService* local_state) {
TaskManager::RegisterPrefs(local_state);
geolocation::RegisterPrefs(local_state);
BackgroundModeManager::RegisterPrefs(local_state);
+#if defined(USE_AURA) && defined(OS_CHROMEOS)
+ // TODO(saintlou): Implement notifications.
+ NOTIMPLEMENTED();
+#else
NotificationUIManager::RegisterPrefs(local_state);
+#endif
PrefProxyConfigService::RegisterPrefs(local_state);
SSLConfigServiceManager::RegisterPrefs(local_state);
#if defined(ENABLE_CONFIGURATION_POLICY)
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 7717ebc..d3df39d 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -408,6 +408,7 @@
'browser/chromeos/cros_settings_names.h',
'browser/chromeos/cros_settings_provider.cc',
'browser/chromeos/cros_settings_provider.h',
+ 'browser/chromeos/cros_stubs_aura.cc',
'browser/chromeos/customization_document.cc',
'browser/chromeos/customization_document.h',
'browser/chromeos/dbus/cros_dbus_service.cc',
@@ -3353,8 +3354,9 @@
'browser/ui/views/generic_info_view.h',
'browser/ui/views/global_error_bubble_view.cc',
'browser/ui/views/global_error_bubble_view.h',
+ 'browser/ui/views/handle_web_keyboard_event_aura.cc',
'browser/ui/views/handle_web_keyboard_event_gtk.cc',
- 'browser/ui/views/handle_web_keyboard_event_gtk.h',
+ 'browser/ui/views/handle_web_keyboard_event.h',
'browser/ui/views/html_dialog_view.cc',
'browser/ui/views/html_dialog_view.h',
'browser/ui/views/hung_renderer_view.cc',
@@ -4678,7 +4680,7 @@
['include', '^browser/ui/views/global_error_bubble_view.cc'],
['include', '^browser/ui/views/global_error_bubble_view.h'],
['include', '^browser/ui/views/handle_web_keyboard_event_gtk.cc'],
- ['include', '^browser/ui/views/handle_web_keyboard_event_gtk.h'],
+ ['include', '^browser/ui/views/handle_web_keyboard_event.h'],
['include', '^browser/ui/views/html_dialog_view.cc'],
['include', '^browser/ui/views/html_dialog_view.h'],
['include', '^browser/ui/views/infobars/*'],
@@ -5025,6 +5027,32 @@
['include', '^browser/ui/views/stubs_aura.cc'],
],
}],
+ # Build Aura with ChromeOS.
+ ['use_aura==1 and chromeos==1', {
+ 'sources/': [
+ ['exclude', '^browser/chromeos/browser/chromeos/login/screen_locker.cc'],
+ ['exclude', '^browser/chromeos/frame/'],
+ ['exclude', '^browser/chromeos/login/background_view.cc'],
+ ['exclude', '^browser/chromeos/login/screen_locker_browsertest.cc'],
+ ['exclude', '^browser/chromeos/login/screen_locker.cc'],
+ ['exclude', '^browser/chromeos/login/screen_lock_view.cc'],
+ ['exclude', '^browser/chromeos/login/shutdown_button.cc'],
+ ['exclude', '^browser/chromeos/login/user_controller.cc'],
+ ['exclude', '^browser/chromeos/login/user_controller_gtk.cc'],
+ ['exclude', '^browser/chromeos/login/username_view.cc'],
+ ['exclude', '^browser/chromeos/login/user_view.cc'],
+ ['exclude', '^browser/chromeos/login/views_login_display.cc'],
+ ['exclude', '^browser/chromeos/login/views_login_display_host.cc'],
+ ['exclude', '^browser/chromeos/login/wizard_in_process_browser_test.cc'],
+ ['exclude', '^browser/chromeos/notifications/'],
+ ['exclude', '^browser/chromeos/wm_ipc.cc'],
+ ['exclude', '^browser/chromeos/wm_message_listener.cc'],
+ ['exclude', '^browser/chromeos/xinput_hierarchy_changed_event_listener.cc'],
+ ['exclude', '^browser/notifications/notification_ui_manager.cc'],
+ ['include', '^browser/ui/views/handle_web_keyboard_event_aura.cc'],
+ ['include', '^browser/ui/views/handle_web_keyboard_event.h'],
+ ],
+ }],
[ 'use_openssl==1', {
'sources!': [
'browser/importer/nss_decryptor.cc',