diff options
| author | saintlou@chromium.org <saintlou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-18 17:28:50 +0000 |
|---|---|---|
| committer | saintlou@chromium.org <saintlou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-18 17:28:50 +0000 |
| commit | 3fa441d238ffa7b2cfbc4c7b623f8cb00b7c18ea (patch) | |
| tree | 84794a37e500c230cb702d38aed4f3363afe755f | |
| parent | 97fe97e78d76db3c5a0ee7c1baa06d1fcd082a1a (diff) | |
| download | chromium_src-3fa441d238ffa7b2cfbc4c7b623f8cb00b7c18ea.zip chromium_src-3fa441d238ffa7b2cfbc4c7b623f8cb00b7c18ea.tar.gz chromium_src-3fa441d238ffa7b2cfbc4c7b623f8cb00b7c18ea.tar.bz2 | |
Aura under Linux is enabled with:
'use_aura': 1,
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7850026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101704 0039d316-1c4b-4281-b951-d872f2087c98
74 files changed, 552 insertions, 208 deletions
diff --git a/build/common.gypi b/build/common.gypi index f5b5bc1..f060eb5 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -21,6 +21,9 @@ # Whether we're building a ChromeOS build. 'chromeos%': 0, + # Whether we are using Views Toolkit + 'toolkit_views%': 0, + # Whether the Views toolkit can use its Pure form when available # or if it must only use GTK (the default at the moment). # This is an intermediate step until all of Views is 'Pure', @@ -64,21 +67,21 @@ # Set default value of toolkit_views on for Windows, Chrome OS, # Touch and PureView. - ['OS=="win" or chromeos==1 or touchui==1 or use_only_pure_views==1', { + ['OS=="win" or chromeos==1 or touchui==1 or use_only_pure_views==1 or use_aura==1', { 'toolkit_views%': 1, }, { 'toolkit_views%': 0, }], - # Views are always Pure in Touch case. - ['touchui==1', { + # Views are always Pure in Touch and Aura case. + ['touchui==1 or use_aura==1', { 'use_only_pure_views%': 1, }, { 'use_only_pure_views%': 0, }], # Use WebUI dialogs in TouchUI and PureView builds. - ['touchui==1 or use_only_pure_views==1', { + ['touchui==1 or use_only_pure_views==1 or use_aura==1', { 'webui_dialogs%': 1, }], @@ -271,7 +274,7 @@ }], # Enable WebUI TaskManager only on Chrome OS, Touch or PureView. - ['chromeos==1 or touchui==1 or use_only_pure_views==1', { + ['chromeos==1 or touchui==1 or use_only_pure_views==1 or use_aura==1', { 'webui_task_manager%': 1, }, { 'webui_task_manager%': 0, diff --git a/chrome/browser/automation/ui_controls_linux.cc b/chrome/browser/automation/ui_controls_linux.cc index 9c80f59..6c7c5f7 100644 --- a/chrome/browser/automation/ui_controls_linux.cc +++ b/chrome/browser/automation/ui_controls_linux.cc @@ -22,6 +22,13 @@ namespace { +// static +guint32 XTimeNow() { + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return ts.tv_sec * 1000 + ts.tv_nsec / 1000000; +} + class EventWaiter : public MessageLoopForUI::Observer { public: EventWaiter(Task* task, GdkEventType type, int count) @@ -66,7 +73,7 @@ void FakeAMouseMotionEvent(gint x, gint y) { GdkEvent* event = gdk_event_new(GDK_MOTION_NOTIFY); event->motion.send_event = false; - event->motion.time = gtk_util::XTimeNow(); + event->motion.time = XTimeNow(); GtkWidget* grab_widget = gtk_grab_get_current(); if (grab_widget) { @@ -178,7 +185,7 @@ bool SendMouseEvents(MouseButton type, int state) { GdkEvent* event = gdk_event_new(GDK_BUTTON_PRESS); event->button.send_event = false; - event->button.time = gtk_util::XTimeNow(); + event->button.time = XTimeNow(); gint x, y; GtkWidget* grab_widget = gtk_grab_get_current(); @@ -247,7 +254,7 @@ bool SendMouseClick(MouseButton type) { #if defined(TOOLKIT_VIEWS) -#if defined(OS_LINUX) +#if defined(OS_LINUX) && !defined(USE_AURA) void OnConfigure(GtkWidget* gtk_widget, GdkEvent* event, gpointer data) { views::Widget* widget = static_cast<views::Widget*>(data); gfx::Rect actual = widget->GetWindowScreenBounds(); @@ -275,7 +282,7 @@ void SynchronizeWidgetSize(views::Widget* widget) { void MoveMouseToCenterAndPress(views::View* view, MouseButton button, int state, Task* task) { -#if defined(OS_LINUX) +#if defined(OS_LINUX) && !defined(USE_AURA) // X is asynchronous and we need to wait until the window gets // resized to desired size. SynchronizeWidgetSize(view->GetWidget()); diff --git a/chrome/browser/background/background_mode_manager_linux.cc b/chrome/browser/background/background_mode_manager_linux.cc index 2b076c1..b4495c5 100644 --- a/chrome/browser/background/background_mode_manager_linux.cc +++ b/chrome/browser/background/background_mode_manager_linux.cc @@ -85,8 +85,10 @@ void BackgroundModeManager::DisplayAppInstalledNotification( } string16 BackgroundModeManager::GetPreferencesMenuLabel() { +#if !defined(USE_AURA) string16 result = gtk_util::GetStockPreferencesMenuLabel(); if (!result.empty()) return result; +#endif return l10n_util::GetStringUTF16(IDS_PREFERENCES); } diff --git a/chrome/browser/bookmarks/bookmark_folder_editor_controller.cc b/chrome/browser/bookmarks/bookmark_folder_editor_controller.cc index ef5d8cb..d75eb03 100644 --- a/chrome/browser/bookmarks/bookmark_folder_editor_controller.cc +++ b/chrome/browser/bookmarks/bookmark_folder_editor_controller.cc @@ -50,8 +50,11 @@ BookmarkFolderEditorController::BookmarkFolderEditorController( l10n_util::GetStringUTF16(IDS_BOOKMARK_EDITOR_NEW_FOLDER_NAME) : node_->GetTitle(); +#if !defined(USE_AURA) + // TODO(saintlou): We seem to be missing a pure Views implemntation. dialog_ = InputWindowDialog::Create(wnd, title, label, contents, this); dialog_->Show(); +#endif } bool BookmarkFolderEditorController::IsValid(const string16& text) { diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc index 3be52ca..c334f0c 100644 --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc @@ -151,7 +151,6 @@ // progress and should not be taken as an indication of a real refactoring. #if defined(OS_WIN) - #include "base/environment.h" // For PreRead experiment. #include "base/win/windows_version.h" #include "chrome/browser/browser_trial.h" @@ -1327,6 +1326,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunInternal() { if (!parsed_command_line().HasSwitch(switches::kViewsDesktop)) CommandLine::ForCurrentProcess()->AppendSwitchASCII(switches::kViewsDesktop, "other"); +#elif defined(USE_AURA) && defined(OS_LINUX) + // Always add the --views-desktop flag, if not already set. + if (!parsed_command_line().HasSwitch(switches::kViewsDesktop)) + CommandLine::ForCurrentProcess()->AppendSwitch(switches::kViewsDesktop); #endif // Convert active labs into switches. Modifies the current command line. diff --git a/chrome/browser/chrome_browser_main_gtk.cc b/chrome/browser/chrome_browser_main_gtk.cc index b5d2976..c3a327c 100644 --- a/chrome/browser/chrome_browser_main_gtk.cc +++ b/chrome/browser/chrome_browser_main_gtk.cc @@ -86,6 +86,9 @@ void ChromeBrowserMainPartsGtk::PreEarlyInitialization() { } void ChromeBrowserMainPartsGtk::DetectRunningAsRoot() { +#if defined(USE_AURA) + // TODO(saintlou): +#else if (geteuid() == 0) { const CommandLine& command_line = *CommandLine::ForCurrentProcess(); if (parsed_command_line().HasSwitch(switches::kUserDataDir)) @@ -124,6 +127,7 @@ void ChromeBrowserMainPartsGtk::DetectRunningAsRoot() { gtk_widget_destroy(dialog); exit(EXIT_FAILURE); } +#endif } namespace content { diff --git a/chrome/browser/chrome_browser_main_posix.cc b/chrome/browser/chrome_browser_main_posix.cc index aa54aec..518d8ecf 100644 --- a/chrome/browser/chrome_browser_main_posix.cc +++ b/chrome/browser/chrome_browser_main_posix.cc @@ -20,7 +20,7 @@ #include "chrome/common/chrome_switches.h" #include "content/browser/browser_thread.h" -#if defined(TOOLKIT_USES_GTK) && !defined(OS_CHROMEOS) +#if defined(TOOLKIT_USES_GTK) && !defined(OS_CHROMEOS) && !defined(USE_AURA) #include "chrome/browser/printing/print_dialog_gtk.h" #endif @@ -255,7 +255,7 @@ void ChromeBrowserMainPartsPosix::PostMainMessageLoopStart() { action.sa_handler = SIGHUPHandler; CHECK(sigaction(SIGHUP, &action, NULL) == 0); -#if defined(TOOLKIT_USES_GTK) && !defined(OS_CHROMEOS) +#if defined(TOOLKIT_USES_GTK) && !defined(OS_CHROMEOS) && !defined(USE_AURA) printing::PrintingContextCairo::SetCreatePrintDialogFunction( &PrintDialogGtk::CreatePrintDialog); #endif diff --git a/chrome/browser/chromeos/frame/bubble_window.cc b/chrome/browser/chromeos/frame/bubble_window.cc index 8c79f79..070a7b9 100644 --- a/chrome/browser/chromeos/frame/bubble_window.cc +++ b/chrome/browser/chromeos/frame/bubble_window.cc @@ -20,6 +20,9 @@ BubbleWindow::BubbleWindow(views::Widget* window, } void BubbleWindow::InitNativeWidget(const views::Widget::InitParams& params) { +#if defined(USE_AURA) + // TODO(saintlou): Switch to alicet@chromium.org PureView when landed +#else views::NativeWidgetGtk::InitNativeWidget(params); // Turn on double buffering so that the hosted GtkWidgets does not @@ -39,6 +42,7 @@ void BubbleWindow::InitNativeWidget(const views::Widget::InitParams& params) { gdk_window_set_back_pixmap(GetNativeView()->window, NULL, FALSE); gtk_widget_realize(window_contents()); gdk_window_set_back_pixmap(window_contents()->window, NULL, FALSE); +#endif } views::NonClientFrameView* BubbleWindow::CreateNonClientFrameView() { @@ -50,6 +54,10 @@ views::Widget* BubbleWindow::Create( gfx::NativeWindow parent, BubbleWindowStyle style, views::WidgetDelegate* widget_delegate) { +#if defined(USE_AURA) + // TODO(saintlou): + return NULL; +#else // TODO(saintlou): Ultimately we do not want 2 classes for BubbleWindows. // Furthermore the 2 other styles (STYLE_XBAR & STYLE_THROBBER) are only used // in LoginHtmlDialog::Show() which will be deprecated soon. @@ -78,6 +86,7 @@ views::Widget* BubbleWindow::Create( window->Init(params); return window; +#endif } } // namespace chromeos diff --git a/chrome/browser/chromeos/frame/bubble_window_views.cc b/chrome/browser/chromeos/frame/bubble_window_views.cc index 7a2b971..c9b375d 100644 --- a/chrome/browser/chromeos/frame/bubble_window_views.cc +++ b/chrome/browser/chromeos/frame/bubble_window_views.cc @@ -19,11 +19,13 @@ BubbleWindowViews::BubbleWindowViews(BubbleWindowStyle style) } void BubbleWindowViews::SetBackgroundColor() { - // TODO(saintlou): Once Views are truly pure the code below needs to be +#if !defined(USE_AURA) + // TODO(saintlou): Once Views are truly pure the code below needs to be // removed and replaced by the corresponding Views code. GdkColor background_color = gfx::SkColorToGdkColor(kBubbleWindowBackgroundColor); gtk_widget_modify_bg(GetNativeView(), GTK_STATE_NORMAL, &background_color); +#endif } views::NonClientFrameView* BubbleWindowViews::CreateNonClientFrameView() { diff --git a/chrome/browser/chromeos/frame/panel_browser_view.cc b/chrome/browser/chromeos/frame/panel_browser_view.cc index de39b0e..7aa3ec2 100644 --- a/chrome/browser/chromeos/frame/panel_browser_view.cc +++ b/chrome/browser/chromeos/frame/panel_browser_view.cc @@ -33,6 +33,11 @@ PanelBrowserView::~PanelBrowserView() {} // PanelBrowserView functions void PanelBrowserView::LimitBounds(gfx::Rect* bounds) const { +#if defined(USE_AURA) + // TODO(saintlou): Need PureViews panels? + bounds->set_width(kPanelDefaultWidthPixels); + bounds->set_height(kPanelDefaultHeightPixels); +#else GdkScreen* screen = gtk_widget_get_screen(GetWidget()->GetNativeView()); int max_width = gdk_screen_get_width(screen) * kPanelMaxWidthFactor; int max_height = gdk_screen_get_height(screen) * kPanelMaxHeightFactor; @@ -51,6 +56,7 @@ void PanelBrowserView::LimitBounds(gfx::Rect* bounds) const { bounds->set_height(kPanelMinHeightPixels); else if (bounds->height() > max_height) bounds->set_height(max_height); +#endif } @@ -101,8 +107,12 @@ void PanelBrowserView::UpdateTitleBar() { void PanelBrowserView::SetCreatorView(PanelBrowserView* creator) { DCHECK(creator); +#if defined(USE_AURA) + // TODO(saintlou): Need PureViews +#else GtkWindow* window = creator->GetNativeHandle(); creator_xid_ = ui::GetX11WindowFromGtkWidget(GTK_WIDGET(window)); +#endif } WindowOpenDisposition PanelBrowserView::GetDispositionForPopupBounds( diff --git a/chrome/browser/chromeos/frame/panel_controller.cc b/chrome/browser/chromeos/frame/panel_controller.cc index 9a1c001..1f9d97f 100644 --- a/chrome/browser/chromeos/frame/panel_controller.cc +++ b/chrome/browser/chromeos/frame/panel_controller.cc @@ -179,6 +179,9 @@ void PanelController::Init(bool initial_focus, const gfx::Rect& window_bounds, XID creator_xid, WmIpcPanelUserResizeType resize_type) { +#if defined(USE_AURA) + // TODO(saintlou): Need PureView for panels. +#else gfx::Rect title_bounds(0, 0, window_bounds.width(), kTitleHeight); title_window_ = new views::Widget; @@ -214,6 +217,7 @@ void PanelController::Init(bool initial_focus, title_window_->SetContentsView(title_content_); UpdateTitleBar(); title_window_->Show(); +#endif } void PanelController::UpdateTitleBar() { @@ -264,7 +268,7 @@ bool PanelController::TitleMousePressed(const views::MouseEvent& event) { mouse_down_offset_y_ = event.y(); dragging_ = false; -#if !defined(TOUCH_UI) +#if !defined(TOUCH_UI) && !defined(USE_AURA) const GdkEvent* gdk_event = event.native_event(); GdkEventButton last_button_event = gdk_event->button; mouse_down_abs_x_ = last_button_event.x_root; diff --git a/chrome/browser/chromeos/login/background_view.cc b/chrome/browser/chromeos/login/background_view.cc index 6b3871e..71b1cdd 100644 --- a/chrome/browser/chromeos/login/background_view.cc +++ b/chrome/browser/chromeos/login/background_view.cc @@ -129,6 +129,10 @@ views::Widget* BackgroundView::CreateWindowContainingView( const gfx::Rect& bounds, const GURL& background_url, BackgroundView** view) { +#if defined(USE_AURA) + // TODO(saintlou): + return NULL; +#else Widget* window = new Widget; Widget::InitParams params(Widget::InitParams::TYPE_WINDOW_FRAMELESS); params.bounds = bounds; @@ -150,6 +154,7 @@ views::Widget* BackgroundView::CreateWindowContainingView( LoginUtils::Get()->SetBackgroundView(*view); return window; +#endif } void BackgroundView::CreateModalPopup(views::WidgetDelegate* view) { diff --git a/chrome/browser/chromeos/login/helper.cc b/chrome/browser/chromeos/login/helper.cc index f561899..339928c3 100644 --- a/chrome/browser/chromeos/login/helper.cc +++ b/chrome/browser/chromeos/login/helper.cc @@ -81,6 +81,9 @@ ThrobberHostView::~ThrobberHostView() { } void ThrobberHostView::StartThrobber() { +#if defined(USE_AURA) + // TODO(saintlou): Is this still in use with the new WebUI anyway? +#else StopThrobber(); views::Widget* host_widget = host_view_->GetWidget(); @@ -117,6 +120,7 @@ void ThrobberHostView::StartThrobber() { // WM can ignore bounds before widget is shown. throbber_widget_->SetBounds(throbber_bounds); throbber->Start(); +#endif } void ThrobberHostView::StopThrobber() { diff --git a/chrome/browser/chromeos/login/message_bubble.cc b/chrome/browser/chromeos/login/message_bubble.cc index cd2bb66..0092df2 100644 --- a/chrome/browser/chromeos/login/message_bubble.cc +++ b/chrome/browser/chromeos/login/message_bubble.cc @@ -172,7 +172,7 @@ MessageBubble* MessageBubble::ShowNoGrab( return bubble; } -#if !defined(TOUCH_UI) +#if !defined(TOUCH_UI) && !defined(USE_AURA) void MessageBubble::OnActiveChanged() { if (parent_ && IsActive()) { // Show the parent. @@ -192,7 +192,7 @@ void MessageBubble::Close() { Bubble::Close(); } -#if !defined(TOUCH_UI) +#if !defined(TOUCH_UI) && !defined(USE_AURA) gboolean MessageBubble::OnButtonPress(GtkWidget* widget, GdkEventButton* event) { NativeWidgetGtk::OnButtonPress(widget, event); diff --git a/chrome/browser/chromeos/login/message_bubble.h b/chrome/browser/chromeos/login/message_bubble.h index f9b9dda..de50a9f 100644 --- a/chrome/browser/chromeos/login/message_bubble.h +++ b/chrome/browser/chromeos/login/message_bubble.h @@ -89,7 +89,7 @@ class MessageBubble : public Bubble, // Overridden from views::LinkListener: virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE; -#if !defined(TOUCH_UI) +#if !defined(TOUCH_UI) && !defined(USE_AURA) // Overridden from NativeWidgetGtk. virtual void OnActiveChanged() OVERRIDE; virtual void SetMouseCapture() OVERRIDE; diff --git a/chrome/browser/chromeos/setting_level_bubble.cc b/chrome/browser/chromeos/setting_level_bubble.cc index 7a35a99..dbddb0c 100644 --- a/chrome/browser/chromeos/setting_level_bubble.cc +++ b/chrome/browser/chromeos/setting_level_bubble.cc @@ -59,6 +59,10 @@ namespace chromeos { // TODO(glotov): remove this in favor of enabling Bubble class act // without |parent| specified. crosbug.com/4025 static views::Widget* GetToplevelWidget() { +#if defined(USE_AURA) + // TODO(saintlou): Need to fix in PureViews. + return WebUILoginDisplay::GetLoginWindow(); +#else GtkWindow* window = NULL; // We just use the default profile here -- this gets overridden as needed @@ -80,6 +84,7 @@ static views::Widget* GetToplevelWidget() { return views::Widget::GetWidgetForNativeWindow(window); else return WebUILoginDisplay::GetLoginWindow(); +#endif } SettingLevelBubble::SettingLevelBubble(SkBitmap* increase_icon, diff --git a/chrome/browser/first_run/first_run.cc b/chrome/browser/first_run/first_run.cc index 746d54b..f73f179 100644 --- a/chrome/browser/first_run/first_run.cc +++ b/chrome/browser/first_run/first_run.cc @@ -319,7 +319,9 @@ bool FirstRun::ProcessMasterPreferences(const FilePath& user_data_dir, installer::master_preferences::kDistroImportBookmarksFromFilePref, &import_bookmarks_path); -#if defined(OS_WIN) +#if defined(USE_AURA) + // TODO(saintlou): +#elif defined(OS_WIN) if (!IsOrganicFirstRun()) { // If search engines aren't explicitly imported, don't import. if (!(out_prefs->do_import_items & importer::SEARCH_ENGINES)) { diff --git a/chrome/browser/first_run/first_run_aura.cc b/chrome/browser/first_run/first_run_aura.cc index 6a1a7eb..f6ace0d 100644 --- a/chrome/browser/first_run/first_run_aura.cc +++ b/chrome/browser/first_run/first_run_aura.cc @@ -9,15 +9,16 @@ #include "chrome/browser/importer/importer_host.h" #include "chrome/browser/importer/importer_list.h" -bool FirstRun::LaunchSetupWithParam(const std::string& param, - const std::wstring& value, - int* ret_code) { +#if defined(OS_WIN) +bool FirstRun::WriteEULAtoTempFile(FilePath* eula_path) { // TODO(beng): NOTIMPLEMENTED(); return true; } -bool FirstRun::WriteEULAtoTempFile(FilePath* eula_path) { +bool FirstRun::LaunchSetupWithParam(const std::string& param, + const std::wstring& value, + int* ret_code) { // TODO(beng): NOTIMPLEMENTED(); return true; @@ -28,55 +29,71 @@ void FirstRun::DoDelayedInstallExtensions() { NOTIMPLEMENTED(); } -// static -void FirstRun::PlatformSetup() { +bool FirstRun::ImportSettings(Profile* profile, + scoped_refptr<ImporterHost> importer_host, + scoped_refptr<ImporterList> importer_list, + int items_to_import) { + return ImportSettings( + profile, + importer_list->GetSourceProfileAt(0).importer_type, + items_to_import, + FilePath(), + false, + NULL); +} + +bool FirstRun::ImportSettings(Profile* profile, + int importer_type, + int items_to_import, + const FilePath& import_bookmarks_path, + bool skip_first_run_ui, + gfx::NativeWindow parent_window) { // TODO(beng): NOTIMPLEMENTED(); + return false; } +int FirstRun::ImportFromBrowser(Profile* profile, + const CommandLine& cmdline) { + // TODO(beng): + NOTIMPLEMENTED(); + return 0; +} +#else // static -bool FirstRun::IsOrganicFirstRun() { +bool FirstRun::ImportBookmarks(const FilePath& import_bookmarks_path) { // TODO(beng): NOTIMPLEMENTED(); return true; } -// static -FilePath FirstRun::MasterPrefsPath() { - // TODO(beng): +namespace first_run { +void ShowFirstRunDialog(Profile* profile, + bool randomize_search_engine_experiment) { + // TODO(saintlou): NOTIMPLEMENTED(); - return FilePath(); } +} // namespace first_run +#endif // static -bool FirstRun::ImportSettings(Profile* profile, - int importer_type, - int items_to_import, - const FilePath& import_bookmarks_path, - bool skip_first_run_ui, - gfx::NativeWindow parent_window) { +void FirstRun::PlatformSetup() { // TODO(beng): NOTIMPLEMENTED(); - return false; } // static -bool FirstRun::ImportSettings(Profile* profile, - scoped_refptr<ImporterHost> importer_host, - scoped_refptr<ImporterList> importer_list, - int items_to_import) { - return ImportSettings( - profile, - importer_list->GetSourceProfileAt(0).importer_type, - items_to_import, - FilePath(), - false, - NULL); +bool FirstRun::IsOrganicFirstRun() { + // TODO(beng): + NOTIMPLEMENTED(); + return true; } -int FirstRun::ImportFromBrowser(Profile* profile, - const CommandLine& cmdline) { +// static +FilePath FirstRun::MasterPrefsPath() { // TODO(beng): NOTIMPLEMENTED(); - return 0; + return FilePath(); } + + diff --git a/chrome/browser/process_singleton.h b/chrome/browser/process_singleton.h index 0c78986..f511748 100644 --- a/chrome/browser/process_singleton.h +++ b/chrome/browser/process_singleton.h @@ -166,8 +166,10 @@ class ProcessSingleton : public base::NonThreadSafe { // Helper class for linux specific messages. LinuxWatcher is ref counted // because it posts messages between threads. +#if !defined(USE_AURA) class LinuxWatcher; scoped_refptr<LinuxWatcher> watcher_; +#endif #elif defined(OS_MACOSX) // Path in file system to the lock. FilePath lock_path_; diff --git a/chrome/browser/process_singleton_aura.cc b/chrome/browser/process_singleton_aura.cc index 86aa5ec..5de600b 100644 --- a/chrome/browser/process_singleton_aura.cc +++ b/chrome/browser/process_singleton_aura.cc @@ -6,7 +6,11 @@ // Look for a Chrome instance that uses the same profile directory. ProcessSingleton::ProcessSingleton(const FilePath& user_data_dir) - : window_(NULL), locked_(false), foreground_window_(NULL) { + : +#if defined(OS_WIN) + window_(NULL), +#endif + locked_(false), foreground_window_(NULL) { } ProcessSingleton::~ProcessSingleton() { diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc index 13fb35f..b59fe42 100644 --- a/chrome/browser/profiles/profile.cc +++ b/chrome/browser/profiles/profile.cc @@ -62,7 +62,7 @@ #include "webkit/database/database_tracker.h" #include "webkit/quota/quota_manager.h" -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) #include "chrome/browser/ui/gtk/gtk_theme_service.h" #endif @@ -140,7 +140,7 @@ void Profile::RegisterUserPrefs(PrefService* prefs) { prefs->RegisterBooleanPref(prefs::kSpeechInputCensorResults, true, PrefService::UNSYNCABLE_PREF); -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) & !defined(USE_AURA) prefs->RegisterBooleanPref(prefs::kUsesSystemTheme, GtkThemeService::DefaultUsesSystemTheme(), PrefService::UNSYNCABLE_PREF); diff --git a/chrome/browser/renderer_host/render_widget_host_view_views.cc b/chrome/browser/renderer_host/render_widget_host_view_views.cc index 7bf7b9d..3d7cc05 100644 --- a/chrome/browser/renderer_host/render_widget_host_view_views.cc +++ b/chrome/browser/renderer_host/render_widget_host_view_views.cc @@ -40,12 +40,18 @@ #include <gtk/gtk.h> #include <gtk/gtkwindow.h> #include <gdk/gdkx.h> +#include "content/browser/renderer_host/gtk_window_utils.h" +#include "views/widget/native_widget_gtk.h" #endif #if defined(TOUCH_UI) #include "chrome/browser/renderer_host/accelerated_surface_container_touch.h" #endif +#if defined(OS_POSIX) +#include "content/browser/renderer_host/gtk_window_utils.h" +#endif + static const int kMaxWindowWidth = 4000; static const int kMaxWindowHeight = 4000; static const int kTouchControllerUpdateDelay = 150; @@ -770,7 +776,7 @@ void RenderWidgetHostViewViews::OnPaint(gfx::Canvas* canvas) { paint_rect = paint_rect.Intersect(invalid_rect_); if (backing_store) { -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) // Only render the widget if it is attached to a window; there's a short // period where this object isn't attached to a window but hasn't been // Destroy()ed yet and it receives paint messages... @@ -790,7 +796,7 @@ void RenderWidgetHostViewViews::OnPaint(gfx::Canvas* canvas) { // TODO(sad) NOTIMPLEMENTED(); } -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) } #endif if (!whiteout_start_time_.is_null()) { @@ -901,3 +907,107 @@ void RenderWidgetHostViewViews::UpdateTouchSelectionController() { touch_selection_controller_->SelectionChanged(selection_start_, selection_end_); } + +#if !defined(OS_WIN) +void RenderWidgetHostViewViews::UpdateCursor(const WebCursor& cursor) { + // Optimize the common case, where the cursor hasn't changed. + // However, we can switch between different pixmaps, so only on the + // non-pixmap branch. + if (current_cursor_.GetCursorType() != GDK_CURSOR_IS_PIXMAP && + current_cursor_.GetCursorType() == cursor.GetCursorType()) { + return; + } + + current_cursor_ = cursor; + ShowCurrentCursor(); +} + +void RenderWidgetHostViewViews::ShowCurrentCursor() { +#if !defined(USE_AURA) + // The widget may not have a window. If that's the case, abort mission. This + // is the same issue as that explained above in Paint(). + if (!GetInnerNativeView() || !GetInnerNativeView()->window) + return; +#endif + + native_cursor_ = current_cursor_.GetNativeCursor(); +} + +gfx::NativeView RenderWidgetHostViewViews::GetInnerNativeView() const { +#if defined(USE_AURA) + return NULL; +#else + const views::View* view = NULL; + if (views::ViewsDelegate::views_delegate) + view = views::ViewsDelegate::views_delegate->GetDefaultParentView(); + if (!view) + view = this; + + // TODO(sad): Ideally this function should be equivalent to GetNativeView, and + // NativeWidgetGtk-specific function call should not be necessary. + const views::Widget* widget = view->GetWidget(); + const views::NativeWidget* native = widget ? widget->native_widget() : NULL; + return native ? static_cast<const views::NativeWidgetGtk*>(native)-> + window_contents() : NULL; +#endif +} +#endif // !OS_WIN + +#if defined(TOOLKIT_USES_GTK) +void RenderWidgetHostViewViews::CreatePluginContainer( + gfx::PluginWindowHandle id) { + // TODO(anicolao): plugin_container_manager_.CreatePluginContainer(id); +} + +void RenderWidgetHostViewViews::DestroyPluginContainer( + gfx::PluginWindowHandle id) { + // TODO(anicolao): plugin_container_manager_.DestroyPluginContainer(id); +} + +void RenderWidgetHostViewViews::AcceleratedCompositingActivated( + bool activated) { + // TODO(anicolao): figure out if we need something here + if (activated) + NOTIMPLEMENTED(); +} +#endif // TOOLKIT_USES_GTK + +#if defined(OS_POSIX) +void RenderWidgetHostViewViews::GetDefaultScreenInfo( + WebKit::WebScreenInfo* results) { + NOTIMPLEMENTED(); +} + +void RenderWidgetHostViewViews::GetScreenInfo(WebKit::WebScreenInfo* results) { +#if !defined(USE_AURA) + views::Widget* widget = GetWidget() ? GetWidget()->GetTopLevelWidget() : NULL; + if (widget) + content::GetScreenInfoFromNativeWindow(widget->GetNativeView()->window, + results); +#endif +} + +gfx::Rect RenderWidgetHostViewViews::GetRootWindowBounds() { + views::Widget* widget = GetWidget() ? GetWidget()->GetTopLevelWidget() : NULL; + return widget ? widget->GetWindowScreenBounds() : gfx::Rect(); +} +#endif + +#if !defined(TOUCH_UI) && !defined(OS_WIN) +gfx::PluginWindowHandle RenderWidgetHostViewViews::GetCompositingSurface() { + // TODO(oshima): The original implementation was broken as + // GtkNativeViewManager doesn't know about NativeWidgetGtk. Figure + // out if this makes sense without compositor. If it does, then find + // out the right way to handle. + NOTIMPLEMENTED(); + return gfx::kNullPluginWindow; +} +#endif + +#if defined(USE_AURA) +// static +RenderWidgetHostView* RenderWidgetHostView::CreateViewForWidget( + RenderWidgetHost* widget) { + return new RenderWidgetHostViewViews(widget); +} +#endif diff --git a/chrome/browser/renderer_host/render_widget_host_view_views.h b/chrome/browser/renderer_host/render_widget_host_view_views.h index 7bdc437..250c076 100644 --- a/chrome/browser/renderer_host/render_widget_host_view_views.h +++ b/chrome/browser/renderer_host/render_widget_host_view_views.h @@ -91,6 +91,7 @@ class RenderWidgetHostViewViews : public RenderWidgetHostView, virtual BackingStore* AllocBackingStore(const gfx::Size& size) OVERRIDE; virtual void SetBackground(const SkBitmap& background) OVERRIDE; #if defined(OS_POSIX) + virtual void GetDefaultScreenInfo(WebKit::WebScreenInfo* results) OVERRIDE; virtual void GetScreenInfo(WebKit::WebScreenInfo* results) OVERRIDE; virtual gfx::Rect GetRootWindowBounds() OVERRIDE; #endif diff --git a/chrome/browser/renderer_host/render_widget_host_view_views_gtk.cc b/chrome/browser/renderer_host/render_widget_host_view_views_gtk.cc deleted file mode 100644 index e8437a7..0000000 --- a/chrome/browser/renderer_host/render_widget_host_view_views_gtk.cc +++ /dev/null @@ -1,94 +0,0 @@ -// 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/renderer_host/render_widget_host_view_views.h" - -#include <gdk/gdkx.h> -#include <gtk/gtk.h> - -#include "content/browser/renderer_host/gtk_window_utils.h" -#include "ui/base/keycodes/keyboard_code_conversion_gtk.h" -#include "ui/base/x/x11_util.h" -#include "ui/gfx/gtk_native_view_id_manager.h" -#include "views/views_delegate.h" -#include "views/widget/native_widget_gtk.h" - -#include "third_party/WebKit/Source/WebKit/chromium/public/WebScreenInfo.h" - -void RenderWidgetHostViewViews::UpdateCursor(const WebCursor& cursor) { - // Optimize the common case, where the cursor hasn't changed. - // However, we can switch between different pixmaps, so only on the - // non-pixmap branch. - if (current_cursor_.GetCursorType() != GDK_CURSOR_IS_PIXMAP && - current_cursor_.GetCursorType() == cursor.GetCursorType()) { - return; - } - - current_cursor_ = cursor; - ShowCurrentCursor(); -} - -void RenderWidgetHostViewViews::CreatePluginContainer( - gfx::PluginWindowHandle id) { - // TODO(anicolao): plugin_container_manager_.CreatePluginContainer(id); -} - -void RenderWidgetHostViewViews::DestroyPluginContainer( - gfx::PluginWindowHandle id) { - // TODO(anicolao): plugin_container_manager_.DestroyPluginContainer(id); -} - -void RenderWidgetHostViewViews::GetScreenInfo(WebKit::WebScreenInfo* results) { - views::Widget* widget = GetWidget() ? GetWidget()->GetTopLevelWidget() : NULL; - if (widget) - content::GetScreenInfoFromNativeWindow(widget->GetNativeView()->window, - results); -} - -gfx::Rect RenderWidgetHostViewViews::GetRootWindowBounds() { - views::Widget* widget = GetWidget() ? GetWidget()->GetTopLevelWidget() : NULL; - return widget ? widget->GetWindowScreenBounds() : gfx::Rect(); -} - -void RenderWidgetHostViewViews::AcceleratedCompositingActivated( - bool activated) { - // TODO(anicolao): figure out if we need something here - if (activated) - NOTIMPLEMENTED(); -} - -#if !defined(TOUCH_UI) -gfx::PluginWindowHandle RenderWidgetHostViewViews::GetCompositingSurface() { - // TODO(oshima): The original implementation was broken as - // GtkNativeViewManager doesn't know about NativeWidgetGtk. Figure - // out if this makes sense without compositor. If it does, then find - // out the right way to handle. - NOTIMPLEMENTED(); - return gfx::kNullPluginWindow; -} -#endif - -gfx::NativeView RenderWidgetHostViewViews::GetInnerNativeView() const { - const views::View* view = NULL; - if (views::ViewsDelegate::views_delegate) - view = views::ViewsDelegate::views_delegate->GetDefaultParentView(); - if (!view) - view = this; - - // TODO(sad): Ideally this function should be equivalent to GetNativeView, and - // NativeWidgetGtk-specific function call should not be necessary. - const views::Widget* widget = view->GetWidget(); - const views::NativeWidget* native = widget ? widget->native_widget() : NULL; - return native ? static_cast<const views::NativeWidgetGtk*>(native)-> - window_contents() : NULL; -} - -void RenderWidgetHostViewViews::ShowCurrentCursor() { - // The widget may not have a window. If that's the case, abort mission. This - // is the same issue as that explained above in Paint(). - if (!GetInnerNativeView() || !GetInnerNativeView()->window) - return; - - native_cursor_ = current_cursor_.GetNativeCursor(); -} diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/renderer_preferences_util.cc index a585d43..c37ea5d 100644 --- a/chrome/browser/renderer_preferences_util.cc +++ b/chrome/browser/renderer_preferences_util.cc @@ -8,7 +8,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/common/pref_names.h" -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) #include "chrome/browser/ui/gtk/gtk_theme_service.h" #include "chrome/browser/ui/gtk/gtk_util.h" #endif @@ -16,10 +16,10 @@ namespace renderer_preferences_util { void UpdateFromSystemSettings(RendererPreferences* prefs, Profile* profile) { -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) gtk_util::UpdateGtkFontSettings(prefs); -#if !defined(OS_CHROMEOS) +#if !defined(OS_CHROMEOS) && !defined(USE_AURA) GtkThemeService* theme_service = GtkThemeService::GetFrom(profile); prefs->focus_ring_color = theme_service->get_focus_ring_color(); @@ -40,9 +40,9 @@ void UpdateFromSystemSettings(RendererPreferences* prefs, Profile* profile) { prefs->active_selection_fg_color = SK_ColorBLACK; prefs->inactive_selection_bg_color = SkColorSetRGB(0xEA, 0xEA, 0xEA); prefs->inactive_selection_fg_color = SK_ColorBLACK; -#endif // defined(OS_CHROMEOS) +#endif // defined(OS_CHROMEOS) && defined(USE_AURA) -#endif // defined(TOOLKIT_USES_GTK) +#endif // defined(TOOLKIT_USES_GTK) && defined(USE_AURA) prefs->enable_referrers = profile->GetPrefs()->GetBoolean(prefs::kEnableReferrers); diff --git a/chrome/browser/screensaver_window_finder_linux.cc b/chrome/browser/screensaver_window_finder_linux.cc index b048f7b..e43b2d85 100644 --- a/chrome/browser/screensaver_window_finder_linux.cc +++ b/chrome/browser/screensaver_window_finder_linux.cc @@ -17,11 +17,15 @@ ScreensaverWindowFinder::ScreensaverWindowFinder() } bool ScreensaverWindowFinder::ScreensaverWindowExists() { +#if defined(USE_AURA) + return false; +#else gdk_error_trap_push(); ScreensaverWindowFinder finder; gtk_util::EnumerateTopLevelWindows(&finder); bool got_error = gdk_error_trap_pop(); return finder.exists_ && !got_error; +#endif } bool ScreensaverWindowFinder::ShouldStopIterating(XID window) { diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc index 220afe9..e35558c 100644 --- a/chrome/browser/themes/theme_service.cc +++ b/chrome/browser/themes/theme_service.cc @@ -610,7 +610,7 @@ void ThemeService::NotifyThemeChanged() { #endif // OS_MACOSX } -#if defined(OS_WIN) +#if defined(OS_WIN) || defined(USE_AURA) void ThemeService::FreePlatformCaches() { // Views (Skia) has no platform image cache to clear. } diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h index 4b8a3ca..861164c 100644 --- a/chrome/browser/themes/theme_service.h +++ b/chrome/browser/themes/theme_service.h @@ -147,7 +147,7 @@ class ThemeService : public base::NonThreadSafe, virtual bool ShouldUseNativeFrame() const; virtual bool HasCustomImage(int id) const; virtual RefCountedMemory* GetRawData(int id) const; -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) // GdkPixbufs returned by GetPixbufNamed and GetRTLEnabledPixbufNamed are // shared instances owned by the theme provider and should not be freed. virtual GdkPixbuf* GetPixbufNamed(int id) const; diff --git a/chrome/browser/themes/theme_service_factory.cc b/chrome/browser/themes/theme_service_factory.cc index 861614d..21fa817 100644 --- a/chrome/browser/themes/theme_service_factory.cc +++ b/chrome/browser/themes/theme_service_factory.cc @@ -11,7 +11,7 @@ #include "chrome/browser/themes/theme_service.h" #include "content/common/notification_service.h" -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) #include "chrome/browser/ui/gtk/gtk_theme_service.h" #endif @@ -45,7 +45,7 @@ ThemeServiceFactory::~ThemeServiceFactory() {} ProfileKeyedService* ThemeServiceFactory::BuildServiceInstanceFor( Profile* profile) const { ThemeService* provider = NULL; -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) provider = new GtkThemeService; #else provider = new ThemeService; diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc index 2ef6be3..89d35dc 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc @@ -1945,12 +1945,6 @@ void Browser::FocusSearch() { void Browser::OpenFile() { UserMetrics::RecordAction(UserMetricsAction("OpenFile")); -#if defined(OS_CHROMEOS) && !defined(FILE_MANAGER_EXTENSION) - FileBrowseUI::OpenPopup(profile_, - "", - FileBrowseUI::kPopupWidth, - FileBrowseUI::kPopupHeight); -#else if (!select_file_dialog_.get()) select_file_dialog_ = SelectFileDialog::Create(this); @@ -1963,7 +1957,6 @@ void Browser::OpenFile() { NULL, 0, FILE_PATH_LITERAL(""), GetSelectedTabContents(), parent_window, NULL); -#endif } void Browser::OpenCreateShortcutsDialog() { @@ -3674,7 +3667,9 @@ void Browser::OnStartDownload(TabContents* source, DownloadItem* download) { return; if (DisplayOldDownloadsUI()) { -#if defined(OS_CHROMEOS) +#if defined(USE_AURA) + // TODO(saintlou): There is no implementation for Aura. +#elif defined(OS_CHROMEOS) // Don't show content browser for extension/theme downloads from gallery. ExtensionService* service = profile_->GetExtensionService(); if (!ChromeDownloadManagerDelegate::IsExtensionDownload(download) || diff --git a/chrome/browser/ui/browser_init.cc b/chrome/browser/ui/browser_init.cc index 25053b7..b519e59 100644 --- a/chrome/browser/ui/browser_init.cc +++ b/chrome/browser/ui/browser_init.cc @@ -1037,7 +1037,7 @@ Browser* BrowserInit::LaunchWithProfile::OpenTabsInBrowser( if (!browser || !browser->is_type_tabbed()) { browser = Browser::Create(profile_); } else { -#if defined(TOOLKIT_GTK) +#if defined(TOOLKIT_GTK) && !defined(USE_AURA) // Setting the time of the last action on the window here allows us to steal // focus, which is what the user wants when opening a new tab in an existing // browser window. diff --git a/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc b/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc index 7d50203..0fc6050 100644 --- a/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc +++ b/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc @@ -346,11 +346,14 @@ void SSLClientCertificateSelector::OnComboBoxChanged(GtkWidget* combo_box) { } void SSLClientCertificateSelector::OnViewClicked(GtkWidget* button) { +#if !defined(USE_AURA) + // TODO(saintlou): need to port to Views. net::X509Certificate* cert = GetSelectedCert(); if (cert) { GtkWidget* toplevel = gtk_widget_get_toplevel(root_widget_.get()); ShowCertificateViewer(GTK_WINDOW(toplevel), cert); } +#endif } void SSLClientCertificateSelector::OnCancelClicked(GtkWidget* button) { diff --git a/chrome/browser/ui/login/login_prompt_ui.cc b/chrome/browser/ui/login/login_prompt_ui.cc index ee9daae..5738e98 100644 --- a/chrome/browser/ui/login/login_prompt_ui.cc +++ b/chrome/browser/ui/login/login_prompt_ui.cc @@ -23,6 +23,14 @@ #include "ui/base/resource/resource_bundle.h" #include "ui/gfx/size.h" +#if defined(USE_AURA) && !defined(OS_CHROMEOS) +// TODO(saintlou): This is another big fat hack like in the FileSelector. +namespace chrome { +const char kChromeUIHttpAuthHost[] = "http-auth"; +const char kChromeUIHttpAuthURL[] = "chrome://http-auth/"; +} // namespace chrome +#endif + class LoginHandlerSource : public ChromeURLDataManager::DataSource { public: LoginHandlerSource() diff --git a/chrome/browser/ui/tabs/dock_info_aura.cc b/chrome/browser/ui/tabs/dock_info_aura.cc index 6e18aa2..bbe4336 100644 --- a/chrome/browser/ui/tabs/dock_info_aura.cc +++ b/chrome/browser/ui/tabs/dock_info_aura.cc @@ -4,12 +4,14 @@ #include "chrome/browser/ui/tabs/dock_info.h" -#include "base/win/scoped_gdi_object.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/tabs/tab.h" #include "ui/gfx/screen.h" +#if defined(OS_WIN) +#include "base/win/scoped_gdi_object.h" +#endif // DockInfo ------------------------------------------------------------------- diff --git a/chrome/browser/ui/toolbar/wrench_menu_model.cc b/chrome/browser/ui/toolbar/wrench_menu_model.cc index b4b2a67..1e48730 100644 --- a/chrome/browser/ui/toolbar/wrench_menu_model.cc +++ b/chrome/browser/ui/toolbar/wrench_menu_model.cc @@ -499,6 +499,8 @@ void WrenchMenuModel::Build() { #if defined(OS_MACOSX) AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES); +#elif defined(USE_AURA) + AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES); #elif defined(TOOLKIT_USES_GTK) string16 preferences = gtk_util::GetStockPreferencesMenuLabel(); if (!preferences.empty()) diff --git a/chrome/browser/ui/views/aura/aura_init.cc b/chrome/browser/ui/views/aura/aura_init.cc index da6a202..0808486 100644 --- a/chrome/browser/ui/views/aura/aura_init.cc +++ b/chrome/browser/ui/views/aura/aura_init.cc @@ -6,6 +6,7 @@ #include "chrome/browser/ui/views/chrome_views_delegate.h" #include "ui/aura/desktop.h" +#include "ui/aura/hit_test.h" #include "ui/aura/window_delegate.h" #include "ui/gfx/canvas_skia.h" #include "views/view.h" @@ -21,6 +22,8 @@ class DemoWindowDelegate : public aura::WindowDelegate { explicit DemoWindowDelegate(SkColor color) : color_(color) {} // Overridden from aura::WindowDelegate: + virtual void OnBoundsChanged(const gfx::Rect& old_bounds, + const gfx::Rect& new_bounds) OVERRIDE {} virtual void OnFocus() OVERRIDE {} virtual void OnBlur() OVERRIDE {} virtual bool OnKeyEvent(aura::KeyEvent* event) OVERRIDE { diff --git a/chrome/browser/ui/views/autocomplete/autocomplete_result_view.cc b/chrome/browser/ui/views/autocomplete/autocomplete_result_view.cc index 1320fff..01d0997 100644 --- a/chrome/browser/ui/views/autocomplete/autocomplete_result_view.cc +++ b/chrome/browser/ui/views/autocomplete/autocomplete_result_view.cc @@ -139,6 +139,12 @@ SkColor AutocompleteResultView::GetColor(ResultViewState state, colors[SELECTED][BACKGROUND] = color_utils::GetSysSkColor(COLOR_HIGHLIGHT); colors[NORMAL][TEXT] = color_utils::GetSysSkColor(COLOR_WINDOWTEXT); colors[SELECTED][TEXT] = color_utils::GetSysSkColor(COLOR_HIGHLIGHTTEXT); +#elif defined(USE_AURA) + // TODO(beng): source from theme provider. + colors[NORMAL][BACKGROUND] = SK_ColorWHITE; + colors[SELECTED][BACKGROUND] = SK_ColorBLUE; + colors[NORMAL][TEXT] = SK_ColorBLACK; + colors[SELECTED][TEXT] = SK_ColorWHITE; #elif defined(TOOLKIT_USES_GTK) GdkColor bg_color, selected_bg_color, text_color, selected_text_color; gtk_util::GetTextColors( diff --git a/chrome/browser/ui/views/bubble/bubble.cc b/chrome/browser/ui/views/bubble/bubble.cc index 3cb8eda..5d91ea5 100644 --- a/chrome/browser/ui/views/bubble/bubble.cc +++ b/chrome/browser/ui/views/bubble/bubble.cc @@ -111,6 +111,7 @@ void Bubble::AnimationProgressed(const ui::Animation* animation) { animation_->GetCurrentValue() * 255); #if defined(USE_AURA) // TODO(beng): + (void)opacity; NOTIMPLEMENTED(); #elif defined(OS_WIN) SetLayeredWindowAttributes(GetNativeView(), 0, @@ -160,7 +161,9 @@ Bubble::Bubble() #if defined(OS_CHROMEOS) Bubble::Bubble(views::Widget::InitParams::Type type, bool show_while_screen_is_locked) -#if defined(TOUCH_UI) +#if defined(USE_AURA) + : views::NativeWidgetAura(new views::Widget), +#elif defined(TOUCH_UI) : views::NativeWidgetViews(new views::Widget), #else : views::NativeWidgetGtk(new views::Widget), diff --git a/chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc b/chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc index ff61daf..5b611bc 100644 --- a/chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc +++ b/chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc @@ -146,7 +146,7 @@ void MouseObserver::StopObserving(MessageLoopForUI* loop) { } bool MouseObserver::IsMouseEvent(const views::NativeEvent& native_event) { -#if defined(OS_WIN) +#if defined(OS_WIN) || defined(USE_AURA) return views::IsClientMouseEvent(native_event) || views::IsNonClientMouseEvent(native_event); #elif defined(OS_LINUX) diff --git a/chrome/browser/ui/views/constrained_html_delegate_views.cc b/chrome/browser/ui/views/constrained_html_delegate_views.cc index a5b5333..3c9b5d2 100644 --- a/chrome/browser/ui/views/constrained_html_delegate_views.cc +++ b/chrome/browser/ui/views/constrained_html_delegate_views.cc @@ -122,6 +122,10 @@ ConstrainedWindow* ConstrainedHtmlUI::CreateConstrainedHtmlDialog( Profile* profile, HtmlDialogUIDelegate* delegate, TabContentsWrapper* container) { +#if defined(USE_AURA) + // TODO(saintlou): Another atrocious hack until we get PureView version. + return NULL; +#else ConstrainedHtmlDelegateViews* constrained_delegate = new ConstrainedHtmlDelegateViews(profile, delegate); ConstrainedWindow* constrained_window = @@ -129,4 +133,5 @@ ConstrainedWindow* ConstrainedHtmlUI::CreateConstrainedHtmlDialog( constrained_delegate); constrained_delegate->set_window(constrained_window); return constrained_window; +#endif } diff --git a/chrome/browser/ui/views/content_setting_bubble_contents.cc b/chrome/browser/ui/views/content_setting_bubble_contents.cc index e0b505a..ff1d7ec 100644 --- a/chrome/browser/ui/views/content_setting_bubble_contents.cc +++ b/chrome/browser/ui/views/content_setting_bubble_contents.cc @@ -88,6 +88,9 @@ gfx::NativeCursor ContentSettingBubbleContents::Favicon::GetCursor( #if defined(OS_WIN) static HCURSOR g_hand_cursor = LoadCursor(NULL, IDC_HAND); return g_hand_cursor; +#elif defined(USE_AURA) + // TODO(saintlou): + return NULL; #elif defined(TOOLKIT_USES_GTK) return gfx::GetCursor(GDK_HAND2); #endif diff --git a/chrome/browser/ui/views/extensions/extension_view.cc b/chrome/browser/ui/views/extensions/extension_view.cc index 954bb3e..d94e3bb 100644 --- a/chrome/browser/ui/views/extensions/extension_view.cc +++ b/chrome/browser/ui/views/extensions/extension_view.cc @@ -12,7 +12,7 @@ #if defined(OS_WIN) #include "content/browser/renderer_host/render_widget_host_view_win.h" -#elif defined(TOUCH_UI) +#elif defined(TOUCH_UI) || defined(USE_AURA) #include "chrome/browser/renderer_host/render_widget_host_view_views.h" #elif defined(TOOLKIT_USES_GTK) #include "content/browser/renderer_host/render_widget_host_view_gtk.h" diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc index 3a14655..767da8e 100644 --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc @@ -1244,7 +1244,7 @@ bool BrowserView::PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, views::FocusManager* focus_manager = GetFocusManager(); DCHECK(focus_manager); -#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) +#if defined(TOOLKIT_USES_GTK) && !(defined(TOUCH_UI) || defined(USE_AURA)) // Views and WebKit use different tables for GdkEventKey -> views::KeyEvent // conversion. We need to use View's conversion table here to keep consistent // behavior with views::FocusManager::OnKeyEvent() method. @@ -1309,7 +1309,7 @@ bool BrowserView::PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, void BrowserView::HandleKeyboardEvent(const NativeWebKeyboardEvent& event) { // TODO(ben): figure out why are these two code paths so different -#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) +#if defined(TOOLKIT_USES_GTK) && !(defined(TOUCH_UI) || defined(USE_AURA)) HandleWebKeyboardEvent(GetWidget(), event); #else unhandled_keyboard_event_handler_.HandleKeyboardEvent(event, diff --git a/chrome/browser/ui/views/html_dialog_view.cc b/chrome/browser/ui/views/html_dialog_view.cc index 3b4c216..1c1c75f 100644 --- a/chrome/browser/ui/views/html_dialog_view.cc +++ b/chrome/browser/ui/views/html_dialog_view.cc @@ -207,7 +207,9 @@ void HtmlDialogView::MoveContents(TabContents* source, const gfx::Rect& pos) { // We don't handle global keyboard shortcuts here, but that's fine since // they're all browser-specific. (This may change in the future.) void HtmlDialogView::HandleKeyboardEvent(const NativeWebKeyboardEvent& event) { -#if defined(OS_WIN) +#if defined(USE_AURA) + // TODO(saintlou): Need to provide some Aura handling. +#elif defined(OS_WIN) // Any unhandled keyboard/character messages should be defproced. // This allows stuff like F10, etc to work correctly. DefWindowProc(event.os_event.hwnd, event.os_event.message, diff --git a/chrome/browser/ui/views/notifications/balloon_view_host.cc b/chrome/browser/ui/views/notifications/balloon_view_host.cc index 91d3666..eac770e 100644 --- a/chrome/browser/ui/views/notifications/balloon_view_host.cc +++ b/chrome/browser/ui/views/notifications/balloon_view_host.cc @@ -11,7 +11,7 @@ #include "content/browser/renderer_host/render_widget_host_view_win.h" #endif #if defined(TOOLKIT_USES_GTK) -#if defined(TOUCH_UI) +#if defined(TOUCH_UI) || defined(USE_AURA) #include "chrome/browser/renderer_host/render_widget_host_view_views.h" #else #include "content/browser/renderer_host/render_widget_host_view_gtk.h" diff --git a/chrome/browser/ui/views/select_file_dialog.cc b/chrome/browser/ui/views/select_file_dialog.cc index 3673abd..d125cc2 100644 --- a/chrome/browser/ui/views/select_file_dialog.cc +++ b/chrome/browser/ui/views/select_file_dialog.cc @@ -33,7 +33,7 @@ const int kSaveCompletePageIndex = 2; } // namespace // Implementation of SelectFileDialog that shows an UI for choosing a file -// or folder using FileBrowseUI. +// or folder. class SelectFileDialogImpl : public SelectFileDialog { public: explicit SelectFileDialogImpl(Listener* listener); @@ -325,8 +325,12 @@ string16 SelectFileDialogImpl::FileBrowseDelegate::GetDialogTitle() const { } GURL SelectFileDialogImpl::FileBrowseDelegate::GetDialogContentURL() const { +#if defined(USE_AURA) + // TODO(saintlou): The current SelectFileDialogImpl assumes chromeos==1 + std::string url_string; +#else std::string url_string(chrome::kChromeUIFileBrowseURL); - +#endif return GURL(url_string); } @@ -343,6 +347,11 @@ void SelectFileDialogImpl::FileBrowseDelegate::GetDialogSize( } std::string SelectFileDialogImpl::FileBrowseDelegate::GetDialogArgs() const { +#if defined(USE_AURA) + // TODO(saintlou): The current SelectFileDialogImpl does not seem to work + // when chromeos==0. + return std::string(); +#else // SelectFile inputs as json. // { // "type" : "open", // (or "open_multiple", "save", "folder" @@ -424,6 +433,7 @@ std::string SelectFileDialogImpl::FileBrowseDelegate::GetDialogArgs() const { exts_list.c_str(), desc_list.c_str(), file_type_index_); +#endif } void SelectFileDialogImpl::FileBrowseDelegate::OnDialogClosed( @@ -445,6 +455,9 @@ void SelectFileDialogImpl::FileBrowseDelegateHandler::RegisterMessages() { void SelectFileDialogImpl::FileBrowseDelegateHandler::HandleSetDialogTitle( const ListValue* args) { +#if !defined(USE_AURA) + // TODO(saintlou): The current SelectFileDialogImpl does not seem to work + // when chromeos==0. std::wstring new_title = UTF16ToWideHack(ExtractStringValue(args)); if (new_title != delegate_->title_) { delegate_->title_ = new_title; @@ -463,4 +476,5 @@ void SelectFileDialogImpl::FileBrowseDelegateHandler::HandleSetDialogTitle( containing_view->GetWindow()->UpdateWindowTitle(); containing_view->GetWindow()->non_client_view()->SchedulePaint(); } +#endif } diff --git a/chrome/browser/ui/views/simple_message_box_views.cc b/chrome/browser/ui/views/simple_message_box_views.cc index fc7a1e1..4d36cdb 100644 --- a/chrome/browser/ui/views/simple_message_box_views.cc +++ b/chrome/browser/ui/views/simple_message_box_views.cc @@ -13,7 +13,7 @@ #include "views/controls/message_box_view.h" #include "views/widget/widget.h" -#if defined(TOUCH_UI) +#if defined(TOUCH_UI) || defined(USE_AURA) #include "views/focus/accelerator_handler.h" #endif @@ -155,7 +155,7 @@ bool SimpleMessageBoxViews::Dispatch(const MSG& msg) { DispatchMessage(&msg); return disposition_ == DISPOSITION_UNKNOWN; } -#elif defined(TOUCH_UI) +#elif defined(TOUCH_UI) || defined(USE_AURA) base::MessagePumpDispatcher::DispatchStatus SimpleMessageBoxViews::Dispatch(XEvent* xev) { if (!views::DispatchXEvent(xev)) diff --git a/chrome/browser/ui/views/simple_message_box_views.h b/chrome/browser/ui/views/simple_message_box_views.h index 3d0ebf7b..da66142 100644 --- a/chrome/browser/ui/views/simple_message_box_views.h +++ b/chrome/browser/ui/views/simple_message_box_views.h @@ -74,7 +74,7 @@ class SimpleMessageBoxViews : public views::DialogDelegate, // Dispatcher method. This returns true if the menu was canceled, or // if the message is such that the menu should be closed. virtual bool Dispatch(const MSG& msg) OVERRIDE; -#elif defined(TOUCH_UI) +#elif defined(TOUCH_UI) || defined(USE_AURA) virtual base::MessagePumpDispatcher::DispatchStatus Dispatch( XEvent* xevent) OVERRIDE; #else diff --git a/chrome/browser/ui/views/stubs_aura.cc b/chrome/browser/ui/views/stubs_aura.cc index 9d85b77..b4fad20 100644 --- a/chrome/browser/ui/views/stubs_aura.cc +++ b/chrome/browser/ui/views/stubs_aura.cc @@ -12,9 +12,20 @@ #include "chrome/browser/ui/views/first_run_bubble.h" #include "ui/gfx/native_widget_types.h" +#if !defined(OS_WIN) +#include "chrome/browser/ui/gtk/certificate_dialogs.h" +#endif + +#if defined(USE_NSS) +#include "chrome/browser/ui/crypto_module_password_dialog.h" +#endif + class SSLClientAuthHandler; class TabContents; class TabContentsWrapper; +namespace crypto { +class CryptoModuleBlockingPasswordDelegate; +} namespace net { class SSLCertRequestInfo; class X509Certificate; @@ -23,6 +34,11 @@ namespace views { class Widget; } +#if !defined(OS_WIN) +class EditSearchEngineControllerDelegate; +class TemplateURL; +#endif + namespace browser { // Declared in browser_dialogs.h so others don't need to depend on our header. @@ -72,6 +88,43 @@ void HideHungRendererDialog(TabContents* contents) { NOTIMPLEMENTED(); } +#if defined(USE_NSS) +crypto::CryptoModuleBlockingPasswordDelegate* + NewCryptoModuleBlockingDialogDelegate( + CryptoModulePasswordReason reason, + const std::string& server) { + // TODO(saintlou): + NOTIMPLEMENTED(); + return NULL; +} +#endif + +#if !defined(OS_WIN) +void EditSearchEngine( + gfx::NativeWindow, + const TemplateURL*, + EditSearchEngineControllerDelegate*, + Profile*) { + // TODO(saintlou): + NOTIMPLEMENTED(); +} + +void ShowRepostFormWarningDialog(gfx::NativeWindow parent_window, + TabContents* tab_contents) { + // TODO(saintlou): + NOTIMPLEMENTED(); +} + +void ShowCryptoModulePasswordDialog(const std::string& module_name, + bool retry, + CryptoModulePasswordReason reason, + const std::string& server, + CryptoModulePasswordCallback* callback) { + // TODO(saintlou): + NOTIMPLEMENTED(); +} +#endif + } // namespace browser @@ -93,6 +146,25 @@ FirstRunBubble* FirstRunBubble::Show( return NULL; } +#if !defined(OS_WIN) +void ShowCertSelectFileDialog(SelectFileDialog* select_file_dialog, + SelectFileDialog::Type type, + const FilePath& suggested_path, + TabContents* tab_contents, + gfx::NativeWindow parent, + void* params) { + // TODO(saintlou); + NOTIMPLEMENTED(); +} + +void ShowCertExportDialog(TabContents* tab_contents, + gfx::NativeWindow parent, + net::X509Certificate::OSCertHandle cert) { + // TODO(saintlou); + NOTIMPLEMENTED(); +} +#endif + // static void BookmarkEditor::Show(gfx::NativeWindow parent_hwnd, Profile* profile, diff --git a/chrome/browser/ui/views/tab_contents/native_tab_contents_container_views.cc b/chrome/browser/ui/views/tab_contents/native_tab_contents_container_views.cc index b0baef8..c4429a7 100644 --- a/chrome/browser/ui/views/tab_contents/native_tab_contents_container_views.cc +++ b/chrome/browser/ui/views/tab_contents/native_tab_contents_container_views.cc @@ -132,3 +132,13 @@ gfx::NativeViewAccessible NativeTabContentsContainerViews::GetNativeViewAccessible() { return View::GetNativeViewAccessible(); } + +//////////////////////////////////////////////////////////////////////////////// +// NativeTabContentsContainer, public: +#if defined(USE_AURA) +// static +NativeTabContentsContainer* NativeTabContentsContainer::CreateNativeContainer( + TabContentsContainer* container) { + return new NativeTabContentsContainerViews(container); +} +#endif diff --git a/chrome/browser/ui/views/tab_contents/native_tab_contents_view_views.cc b/chrome/browser/ui/views/tab_contents/native_tab_contents_view_views.cc index 9ed403e..6e2dfe2 100644 --- a/chrome/browser/ui/views/tab_contents/native_tab_contents_view_views.cc +++ b/chrome/browser/ui/views/tab_contents/native_tab_contents_view_views.cc @@ -88,3 +88,13 @@ void NativeTabContentsViewViews::SetDragCursor( views::NativeWidget* NativeTabContentsViewViews::AsNativeWidget() { return this; } + +//////////////////////////////////////////////////////////////////////////////// +// NativeTabContentsView, public: +#if defined(USE_AURA) +// static +NativeTabContentsView* NativeTabContentsView::CreateNativeTabContentsView( + internal::NativeTabContentsViewDelegate* delegate) { + return new NativeTabContentsViewViews(delegate); +} +#endif diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 0b323d4..9d85137 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -1910,8 +1910,7 @@ 'browser/renderer_host/render_widget_host_view_mac.mm', 'browser/renderer_host/render_widget_host_view_views.cc', 'browser/renderer_host/render_widget_host_view_views.h', - 'browser/renderer_host/render_widget_host_view_views_gtk.cc', - 'browser/renderer_host/render_widget_host_view_views_touch.cc', + 'browser/renderer_host/render_widget_host_view_views_touch.cc', 'browser/renderer_host/render_widget_host_view_views_win.cc', 'browser/renderer_host/safe_browsing_resource_handler.cc', 'browser/renderer_host/safe_browsing_resource_handler.h', @@ -4803,9 +4802,6 @@ ['exclude', '^browser/extensions/extension_input_api.h'], ['exclude', '^browser/extensions/key_identifier_conversion_views.cc'], ['exclude', '^browser/extensions/key_identifier_conversion_views.h'], - ['exclude', '^browser/renderer_host/render_widget_host_view_views_gtk.h'], - ['exclude', '^browser/renderer_host/render_widget_host_view_views_gtk.cc'], - ], }], # These GTK files haven't been ported to views, while ChromeOS has @@ -4851,7 +4847,7 @@ ], }], # GTK build only - ['toolkit_uses_gtk == 1 and toolkit_views == 0', { + ['toolkit_uses_gtk == 1 and toolkit_views == 0 and use_aura == 0', { 'sources/': [ ['include', '^browser/printing/print_dialog_gtk.cc'], ['include', '^browser/printing/print_dialog_gtk.h'], @@ -4968,6 +4964,55 @@ 'browser/importer/ie_importer.cc', ], }], + # Must remove GTK files in PureViews case + ['use_aura==1 and OS=="linux"', { + 'sources/': [ + ['exclude', '^browser/automation/testing_automation_provider_gtk.cc'], + ['exclude', '^browser/first_run/first_run_gtk.cc'], + ['exclude', '^browser/google/google_update.cc'], + ['exclude', '^browser/google/google_update.h'], + ['exclude', '^browser/platform_util_common_linux.cc'], + ['exclude', '^browser/platform_util_linux.cc'], + ['exclude', '^browser/printing/print_dialog_gtk.cc'], + ['exclude', '^browser/printing/print_dialog_gtk.h'], + ['exclude', '^browser/process_singleton_linux.cc'], + ['exclude', '^browser/renderer_host/render_widget_host_view_gtk.cc'], + ['exclude', '^browser/renderer_host/render_widget_host_view_gtk.h'], + ['exclude', '^browser/speech/speech_input_bubble_gtk.cc'], + ['exclude', '^browser/tab_contents/render_view_context_menu_gtk.cc'], + ['exclude', '^browser/tab_contents/render_view_context_menu_gtk.h'], + ['exclude', '^browser/tab_contents/tab_contents_view_gtk.cc'], + ['exclude', '^browser/tab_contents/tab_contents_view_gtk.h'], + ['exclude', '^browser/themes/theme_service_gtk.cc'], + ['exclude', '^browser/ui/gtk/*'], + ['exclude', '^browser/ui/input_window_dialog.h'], + ['exclude', '^browser/ui/input_window_dialog_gtk.cc'], + ['exclude', '^browser/ui/input_window_dialog_win.cc'], + ['exclude', '^browser/ui/login/login_prompt_gtk.cc'], + ['exclude', '^browser/ui/tabs/dock_info_gtk.cc'], + ['exclude', '^browser/ui/views/browser_bubble_gtk.cc'], + ['exclude', '^browser/ui/views/constrained_html_delegate_gtk.cc'], + ['exclude', '^browser/ui/views/dialog_stubs_gtk.cc'], + ['exclude', '^browser/ui/views/dropdown_bar_host_gtk.cc'], + ['exclude', '^browser/ui/views/frame/browser_frame_gtk.cc'], + ['exclude', '^browser/ui/views/frame/browser_frame_gtk.h'], + ['exclude', '^browser/ui/views/handle_web_keyboard_event_gtk.cc'], + ['exclude', '^browser/ui/views/tab_contents/native_tab_contents_container_gtk.cc'], + ['exclude', '^browser/ui/views/tab_contents/native_tab_contents_container_gtk.h'], + ['exclude', '^browser/ui/views/tab_contents/native_tab_contents_view_gtk.cc'], + ['exclude', '^browser/ui/views/tab_contents/native_tab_contents_view_gtk.h'], + ['include', '^browser/ui/login/login_prompt_ui.cc'], + ['include', '^browser/ui/views/aura/aura_init.cc'], + ['include', '^browser/ui/views/browser_bubble_aura.cc'], + ['include', '^browser/ui/views/constrained_html_delegate_views.cc'], + ['include', '^browser/ui/views/dropdown_bar_host_aura.cc'], + ['include', '^browser/ui/views/frame/browser_frame_aura.cc'], + ['include', '^browser/ui/views/importer/import_lock_dialog_view.cc'], + ['include', '^browser/ui/views/select_file_dialog.cc'], + ['include', '^browser/ui/views/stubs_aura.cc'], + ['include', '^browser/ui/webui/options/certificate_manager_handler.cc'], + ], + }], [ 'use_openssl==1', { 'sources!': [ 'browser/importer/nss_decryptor.cc', diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h index b32e7fc..7d92fa2 100644 --- a/chrome/common/render_messages.h +++ b/chrome/common/render_messages.h @@ -52,7 +52,7 @@ enum ViewHostMsg_JavaScriptStressTestControl_Commands { namespace IPC { -#if defined(OS_POSIX) +#if defined(OS_POSIX) && !defined(USE_AURA) // TODO(port): this shouldn't exist. However, the plugin stuff is really using // HWNDS (NativeView), and making Windows calls based on them. I've not figured @@ -75,7 +75,7 @@ struct ParamTraits<gfx::NativeView> { } }; -#endif // defined(OS_POSIX) +#endif // defined(OS_POSIX) && !defined(USE_AURA) template <> struct ParamTraits<ContentSettings> { diff --git a/content/browser/browser_main.cc b/content/browser/browser_main.cc index 639e901..b2ba07d 100644 --- a/content/browser/browser_main.cc +++ b/content/browser/browser_main.cc @@ -291,7 +291,12 @@ void BrowserMainParts::InitializeToolkit() { // TODO(satorux, stevenjb): remove this once it is no longer needed. dbus_g_thread_init(); #endif +#if defined(USE_AURA) + // TODO(saintlou): We still need some GTK at the lowest level, so init here. + gtk_init(NULL, NULL); +#else gfx::GtkInitFromCommandLine(parameters().command_line_); +#endif SetUpGLibLogHandler(); #endif diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc index 85d6b5f..49c2572 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc @@ -59,7 +59,7 @@ static const int kGpuMaxCrashCount = 3; int g_last_host_id = 0; -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) class ReleasePermanentXIDDispatcher: public Task { public: @@ -95,7 +95,7 @@ void SendGpuProcessMessage(int renderer_id, } // anonymous namespace -#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) +#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) && !defined(USE_AURA) // Used to put a lock on surfaces so that the window to which the GPU // process is drawing to doesn't disappear while it is drawing when // a tab is closed. @@ -120,7 +120,7 @@ GpuProcessHost::SurfaceRef::~SurfaceRef() { FROM_HERE, new ReleasePermanentXIDDispatcher(surface_)); } -#endif // defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) +#endif // defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) && !defined(USE_AURA) // This class creates a GPU thread (instead of a GPU process), when running // with --in-process-gpu or --single-process. @@ -371,7 +371,7 @@ void GpuProcessHost::CreateViewCommandBuffer( DCHECK(CalledOnValidThread()); linked_ptr<CreateCommandBufferCallback> wrapped_callback(callback); -#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) +#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) && !defined(USE_AURA) ViewID view_id(renderer_id, render_view_id); // There should only be one such command buffer (for the compositor). In @@ -384,13 +384,13 @@ void GpuProcessHost::CreateViewCommandBuffer( surface_ref = (*it).second; else surface_ref.reset(new SurfaceRef(compositing_surface)); -#endif // defined(TOOLKIT_USES_GTK) && defined(TOUCH_UI) +#endif // defined(TOOLKIT_USES_GTK) && defined(TOUCH_UI) && !defined(USE_AURA) if (compositing_surface != gfx::kNullPluginWindow && Send(new GpuMsg_CreateViewCommandBuffer( compositing_surface, render_view_id, renderer_id, init_params))) { create_command_buffer_requests_.push(wrapped_callback); -#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) +#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) && !defined(USE_AURA) surface_refs_.insert(std::pair<ViewID, linked_ptr<SurfaceRef> >( view_id, surface_ref)); #endif @@ -443,12 +443,12 @@ void GpuProcessHost::OnCommandBufferCreated(const int32 route_id) { void GpuProcessHost::OnDestroyCommandBuffer( gfx::PluginWindowHandle window, int32 renderer_id, int32 render_view_id) { -#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) +#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) && !defined(USE_AURA) ViewID view_id(renderer_id, render_view_id); SurfaceRefMap::iterator it = surface_refs_.find(view_id); if (it != surface_refs_.end()) surface_refs_.erase(it); -#endif // defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) +#endif // defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) && !defined(USE_AURA) } void GpuProcessHost::OnGraphicsInfoCollected(const GPUInfo& gpu_info) { diff --git a/content/browser/gpu/gpu_process_host.h b/content/browser/gpu/gpu_process_host.h index b337176..15ce84d 100644 --- a/content/browser/gpu/gpu_process_host.h +++ b/content/browser/gpu/gpu_process_host.h @@ -123,7 +123,7 @@ class GpuProcessHost : public BrowserChildProcessHost, std::queue<linked_ptr<CreateCommandBufferCallback> > create_command_buffer_requests_; -#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) +#if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) && !defined(USE_AURA) typedef std::pair<int32 /* renderer_id */, int32 /* render_view_id */> ViewID; diff --git a/content/browser/plugin_process_host.cc b/content/browser/plugin_process_host.cc index 665d4f0..7b48aea 100644 --- a/content/browser/plugin_process_host.cc +++ b/content/browser/plugin_process_host.cc @@ -102,7 +102,9 @@ void PluginProcessHost::OnReparentPluginWindow(HWND window, HWND parent) { void PluginProcessHost::OnMapNativeViewId(gfx::NativeViewId id, gfx::PluginWindowHandle* output) { *output = 0; +#if !defined(USE_AURA) GtkNativeViewManager::GetInstance()->GetXIDForId(output, id); +#endif } #endif // defined(TOOLKIT_USES_GTK) diff --git a/content/browser/renderer_host/render_message_filter_aura.cc b/content/browser/renderer_host/render_message_filter_aura.cc index 311b163..a4d7a04 100644 --- a/content/browser/renderer_host/render_message_filter_aura.cc +++ b/content/browser/renderer_host/render_message_filter_aura.cc @@ -6,7 +6,7 @@ // TODO(shess): Provide a mapping from reply_msg->routing_id() to HWND // so that we can eliminate the NativeViewId parameter. - +#if defined(OS_WIN) void RenderMessageFilter::OnGetWindowRect(gfx::NativeViewId window_id, gfx::Rect* rect) { // TODO(beng): @@ -26,3 +26,4 @@ void RenderMessageFilter::OnGetScreenInfo(gfx::NativeViewId view, // TODO(beng): NOTIMPLEMENTED(); } +#endif // OS_WIN diff --git a/content/browser/renderer_host/render_widget_host.cc b/content/browser/renderer_host/render_widget_host.cc index add827a..fe5816b 100644 --- a/content/browser/renderer_host/render_widget_host.cc +++ b/content/browser/renderer_host/render_widget_host.cc @@ -204,7 +204,7 @@ bool RenderWidgetHost::OnMessageReceived(const IPC::Message &msg) { IPC_MESSAGE_HANDLER(ViewHostMsg_AcceleratedSurfaceBuffersSwapped, OnAcceleratedSurfaceBuffersSwapped) #endif -#if defined(TOOLKIT_USES_GTK) +#if defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) IPC_MESSAGE_HANDLER(ViewHostMsg_CreatePluginContainer, OnMsgCreatePluginContainer) IPC_MESSAGE_HANDLER(ViewHostMsg_DestroyPluginContainer, @@ -1105,7 +1105,7 @@ void RenderWidgetHost::OnMsgDidActivateAcceleratedCompositing(bool activated) { #elif defined(OS_WIN) if (view_) view_->ShowCompositorHostWindow(is_accelerated_compositing_active_); -#elif defined(TOOLKIT_USES_GTK) +#elif defined(TOOLKIT_USES_GTK) && !defined(USE_AURA) if (view_) view_->AcceleratedCompositingActivated(activated); #endif @@ -1237,6 +1237,7 @@ void RenderWidgetHost::ProcessKeyboardEventAck(int type, bool processed) { } void RenderWidgetHost::ActivateDeferredPluginHandles() { +#if !defined(USE_AURA) if (view_ == NULL) return; @@ -1247,6 +1248,7 @@ void RenderWidgetHost::ActivateDeferredPluginHandles() { } deferred_plugin_handles_.clear(); +#endif } void RenderWidgetHost::StartUserGesture() { diff --git a/content/browser/renderer_host/render_widget_host_view.cc b/content/browser/renderer_host/render_widget_host_view.cc index 6f16071..ba714df 100644 --- a/content/browser/renderer_host/render_widget_host_view.cc +++ b/content/browser/renderer_host/render_widget_host_view.cc @@ -10,7 +10,7 @@ #include "third_party/WebKit/Source/WebKit/chromium/public/mac/WebScreenInfoFactory.h" #endif -#if defined(TOUCH_UI) +#if defined(TOUCH_UI) || defined(USE_AURA) #include <gdk/gdkx.h> #include <gtk/gtk.h> @@ -29,7 +29,7 @@ void RenderWidgetHostView::GetDefaultScreenInfo( // TODO(erg): move this to render_widget_host_view_views_gtk.cc when if it // moves to content. -#if defined(TOUCH_UI) +#if defined(TOUCH_UI) || defined(USE_AURA) // static void RenderWidgetHostView::GetDefaultScreenInfo( WebKit::WebScreenInfo* results) { diff --git a/content/common/content_message_generator.cc b/content/common/content_message_generator.cc index 5393a0e..a39b69f 100644 --- a/content/common/content_message_generator.cc +++ b/content/common/content_message_generator.cc @@ -14,7 +14,7 @@ #include "ipc/struct_destructor_macros.h" #include "content/common/content_message_generator.h" -#if defined(USE_AURA) +#if defined(USE_AURA) && defined(OS_WIN) #include "ui/gfx/native_widget_types.h" namespace IPC { diff --git a/content/content_browser.gypi b/content/content_browser.gypi index 4d97734..daabfd1 100644 --- a/content/content_browser.gypi +++ b/content/content_browser.gypi @@ -623,6 +623,12 @@ ['exclude', '^browser/accessibility/browser_accessibility_manager_win.h'], ['exclude', '^browser/accessibility/browser_accessibility_win.cc'], ['exclude', '^browser/accessibility/browser_accessibility_win.h'], + ['exclude', '^browser/renderer_host/gtk_im_context_wrapper.cc'], + ['exclude', '^browser/renderer_host/gtk_im_context_wrapper.h'], + ['exclude', '^browser/renderer_host/render_widget_host.h'], + ['exclude', '^browser/renderer_host/render_widget_host_gtk.cc'], + ['exclude', '^browser/renderer_host/render_widget_host_view_gtk.cc'], + ['exclude', '^browser/renderer_host/render_widget_host_view_gtk.h'], ['exclude', '^browser/renderer_host/render_widget_host_view_win.cc'], ['exclude', '^browser/renderer_host/render_widget_host_view_win.h'], ['exclude', '^browser/renderer_host/render_message_filter_win.cc'], diff --git a/content/plugin/plugin_thread.cc b/content/plugin/plugin_thread.cc index 9b27515..6bd9b90 100644 --- a/content/plugin/plugin_thread.cc +++ b/content/plugin/plugin_thread.cc @@ -74,7 +74,9 @@ PluginThread::PluginThread() switches::kPluginPath); lazy_tls.Pointer()->Set(this); -#if defined(TOOLKIT_USES_GTK) +#if defined(USE_AURA) + // TODO(saintlou): +#elif defined(TOOLKIT_USES_GTK) { // XEmbed plugins assume they are hosted in a Gtk application, so we need // to initialize Gtk in the plugin process. diff --git a/content/renderer/render_widget_fullscreen_pepper.cc b/content/renderer/render_widget_fullscreen_pepper.cc index 9bf5a13..74dc9e3 100644 --- a/content/renderer/render_widget_fullscreen_pepper.cc +++ b/content/renderer/render_widget_fullscreen_pepper.cc @@ -277,7 +277,11 @@ RenderWidgetFullscreenPepper::CreateContext3D() { } if (!context_) return NULL; +#ifdef ENABLE_GPU return new PlatformContext3DImpl(context_); +#else + return NULL; +#endif } void RenderWidgetFullscreenPepper::DidInitiatePaint() { diff --git a/ui/base/clipboard/clipboard_linux.cc b/ui/base/clipboard/clipboard_linux.cc index ad089ad..46c3b165 100644 --- a/ui/base/clipboard/clipboard_linux.cc +++ b/ui/base/clipboard/clipboard_linux.cc @@ -98,8 +98,10 @@ void GdkPixbufFree(guchar* pixels, gpointer data) { } // namespace Clipboard::Clipboard() : clipboard_data_(NULL) { +#if !defined(USE_AURA) clipboard_ = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); primary_selection_ = gtk_clipboard_get(GDK_SELECTION_PRIMARY); +#endif } Clipboard::~Clipboard() { @@ -298,11 +298,13 @@ ['use_aura==1', { 'sources/': [ ['exclude', 'gfx/gtk_'], + ['exclude', 'gfx/gtk_util.cc'], + ['exclude', 'gfx/gtk_util.h'], ['exclude', 'gfx/screen_gtk.cc'], ['exclude', 'gfx/screen_win.cc'], ['exclude', 'base/win/mouse_wheel_util.cc'], ['exclude', 'base/win/mouse_wheel_util.h'], - ], + ], }], ['toolkit_uses_gtk == 1', { 'dependencies': [ diff --git a/views/controls/link.cc b/views/controls/link.cc index 4f60d30..0b27ec5 100644 --- a/views/controls/link.cc +++ b/views/controls/link.cc @@ -103,6 +103,9 @@ gfx::NativeCursor Link::GetCursor(const MouseEvent& event) { #if defined(OS_WIN) static HCURSOR g_hand_cursor = LoadCursor(NULL, IDC_HAND); return g_hand_cursor; +#elif defined(USE_AURA) + // TODO(saintlou): + return NULL; #elif defined(OS_LINUX) return gfx::GetCursor(GDK_HAND2); #endif diff --git a/views/controls/resize_area.cc b/views/controls/resize_area.cc index dd38286..951c82d 100644 --- a/views/controls/resize_area.cc +++ b/views/controls/resize_area.cc @@ -37,6 +37,9 @@ gfx::NativeCursor ResizeArea::GetCursor(const MouseEvent& event) { #if defined(OS_WIN) static HCURSOR g_resize_cursor = LoadCursor(NULL, IDC_SIZEWE); return g_resize_cursor; +#elif defined(USE_AURA) + // TODO(saintlou): + return NULL; #elif defined(OS_LINUX) return gfx::GetCursor(GDK_SB_H_DOUBLE_ARROW); #endif diff --git a/views/controls/single_split_view.cc b/views/controls/single_split_view.cc index f6ea618..d566d88 100644 --- a/views/controls/single_split_view.cc +++ b/views/controls/single_split_view.cc @@ -100,6 +100,9 @@ gfx::NativeCursor SingleSplitView::GetCursor(const MouseEvent& event) { static HCURSOR we_resize_cursor = LoadCursor(NULL, IDC_SIZEWE); static HCURSOR ns_resize_cursor = LoadCursor(NULL, IDC_SIZENS); return is_horizontal_ ? we_resize_cursor : ns_resize_cursor; +#elif defined(USE_AURA) + // TODO(saintlou): + return NULL; #elif defined(OS_LINUX) return gfx::GetCursor(is_horizontal_ ? GDK_SB_H_DOUBLE_ARROW : GDK_SB_V_DOUBLE_ARROW); diff --git a/views/controls/textfield/native_textfield_views.cc b/views/controls/textfield/native_textfield_views.cc index 95434d5..eecaae2 100644 --- a/views/controls/textfield/native_textfield_views.cc +++ b/views/controls/textfield/native_textfield_views.cc @@ -288,6 +288,10 @@ gfx::NativeCursor NativeTextfieldViews::GetCursor(const MouseEvent& event) { static HCURSOR ibeam = LoadCursor(NULL, IDC_IBEAM); static HCURSOR arrow = LoadCursor(NULL, IDC_ARROW); return text_cursor ? ibeam : arrow; +#elif defined(USE_AURA) + // TODO(saintlou): + (void)text_cursor; + return NULL; #else return text_cursor ? gfx::GetCursor(GDK_XTERM) : NULL; #endif diff --git a/views/events/event.h b/views/events/event.h index 99a0c9b..4231598 100644 --- a/views/events/event.h +++ b/views/events/event.h @@ -32,7 +32,7 @@ class NativeWidgetView; class RootView; } -#if defined(OS_WIN) +#if defined(OS_WIN) || defined(USE_AURA) VIEWS_EXPORT bool IsClientMouseEvent(const views::NativeEvent& native_event); VIEWS_EXPORT bool IsNonClientMouseEvent(const views::NativeEvent& native_event); #endif diff --git a/views/focus/accelerator_handler.h b/views/focus/accelerator_handler.h index 7154eef..36c2f98 100644 --- a/views/focus/accelerator_handler.h +++ b/views/focus/accelerator_handler.h @@ -20,7 +20,8 @@ namespace views { -#if defined(TOUCH_UI) && !defined(USE_WAYLAND) +#if (defined(TOUCH_UI) && !defined(USE_WAYLAND)) \ + || (!defined(WIN_OS) && defined(USE_AURA)) // Dispatch an XEvent to the RootView. Return true if the event was dispatched // and handled, false otherwise. bool VIEWS_EXPORT DispatchXEvent(XEvent* xevent); diff --git a/views/focus/accelerator_handler_aura.cc b/views/focus/accelerator_handler_aura.cc index 2ec3208..ab552899 100644 --- a/views/focus/accelerator_handler_aura.cc +++ b/views/focus/accelerator_handler_aura.cc @@ -17,9 +17,13 @@ bool AcceleratorHandler::Dispatch(const MSG& msg) { } #else base::MessagePumpDispatcher::DispatchStatus AcceleratorHandler::Dispatch( - XEvent* xev) { + XEvent*) { return base::MessagePumpDispatcher::EVENT_IGNORED; } + +bool DispatchXEvent(XEvent* xev) { + return false; +} #endif // defined(OS_WIN) } // namespace views diff --git a/webkit/glue/webcursor_gtk.cc b/webkit/glue/webcursor_gtk.cc index 209e761..eb5ea62 100644 --- a/webkit/glue/webcursor_gtk.cc +++ b/webkit/glue/webcursor_gtk.cc @@ -141,13 +141,22 @@ int WebCursor::GetCursorType() const { } gfx::NativeCursor WebCursor::GetNativeCursor() { +#if defined(USE_AURA) + // TODO(saintlou): + return NULL; +#else int type = GetCursorType(); if (type == GDK_CURSOR_IS_PIXMAP) return GetCustomCursor(); return gfx::GetCursor(type); +#endif } GdkCursor* WebCursor::GetCustomCursor() { +#if defined(USE_AURA) + // TODO(saintlou): + return NULL; +#else switch (type_) { case WebCursorInfo::TypeZoomIn: return GetInlineCustomCursor(CustomCursorZoomIn); @@ -182,6 +191,7 @@ GdkCursor* WebCursor::GetCustomCursor() { gdk_cursor_unref(unref_); unref_ = cursor; return cursor; +#endif } void WebCursor::InitPlatformData() { |
