diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/views/frame/aero_glass_frame.cc | 13 | ||||
-rw-r--r-- | chrome/browser/views/frame/aero_glass_frame.h | 4 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_frame.h | 3 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view2.cc | 2 | ||||
-rw-r--r-- | chrome/browser/views/frame/opaque_frame.cc | 6 | ||||
-rw-r--r-- | chrome/browser/views/frame/opaque_frame.h | 1 |
6 files changed, 18 insertions, 11 deletions
diff --git a/chrome/browser/views/frame/aero_glass_frame.cc b/chrome/browser/views/frame/aero_glass_frame.cc index f951b3d..a87ed6c 100644 --- a/chrome/browser/views/frame/aero_glass_frame.cc +++ b/chrome/browser/views/frame/aero_glass_frame.cc @@ -67,15 +67,14 @@ gfx::Rect AeroGlassFrame::GetBoundsForTabStrip(TabStrip* tabstrip) const { return GetAeroGlassNonClientView()->GetBoundsForTabStrip(tabstrip); } -ChromeViews::Window* AeroGlassFrame::GetWindow() { - return this; +void AeroGlassFrame::UpdateThrobber() { + // On Vista, for now, we just update the window icon. Figure out something + // better here to fix http://crbug.com/3296 + UpdateWindowIcon(); } -/////////////////////////////////////////////////////////////////////////////// -// AeroGlassFrame, ChromeViews::Window overrides: - -void AeroGlassFrame::UpdateWindowIcon() { - Window::UpdateWindowIcon(); +ChromeViews::Window* AeroGlassFrame::GetWindow() { + return this; } /////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/views/frame/aero_glass_frame.h b/chrome/browser/views/frame/aero_glass_frame.h index 0f8ba97..26fc7b1 100644 --- a/chrome/browser/views/frame/aero_glass_frame.h +++ b/chrome/browser/views/frame/aero_glass_frame.h @@ -35,11 +35,9 @@ class AeroGlassFrame : public BrowserFrame, const gfx::Rect& client_bounds); virtual void SizeToContents(const gfx::Rect& contents_bounds) {} virtual gfx::Rect GetBoundsForTabStrip(TabStrip* tabstrip) const; + virtual void UpdateThrobber(); virtual ChromeViews::Window* GetWindow(); - // Overridden from ChromeViews::Window: - virtual void UpdateWindowIcon(); - // Overridden from ChromeViews::HWNDViewContainer: virtual bool AcceleratorPressed(ChromeViews::Accelerator* accelerator); virtual bool GetAccelerator(int cmd_id, diff --git a/chrome/browser/views/frame/browser_frame.h b/chrome/browser/views/frame/browser_frame.h index db87a71..e60cdca 100644 --- a/chrome/browser/views/frame/browser_frame.h +++ b/chrome/browser/views/frame/browser_frame.h @@ -37,6 +37,9 @@ class BrowserFrame { // TabStrip. The coordinate system is that of the window's client area. virtual gfx::Rect GetBoundsForTabStrip(TabStrip* tabstrip) const = 0; + // Updates the current frame of the Throbber animation, if applicable. + virtual void UpdateThrobber() = 0; + // Returns the ChromeViews::Window associated with this frame. virtual ChromeViews::Window* GetWindow() = 0; diff --git a/chrome/browser/views/frame/browser_view2.cc b/chrome/browser/views/frame/browser_view2.cc index a1451ed..6759c67 100644 --- a/chrome/browser/views/frame/browser_view2.cc +++ b/chrome/browser/views/frame/browser_view2.cc @@ -398,7 +398,7 @@ void BrowserView2::SetAcceleratorTable( void BrowserView2::ValidateThrobber() { if (ShouldShowWindowIcon()) - frame_->GetWindow()->UpdateWindowIcon(); + frame_->UpdateThrobber(); } gfx::Rect BrowserView2::GetNormalBounds() { diff --git a/chrome/browser/views/frame/opaque_frame.cc b/chrome/browser/views/frame/opaque_frame.cc index ebc9b7d..2b32050 100644 --- a/chrome/browser/views/frame/opaque_frame.cc +++ b/chrome/browser/views/frame/opaque_frame.cc @@ -42,6 +42,12 @@ gfx::Rect OpaqueFrame::GetBoundsForTabStrip(TabStrip* tabstrip) const { return GetOpaqueNonClientView()->GetBoundsForTabStrip(tabstrip); } +void OpaqueFrame::UpdateThrobber() { + // The throbber doesn't run in the Windows TaskBar, so we just update the + // non-client view. Updating the taskbar is muy expensivo. + GetOpaqueNonClientView()->UpdateWindowIcon(); +} + ChromeViews::Window* OpaqueFrame::GetWindow() { return this; } diff --git a/chrome/browser/views/frame/opaque_frame.h b/chrome/browser/views/frame/opaque_frame.h index 5bc1718..20c8568 100644 --- a/chrome/browser/views/frame/opaque_frame.h +++ b/chrome/browser/views/frame/opaque_frame.h @@ -35,6 +35,7 @@ class OpaqueFrame : public BrowserFrame, const gfx::Rect& client_bounds); virtual void SizeToContents(const gfx::Rect& contents_bounds); virtual gfx::Rect GetBoundsForTabStrip(TabStrip* tabstrip) const; + virtual void UpdateThrobber(); virtual ChromeViews::Window* GetWindow(); // Overridden from ChromeViews::CustomFrameWindow: |