summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaintlou@chromium.org <saintlou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-18 17:28:50 +0000
committersaintlou@chromium.org <saintlou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-18 17:28:50 +0000
commit3fa441d238ffa7b2cfbc4c7b623f8cb00b7c18ea (patch)
tree84794a37e500c230cb702d38aed4f3363afe755f
parent97fe97e78d76db3c5a0ee7c1baa06d1fcd082a1a (diff)
downloadchromium_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
-rw-r--r--build/common.gypi13
-rw-r--r--chrome/browser/automation/ui_controls_linux.cc15
-rw-r--r--chrome/browser/background/background_mode_manager_linux.cc2
-rw-r--r--chrome/browser/bookmarks/bookmark_folder_editor_controller.cc3
-rw-r--r--chrome/browser/chrome_browser_main.cc5
-rw-r--r--chrome/browser/chrome_browser_main_gtk.cc4
-rw-r--r--chrome/browser/chrome_browser_main_posix.cc4
-rw-r--r--chrome/browser/chromeos/frame/bubble_window.cc9
-rw-r--r--chrome/browser/chromeos/frame/bubble_window_views.cc4
-rw-r--r--chrome/browser/chromeos/frame/panel_browser_view.cc10
-rw-r--r--chrome/browser/chromeos/frame/panel_controller.cc6
-rw-r--r--chrome/browser/chromeos/login/background_view.cc5
-rw-r--r--chrome/browser/chromeos/login/helper.cc4
-rw-r--r--chrome/browser/chromeos/login/message_bubble.cc4
-rw-r--r--chrome/browser/chromeos/login/message_bubble.h2
-rw-r--r--chrome/browser/chromeos/setting_level_bubble.cc5
-rw-r--r--chrome/browser/first_run/first_run.cc4
-rw-r--r--chrome/browser/first_run/first_run_aura.cc81
-rw-r--r--chrome/browser/process_singleton.h2
-rw-r--r--chrome/browser/process_singleton_aura.cc6
-rw-r--r--chrome/browser/profiles/profile.cc4
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_views.cc114
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_views.h1
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_views_gtk.cc94
-rw-r--r--chrome/browser/renderer_preferences_util.cc10
-rw-r--r--chrome/browser/screensaver_window_finder_linux.cc4
-rw-r--r--chrome/browser/themes/theme_service.cc2
-rw-r--r--chrome/browser/themes/theme_service.h2
-rw-r--r--chrome/browser/themes/theme_service_factory.cc4
-rw-r--r--chrome/browser/ui/browser.cc11
-rw-r--r--chrome/browser/ui/browser_init.cc2
-rw-r--r--chrome/browser/ui/gtk/ssl_client_certificate_selector.cc3
-rw-r--r--chrome/browser/ui/login/login_prompt_ui.cc8
-rw-r--r--chrome/browser/ui/tabs/dock_info_aura.cc4
-rw-r--r--chrome/browser/ui/toolbar/wrench_menu_model.cc2
-rw-r--r--chrome/browser/ui/views/aura/aura_init.cc3
-rw-r--r--chrome/browser/ui/views/autocomplete/autocomplete_result_view.cc6
-rw-r--r--chrome/browser/ui/views/bubble/bubble.cc5
-rw-r--r--chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc2
-rw-r--r--chrome/browser/ui/views/constrained_html_delegate_views.cc5
-rw-r--r--chrome/browser/ui/views/content_setting_bubble_contents.cc3
-rw-r--r--chrome/browser/ui/views/extensions/extension_view.cc2
-rw-r--r--chrome/browser/ui/views/frame/browser_view.cc4
-rw-r--r--chrome/browser/ui/views/html_dialog_view.cc4
-rw-r--r--chrome/browser/ui/views/notifications/balloon_view_host.cc2
-rw-r--r--chrome/browser/ui/views/select_file_dialog.cc18
-rw-r--r--chrome/browser/ui/views/simple_message_box_views.cc4
-rw-r--r--chrome/browser/ui/views/simple_message_box_views.h2
-rw-r--r--chrome/browser/ui/views/stubs_aura.cc72
-rw-r--r--chrome/browser/ui/views/tab_contents/native_tab_contents_container_views.cc10
-rw-r--r--chrome/browser/ui/views/tab_contents/native_tab_contents_view_views.cc10
-rw-r--r--chrome/chrome_browser.gypi57
-rw-r--r--chrome/common/render_messages.h4
-rw-r--r--content/browser/browser_main.cc5
-rw-r--r--content/browser/gpu/gpu_process_host.cc16
-rw-r--r--content/browser/gpu/gpu_process_host.h2
-rw-r--r--content/browser/plugin_process_host.cc2
-rw-r--r--content/browser/renderer_host/render_message_filter_aura.cc3
-rw-r--r--content/browser/renderer_host/render_widget_host.cc6
-rw-r--r--content/browser/renderer_host/render_widget_host_view.cc4
-rw-r--r--content/common/content_message_generator.cc2
-rw-r--r--content/content_browser.gypi6
-rw-r--r--content/plugin/plugin_thread.cc4
-rw-r--r--content/renderer/render_widget_fullscreen_pepper.cc4
-rw-r--r--ui/base/clipboard/clipboard_linux.cc2
-rw-r--r--ui/ui.gyp4
-rw-r--r--views/controls/link.cc3
-rw-r--r--views/controls/resize_area.cc3
-rw-r--r--views/controls/single_split_view.cc3
-rw-r--r--views/controls/textfield/native_textfield_views.cc4
-rw-r--r--views/events/event.h2
-rw-r--r--views/focus/accelerator_handler.h3
-rw-r--r--views/focus/accelerator_handler_aura.cc6
-rw-r--r--webkit/glue/webcursor_gtk.cc10
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() {
diff --git a/ui/ui.gyp b/ui/ui.gyp
index 5b3cb6c..e47b2b5 100644
--- a/ui/ui.gyp
+++ b/ui/ui.gyp
@@ -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() {