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

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

Issue 183853037: aura: Remove client::UserActionClient. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: unrevert Created 6 years, 9 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/frame/browser_frame.h" 5 #include "chrome/browser/ui/views/frame/browser_frame.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/debug/leak_annotations.h" 9 #include "base/debug/leak_annotations.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 11 matching lines...) Expand all
22 #include "chrome/browser/ui/views/frame/native_browser_frame_factory.h" 22 #include "chrome/browser/ui/views/frame/native_browser_frame_factory.h"
23 #include "chrome/browser/ui/views/frame/system_menu_model_builder.h" 23 #include "chrome/browser/ui/views/frame/system_menu_model_builder.h"
24 #include "chrome/browser/ui/views/frame/top_container_view.h" 24 #include "chrome/browser/ui/views/frame/top_container_view.h"
25 #include "chrome/browser/web_applications/web_app.h" 25 #include "chrome/browser/web_applications/web_app.h"
26 #include "chrome/common/chrome_switches.h" 26 #include "chrome/common/chrome_switches.h"
27 #include "chrome/common/pref_names.h" 27 #include "chrome/common/pref_names.h"
28 #include "ui/aura/window.h" 28 #include "ui/aura/window.h"
29 #include "ui/aura/window_event_dispatcher.h" 29 #include "ui/aura/window_event_dispatcher.h"
30 #include "ui/base/hit_test.h" 30 #include "ui/base/hit_test.h"
31 #include "ui/base/theme_provider.h" 31 #include "ui/base/theme_provider.h"
32 #include "ui/events/event_handler.h"
32 #include "ui/gfx/font_list.h" 33 #include "ui/gfx/font_list.h"
33 #include "ui/gfx/screen.h" 34 #include "ui/gfx/screen.h"
34 #include "ui/views/controls/menu/menu_runner.h" 35 #include "ui/views/controls/menu/menu_runner.h"
35 #include "ui/views/widget/native_widget.h" 36 #include "ui/views/widget/native_widget.h"
36 37
37 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) 38 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
38 #include "chrome/browser/shell_integration_linux.h" 39 #include "chrome/browser/shell_integration_linux.h"
39 #endif 40 #endif
40 41
41 #if defined(USE_ASH) 42 #if defined(USE_ASH)
42 #include "chrome/browser/ui/ash/ash_init.h" 43 #include "chrome/browser/ui/ash/ash_init.h"
43 #endif 44 #endif
44 45
45 #if defined(OS_CHROMEOS) 46 #if defined(OS_CHROMEOS)
46 #include "ash/session_state_delegate.h" 47 #include "ash/session_state_delegate.h"
47 #endif 48 #endif
48 49
50 #if defined(USE_X11)
51 #include "chrome/browser/ui/views/frame/browser_command_handler_x11.h"
52 #endif
53
49 //////////////////////////////////////////////////////////////////////////////// 54 ////////////////////////////////////////////////////////////////////////////////
50 // BrowserFrame, public: 55 // BrowserFrame, public:
51 56
52 BrowserFrame::BrowserFrame(BrowserView* browser_view) 57 BrowserFrame::BrowserFrame(BrowserView* browser_view)
53 : native_browser_frame_(NULL), 58 : native_browser_frame_(NULL),
54 root_view_(NULL), 59 root_view_(NULL),
55 browser_frame_view_(NULL), 60 browser_frame_view_(NULL),
56 browser_view_(browser_view), 61 browser_view_(browser_view),
57 theme_provider_(ThemeServiceFactory::GetForProfile( 62 theme_provider_(ThemeServiceFactory::GetForProfile(
58 browser_view_->browser()->profile())) { 63 browser_view_->browser()->profile())) {
59 browser_view_->set_frame(this); 64 browser_view_->set_frame(this);
60 set_is_secondary_widget(false); 65 set_is_secondary_widget(false);
61 // Don't focus anything on creation, selecting a tab will set the focus. 66 // Don't focus anything on creation, selecting a tab will set the focus.
62 set_focus_on_creation(false); 67 set_focus_on_creation(false);
68
69 #if defined(USE_X11)
70 browser_command_handler_.reset(
71 new BrowserCommandHandlerX11(browser_view_->browser()));
72 #endif
63 } 73 }
64 74
65 BrowserFrame::~BrowserFrame() { 75 BrowserFrame::~BrowserFrame() {
76 if (browser_command_handler_ && GetNativeView())
77 GetNativeView()->RemovePreTargetHandler(browser_command_handler_.get());
66 } 78 }
67 79
68 // static 80 // static
69 const gfx::FontList& BrowserFrame::GetTitleFontList() { 81 const gfx::FontList& BrowserFrame::GetTitleFontList() {
70 static const gfx::FontList* title_font_list = new gfx::FontList(); 82 static const gfx::FontList* title_font_list = new gfx::FontList();
71 ANNOTATE_LEAKING_OBJECT_PTR(title_font_list); 83 ANNOTATE_LEAKING_OBJECT_PTR(title_font_list);
72 return *title_font_list; 84 return *title_font_list;
73 } 85 }
74 86
75 void BrowserFrame::InitBrowserFrame() { 87 void BrowserFrame::InitBrowserFrame() {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 set_frame_type(UseCustomFrame() ? Widget::FRAME_TYPE_FORCE_CUSTOM 144 set_frame_type(UseCustomFrame() ? Widget::FRAME_TYPE_FORCE_CUSTOM
133 : Widget::FRAME_TYPE_FORCE_NATIVE); 145 : Widget::FRAME_TYPE_FORCE_NATIVE);
134 #endif // defined(OS_LINUX) 146 #endif // defined(OS_LINUX)
135 147
136 Init(params); 148 Init(params);
137 149
138 if (!native_browser_frame_->UsesNativeSystemMenu()) { 150 if (!native_browser_frame_->UsesNativeSystemMenu()) {
139 DCHECK(non_client_view()); 151 DCHECK(non_client_view());
140 non_client_view()->set_context_menu_controller(this); 152 non_client_view()->set_context_menu_controller(this);
141 } 153 }
154
155 if (browser_command_handler_)
156 GetNativeWindow()->AddPreTargetHandler(browser_command_handler_.get());
142 } 157 }
143 158
144 void BrowserFrame::SetThemeProvider(scoped_ptr<ui::ThemeProvider> provider) { 159 void BrowserFrame::SetThemeProvider(scoped_ptr<ui::ThemeProvider> provider) {
145 owned_theme_provider_ = provider.Pass(); 160 owned_theme_provider_ = provider.Pass();
146 theme_provider_ = owned_theme_provider_.get(); 161 theme_provider_ = owned_theme_provider_.get();
147 } 162 }
148 163
149 int BrowserFrame::GetMinimizeButtonOffset() const { 164 int BrowserFrame::GetMinimizeButtonOffset() const {
150 return native_browser_frame_->GetMinimizeButtonOffset(); 165 return native_browser_frame_->GetMinimizeButtonOffset();
151 } 166 }
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 return !IsMaximized(); 296 return !IsMaximized();
282 } 297 }
283 #endif // OS_WIN 298 #endif // OS_WIN
284 299
285 void BrowserFrame::OnUseCustomChromeFrameChanged() { 300 void BrowserFrame::OnUseCustomChromeFrameChanged() {
286 // Tell the window manager to add or remove system borders. 301 // Tell the window manager to add or remove system borders.
287 set_frame_type(UseCustomFrame() ? Widget::FRAME_TYPE_FORCE_CUSTOM 302 set_frame_type(UseCustomFrame() ? Widget::FRAME_TYPE_FORCE_CUSTOM
288 : Widget::FRAME_TYPE_FORCE_NATIVE); 303 : Widget::FRAME_TYPE_FORCE_NATIVE);
289 FrameTypeChanged(); 304 FrameTypeChanged();
290 } 305 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/frame/browser_frame.h ('k') | chrome/browser/ui/views/frame/desktop_browser_frame_aura.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698