OLD | NEW |
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/chrome_browser_main_extra_parts_views.h" | 5 #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h" |
6 | 6 |
7 #include "chrome/browser/ui/views/chrome_constrained_window_views_client.h" | 7 #include "chrome/browser/ui/views/chrome_constrained_window_views_client.h" |
8 #include "chrome/browser/ui/views/chrome_views_delegate.h" | 8 #include "chrome/browser/ui/views/chrome_views_delegate.h" |
9 #include "components/constrained_window/constrained_window_views.h" | 9 #include "components/constrained_window/constrained_window_views.h" |
10 | 10 |
11 #if defined(USE_AURA) | 11 #if defined(USE_AURA) |
12 #include "ui/display/screen.h" | |
13 #include "ui/views/widget/desktop_aura/desktop_screen.h" | |
14 #include "ui/wm/core/wm_state.h" | |
15 #endif | |
16 | |
17 #if defined(USE_AURA) && defined(MOJO_SHELL_CLIENT) | |
18 #include "content/public/common/mojo_shell_connection.h" | 12 #include "content/public/common/mojo_shell_connection.h" |
19 #include "services/shell/public/cpp/connector.h" | 13 #include "services/shell/public/cpp/connector.h" |
20 #include "services/shell/runner/common/client_util.h" | 14 #include "services/shell/runner/common/client_util.h" |
21 #include "services/ui/public/cpp/input_devices/input_device_client.h" | 15 #include "services/ui/public/cpp/input_devices/input_device_client.h" |
22 #include "services/ui/public/interfaces/input_devices/input_device_server.mojom.
h" | 16 #include "services/ui/public/interfaces/input_devices/input_device_server.mojom.
h" |
| 17 #include "ui/display/screen.h" |
23 #include "ui/views/mus/window_manager_connection.h" | 18 #include "ui/views/mus/window_manager_connection.h" |
24 #endif | 19 #include "ui/views/widget/desktop_aura/desktop_screen.h" |
| 20 #include "ui/wm/core/wm_state.h" |
| 21 #endif // defined(USE_AURA) |
25 | 22 |
26 ChromeBrowserMainExtraPartsViews::ChromeBrowserMainExtraPartsViews() { | 23 ChromeBrowserMainExtraPartsViews::ChromeBrowserMainExtraPartsViews() { |
27 } | 24 } |
28 | 25 |
29 ChromeBrowserMainExtraPartsViews::~ChromeBrowserMainExtraPartsViews() { | 26 ChromeBrowserMainExtraPartsViews::~ChromeBrowserMainExtraPartsViews() { |
30 constrained_window::SetConstrainedWindowViewsClient(nullptr); | 27 constrained_window::SetConstrainedWindowViewsClient(nullptr); |
31 } | 28 } |
32 | 29 |
33 void ChromeBrowserMainExtraPartsViews::ToolkitInitialized() { | 30 void ChromeBrowserMainExtraPartsViews::ToolkitInitialized() { |
34 // The delegate needs to be set before any UI is created so that windows | 31 // The delegate needs to be set before any UI is created so that windows |
35 // display the correct icon. | 32 // display the correct icon. |
36 if (!views::ViewsDelegate::GetInstance()) | 33 if (!views::ViewsDelegate::GetInstance()) |
37 views_delegate_.reset(new ChromeViewsDelegate); | 34 views_delegate_.reset(new ChromeViewsDelegate); |
38 | 35 |
39 SetConstrainedWindowViewsClient(CreateChromeConstrainedWindowViewsClient()); | 36 SetConstrainedWindowViewsClient(CreateChromeConstrainedWindowViewsClient()); |
40 | 37 |
41 #if defined(USE_AURA) | 38 #if defined(USE_AURA) |
42 wm_state_.reset(new wm::WMState); | 39 wm_state_.reset(new wm::WMState); |
43 #endif | 40 #endif |
44 } | 41 } |
45 | 42 |
46 void ChromeBrowserMainExtraPartsViews::PreCreateThreads() { | 43 void ChromeBrowserMainExtraPartsViews::PreCreateThreads() { |
47 #if defined(USE_AURA) && !defined(OS_CHROMEOS) | 44 #if defined(USE_AURA) && !defined(OS_CHROMEOS) |
48 display::Screen::SetScreenInstance(views::CreateDesktopScreen()); | 45 display::Screen::SetScreenInstance(views::CreateDesktopScreen()); |
49 #endif | 46 #endif |
50 } | 47 } |
51 | 48 |
52 void ChromeBrowserMainExtraPartsViews::PreProfileInit() { | 49 void ChromeBrowserMainExtraPartsViews::PreProfileInit() { |
53 #if defined(USE_AURA) && defined(MOJO_SHELL_CLIENT) | 50 #if defined(USE_AURA) |
54 content::MojoShellConnection* mojo_shell_connection = | 51 content::MojoShellConnection* mojo_shell_connection = |
55 content::MojoShellConnection::GetForProcess(); | 52 content::MojoShellConnection::GetForProcess(); |
56 if (mojo_shell_connection && shell::ShellIsRemote()) { | 53 if (mojo_shell_connection && shell::ShellIsRemote()) { |
57 input_device_client_.reset(new ui::InputDeviceClient()); | 54 input_device_client_.reset(new ui::InputDeviceClient()); |
58 ui::mojom::InputDeviceServerPtr server; | 55 ui::mojom::InputDeviceServerPtr server; |
59 mojo_shell_connection->GetConnector()->ConnectToInterface("mojo:ui", | 56 mojo_shell_connection->GetConnector()->ConnectToInterface("mojo:ui", |
60 &server); | 57 &server); |
61 input_device_client_->Connect(std::move(server)); | 58 input_device_client_->Connect(std::move(server)); |
62 | 59 |
63 window_manager_connection_ = views::WindowManagerConnection::Create( | 60 window_manager_connection_ = views::WindowManagerConnection::Create( |
64 mojo_shell_connection->GetConnector(), | 61 mojo_shell_connection->GetConnector(), |
65 mojo_shell_connection->GetIdentity()); | 62 mojo_shell_connection->GetIdentity()); |
66 } | 63 } |
67 #endif // defined(USE_AURA) && defined(MOJO_SHELL_CLIENT) | 64 #endif // defined(USE_AURA) |
68 ChromeBrowserMainExtraParts::PreProfileInit(); | 65 ChromeBrowserMainExtraParts::PreProfileInit(); |
69 } | 66 } |
OLD | NEW |