| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/chrome_browser_parts_views.h" | 5 #include "chrome/browser/chrome_browser_parts_views.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "chrome/browser/ui/views/chrome_views_delegate.h" | 10 #include "chrome/browser/ui/views/chrome_views_delegate.h" |
| 11 #include "chrome/common/chrome_switches.h" | 11 #include "chrome/common/chrome_switches.h" |
| 12 #include "ui/views/desktop/desktop_window_view.h" | |
| 13 #include "views/widget/widget.h" | 12 #include "views/widget/widget.h" |
| 14 | 13 |
| 15 ChromeBrowserPartsViews::ChromeBrowserPartsViews() | 14 ChromeBrowserPartsViews::ChromeBrowserPartsViews() |
| 16 : content::BrowserMainParts() { | 15 : content::BrowserMainParts() { |
| 17 } | 16 } |
| 18 | 17 |
| 19 void ChromeBrowserPartsViews::ToolkitInitialized() { | 18 void ChromeBrowserPartsViews::ToolkitInitialized() { |
| 20 // The delegate needs to be set before any UI is created so that windows | 19 // The delegate needs to be set before any UI is created so that windows |
| 21 // display the correct icon. | 20 // display the correct icon. |
| 22 if (!views::ViewsDelegate::views_delegate) | 21 if (!views::ViewsDelegate::views_delegate) |
| 23 views::ViewsDelegate::views_delegate = new ChromeViewsDelegate; | 22 views::ViewsDelegate::views_delegate = new ChromeViewsDelegate; |
| 24 | 23 |
| 25 // TODO(beng): Move to WidgetImpl and implement on Windows too! | 24 // TODO(beng): Move to WidgetImpl and implement on Windows too! |
| 26 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kDebugViewsPaint)) | 25 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kDebugViewsPaint)) |
| 27 views::Widget::SetDebugPaintEnabled(true); | 26 views::Widget::SetDebugPaintEnabled(true); |
| 28 } | 27 } |
| 29 | 28 |
| 30 void ChromeBrowserPartsViews::PreMainMessageLoopRun() { | 29 void ChromeBrowserPartsViews::PreMainMessageLoopRun() { |
| 31 #if !defined(USE_AURA) | |
| 32 views::Widget::SetPureViews( | |
| 33 CommandLine::ForCurrentProcess()->HasSwitch(switches::kUsePureViews)); | |
| 34 // Launch the views desktop shell window and register it as the default parent | |
| 35 // for all unparented views widgets. | |
| 36 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | |
| 37 if (command_line.HasSwitch(switches::kViewsDesktop)) { | |
| 38 std::string desktop_type_cmd = | |
| 39 command_line.GetSwitchValueASCII(switches::kViewsDesktop); | |
| 40 if (desktop_type_cmd != "disabled") { | |
| 41 views::desktop::DesktopWindowView::DesktopType desktop_type; | |
| 42 if (desktop_type_cmd == "netbook") | |
| 43 desktop_type = views::desktop::DesktopWindowView::DESKTOP_NETBOOK; | |
| 44 else if (desktop_type_cmd == "other") | |
| 45 desktop_type = views::desktop::DesktopWindowView::DESKTOP_OTHER; | |
| 46 else | |
| 47 desktop_type = views::desktop::DesktopWindowView::DESKTOP_DEFAULT; | |
| 48 views::desktop::DesktopWindowView::CreateDesktopWindow(desktop_type); | |
| 49 ChromeViewsDelegate* chrome_views_delegate = static_cast | |
| 50 <ChromeViewsDelegate*>(views::ViewsDelegate::views_delegate); | |
| 51 chrome_views_delegate->default_parent_view = | |
| 52 views::desktop::DesktopWindowView::desktop_window_view; | |
| 53 } | |
| 54 } | |
| 55 #endif | |
| 56 } | 30 } |
| 57 | 31 |
| 58 bool ChromeBrowserPartsViews::MainMessageLoopRun(int* result_code) { | 32 bool ChromeBrowserPartsViews::MainMessageLoopRun(int* result_code) { |
| 59 return false; | 33 return false; |
| 60 } | 34 } |
| OLD | NEW |