diff options
-rw-r--r-- | chrome/browser/browser_process_impl.cc | 6 | ||||
-rw-r--r-- | chrome/browser/chromeos/cros_stubs_aura.cc | 241 | ||||
-rw-r--r-- | chrome/browser/chromeos/frame/bubble_window.h | 28 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/login_html_dialog.cc | 11 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/screen_locker.h | 10 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/user_manager.cc | 9 | ||||
-rw-r--r-- | chrome/browser/chromeos/media/media_player.cc | 4 | ||||
-rw-r--r-- | chrome/browser/chromeos/network_login_observer.cc | 5 | ||||
-rw-r--r-- | chrome/browser/prefs/browser_prefs.cc | 5 | ||||
-rw-r--r-- | chrome/chrome_browser.gypi | 32 |
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', |