diff options
-rw-r--r-- | base/base.gyp | 4 | ||||
-rw-r--r-- | build/common.gypi | 2 | ||||
-rw-r--r-- | chrome/app/chromium_strings.grd | 2 | ||||
-rw-r--r-- | chrome/app/generated_resources.grd | 2 | ||||
-rw-r--r-- | chrome/app/google_chrome_strings.grd | 2 | ||||
-rw-r--r-- | chrome/app/theme/theme_resources.grd | 8 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.h | 3 | ||||
-rw-r--r-- | chrome/browser/views/tabs/tab_overview_message_listener.cc | 34 | ||||
-rw-r--r-- | chrome/browser/views/tabs/tab_overview_message_listener.h | 8 | ||||
-rwxr-xr-x | chrome/chrome.gyp | 10 | ||||
-rw-r--r-- | chrome/installer/installer.gyp | 2 |
11 files changed, 59 insertions, 18 deletions
diff --git a/base/base.gyp b/base/base.gyp index 45c85e0..b9d8e95 100644 --- a/base/base.gyp +++ b/base/base.gyp @@ -379,7 +379,7 @@ 'sources/': [ ['exclude', '_(mac|win|chromeos)\\.cc$'], ['exclude', '\\.mm?$' ] ], 'conditions': [ - [ 'chromeos==1', { + [ 'chromeos==1 or toolkit_views==1', { 'sources/': [ ['include', '_chromeos\\.cc$'] ] }, ], @@ -713,7 +713,7 @@ 'sources/': [ ['exclude', '_(mac|win|chromeos)\\.cc$'], ['exclude', '\\.mm?$' ] ], 'conditions': [ - [ 'chromeos==1', { + [ 'chromeos==1 or toolkit_views==1', { 'sources/': [ ['include', '_chromeos\\.cc$'] ] }, ], diff --git a/build/common.gypi b/build/common.gypi index 2e12840..b7ea034 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -269,7 +269,7 @@ ['toolkit_views==1', { 'defines': ['TOOLKIT_VIEWS=1'], }], - ['chromeos==1', { + ['chromeos==1 or toolkit_views==1', { 'defines': ['OS_CHROMEOS=1'], }], ['fastbuild!=0', { diff --git a/chrome/app/chromium_strings.grd b/chrome/app/chromium_strings.grd index da38b89..9bd0485 100644 --- a/chrome/app/chromium_strings.grd +++ b/chrome/app/chromium_strings.grd @@ -127,7 +127,7 @@ be available for now. --> <message name="IDS_PRODUCT_NAME" desc="The Chrome application name"> Chromium </message> - <if expr="pp_ifdef('chromeos')"> + <if expr="pp_ifdef('chromeos') or pp_ifdef('toolkit_views')"> <message name="IDS_PRODUCT_OS_NAME" desc="The Chrome OS application name"> Chromium OS </message> diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd index 8015426..912e464 100644 --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd @@ -5646,7 +5646,7 @@ Keep your key file in a safe place. You will need it to create new versions of y </if> <!-- Chrome OS Strings --> - <if expr="pp_ifdef('chromeos')"> + <if expr="pp_ifdef('chromeos') or pp_ifdef('toolkit_views')"> <message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_NETWORK"> Network </message> diff --git a/chrome/app/google_chrome_strings.grd b/chrome/app/google_chrome_strings.grd index dc702c8..f71d7cf 100644 --- a/chrome/app/google_chrome_strings.grd +++ b/chrome/app/google_chrome_strings.grd @@ -177,7 +177,7 @@ Chrome supports. --> <message name="IDS_PRODUCT_NAME" desc="The Chrome application name"> Google Chrome </message> - <if expr="pp_ifdef('chromeos')"> + <if expr="pp_ifdef('chromeos') or pp_ifdef('toolkit_views')"> <message name="IDS_PRODUCT_OS_NAME" desc="The Chrome OS application name"> Google Chrome OS </message> diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resources.grd index 4e077e5..a444c21 100644 --- a/chrome/app/theme/theme_resources.grd +++ b/chrome/app/theme/theme_resources.grd @@ -341,7 +341,7 @@ <include name="IDR_PRODUCT_ICON_32" file="chromium/chromium_icon_32.png" type="BINDATA" /> </if> - <if expr="pp_ifdef('chromeos')"> + <if expr="pp_ifdef('chromeos') or pp_ifdef('toolkit_views')"> <include name="IDR_NEW_BROWSER_WINDOW_ICON" file="new_browser_window.png" type="BINDATA" /> <include name="IDR_TAB_OVERVIEW_BUTTON_ICON" file="tab_overview.png" type="BINDATA" /> @@ -387,17 +387,17 @@ <include name="IDR_STATUSBAR_WIRED" file="statusbar_wired.png" type="BINDATA" /> </if> - <if expr="pp_ifdef('chromeos') and pp_ifdef('_google_chrome')"> + <if expr="(pp_ifdef('chromeos') or pp_ifdef('toolkit_views')) and pp_ifdef('_google_chrome')"> <include name="IDR_MAIN_MENU_BUTTON" file="google_chrome/button_menu.png" type="BINDATA" /> <include name="IDR_MAIN_MENU_BUTTON_DROP_DOWN" file="google_chrome/button_menu_drop_down.png" type="BINDATA" /> </if> - <if expr="pp_ifdef('chromeos') and not pp_ifdef('_google_chrome')"> + <if expr="(pp_ifdef('chromeos') or pp_ifdef('toolkit_views')) and not pp_ifdef('_google_chrome')"> <include name="IDR_MAIN_MENU_BUTTON" file="chromium/button_menu.png" type="BINDATA" /> <include name="IDR_MAIN_MENU_BUTTON_DROP_DOWN" file="chromium/button_menu_drop_down.png" type="BINDATA" /> </if> - <if expr="not pp_ifdef('chromeos')"> + <if expr="not pp_ifdef('chromeos') and not pp_ifdef('toolkit_views')"> <include name="IDR_THEME_FRAME" file="theme_frame_default.png" type="BINDATA" /> <include name="IDR_THEME_TAB_BACKGROUND" file="theme_tab_background.png" type="BINDATA" /> <include name="IDR_THEME_FRAME_INCOGNITO_INACTIVE" file="theme_frame_default_incognito_inactive.png" type="BINDATA" /> diff --git a/chrome/browser/views/frame/browser_view.h b/chrome/browser/views/frame/browser_view.h index c7e8d77..90d989e 100644 --- a/chrome/browser/views/frame/browser_view.h +++ b/chrome/browser/views/frame/browser_view.h @@ -86,6 +86,9 @@ class BrowserView : public BrowserWindow, // there is no such association. static BrowserView* GetBrowserViewForNativeWindow(gfx::NativeWindow window); + // Returns a Browser instance of this view. + Browser* browser() const { return browser_.get(); } + // Returns the show flag that should be used to show the frame containing // this view. int GetShowState() const; diff --git a/chrome/browser/views/tabs/tab_overview_message_listener.cc b/chrome/browser/views/tabs/tab_overview_message_listener.cc index e063f5c..126e605 100644 --- a/chrome/browser/views/tabs/tab_overview_message_listener.cc +++ b/chrome/browser/views/tabs/tab_overview_message_listener.cc @@ -6,7 +6,11 @@ #include "chrome/browser/browser.h" #include "chrome/browser/browser_list.h" +#if defined(TOOLKIT_VIEWS) +#include "chrome/browser/views/frame/browser_view.h" +#else #include "chrome/browser/gtk/browser_window_gtk.h" +#endif #include "chrome/browser/metrics/system_metrics_logger_impl.h" #include "chrome/browser/metrics/system_metrics.pb.h" #include "chrome/browser/metrics/user_metrics.h" @@ -24,6 +28,22 @@ TabOverviewMessageListener* TabOverviewMessageListener::instance() { return instance; } +#if defined(TOOLKIT_VIEWS) +// static +BrowserView* TabOverviewMessageListener::GetBrowserViewForGdkWindow( + GdkWindow* gdk_window) { + gpointer data = NULL; + gdk_window_get_user_data(gdk_window, &data); + GtkWidget* widget = reinterpret_cast<GtkWidget*>(data); + if (widget) { + GtkWindow* gtk_window = GTK_WINDOW(widget); + return BrowserView::GetBrowserViewForNativeWindow(gtk_window); + } else { + return NULL; + } +} +#endif + void TabOverviewMessageListener::WillProcessEvent(GdkEvent* event) { } @@ -72,10 +92,14 @@ void TabOverviewMessageListener::ProcessMessage( if (message.param(0) == 0) { HideOverview(); } else { - BrowserWindowGtk* browser_window = +#if defined(TOOLKIT_VIEWS) + BrowserView* browser_window = GetBrowserViewForGdkWindow(window); +#else + BrowerWindowGtk* browser_window = BrowserWindowGtk::GetBrowserWindowForNativeWindow( BrowserWindowGtk::GetBrowserWindowForXID( x11_util::GetX11WindowFromGdkWindow(window))); +#endif if (browser_window) ShowOverview(browser_window->browser(), message.param(1)); else @@ -109,7 +133,12 @@ void TabOverviewMessageListener::ProcessMessage( // Over a mini-window, make sure the controller is showing the contents // of the browser the mouse is over. - BrowserWindowGtk* browser_window = +#if defined(TOOLKIT_VIEWS) + NOTIMPLEMENTED(); + // TODO(oshima): Figure out how to get BrowserView from XID + // in message.param(0). +#else + BrowerWindowGtk* browser_window = BrowserWindowGtk::GetBrowserWindowForNativeWindow( BrowserWindowGtk::GetBrowserWindowForXID(message.param(0))); if (!browser_window) @@ -125,6 +154,7 @@ void TabOverviewMessageListener::ProcessMessage( UserMetrics::RecordAction(L"TabOverview_DragOverMiniWindow", browser_window->browser()->profile()); +#endif } default: diff --git a/chrome/browser/views/tabs/tab_overview_message_listener.h b/chrome/browser/views/tabs/tab_overview_message_listener.h index 2456de1..4075222 100644 --- a/chrome/browser/views/tabs/tab_overview_message_listener.h +++ b/chrome/browser/views/tabs/tab_overview_message_listener.h @@ -13,6 +13,9 @@ #include "chrome/browser/views/tabs/tab_overview_types.h" class Browser; +#if defined(TOOLKIT_VIEWS) +class BrowserView; +#endif class NewBrowserWindowWidget; class TabOverviewController; @@ -30,6 +33,11 @@ class TabOverviewMessageListener : public MessageLoopForUI::Observer { private: friend struct DefaultSingletonTraits<TabOverviewMessageListener>; +#if defined(TOOLKIT_VIEWS) + // Returns a BrowserView that corresponds to given gdk_window. + static BrowserView* GetBrowserViewForGdkWindow(GdkWindow* gdk_window); +#endif + TabOverviewMessageListener(); ~TabOverviewMessageListener(); diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index 78ba44c..8c3a234 100755 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -342,7 +342,7 @@ 'build', '-o', '<(grit_out_dir)', '-D', '<(chrome_build)'], 'conditions': [ - ['chromeos==1', { + ['chromeos==1 or toolkit_views==1', { 'action': ['-D', 'chromeos'], }], ['use_titlecase_in_grd_files==1', { @@ -399,7 +399,7 @@ '-D', '<(chrome_build)' ], 'conditions': [ - ['chromeos==1', { + ['chromeos==1 or toolkit_views==1', { 'action': ['-D', 'chromeos'], }], ['use_titlecase_in_grd_files==1', { @@ -2363,7 +2363,7 @@ 'CHROME_V8', ], }], - ['chromeos==0', { + ['chromeos==0 and toolkit_views==0', { 'sources/': [ ['exclude', '^browser/chromeos'], ], @@ -2811,7 +2811,7 @@ ['include', '^browser/printing/print_dialog_gtk.h'], ], }], - ['chromeos==1',{ + ['chromeos==1 or toolkit_views==1',{ 'dependencies': [ '../third_party/protobuf2/protobuf.gyp:protobuf_lite', '../third_party/protobuf2/protobuf.gyp:protoc', @@ -4429,7 +4429,7 @@ '../third_party/cld/bar/toolbar/cld/i18n/encodings/compact_lang_det/compact_lang_det_unittest_small.cc', ], 'conditions': [ - ['chromeos==0', { + ['chromeos==0 and toolkit_views==0', { 'sources/': [ ['exclude', '^browser/chromeos'], ], diff --git a/chrome/installer/installer.gyp b/chrome/installer/installer.gyp index 2c7ddcf..cc76dab 100644 --- a/chrome/installer/installer.gyp +++ b/chrome/installer/installer.gyp @@ -551,7 +551,7 @@ }, ], 'conditions': [ - ['chromeos==0', { + ['chromeos==0 and toolkit_views==0', { 'actions': [ { 'variables': { |