summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/views/frame/aero_glass_frame.cc13
-rw-r--r--chrome/browser/views/frame/aero_glass_frame.h4
-rw-r--r--chrome/browser/views/frame/browser_frame.h3
-rw-r--r--chrome/browser/views/frame/browser_view2.cc2
-rw-r--r--chrome/browser/views/frame/opaque_frame.cc6
-rw-r--r--chrome/browser/views/frame/opaque_frame.h1
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: