Chromium Code Reviews| Index: chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.cc |
| diff --git a/chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.cc b/chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.cc |
| index 7f05865a54c54ac9c29cf84fbb3b09c5516566ec..f6ada57bd834a4d12ccb84638ac3d77b2d336701 100644 |
| --- a/chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.cc |
| +++ b/chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.cc |
| @@ -7,17 +7,31 @@ |
| #include "chrome/browser/chrome_browser_main.h" |
| #include "chrome/browser/toolkit_extra_parts.h" |
| #include "chrome/browser/ui/ash/ash_init.h" |
| +#include "chrome/browser/ui/ash/ash_util.h" |
| #include "ui/aura/desktop/desktop_screen.h" |
| #include "ui/aura/desktop/desktop_stacking_client.h" |
| #include "ui/aura/env.h" |
| #include "ui/aura/single_display_manager.h" |
| #include "ui/gfx/screen.h" |
| +#include "ui/gfx/screen_type_delegate.h" |
| #if defined(FILE_MANAGER_EXTENSION) |
| #include "chrome/browser/ui/views/select_file_dialog_extension.h" |
| #include "chrome/browser/ui/views/select_file_dialog_extension_factory.h" |
| #endif |
| +#if defined(OS_WIN) |
| +class ScreenTypeDelegateWin : public gfx::ScreenTypeDelegate { |
| + public: |
| + gfx::ScreenType GetScreenTypeForNativeView(gfx::NativeView view) { |
| + return chrome::IsNativeViewInAsh(view) ? |
| + gfx::SCREEN_TYPE_ALTERNATE : |
| + gfx::SCREEN_TYPE_NATIVE; |
| + } |
| + private: |
|
oshima
2012/10/10 17:58:23
DISALLOW_COPY_AND_ASSIGN
scottmg
2012/10/10 19:04:47
Done.
|
| +}; |
| +#endif |
| + |
| ChromeBrowserMainExtraPartsAsh::ChromeBrowserMainExtraPartsAsh() { |
| } |
| @@ -30,7 +44,11 @@ void ChromeBrowserMainExtraPartsAsh::PreProfileInit() { |
| } else { |
| aura::Env::GetInstance()->SetDisplayManager(new aura::SingleDisplayManager); |
| stacking_client_.reset(new aura::DesktopStackingClient); |
| - gfx::Screen::SetInstance(aura::CreateDesktopScreen()); |
| + gfx::Screen::SetScreenInstance( |
| + gfx::SCREEN_TYPE_NATIVE, aura::CreateDesktopScreen()); |
| +#if defined(OS_WIN) |
| + gfx::Screen::SetScreenTypeDelegate(new ScreenTypeDelegateWin); |
| +#endif |
| } |
| #if defined(FILE_MANAGER_EXTENSION) |