Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.cc

Issue 11030017: Add context to gfx::Screen calls in support of simultaneous desktop+ash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix other os's Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.h" 5 #include "chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.h"
6 6
7 #include "chrome/browser/chrome_browser_main.h" 7 #include "chrome/browser/chrome_browser_main.h"
8 #include "chrome/browser/toolkit_extra_parts.h" 8 #include "chrome/browser/toolkit_extra_parts.h"
9 #include "chrome/browser/ui/ash/ash_init.h" 9 #include "chrome/browser/ui/ash/ash_init.h"
10 #include "chrome/browser/ui/ash/ash_util.h"
10 #include "ui/aura/desktop/desktop_screen.h" 11 #include "ui/aura/desktop/desktop_screen.h"
11 #include "ui/aura/desktop/desktop_stacking_client.h" 12 #include "ui/aura/desktop/desktop_stacking_client.h"
12 #include "ui/aura/env.h" 13 #include "ui/aura/env.h"
13 #include "ui/aura/single_display_manager.h" 14 #include "ui/aura/single_display_manager.h"
14 #include "ui/gfx/screen.h" 15 #include "ui/gfx/screen.h"
16 #include "ui/gfx/screen_type_delegate.h"
15 17
16 #if defined(FILE_MANAGER_EXTENSION) 18 #if defined(FILE_MANAGER_EXTENSION)
17 #include "chrome/browser/ui/views/select_file_dialog_extension.h" 19 #include "chrome/browser/ui/views/select_file_dialog_extension.h"
18 #include "chrome/browser/ui/views/select_file_dialog_extension_factory.h" 20 #include "chrome/browser/ui/views/select_file_dialog_extension_factory.h"
19 #endif 21 #endif
20 22
23 #if defined(OS_WIN)
24 class ScreenTypeDelegateWin : public gfx::ScreenTypeDelegate {
25 public:
26 gfx::ScreenType GetScreenTypeForNativeView(gfx::NativeView view) {
27 return chrome::IsNativeViewInAsh(view) ?
28 gfx::SCREEN_TYPE_ALTERNATE :
29 gfx::SCREEN_TYPE_NATIVE;
30 }
31 private:
32 };
33 #endif
34
21 ChromeBrowserMainExtraPartsAsh::ChromeBrowserMainExtraPartsAsh() { 35 ChromeBrowserMainExtraPartsAsh::ChromeBrowserMainExtraPartsAsh() {
22 } 36 }
23 37
24 ChromeBrowserMainExtraPartsAsh::~ChromeBrowserMainExtraPartsAsh() { 38 ChromeBrowserMainExtraPartsAsh::~ChromeBrowserMainExtraPartsAsh() {
25 } 39 }
26 40
27 void ChromeBrowserMainExtraPartsAsh::PreProfileInit() { 41 void ChromeBrowserMainExtraPartsAsh::PreProfileInit() {
28 if (chrome::ShouldOpenAshOnStartup()) { 42 if (chrome::ShouldOpenAshOnStartup()) {
29 chrome::OpenAsh(); 43 chrome::OpenAsh();
30 } else { 44 } else {
31 aura::Env::GetInstance()->SetDisplayManager(new aura::SingleDisplayManager); 45 aura::Env::GetInstance()->SetDisplayManager(new aura::SingleDisplayManager);
32 stacking_client_.reset(new aura::DesktopStackingClient); 46 stacking_client_.reset(new aura::DesktopStackingClient);
33 gfx::Screen::SetInstance(aura::CreateDesktopScreen()); 47 gfx::Screen::SetInstance(
48 gfx::SCREEN_TYPE_NATIVE, aura::CreateDesktopScreen());
49 #if defined(OS_WIN)
50 gfx::Screen::SetScreenTypeDelegate(new ScreenTypeDelegateWin);
51 #endif
34 } 52 }
35 53
36 #if defined(FILE_MANAGER_EXTENSION) 54 #if defined(FILE_MANAGER_EXTENSION)
37 ui::SelectFileDialog::SetFactory(new SelectFileDialogExtensionFactory); 55 ui::SelectFileDialog::SetFactory(new SelectFileDialogExtensionFactory);
38 #endif 56 #endif
39 } 57 }
40 58
41 void ChromeBrowserMainExtraPartsAsh::PostProfileInit() { 59 void ChromeBrowserMainExtraPartsAsh::PostProfileInit() {
42 } 60 }
43 61
44 void ChromeBrowserMainExtraPartsAsh::PostMainMessageLoopRun() { 62 void ChromeBrowserMainExtraPartsAsh::PostMainMessageLoopRun() {
45 chrome::CloseAsh(); 63 chrome::CloseAsh();
46 } 64 }
47 65
48 namespace chrome { 66 namespace chrome {
49 67
50 void AddAshToolkitExtraParts(ChromeBrowserMainParts* main_parts) { 68 void AddAshToolkitExtraParts(ChromeBrowserMainParts* main_parts) {
51 main_parts->AddParts(new ChromeBrowserMainExtraPartsAsh()); 69 main_parts->AddParts(new ChromeBrowserMainExtraPartsAsh());
52 } 70 }
53 71
54 } // namespace chrome 72 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698