diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-14 23:53:45 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-14 23:53:45 +0000 |
commit | 883ce2fa8fc0b8f8bf15fb4279ea2464a22cc052 (patch) | |
tree | 4eb19bb2c187ba53924b13a0e90d61c669a15c83 /chrome/browser/ui/views/frame/browser_frame.h | |
parent | e042db5288480d9ca61b155d8b8fa9ea42481554 (diff) | |
download | chromium_src-883ce2fa8fc0b8f8bf15fb4279ea2464a22cc052.zip chromium_src-883ce2fa8fc0b8f8bf15fb4279ea2464a22cc052.tar.gz chromium_src-883ce2fa8fc0b8f8bf15fb4279ea2464a22cc052.tar.bz2 |
Reland 78062 with some NULL checks.
Revert 78062 - Migrate more of BrowserFrame's event handling down into WindowWin/WidgetWin and their delegate interfaces. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6683007 TBR=ben@chromium.org Review URL: http://codereview.chromium.org/6686059
Review URL: http://codereview.chromium.org/6677029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78129 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/views/frame/browser_frame.h')
-rw-r--r-- | chrome/browser/ui/views/frame/browser_frame.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/chrome/browser/ui/views/frame/browser_frame.h b/chrome/browser/ui/views/frame/browser_frame.h index d58a16a..2a7ae13 100644 --- a/chrome/browser/ui/views/frame/browser_frame.h +++ b/chrome/browser/ui/views/frame/browser_frame.h @@ -6,12 +6,17 @@ #define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_FRAME_H_ #pragma once +#include "base/compiler_specific.h" #include "base/logging.h" #include "build/build_config.h" #include "chrome/browser/ui/views/frame/native_browser_frame_delegate.h" +class AeroGlassNonClientView; +class BrowserNonClientFrameView; +class BrowserRootView; class BrowserView; class NativeBrowserFrame; +class NonClientFrameView; class Profile; namespace gfx { @@ -75,17 +80,33 @@ class BrowserFrame : public NativeBrowserFrameDelegate { void TabStripDisplayModeChanged(); protected: + // Overridden from NativeBrowserFrameDelegate: + virtual views::RootView* DelegateCreateRootView() OVERRIDE; + virtual views::NonClientFrameView* DelegateCreateFrameViewForWindow() + OVERRIDE; + // TODO(beng): Temporarily provided as a way to associate the subclass' // implementation of NativeBrowserFrame with this. void set_native_browser_frame(NativeBrowserFrame* native_browser_frame) { native_browser_frame_ = native_browser_frame; } - BrowserFrame(); + explicit BrowserFrame(BrowserView* browser_view); private: NativeBrowserFrame* native_browser_frame_; + // A weak reference to the root view associated with the window. We save a + // copy as a BrowserRootView to avoid evil casting later, when we need to call + // functions that only exist on BrowserRootView (versus RootView). + BrowserRootView* root_view_; + + // A pointer to our NonClientFrameView as a BrowserNonClientFrameView. + BrowserNonClientFrameView* browser_frame_view_; + + // The BrowserView is our ClientView. This is a pointer to it. + BrowserView* browser_view_; + DISALLOW_COPY_AND_ASSIGN(BrowserFrame); }; |