diff options
author | beng@google.com <beng@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-01 17:05:27 +0000 |
---|---|---|
committer | beng@google.com <beng@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-01 17:05:27 +0000 |
commit | a533eb4a0e924b8c0cab7a3964c127ce0d5f8185 (patch) | |
tree | 86c1755b210da306c6f0f938741e4c0c63039586 /chrome/browser/vista_frame.h | |
parent | cb4996397f1857ada4419fd166abf4567aa3556e (diff) | |
download | chromium_src-a533eb4a0e924b8c0cab7a3964c127ce0d5f8185.zip chromium_src-a533eb4a0e924b8c0cab7a3964c127ce0d5f8185.tar.gz chromium_src-a533eb4a0e924b8c0cab7a3964c127ce0d5f8185.tar.bz2 |
Adds the BrowserView to the XPFrame/VistaFrame, and moves the BrowserToolbarView and StatusBubble into it.
Also restructures the creation of the Frame. This is significant! The Browser now constructs a frame via a new static BrowserWindow::CreateBrowserWindow method (see browser_window_factory.cc). Recall the diagram in the architectural overview doc - the BrowserView object is the one that implements the interface that the Browser object uses to communicate with the UI. The Browser object communicates to the BrowserView directly through this interface, but not directly to the frame.
What actually happens right now in CreateBrowserWindow is that an XP/VistaFrame is constructed, but this is _not_ the object returned to the Browser, rather when the XP/VistaFrame is init'ed, it constructs a BrowserView that also implements BrowserWindow. This is the object that's returned to the Browser.
Since both BrowserView and XP/VistaFrame implement BrowserWindow, I am now able to gradually migrate functionality from the frames to BrowserView. During this process BrowserWindow functions not handled yet by BrowserView will be forwarded to the appropriate frame.
Modifies the Accessibility UI tests to account for this extra level of indirection (should only be temporary while I'm moving things around).
This does actually pass the UI tests.
See the whiteboard in my office for a diagram. This is a bit confusing right now since there's so much going on. Sadly the only way to get where we need to go incrementally is to make a mess on the way.
B=1031854
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/vista_frame.h')
-rw-r--r-- | chrome/browser/vista_frame.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/chrome/browser/vista_frame.h b/chrome/browser/vista_frame.h index cb9fdff..40a1dc2 100644 --- a/chrome/browser/vista_frame.h +++ b/chrome/browser/vista_frame.h @@ -51,7 +51,7 @@ class BookmarkBarView; class Browser; -class BrowserToolbarView; +class BrowserView; class TabContentsContainerView; class ChromeViews::FocusManager; class SkBitmap; @@ -201,13 +201,13 @@ class VistaFrame : public BrowserWindow, virtual gfx::Rect GetNormalBounds(); virtual bool IsMaximized(); virtual gfx::Rect GetBoundsForContentBounds(const gfx::Rect content_rect); - virtual void SetBounds(const gfx::Rect& bounds); virtual void DetachFromBrowser(); virtual void InfoBubbleShowing(); virtual ToolbarStarToggle* GetStarButton() const; virtual LocationBarView* GetLocationBarView() const; virtual GoButton* GetGoButton() const; virtual BookmarkBarView* GetBookmarkBarView(); + virtual BrowserView* GetBrowserView() const; virtual void Update(TabContents* contents, bool should_restore_state); virtual void ProfileChanged(Profile* profile); virtual void FocusToolbar(); @@ -370,9 +370,6 @@ class VistaFrame : public BrowserWindow, // The view that contains the tabs and any associated controls. TabStrip* tabstrip_; - // The Toolbar containing the navigation buttons, menus and the address bar. - BrowserToolbarView* toolbar_; - // The bookmark bar. This is lazily created. scoped_ptr<BookmarkBarView> bookmark_bar_view_; @@ -417,8 +414,6 @@ class VistaFrame : public BrowserWindow, static bool g_initialized; static SkBitmap** g_bitmaps; - scoped_ptr<StatusBubble> status_bubble_; - // Instance of accessibility information and handling for MSAA root CComPtr<IAccessible> accessibility_root_; @@ -436,6 +431,9 @@ class VistaFrame : public BrowserWindow, // like unconstrained popups. Defaults to true. bool should_save_window_placement_; + // A view that holds the client-area contents of the browser window. + BrowserView* browser_view_; + DISALLOW_EVIL_CONSTRUCTORS(VistaFrame); }; #endif // CHROME_BROWSER_VISTA_FRAME_H__ |