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

Side by Side Diff: chrome/browser/ui/views/frame/desktop_browser_frame_aura.cc

Issue 716463002: Revert "MacViews: Get chrome/browser/ui/views/frame to compile" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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
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/frame/desktop_browser_frame_aura.h" 5 #include "chrome/browser/ui/views/frame/desktop_browser_frame_aura.h"
6 6
7 #include "base/command_line.h"
8 #include "chrome/app/chrome_command_ids.h" 7 #include "chrome/app/chrome_command_ids.h"
9 #include "chrome/browser/ui/views/frame/browser_desktop_window_tree_host.h" 8 #include "chrome/browser/ui/views/frame/browser_desktop_window_tree_host.h"
10 #include "chrome/browser/ui/views/frame/browser_shutdown.h" 9 #include "chrome/browser/ui/views/frame/browser_shutdown.h"
11 #include "chrome/browser/ui/views/frame/browser_view.h" 10 #include "chrome/browser/ui/views/frame/browser_view.h"
12 #include "chrome/browser/web_applications/web_app.h"
13 #include "chrome/common/chrome_switches.h"
14 #include "ui/aura/client/aura_constants.h" 11 #include "ui/aura/client/aura_constants.h"
15 #include "ui/aura/window.h" 12 #include "ui/aura/window.h"
16 #include "ui/aura/window_event_dispatcher.h" 13 #include "ui/aura/window_event_dispatcher.h"
17 #include "ui/aura/window_observer.h" 14 #include "ui/aura/window_observer.h"
18 #include "ui/base/hit_test.h" 15 #include "ui/base/hit_test.h"
19 #include "ui/base/models/simple_menu_model.h" 16 #include "ui/base/models/simple_menu_model.h"
20 #include "ui/gfx/font.h" 17 #include "ui/gfx/font.h"
21 #include "ui/views/view.h" 18 #include "ui/views/view.h"
22 #include "ui/wm/core/visibility_controller.h" 19 #include "ui/wm/core/visibility_controller.h"
23 20
24 #if defined(OS_LINUX)
25 #include "chrome/browser/shell_integration_linux.h"
26 #endif
27
28 using aura::Window; 21 using aura::Window;
29 22
30 /////////////////////////////////////////////////////////////////////////////// 23 ///////////////////////////////////////////////////////////////////////////////
31 // DesktopBrowserFrameAura, public: 24 // DesktopBrowserFrameAura, public:
32 25
33 DesktopBrowserFrameAura::DesktopBrowserFrameAura( 26 DesktopBrowserFrameAura::DesktopBrowserFrameAura(
34 BrowserFrame* browser_frame, 27 BrowserFrame* browser_frame,
35 BrowserView* browser_view) 28 BrowserView* browser_view)
36 : views::DesktopNativeWidgetAura(browser_frame), 29 : views::DesktopNativeWidgetAura(browser_frame),
37 browser_view_(browser_view), 30 browser_view_(browser_view),
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 visibility_controller_.reset(new wm::VisibilityController); 67 visibility_controller_.reset(new wm::VisibilityController);
75 aura::client::SetVisibilityClient(GetNativeView()->GetRootWindow(), 68 aura::client::SetVisibilityClient(GetNativeView()->GetRootWindow(),
76 visibility_controller_.get()); 69 visibility_controller_.get());
77 wm::SetChildWindowVisibilityChangesAnimated( 70 wm::SetChildWindowVisibilityChangesAnimated(
78 GetNativeView()->GetRootWindow()); 71 GetNativeView()->GetRootWindow());
79 } 72 }
80 73
81 //////////////////////////////////////////////////////////////////////////////// 74 ////////////////////////////////////////////////////////////////////////////////
82 // DesktopBrowserFrameAura, NativeBrowserFrame implementation: 75 // DesktopBrowserFrameAura, NativeBrowserFrame implementation:
83 76
84 views::Widget::InitParams DesktopBrowserFrameAura::GetWidgetParams() { 77 views::NativeWidget* DesktopBrowserFrameAura::AsNativeWidget() {
85 views::Widget::InitParams params; 78 return this;
86 params.native_widget = this; 79 }
87 80
88 #if defined(OS_LINUX) 81 const views::NativeWidget* DesktopBrowserFrameAura::AsNativeWidget() const {
89 // Set up a custom WM_CLASS for some sorts of window types. This allows 82 return this;
90 // task switchers in X11 environments to distinguish between main browser
91 // windows and e.g app windows.
92 const base::CommandLine& command_line =
93 *base::CommandLine::ForCurrentProcess();
94 const Browser& browser = *browser_view_->browser();
95 params.wm_class_class = shell_integration_linux::GetProgramClassName();
96 params.wm_class_name = params.wm_class_class;
97 if (browser.is_app() && !browser.is_devtools()) {
98 // This window is a hosted app or v1 packaged app.
99 // NOTE: v2 packaged app windows are created by ChromeNativeAppWindowViews.
100 params.wm_class_name = web_app::GetWMClassFromAppName(browser.app_name());
101 } else if (command_line.HasSwitch(switches::kUserDataDir)) {
102 // Set the class name to e.g. "Chrome (/tmp/my-user-data)". The
103 // class name will show up in the alt-tab list in gnome-shell if
104 // you're running a binary that doesn't have a matching .desktop
105 // file.
106 const std::string user_data_dir =
107 command_line.GetSwitchValueNative(switches::kUserDataDir);
108 params.wm_class_name += " (" + user_data_dir + ")";
109 }
110 const char kX11WindowRoleBrowser[] = "browser";
111 const char kX11WindowRolePopup[] = "pop-up";
112 params.wm_role_name = browser_view_->browser()->is_type_tabbed() ?
113 std::string(kX11WindowRoleBrowser) : std::string(kX11WindowRolePopup);
114 #endif // defined(OS_LINUX)
115
116 return params;
117 } 83 }
118 84
119 bool DesktopBrowserFrameAura::UsesNativeSystemMenu() const { 85 bool DesktopBrowserFrameAura::UsesNativeSystemMenu() const {
120 return browser_desktop_window_tree_host_->UsesNativeSystemMenu(); 86 return browser_desktop_window_tree_host_->UsesNativeSystemMenu();
121 } 87 }
122 88
123 int DesktopBrowserFrameAura::GetMinimizeButtonOffset() const { 89 int DesktopBrowserFrameAura::GetMinimizeButtonOffset() const {
124 return browser_desktop_window_tree_host_->GetMinimizeButtonOffset(); 90 return browser_desktop_window_tree_host_->GetMinimizeButtonOffset();
125 } 91 }
126 92
127 bool DesktopBrowserFrameAura::ShouldSaveWindowPlacement() const { 93 bool DesktopBrowserFrameAura::ShouldSaveWindowPlacement() const {
128 // The placement can always be stored. 94 // The placement can always be stored.
129 return true; 95 return true;
130 } 96 }
131 97
132 void DesktopBrowserFrameAura::GetWindowPlacement( 98 void DesktopBrowserFrameAura::GetWindowPlacement(
133 gfx::Rect* bounds, 99 gfx::Rect* bounds,
134 ui::WindowShowState* show_state) const { 100 ui::WindowShowState* show_state) const {
135 *bounds = GetWidget()->GetRestoredBounds(); 101 *bounds = GetWidget()->GetRestoredBounds();
136 if (IsMaximized()) 102 if (IsMaximized())
137 *show_state = ui::SHOW_STATE_MAXIMIZED; 103 *show_state = ui::SHOW_STATE_MAXIMIZED;
138 else if (IsMinimized()) 104 else if (IsMinimized())
139 *show_state = ui::SHOW_STATE_MINIMIZED; 105 *show_state = ui::SHOW_STATE_MINIMIZED;
140 else 106 else
141 *show_state = ui::SHOW_STATE_NORMAL; 107 *show_state = ui::SHOW_STATE_NORMAL;
142 } 108 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/frame/desktop_browser_frame_aura.h ('k') | chrome/browser/ui/views/frame/immersive_mode_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698