| 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 | 
|  | 
|  |