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

Side by Side Diff: chrome/browser/chromeos/frame/browser_view.h

Issue 8438064: Separate StatusAreaView from StatusAreaViewChromeos (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/chromeos/frame/browser_view.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_
6 #define CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_ 6 #define CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_
7 #pragma once 7 #pragma once
8 8
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/compiler_specific.h" 11 #include "base/compiler_specific.h"
12 #include "base/message_loop.h" 12 #include "base/message_loop.h"
13 #include "chrome/browser/chromeos/status/status_area_host.h" 13 #include "chrome/browser/chromeos/status/status_area_button.h"
14 #include "chrome/browser/ui/browser_list.h" 14 #include "chrome/browser/ui/browser_list.h"
15 #include "chrome/browser/ui/views/frame/browser_view.h" 15 #include "chrome/browser/ui/views/frame/browser_view.h"
16 #include "views/context_menu_controller.h" 16 #include "views/context_menu_controller.h"
17 #include "views/controls/menu/menu_listener.h" 17 #include "views/controls/menu/menu_listener.h"
18 18
19 class AccessibleToolbarView; 19 class AccessibleToolbarView;
20 class Profile; 20 class Profile;
21 class StatusAreaButton;
21 class TabStripModel; 22 class TabStripModel;
22 23
23 namespace ui { 24 namespace ui {
24 class SimpleMenuModel; 25 class SimpleMenuModel;
25 } // namespace ui 26 } // namespace ui
26 27
27 namespace views { 28 namespace views {
28 class ImageButton; 29 class ImageButton;
29 class ImageView; 30 class ImageView;
30 class MenuDelegate; 31 class MenuDelegate;
31 class MenuItemView; 32 class MenuItemView;
32 class MenuRunner; 33 class MenuRunner;
33 } // namespace views 34 } // namespace views
34 35
35 namespace chromeos { 36 namespace chromeos {
36 37
37 class LayoutModeButton; 38 class LayoutModeButton;
38 class StatusAreaView; 39 class StatusAreaViewChromeos;
39 class StatusAreaButton;
40 40
41 // chromeos::BrowserView adds ChromeOS specific controls and menus to a 41 // chromeos::BrowserView adds ChromeOS specific controls and menus to a
42 // BrowserView created with Browser::TYPE_TABBED. This extender adds controls 42 // BrowserView created with Browser::TYPE_TABBED. This extender adds controls
43 // to the title bar as follows: 43 // to the title bar as follows:
44 // ____ __ __ 44 // ____ __ __
45 // / \ \ \ [StatusArea] [LayoutModeButton] 45 // / \ \ \ [StatusArea] [LayoutModeButton]
46 // 46 //
47 // and adds the system context menu to the remaining area of the titlebar. 47 // and adds the system context menu to the remaining area of the titlebar.
48 class BrowserView : public ::BrowserView, 48 class BrowserView : public ::BrowserView,
49 public views::ContextMenuController, 49 public views::ContextMenuController,
50 public views::MenuListener, 50 public views::MenuListener,
51 public BrowserList::Observer, 51 public BrowserList::Observer,
52 public StatusAreaHost, 52 public StatusAreaButton::Delegate,
53 public MessageLoopForUI::Observer { 53 public MessageLoopForUI::Observer {
54 public: 54 public:
55 explicit BrowserView(Browser* browser); 55 explicit BrowserView(Browser* browser);
56 virtual ~BrowserView(); 56 virtual ~BrowserView();
57 57
58 // BrowserView implementation. 58 // BrowserView implementation.
59 virtual void Init() OVERRIDE; 59 virtual void Init() OVERRIDE;
60 virtual void Show() OVERRIDE; 60 virtual void Show() OVERRIDE;
61 virtual void ShowInactive() OVERRIDE; 61 virtual void ShowInactive() OVERRIDE;
62 virtual void FocusChromeOSStatus() OVERRIDE; 62 virtual void FocusChromeOSStatus() OVERRIDE;
(...skipping 13 matching lines...) Expand all
76 const gfx::Point& p, 76 const gfx::Point& p,
77 bool is_mouse_gesture) OVERRIDE; 77 bool is_mouse_gesture) OVERRIDE;
78 78
79 // views::MenuListener implementation. 79 // views::MenuListener implementation.
80 virtual void OnMenuOpened() OVERRIDE; 80 virtual void OnMenuOpened() OVERRIDE;
81 81
82 // BrowserList::Observer implementation. 82 // BrowserList::Observer implementation.
83 virtual void OnBrowserAdded(const Browser* browser) OVERRIDE; 83 virtual void OnBrowserAdded(const Browser* browser) OVERRIDE;
84 virtual void OnBrowserRemoved(const Browser* browser) OVERRIDE; 84 virtual void OnBrowserRemoved(const Browser* browser) OVERRIDE;
85 85
86 // StatusAreaHost overrides. 86 // StatusAreaButton::Delegate overrides.
87 virtual Profile* GetProfile() const OVERRIDE; 87 virtual bool ShouldExecuteStatusAreaCommand(
88 virtual gfx::NativeWindow GetNativeWindow() const OVERRIDE; 88 const views::View* button_view, int command_id) const OVERRIDE;
89 virtual bool ShouldOpenButtonOptions( 89 virtual void ExecuteStatusAreaCommand(
90 const views::View* button_view) const OVERRIDE; 90 const views::View* button_view, int command_id) OVERRIDE;
91 virtual void ExecuteBrowserCommand(int id) const OVERRIDE; 91 virtual gfx::Font GetStatusAreaFont(const gfx::Font& font) const OVERRIDE;
92 virtual void OpenButtonOptions(const views::View* button_view) OVERRIDE; 92 virtual StatusAreaButton::TextStyle GetStatusAreaTextStyle() const OVERRIDE;
93 virtual ScreenMode GetScreenMode() const OVERRIDE;
94 virtual TextStyle GetTextStyle() const OVERRIDE;
95 virtual void ButtonVisibilityChanged(views::View* button_view) OVERRIDE; 93 virtual void ButtonVisibilityChanged(views::View* button_view) OVERRIDE;
96 94
97 // MessageLoopForUI::Observer overrides. 95 // MessageLoopForUI::Observer overrides.
98 #if defined(TOUCH_UI) || defined(USE_AURA) 96 #if defined(TOUCH_UI) || defined(USE_AURA)
99 // MessageLoopForUI::Observer overrides. 97 // MessageLoopForUI::Observer overrides.
100 virtual base::EventStatus WillProcessEvent( 98 virtual base::EventStatus WillProcessEvent(
101 const base::NativeEvent& event) OVERRIDE; 99 const base::NativeEvent& event) OVERRIDE;
102 virtual void DidProcessEvent(const base::NativeEvent& event) OVERRIDE; 100 virtual void DidProcessEvent(const base::NativeEvent& event) OVERRIDE;
103 #else 101 #else
104 virtual void WillProcessEvent(GdkEvent* event) OVERRIDE {} 102 virtual void WillProcessEvent(GdkEvent* event) OVERRIDE {}
(...skipping 24 matching lines...) Expand all
129 127
130 void ShowInternal(bool is_active); 128 void ShowInternal(bool is_active);
131 129
132 // Updates |has_hide_status_area_property_| by querying the X server. 130 // Updates |has_hide_status_area_property_| by querying the X server.
133 void FetchHideStatusAreaProperty(); 131 void FetchHideStatusAreaProperty();
134 132
135 // Updates |should_show_layout_mode_button_|. Changes won't be visible 133 // Updates |should_show_layout_mode_button_|. Changes won't be visible
136 // onscreen until Layout() is called. 134 // onscreen until Layout() is called.
137 void UpdateLayoutModeButtonVisibility(); 135 void UpdateLayoutModeButtonVisibility();
138 136
139 StatusAreaView* status_area_; 137 StatusAreaViewChromeos* status_area_;
140 LayoutModeButton* layout_mode_button_; 138 LayoutModeButton* layout_mode_button_;
141 139
142 // System menu. 140 // System menu.
143 scoped_ptr<views::MenuRunner> system_menu_runner_; 141 scoped_ptr<views::MenuRunner> system_menu_runner_;
144 scoped_ptr<views::MenuDelegate> system_menu_delegate_; 142 scoped_ptr<views::MenuDelegate> system_menu_delegate_;
145 143
146 // Focused native widget before wrench menu shows up. We need this to properly 144 // Focused native widget before wrench menu shows up. We need this to properly
147 // perform cut, copy and paste. See http://crosbug.com/8496 145 // perform cut, copy and paste. See http://crosbug.com/8496
148 gfx::NativeView saved_focused_widget_; 146 gfx::NativeView saved_focused_widget_;
149 147
150 // Is the _CHROME_STATE_STATUS_HIDDEN atom present in our toplevel window's 148 // Is the _CHROME_STATE_STATUS_HIDDEN atom present in our toplevel window's
151 // _CHROME_STATE X property? This gets set by window manager to tell us to 149 // _CHROME_STATE X property? This gets set by window manager to tell us to
152 // hide the status area. 150 // hide the status area.
153 bool has_hide_status_area_property_; 151 bool has_hide_status_area_property_;
154 152
155 // Should the layout mode button be shown? We only show it if there are 153 // Should the layout mode button be shown? We only show it if there are
156 // multiple browsers open. 154 // multiple browsers open.
157 bool should_show_layout_mode_button_; 155 bool should_show_layout_mode_button_;
158 156
159 DISALLOW_COPY_AND_ASSIGN(BrowserView); 157 DISALLOW_COPY_AND_ASSIGN(BrowserView);
160 }; 158 };
161 159
162 } // namespace chromeos 160 } // namespace chromeos
163 161
164 #endif // CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_ 162 #endif // CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/frame/browser_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698