Index: chrome/browser/views/frame/browser_frame.h |
=================================================================== |
--- chrome/browser/views/frame/browser_frame.h (revision 10646) |
+++ chrome/browser/views/frame/browser_frame.h (working copy) |
@@ -2,43 +2,55 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CHROME_BROWSER_VIEWS_FRAME_AERO_GLASS_FRAME_H_ |
-#define CHROME_BROWSER_VIEWS_FRAME_AERO_GLASS_FRAME_H_ |
+#ifndef CHROME_BROWSER_VIEWS_FRAME_BROWSER_FRAME_ |
+#define CHROME_BROWSER_VIEWS_FRAME_BROWSER_FRAME_ |
-#include "chrome/browser/views/frame/browser_frame.h" |
#include "chrome/views/window.h" |
class AeroGlassNonClientView; |
class BrowserView; |
+class NonClientFrameView; |
+class TabStrip; |
+// A specialization of the NonClientFrameView object that provides additional |
+// Browser-specific methods. |
+class BrowserNonClientFrameView : public views::NonClientFrameView { |
+ public: |
+ BrowserNonClientFrameView() : NonClientFrameView() {} |
+ virtual ~BrowserNonClientFrameView() {} |
+ |
+ // Returns the bounds within which the TabStrip should be laid out. |
+ virtual gfx::Rect GetBoundsForTabStrip(TabStrip* tabstrip) const = 0; |
+ |
+ // Updates the throbber. |
+ virtual void UpdateThrobber(bool running) = 0; |
+}; |
+ |
/////////////////////////////////////////////////////////////////////////////// |
-// AeroGlassFrame |
+// BrowserFrame |
// |
-// AeroGlassFrame is a Window subclass that provides the window frame on |
-// Windows Vista with DWM desktop compositing enabled. The window's non-client |
-// areas are drawn by the system. |
+// BrowserFrame is a Window subclass that provides the window frame for the |
+// Chrome browser window. |
// |
-class AeroGlassFrame : public BrowserFrame, |
- public views::Window { |
+class BrowserFrame : public views::Window { |
public: |
- explicit AeroGlassFrame(BrowserView* browser_view); |
- virtual ~AeroGlassFrame(); |
+ explicit BrowserFrame(BrowserView* browser_view); |
+ virtual ~BrowserFrame(); |
+ // Initialize the frame. Creates the Window. |
void Init(); |
// Determine the distance of the left edge of the minimize button from the |
// left edge of the window. Used in our Non-Client View's Layout. |
int GetMinimizeButtonOffset() const; |
- // Overridden from BrowserFrame: |
- virtual gfx::Rect GetWindowBoundsForClientBounds( |
- const gfx::Rect& client_bounds); |
- virtual void SizeToContents(const gfx::Rect& contents_bounds) {} |
- virtual gfx::Rect GetBoundsForTabStrip(TabStrip* tabstrip) const; |
- virtual void UpdateThrobber(bool running); |
- virtual views::Window* GetWindow(); |
- virtual const views::Window* GetWindow() const; |
+ // Retrieves the bounds, in non-client view coordinates for the specified |
+ // TabStrip. |
+ gfx::Rect GetBoundsForTabStrip(TabStrip* tabstrip) const; |
+ // Tells the frame to update the throbber. |
+ void UpdateThrobber(bool running); |
+ |
protected: |
// Overridden from views::WidgetWin: |
virtual bool AcceleratorPressed(views::Accelerator* accelerator); |
@@ -58,38 +70,23 @@ |
// Overridden from views::Window: |
virtual int GetShowState() const; |
virtual bool IsAppWindow() const { return true; } |
+ virtual views::NonClientFrameView* CreateFrameViewForWindow(); |
+ virtual void UpdateFrameAfterFrameChange(); |
private: |
// Updates the DWM with the frame bounds. |
void UpdateDWMFrame(); |
- // Return a pointer to the concrete type of our non-client view. |
- AeroGlassNonClientView* GetAeroGlassNonClientView() const; |
- |
- // Starts/Stops the window throbber running. |
- void StartThrobber(); |
- void StopThrobber(); |
- |
- // Displays the next throbber frame. |
- void DisplayNextThrobberFrame(); |
- |
// The BrowserView is our ClientView. This is a pointer to it. |
BrowserView* browser_view_; |
+ // A pointer to our NonClientFrameView as a BrowserNonClientFrameView. |
+ BrowserNonClientFrameView* browser_frame_view_; |
+ |
bool frame_initialized_; |
- // Whether or not the window throbber is currently animating. |
- bool throbber_running_; |
- |
- // The index of the current frame of the throbber animation. |
- int throbber_frame_; |
- |
- static const int kThrobberIconCount = 24; |
- static HICON throbber_icons_[kThrobberIconCount]; |
- static void InitThrobberIcons(); |
- |
- DISALLOW_EVIL_CONSTRUCTORS(AeroGlassFrame); |
+ DISALLOW_EVIL_CONSTRUCTORS(BrowserFrame); |
}; |
-#endif // #ifndef CHROME_BROWSER_VIEWS_FRAME_AERO_GLASS_FRAME_H_ |
+#endif // #ifndef CHROME_BROWSER_VIEWS_FRAME_BROWSER_FRAME_ |
Property changes on: chrome\browser\views\frame\browser_frame.h |
___________________________________________________________________ |
Added: svn:mergeinfo |
Merged /branches/chrome_webkit_merge_branch/chrome/browser/views/frame/aero_glass_frame.h:r69-2775 |