diff options
author | saintlou@chromium.org <saintlou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-12 04:39:42 +0000 |
---|---|---|
committer | saintlou@chromium.org <saintlou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-12 04:39:42 +0000 |
commit | d125b8ef92a09f64732998f296c29b57805e7004 (patch) | |
tree | 4a97d4744de6c96e45fbdb3c78cbdd91c053e8a4 | |
parent | 1f214e281d4b235245be5fb165441b9a87c237db (diff) | |
download | chromium_src-d125b8ef92a09f64732998f296c29b57805e7004.zip chromium_src-d125b8ef92a09f64732998f296c29b57805e7004.tar.gz chromium_src-d125b8ef92a09f64732998f296c29b57805e7004.tar.bz2 |
More Aura fixes to build with chromeos==1
This is not enough to build without stubs for WmIpc, Bubble and ScreenLocker.
TBR=sky@chromium.org
BUG=97131
TEST=none
Review URL: http://codereview.chromium.org/8233029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105012 0039d316-1c4b-4281-b951-d872f2087c98
19 files changed, 110 insertions, 38 deletions
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc index 7a0f8da..401a220 100644 --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc @@ -1437,10 +1437,15 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunInternal() { // Now that the file thread exists we can record our stats. chromeos::BootTimesLoader::Get()->RecordChromeMainStats(); +#if defined(TOOLKIT_USES_GTK) // Read locale-specific GTK resource information. std::string gtkrc = l10n_util::GetStringUTF8(IDS_LOCALE_GTKRC); if (!gtkrc.empty()) gtk_rc_parse_string(gtkrc.c_str()); +#else + // TODO(saintlou): Need to provide an Aura equivalent. + NOTIMPLEMENTED(); +#endif // Trigger prefetching of ownership status. chromeos::OwnershipService::GetSharedInstance()->Prewarm(); diff --git a/chrome/browser/chrome_browser_main_aura.cc b/chrome/browser/chrome_browser_main_aura.cc index 3f1927f..90c6fa3 100644 --- a/chrome/browser/chrome_browser_main_aura.cc +++ b/chrome/browser/chrome_browser_main_aura.cc @@ -6,18 +6,47 @@ #include "base/logging.h" +#if defined(OS_CHROMEOS) +#include "base/command_line.h" +#include "chrome/browser/chromeos/cros/cros_library.h" +#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h" +#include "chrome/common/chrome_switches.h" +#include "content/common/main_function_params.h" +#endif + ChromeBrowserMainPartsAura::ChromeBrowserMainPartsAura( const MainFunctionParams& parameters) - : ChromeBrowserMainParts(parameters) { + : ChromeBrowserMainParts(parameters) { NOTIMPLEMENTED(); } +ChromeBrowserMainPartsAura::~ChromeBrowserMainPartsAura() { +#if defined(OS_CHROMEOS) + chromeos::DBusThreadManager::Shutdown(); + if (!parameters().ui_task && chromeos::CrosLibrary::Get()) + chromeos::CrosLibrary::Shutdown(); +#endif +} + void ChromeBrowserMainPartsAura::PreEarlyInitialization() { NOTIMPLEMENTED(); } +void ChromeBrowserMainPartsAura::PreMainMessageLoopStart() { +#if defined(OS_CHROMEOS) + if (!parameters().ui_task) { + bool use_stub = parameters().command_line_.HasSwitch(switches::kStubCros); + chromeos::CrosLibrary::Initialize(use_stub); + } +#endif +} + void ChromeBrowserMainPartsAura::PostMainMessageLoopStart() { - NOTIMPLEMENTED(); +#if defined(OS_CHROMEOS) + // Initialize DBusThreadManager for the browser. This must be done after + // the main message loop is started, as it uses the message loop. + chromeos::DBusThreadManager::Initialize(); +#endif } void ShowMissingLocaleMessageBox() { diff --git a/chrome/browser/chrome_browser_main_aura.h b/chrome/browser/chrome_browser_main_aura.h index 3b11d4e..5f8af19 100644 --- a/chrome/browser/chrome_browser_main_aura.h +++ b/chrome/browser/chrome_browser_main_aura.h @@ -10,8 +10,10 @@ class ChromeBrowserMainPartsAura : public ChromeBrowserMainParts { public: explicit ChromeBrowserMainPartsAura(const MainFunctionParams& parameters); + virtual ~ChromeBrowserMainPartsAura(); virtual void PreEarlyInitialization() OVERRIDE; + virtual void PreMainMessageLoopStart() OVERRIDE; virtual void PostMainMessageLoopStart() OVERRIDE; private: diff --git a/chrome/browser/chromeos/choose_mobile_network_dialog.cc b/chrome/browser/chromeos/choose_mobile_network_dialog.cc index 78daa01..255f5c8 100644 --- a/chrome/browser/chromeos/choose_mobile_network_dialog.cc +++ b/chrome/browser/chromeos/choose_mobile_network_dialog.cc @@ -11,6 +11,8 @@ #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/views/html_dialog_view.h" #include "chrome/common/url_constants.h" +#include "views/view.h" +#include "views/widget/widget.h" namespace { diff --git a/chrome/browser/chromeos/login/base_login_display_host.cc b/chrome/browser/chromeos/login/base_login_display_host.cc index ee950f6..6f82710 100644 --- a/chrome/browser/chromeos/login/base_login_display_host.cc +++ b/chrome/browser/chromeos/login/base_login_display_host.cc @@ -267,11 +267,16 @@ void ShowLoginWizard(const std::string& first_screen_name, first_screen_name == chromeos::WizardController::kLoginScreenName; chromeos::LoginDisplayHost* display_host; +#if defined(USE_AURA) + // Under Aura we always use the WebUI. + display_host = new chromeos::WebUILoginDisplayHost(screen_bounds); +#else if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kWebUILogin)) { display_host = new chromeos::WebUILoginDisplayHost(screen_bounds); } else { display_host = new chromeos::ViewsLoginDisplayHost(screen_bounds); } +#endif if (show_login_screen && chromeos::CrosLibrary::Get()->EnsureLoaded()) { // R11 > R12 migration fix. See http://crosbug.com/p/4898. diff --git a/chrome/browser/chromeos/login/eula_view.cc b/chrome/browser/chromeos/login/eula_view.cc index d2a17d2..970752e 100644 --- a/chrome/browser/chromeos/login/eula_view.cc +++ b/chrome/browser/chromeos/login/eula_view.cc @@ -25,7 +25,7 @@ #include "chrome/browser/chromeos/login/views_eula_screen_actor.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/ui/views/dom_view.h" -#include "chrome/browser/ui/views/handle_web_keyboard_event_gtk.h" +#include "chrome/browser/ui/views/handle_web_keyboard_event.h" #include "chrome/browser/ui/views/window.h" #include "chrome/common/url_constants.h" #include "content/browser/site_instance.h" diff --git a/chrome/browser/chromeos/login/helper.cc b/chrome/browser/chromeos/login/helper.cc index 435c7d9..b5e5693 100644 --- a/chrome/browser/chromeos/login/helper.cc +++ b/chrome/browser/chromeos/login/helper.cc @@ -82,6 +82,7 @@ ThrobberHostView::~ThrobberHostView() { } void ThrobberHostView::StartThrobber() { +#if defined(TOOLKIT_USES_GTK) StopThrobber(); views::Widget* host_widget = host_view_->GetWidget(); @@ -118,6 +119,10 @@ void ThrobberHostView::StartThrobber() { // WM can ignore bounds before widget is shown. throbber_widget_->SetBounds(throbber_bounds); throbber->Start(); +#else + // TODO(saintlou): Do we need a throbber for Aura? + NOTIMPLEMENTED(); +#endif } void ThrobberHostView::StopThrobber() { diff --git a/chrome/browser/chromeos/login/html_page_screen.cc b/chrome/browser/chromeos/login/html_page_screen.cc index 57074a8..fcba38e 100644 --- a/chrome/browser/chromeos/login/html_page_screen.cc +++ b/chrome/browser/chromeos/login/html_page_screen.cc @@ -11,7 +11,7 @@ #include "chrome/browser/chromeos/input_method/input_method_util.h" #include "chrome/browser/chromeos/login/screen_observer.h" #include "chrome/browser/profiles/profile_manager.h" -#include "chrome/browser/ui/views/handle_web_keyboard_event_gtk.h" +#include "chrome/browser/ui/views/handle_web_keyboard_event.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/site_instance.h" #include "content/browser/tab_contents/tab_contents.h" diff --git a/chrome/browser/chromeos/login/language_switch_menu.cc b/chrome/browser/chromeos/login/language_switch_menu.cc index 2c0f370..80fa6df 100644 --- a/chrome/browser/chromeos/login/language_switch_menu.cc +++ b/chrome/browser/chromeos/login/language_switch_menu.cc @@ -133,6 +133,7 @@ bool LanguageSwitchMenu::SwitchLanguage(const std::string& locale) { // static void LanguageSwitchMenu::LoadFontsForCurrentLocale() { +#if defined(TOOLKIT_USES_GTK) std::string gtkrc = l10n_util::GetStringUTF8(IDS_LOCALE_GTKRC); // Read locale-specific gtkrc. Ideally we'd discard all the previously read @@ -145,6 +146,10 @@ void LanguageSwitchMenu::LoadFontsForCurrentLocale() { gtk_rc_parse_string(gtkrc.c_str()); else gtk_rc_parse("/etc/gtk-2.0/gtkrc"); +#else + // TODO(saintlou): Need to figure out an Aura equivalent. + NOTIMPLEMENTED(); +#endif // Switch the font. gfx::PlatformFontPango::ReloadDefaultFont(); diff --git a/chrome/browser/chromeos/login/registration_screen.cc b/chrome/browser/chromeos/login/registration_screen.cc index 4454d73..95efab2 100644 --- a/chrome/browser/chromeos/login/registration_screen.cc +++ b/chrome/browser/chromeos/login/registration_screen.cc @@ -10,7 +10,7 @@ #include "chrome/browser/chromeos/input_method/input_method_manager.h" #include "chrome/browser/chromeos/input_method/input_method_util.h" #include "chrome/browser/profiles/profile_manager.h" -#include "chrome/browser/ui/views/handle_web_keyboard_event_gtk.h" +#include "chrome/browser/ui/views/handle_web_keyboard_event.h" #include "chrome/common/url_constants.h" #include "content/browser/child_process_security_policy.h" #include "content/browser/renderer_host/render_view_host.h" diff --git a/chrome/browser/chromeos/setting_level_bubble.cc b/chrome/browser/chromeos/setting_level_bubble.cc index dbddb0c..bb8df23 100644 --- a/chrome/browser/chromeos/setting_level_bubble.cc +++ b/chrome/browser/chromeos/setting_level_bubble.cc @@ -6,8 +6,6 @@ #include <algorithm> -#include <gdk/gdk.h> - #include "chrome/browser/chromeos/login/background_view.h" #include "chrome/browser/chromeos/login/login_utils.h" #include "chrome/browser/chromeos/login/webui_login_display.h" @@ -127,7 +125,7 @@ void SettingLevelBubble::ShowBubble(double percent, bool enabled) { // specifies the center of the bubble). const gfx::Rect monitor_area = gfx::Screen::GetMonitorAreaNearestWindow( - GTK_WIDGET(parent_widget->GetNativeWindow())); + parent_widget->GetNativeView()); const gfx::Size view_size = view_->GetPreferredSize(); const gfx::Rect position_relative_to( monitor_area.x() + kBubbleXRatio * monitor_area.width(), diff --git a/chrome/browser/chromeos/sim_dialog_delegate.cc b/chrome/browser/chromeos/sim_dialog_delegate.cc index c05537f..35f5787 100644 --- a/chrome/browser/chromeos/sim_dialog_delegate.cc +++ b/chrome/browser/chromeos/sim_dialog_delegate.cc @@ -12,6 +12,8 @@ #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/views/html_dialog_view.h" #include "chrome/common/url_constants.h" +#include "views/view.h" +#include "views/widget/widget.h" namespace { diff --git a/chrome/browser/chromeos/system_key_event_listener.cc b/chrome/browser/chromeos/system_key_event_listener.cc index 2ea3c86..6fe5279 100644 --- a/chrome/browser/chromeos/system_key_event_listener.cc +++ b/chrome/browser/chromeos/system_key_event_listener.cc @@ -4,9 +4,9 @@ #include "chrome/browser/chromeos/system_key_event_listener.h" -#if defined(TOOLKIT_USES_GTK) -#include <gdk/gdkx.h> -#endif +// TODO(saintlou): should we handle this define in gyp even if only used once? +#define XK_MISCELLANY 1 +#include <X11/keysymdef.h> #include <X11/XF86keysym.h> #include <X11/XKBlib.h> @@ -21,6 +21,7 @@ #include "chrome/browser/chromeos/volume_bubble.h" #include "content/browser/user_metrics.h" #include "third_party/cros_system_api/window_manager/chromeos_wm_ipc_enums.h" +#include "ui/base/x/x11_util.h" #if defined(TOUCH_UI) || !defined(TOOLKIT_USES_GTK) #include "base/message_pump_x.h" @@ -68,19 +69,20 @@ SystemKeyEventListener::SystemKeyEventListener() : stopped_(false), caps_lock_is_on_(input_method::XKeyboard::CapsLockIsEnabled()), xkb_event_base_(0) { - key_brightness_down_ = XKeysymToKeycode(GDK_DISPLAY(), + Display* display = ui::GetXDisplay(); + key_brightness_down_ = XKeysymToKeycode(display, XF86XK_MonBrightnessDown); - key_brightness_up_ = XKeysymToKeycode(GDK_DISPLAY(), XF86XK_MonBrightnessUp); - key_volume_mute_ = XKeysymToKeycode(GDK_DISPLAY(), XF86XK_AudioMute); - key_volume_down_ = XKeysymToKeycode(GDK_DISPLAY(), XF86XK_AudioLowerVolume); - key_volume_up_ = XKeysymToKeycode(GDK_DISPLAY(), XF86XK_AudioRaiseVolume); - key_f6_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F6); - key_f7_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F7); - key_f8_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F8); - key_f9_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F9); - key_f10_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F10); - key_left_shift_ = XKeysymToKeycode(GDK_DISPLAY(), XK_Shift_L); - key_right_shift_ = XKeysymToKeycode(GDK_DISPLAY(), XK_Shift_R); + key_brightness_up_ = XKeysymToKeycode(display, XF86XK_MonBrightnessUp); + key_volume_mute_ = XKeysymToKeycode(display, XF86XK_AudioMute); + key_volume_down_ = XKeysymToKeycode(display, XF86XK_AudioLowerVolume); + key_volume_up_ = XKeysymToKeycode(display, XF86XK_AudioRaiseVolume); + key_f6_ = XKeysymToKeycode(display, XK_F6); + key_f7_ = XKeysymToKeycode(display, XK_F7); + key_f8_ = XKeysymToKeycode(display, XK_F8); + key_f9_ = XKeysymToKeycode(display, XK_F9); + key_f10_ = XKeysymToKeycode(display, XK_F10); + key_left_shift_ = XKeysymToKeycode(display, XK_Shift_L); + key_right_shift_ = XKeysymToKeycode(display, XK_Shift_R); if (key_brightness_down_) GrabKey(key_brightness_down_, 0); @@ -100,7 +102,7 @@ SystemKeyEventListener::SystemKeyEventListener() int xkb_major_version = XkbMajorVersion; int xkb_minor_version = XkbMinorVersion; - if (!XkbQueryExtension(GDK_DISPLAY(), + if (!XkbQueryExtension(display, NULL, // opcode_return &xkb_event_base_, NULL, // error_return @@ -109,7 +111,7 @@ SystemKeyEventListener::SystemKeyEventListener() LOG(WARNING) << "Could not query Xkb extension"; } - if (!XkbSelectEvents(GDK_DISPLAY(), XkbUseCoreKbd, + if (!XkbSelectEvents(display, XkbUseCoreKbd, XkbStateNotifyMask, XkbStateNotifyMask)) { LOG(WARNING) << "Could not install Xkb Indicator observer"; @@ -177,13 +179,14 @@ GdkFilterReturn SystemKeyEventListener::GdkEventFilter(GdkXEvent* gxevent, void SystemKeyEventListener::GrabKey(int32 key, uint32 mask) { uint32 num_lock_mask = Mod2Mask; uint32 caps_lock_mask = LockMask; - Window root = DefaultRootWindow(GDK_DISPLAY()); - XGrabKey(GDK_DISPLAY(), key, mask, root, True, GrabModeAsync, GrabModeAsync); - XGrabKey(GDK_DISPLAY(), key, mask | caps_lock_mask, root, True, + Display* display = ui::GetXDisplay(); + Window root = DefaultRootWindow(display); + XGrabKey(display, key, mask, root, True, GrabModeAsync, GrabModeAsync); + XGrabKey(display, key, mask | caps_lock_mask, root, True, GrabModeAsync, GrabModeAsync); - XGrabKey(GDK_DISPLAY(), key, mask | num_lock_mask, root, True, + XGrabKey(display, key, mask | num_lock_mask, root, True, GrabModeAsync, GrabModeAsync); - XGrabKey(GDK_DISPLAY(), key, mask | caps_lock_mask | num_lock_mask, root, + XGrabKey(display, key, mask | caps_lock_mask | num_lock_mask, root, True, GrabModeAsync, GrabModeAsync); } diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc index 7d097c6..87c9383 100644 --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc @@ -114,7 +114,7 @@ #include "chrome/browser/ui/views/accelerator_table_linux.h" #include "views/window/hit_test.h" #if !defined(TOUCH_UI) -#include "chrome/browser/ui/views/handle_web_keyboard_event_gtk.h" +#include "chrome/browser/ui/views/handle_web_keyboard_event.h" #endif #endif @@ -1280,7 +1280,12 @@ FindBar* BrowserView::CreateFindBar() { #if defined(OS_CHROMEOS) void BrowserView::ShowKeyboardOverlay(gfx::NativeWindow owning_window) { +#if defined(TOOLKIT_USES_GTK) KeyboardOverlayDialogView::ShowDialog(owning_window, this); +#else + // TODO(saintlou): Add Keyboard Overlay for Aura: crbug.com/99858. + NOTIMPLEMENTED(); +#endif } #endif diff --git a/chrome/browser/ui/views/handle_web_keyboard_event_gtk.h b/chrome/browser/ui/views/handle_web_keyboard_event.h index 8835998..c32fc2b 100644 --- a/chrome/browser/ui/views/handle_web_keyboard_event_gtk.h +++ b/chrome/browser/ui/views/handle_web_keyboard_event.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_UI_VIEWS_HANDLE_WEB_KEYBOARD_EVENT_GTK_H_ -#define CHROME_BROWSER_UI_VIEWS_HANDLE_WEB_KEYBOARD_EVENT_GTK_H_ +#ifndef CHROME_BROWSER_UI_VIEWS_HANDLE_WEB_KEYBOARD_EVENT_H_ +#define CHROME_BROWSER_UI_VIEWS_HANDLE_WEB_KEYBOARD_EVENT_H_ #pragma once namespace views { @@ -15,4 +15,4 @@ struct NativeWebKeyboardEvent; void HandleWebKeyboardEvent(views::Widget* widget, const NativeWebKeyboardEvent& event); -#endif // CHROME_BROWSER_UI_VIEWS_HANDLE_WEB_KEYBOARD_EVENT_GTK_H_ +#endif // CHROME_BROWSER_UI_VIEWS_HANDLE_WEB_KEYBOARD_EVENT_H_ diff --git a/chrome/browser/ui/views/handle_web_keyboard_event_aura.cc b/chrome/browser/ui/views/handle_web_keyboard_event_aura.cc new file mode 100644 index 0000000..6ee1485 --- /dev/null +++ b/chrome/browser/ui/views/handle_web_keyboard_event_aura.cc @@ -0,0 +1,13 @@ +// 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/ui/views/handle_web_keyboard_event.h" + +#include "views/widget/widget.h" + +void HandleWebKeyboardEvent(views::Widget* widget, + const NativeWebKeyboardEvent& event) { + // TODO(saintlou): Handle event forwarding in Aura: crbug.com/99861. + NOTIMPLEMENTED(); +} diff --git a/chrome/browser/ui/views/handle_web_keyboard_event_gtk.cc b/chrome/browser/ui/views/handle_web_keyboard_event_gtk.cc index 57d4116..063bcd4 100644 --- a/chrome/browser/ui/views/handle_web_keyboard_event_gtk.cc +++ b/chrome/browser/ui/views/handle_web_keyboard_event_gtk.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/ui/views/handle_web_keyboard_event_gtk.h" +#include "chrome/browser/ui/views/handle_web_keyboard_event.h" #include "content/common/native_web_keyboard_event.h" #include "views/widget/native_widget_gtk.h" diff --git a/printing/printed_document_aura.cc b/printing/printed_document_aura.cc index ca2aafb..2c204c0 100644 --- a/printing/printed_document_aura.cc +++ b/printing/printed_document_aura.cc @@ -8,7 +8,7 @@ namespace printing { -#if defined(OS_POSIX) && !defined(OS_CHROMEOS) +#if defined(OS_POSIX) void PrintedDocument::RenderPrintedPage(const PrintedPage& page, PrintingContext* context) const { // TODO(saintlou): This a stub to allow us to build under Aura. diff --git a/printing/printing_context_aura.cc b/printing/printing_context_aura.cc index 0d1320d..48c958b 100644 --- a/printing/printing_context_aura.cc +++ b/printing/printing_context_aura.cc @@ -8,7 +8,6 @@ namespace printing { -#if !defined(OS_CHROMEOS) // static PrintingContext* PrintingContext::Create(const std::string& app_locale) { // TODO(saintlou): This a stub to allow us to build under Aura. @@ -16,6 +15,5 @@ PrintingContext* PrintingContext::Create(const std::string& app_locale) { NOTIMPLEMENTED(); return NULL; } -#endif } // namespace printing |