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

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

Issue 3056003: Attemp 2 at: (Closed)
Patch Set: Fix chromeos breakage Created 10 years, 5 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_VIEWS_FRAME_BROWSER_VIEW_H_ 5 #ifndef CHROME_BROWSER_VIEWS_FRAME_BROWSER_VIEW_H_
6 #define CHROME_BROWSER_VIEWS_FRAME_BROWSER_VIEW_H_ 6 #define CHROME_BROWSER_VIEWS_FRAME_BROWSER_VIEW_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
11 #include <vector> 11 #include <vector>
12 12
13 #include "app/menus/simple_menu_model.h" 13 #include "app/menus/simple_menu_model.h"
14 #include "base/scoped_ptr.h" 14 #include "base/scoped_ptr.h"
15 #include "base/timer.h" 15 #include "base/timer.h"
16 #include "build/build_config.h" 16 #include "build/build_config.h"
17 #include "chrome/browser/browser.h" 17 #include "chrome/browser/browser.h"
18 #include "chrome/browser/browser_window.h" 18 #include "chrome/browser/browser_window.h"
19 #include "chrome/browser/extensions/image_loading_tracker.h"
20 #include "chrome/browser/tabs/tab_strip_model.h" 19 #include "chrome/browser/tabs/tab_strip_model.h"
21 #include "chrome/browser/views/frame/browser_bubble_host.h" 20 #include "chrome/browser/views/frame/browser_bubble_host.h"
22 #include "chrome/browser/views/frame/browser_frame.h" 21 #include "chrome/browser/views/frame/browser_frame.h"
23 #include "chrome/browser/views/infobars/infobar_container.h" 22 #include "chrome/browser/views/infobars/infobar_container.h"
24 #include "chrome/browser/views/tabs/tab_strip.h" 23 #include "chrome/browser/views/tabs/tab_strip.h"
25 #include "chrome/browser/views/tabs/base_tab_strip.h" 24 #include "chrome/browser/views/tabs/base_tab_strip.h"
26 #include "chrome/browser/views/unhandled_keyboard_event_handler.h" 25 #include "chrome/browser/views/unhandled_keyboard_event_handler.h"
27 #include "gfx/native_widget_types.h" 26 #include "gfx/native_widget_types.h"
28 #include "views/controls/image_view.h"
29 #include "views/controls/label.h"
30 #include "views/window/client_view.h" 27 #include "views/window/client_view.h"
31 #include "views/window/window_delegate.h" 28 #include "views/window/window_delegate.h"
32 29
33 #if defined(OS_WIN) 30 #if defined(OS_WIN)
34 #include "chrome/browser/hang_monitor/hung_plugin_action.h" 31 #include "chrome/browser/hang_monitor/hung_plugin_action.h"
35 #include "chrome/browser/hang_monitor/hung_window_detector.h" 32 #include "chrome/browser/hang_monitor/hung_window_detector.h"
36 #include "views/controls/menu/native_menu_win.h" 33 #include "views/controls/menu/native_menu_win.h"
37 #endif 34 #endif
38 35
39 // NOTE: For more information about the objects and files in this directory, 36 // NOTE: For more information about the objects and files in this directory,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 // including the TabStrip, toolbars, download shelves, the content area etc. 73 // including the TabStrip, toolbars, download shelves, the content area etc.
77 // 74 //
78 class BrowserView : public BrowserBubbleHost, 75 class BrowserView : public BrowserBubbleHost,
79 public BrowserWindow, 76 public BrowserWindow,
80 public BrowserWindowTesting, 77 public BrowserWindowTesting,
81 public NotificationObserver, 78 public NotificationObserver,
82 public TabStripModelObserver, 79 public TabStripModelObserver,
83 public menus::SimpleMenuModel::Delegate, 80 public menus::SimpleMenuModel::Delegate,
84 public views::WindowDelegate, 81 public views::WindowDelegate,
85 public views::ClientView, 82 public views::ClientView,
86 public InfoBarContainer::Delegate, 83 public InfoBarContainer::Delegate {
87 public ImageLoadingTracker::Observer {
88 public: 84 public:
89 // The browser view's class name. 85 // The browser view's class name.
90 static const char kViewClassName[]; 86 static const char kViewClassName[];
91 87
92 // Explicitly sets how windows are shown. Use a value of -1 to give the 88 // Explicitly sets how windows are shown. Use a value of -1 to give the
93 // default behavior. This is used during testing and not generally useful 89 // default behavior. This is used during testing and not generally useful
94 // otherwise. 90 // otherwise.
95 static void SetShowState(int state); 91 static void SetShowState(int state);
96 92
97 explicit BrowserView(Browser* browser); 93 explicit BrowserView(Browser* browser);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 gfx::Rect GetFindBarBoundingBox() const; 137 gfx::Rect GetFindBarBoundingBox() const;
142 138
143 // Returns the preferred height of the TabStrip. Used to position the OTR 139 // Returns the preferred height of the TabStrip. Used to position the OTR
144 // avatar icon. 140 // avatar icon.
145 int GetTabStripHeight() const; 141 int GetTabStripHeight() const;
146 142
147 // Returns the bounds of the TabStrip. Used by themed views to determine the 143 // Returns the bounds of the TabStrip. Used by themed views to determine the
148 // offset of IDR_THEME_TOOLBAR. 144 // offset of IDR_THEME_TOOLBAR.
149 gfx::Rect GetTabStripBounds() const; 145 gfx::Rect GetTabStripBounds() const;
150 146
151 // Accessor for the big icon used with TYPE_EXTENSION_APP, or NULL if this
152 // browser isn't TYPE_EXTENSION_APP.
153 views::ImageView* extension_app_icon() const { return extension_app_icon_; }
154
155 // Accessor for the big title used with TYPE_EXTENSION_APP, or NULL if this
156 // browser isn't TYPE_EXTENSION_APP.
157 views::Label* extension_app_title() const { return extension_app_title_; }
158
159 // Accessor for the TabStrip. 147 // Accessor for the TabStrip.
160 BaseTabStrip* tabstrip() const { return tabstrip_; } 148 BaseTabStrip* tabstrip() const { return tabstrip_; }
161 149
162 // Accessor for the Toolbar. 150 // Accessor for the Toolbar.
163 ToolbarView* toolbar() const { return toolbar_; } 151 ToolbarView* toolbar() const { return toolbar_; }
164 152
165 // Accessor for the ExtensionShelf. 153 // Accessor for the ExtensionShelf.
166 ExtensionShelf* extension_shelf() const { return extension_shelf_; } 154 ExtensionShelf* extension_shelf() const { return extension_shelf_; }
167 155
168 // Returns true if various window components are visible. 156 // Returns true if various window components are visible.
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 // used on Linux. 230 // used on Linux.
243 void FullScreenStateChanged(); 231 void FullScreenStateChanged();
244 232
245 // Restores the focused view. This is also used to set the initial focus 233 // Restores the focused view. This is also used to set the initial focus
246 // when a new browser window is created. 234 // when a new browser window is created.
247 void RestoreFocus(); 235 void RestoreFocus();
248 236
249 // Called when the activation of the frame changes. 237 // Called when the activation of the frame changes.
250 virtual void ActivationChanged(bool activated); 238 virtual void ActivationChanged(bool activated);
251 239
252 // Overriden from ImageLoadingTracker::Observer.
253 virtual void OnImageLoaded(SkBitmap* image, ExtensionResource resource,
254 int index);
255
256 // Overridden from BrowserWindow: 240 // Overridden from BrowserWindow:
257 virtual void Show(); 241 virtual void Show();
258 virtual void SetBounds(const gfx::Rect& bounds); 242 virtual void SetBounds(const gfx::Rect& bounds);
259 virtual void Close(); 243 virtual void Close();
260 virtual void Activate(); 244 virtual void Activate();
261 virtual bool IsActive() const; 245 virtual bool IsActive() const;
262 virtual void FlashFrame(); 246 virtual void FlashFrame();
263 virtual gfx::NativeWindow GetNativeHandle(); 247 virtual gfx::NativeWindow GetNativeHandle();
264 virtual BrowserWindowTesting* GetBrowserWindowTesting(); 248 virtual BrowserWindowTesting* GetBrowserWindowTesting();
265 virtual StatusBubble* GetStatusBubble(); 249 virtual StatusBubble* GetStatusBubble();
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 bool show_history); 308 bool show_history);
325 virtual void ShowAppMenu(); 309 virtual void ShowAppMenu();
326 virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, 310 virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event,
327 bool* is_keyboard_shortcut); 311 bool* is_keyboard_shortcut);
328 virtual void HandleKeyboardEvent(const NativeWebKeyboardEvent& event); 312 virtual void HandleKeyboardEvent(const NativeWebKeyboardEvent& event);
329 virtual void ShowCreateShortcutsDialog(TabContents* tab_contents); 313 virtual void ShowCreateShortcutsDialog(TabContents* tab_contents);
330 virtual void Cut(); 314 virtual void Cut();
331 virtual void Copy(); 315 virtual void Copy();
332 virtual void Paste(); 316 virtual void Paste();
333 virtual void ToggleTabStripMode(); 317 virtual void ToggleTabStripMode();
334 virtual void SetToolbarCollapsedMode(bool val);
335 318
336 // Overridden from BrowserWindowTesting: 319 // Overridden from BrowserWindowTesting:
337 virtual BookmarkBarView* GetBookmarkBarView() const; 320 virtual BookmarkBarView* GetBookmarkBarView() const;
338 virtual LocationBarView* GetLocationBarView() const; 321 virtual LocationBarView* GetLocationBarView() const;
339 virtual views::View* GetTabContentsContainerView() const; 322 virtual views::View* GetTabContentsContainerView() const;
340 virtual ToolbarView* GetToolbarView() const; 323 virtual ToolbarView* GetToolbarView() const;
341 324
342 // Overridden from NotificationObserver: 325 // Overridden from NotificationObserver:
343 virtual void Observe(NotificationType type, 326 virtual void Observe(NotificationType type,
344 const NotificationSource& source, 327 const NotificationSource& source,
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 BrowserFrame* frame_; 486 BrowserFrame* frame_;
504 487
505 // The Browser object we are associated with. 488 // The Browser object we are associated with.
506 scoped_ptr<Browser> browser_; 489 scoped_ptr<Browser> browser_;
507 490
508 // Tool/Info bars that we are currently showing. Used for layout. 491 // Tool/Info bars that we are currently showing. Used for layout.
509 // active_bookmark_bar_ is either NULL, if the bookmark bar isn't showing, 492 // active_bookmark_bar_ is either NULL, if the bookmark bar isn't showing,
510 // or is bookmark_bar_view_ if the bookmark bar is showing. 493 // or is bookmark_bar_view_ if the bookmark bar is showing.
511 views::View* active_bookmark_bar_; 494 views::View* active_bookmark_bar_;
512 495
513 // The big icon in the top-left if this browser is TYPE_EXTENSION_APP, or
514 // NULL otherwise.
515 views::ImageView* extension_app_icon_;
516
517 // The big title text in the top-left if this browser is TYPE_EXTENSION_APP,
518 // or NULL otherwise.
519 views::Label* extension_app_title_;
520
521 // The TabStrip. 496 // The TabStrip.
522 BaseTabStrip* tabstrip_; 497 BaseTabStrip* tabstrip_;
523 498
524 // The Toolbar containing the navigation buttons, menus and the address bar. 499 // The Toolbar containing the navigation buttons, menus and the address bar.
525 ToolbarView* toolbar_; 500 ToolbarView* toolbar_;
526 501
527 // The Bookmark Bar View for this window. Lazily created. 502 // The Bookmark Bar View for this window. Lazily created.
528 scoped_ptr<BookmarkBarView> bookmark_bar_view_; 503 scoped_ptr<BookmarkBarView> bookmark_bar_view_;
529 504
530 // The download shelf view (view at the bottom of the page). 505 // The download shelf view (view at the bottom of the page).
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 // The timer used to update frames for the Loading Animation. 568 // The timer used to update frames for the Loading Animation.
594 base::RepeatingTimer<BrowserView> loading_animation_timer_; 569 base::RepeatingTimer<BrowserView> loading_animation_timer_;
595 570
596 // A bottom bar for showing extensions. 571 // A bottom bar for showing extensions.
597 ExtensionShelf* extension_shelf_; 572 ExtensionShelf* extension_shelf_;
598 573
599 UnhandledKeyboardEventHandler unhandled_keyboard_event_handler_; 574 UnhandledKeyboardEventHandler unhandled_keyboard_event_handler_;
600 575
601 scoped_ptr<AccessibleViewHelper> accessible_view_helper_; 576 scoped_ptr<AccessibleViewHelper> accessible_view_helper_;
602 577
603 // Loads extension_app_icon_ asynchronously on the file thread.
604 ImageLoadingTracker extension_app_icon_loader_;
605
606 DISALLOW_COPY_AND_ASSIGN(BrowserView); 578 DISALLOW_COPY_AND_ASSIGN(BrowserView);
607 }; 579 };
608 580
609 #endif // CHROME_BROWSER_VIEWS_FRAME_BROWSER_VIEW_H_ 581 #endif // CHROME_BROWSER_VIEWS_FRAME_BROWSER_VIEW_H_
OLDNEW
« no previous file with comments | « chrome/browser/views/browser_actions_container.cc ('k') | chrome/browser/views/frame/browser_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698