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