|
46 | 46 | #if defined(USE_AURA) |
47 | 47 | #include "ui/aura/env.h" |
48 | 48 | #include "ui/display/screen.h" |
49 | | -#include "ui/views/test/desktop_test_views_delegate.h" |
50 | 49 | #include "ui/views/widget/desktop_aura/desktop_screen.h" |
51 | 50 | #include "ui/wm/core/wm_state.h" |
52 | 51 |
|
|
55 | 54 | #endif |
56 | 55 | #endif // defined(USE_AURA) |
57 | 56 |
|
| 57 | +#if defined(TOOLKIT_VIEWS) |
| 58 | +#if defined(OS_MACOSX) |
| 59 | +#include "chrome/browser/ui/views/chrome_layout_provider.h" |
| 60 | +#include "chrome/browser/ui/views/chrome_views_delegate.h" |
| 61 | +#else |
| 62 | +#include "ui/views/test/desktop_test_views_delegate.h" |
| 63 | +#endif |
| 64 | +#endif // defined(TOOLKIT_VIEWS) |
| 65 | + |
58 | 66 | #if defined(USE_AURA) && defined(OS_LINUX) |
59 | 67 | #include "ui/base/ime/init/input_method_initializer.h" |
60 | 68 | #endif |
@@ -91,15 +99,22 @@ void CefBrowserMainParts::ToolkitInitialized() { |
91 | 99 | #if defined(USE_AURA) |
92 | 100 | CHECK(aura::Env::GetInstance()); |
93 | 101 |
|
94 | | - new views::DesktopTestViewsDelegate; |
95 | | - |
96 | 102 | wm_state_.reset(new wm::WMState); |
97 | 103 |
|
98 | 104 | #if defined(OS_WIN) |
99 | 105 | ui::CursorLoaderWin::SetCursorResourceModule( |
100 | 106 | CefContentBrowserClient::Get()->GetResourceDllName()); |
101 | 107 | #endif |
102 | 108 | #endif // defined(USE_AURA) |
| 109 | + |
| 110 | +#if defined(TOOLKIT_VIEWS) |
| 111 | +#if defined(OS_MACOSX) |
| 112 | + views_delegate_ = std::make_unique<ChromeViewsDelegate>(); |
| 113 | + layout_provider_ = ChromeLayoutProvider::CreateLayoutProvider(); |
| 114 | +#else |
| 115 | + views_delegate_ = std::make_unique<views::DesktopTestViewsDelegate>(); |
| 116 | +#endif |
| 117 | +#endif // defined(TOOLKIT_VIEWS) |
103 | 118 | } |
104 | 119 |
|
105 | 120 | void CefBrowserMainParts::PreMainMessageLoopStart() { |
@@ -207,8 +222,10 @@ void CefBrowserMainParts::PostDestroyThreads() { |
207 | 222 | extensions_browser_client_.reset(); |
208 | 223 | } |
209 | 224 |
|
210 | | -#if defined(USE_AURA) |
211 | | - // Delete the DesktopTestViewsDelegate. |
212 | | - delete views::ViewsDelegate::GetInstance(); |
| 225 | +#if defined(TOOLKIT_VIEWS) |
| 226 | + views_delegate_.reset(); |
| 227 | +#if defined(OS_MACOSX) |
| 228 | + layout_provider_.reset(); |
213 | 229 | #endif |
| 230 | +#endif // defined(TOOLKIT_VIEWS) |
214 | 231 | } |
0 commit comments