Index: chrome/browser/ui/views/tabs/tab.h |
diff --git a/chrome/browser/ui/views/tabs/tab.h b/chrome/browser/ui/views/tabs/tab.h |
index 0c432304ba61b72cacfa3173cdf43491d2567e33..2ea8a9fb5f212c804bed93be23953236f207652e 100644 |
--- a/chrome/browser/ui/views/tabs/tab.h |
+++ b/chrome/browser/ui/views/tabs/tab.h |
@@ -10,7 +10,6 @@ |
#include "base/memory/ref_counted.h" |
#include "base/memory/scoped_ptr.h" |
-#include "chrome/browser/ui/tabs/tab_audio_indicator.h" |
#include "chrome/browser/ui/views/tabs/tab_renderer_data.h" |
#include "ui/base/layout.h" |
#include "ui/gfx/animation/animation_delegate.h" |
@@ -38,8 +37,7 @@ class ImageButton; |
// A View that renders a Tab, either in a TabStrip or in a DraggedTabView. |
// |
/////////////////////////////////////////////////////////////////////////////// |
-class Tab : public TabAudioIndicator::Delegate, |
- public gfx::AnimationDelegate, |
+class Tab : public gfx::AnimationDelegate, |
public views::ButtonListener, |
public views::ContextMenuController, |
public views::View { |
@@ -153,9 +151,6 @@ class Tab : public TabAudioIndicator::Delegate, |
typedef std::list<ImageCacheEntry> ImageCache; |
- // Overridden from TabAudioIndicator::Delegate: |
- virtual void ScheduleAudioIndicatorPaint() OVERRIDE; |
- |
// Overridden from gfx::AnimationDelegate: |
virtual void AnimationProgressed(const gfx::Animation* animation) OVERRIDE; |
virtual void AnimationCanceled(const gfx::Animation* animation) OVERRIDE; |
@@ -198,6 +193,10 @@ class Tab : public TabAudioIndicator::Delegate, |
const gfx::Rect& GetTitleBounds() const; |
const gfx::Rect& GetIconBounds() const; |
+ // Invoked from Layout to adjust the position of the favicon or audio |
+ // indicator for mini tabs. |
+ void MaybeAdjustLeftForMiniTab(gfx::Rect* bounds) const; |
+ |
// Invoked from SetData after |data_| has been updated to the new data. |
void DataChanged(const TabRendererData& old); |
@@ -217,9 +216,10 @@ class Tab : public TabAudioIndicator::Delegate, |
int tab_id); |
void PaintActiveTabBackground(gfx::Canvas* canvas); |
- // Paints the icon at the specified coordinates, mirrored for RTL if needed. |
+ // Paints the icon, audio indicator icon, etc., mirrored for RTL if needed. |
void PaintIcon(gfx::Canvas* canvas); |
void PaintCaptureState(gfx::Canvas* canvas, gfx::Rect bounds); |
+ void PaintAudioIndicator(gfx::Canvas* canvas); |
void PaintTitle(gfx::Canvas* canvas, SkColor title_color); |
// Invoked if data_.network_state changes, or the network_state is not none. |
@@ -233,6 +233,9 @@ class Tab : public TabAudioIndicator::Delegate, |
// Returns whether the Tab should display a favicon. |
bool ShouldShowIcon() const; |
+ // Returns whether the Tab should display the audio indicator. |
+ bool ShouldShowAudioIndicator() const; |
+ |
// Returns whether the Tab should display a close button. |
bool ShouldShowCloseBox() const; |
@@ -321,8 +324,6 @@ class Tab : public TabAudioIndicator::Delegate, |
scoped_refptr<gfx::AnimationContainer> animation_container_; |
- scoped_ptr<TabAudioIndicator> tab_audio_indicator_; |
- |
views::ImageButton* close_button_; |
ui::ThemeProvider* theme_provider_; |
@@ -334,6 +335,7 @@ class Tab : public TabAudioIndicator::Delegate, |
// The bounds of various sections of the display. |
gfx::Rect favicon_bounds_; |
gfx::Rect title_bounds_; |
+ gfx::Rect audio_indicator_bounds_; |
// The offset used to paint the inactive background image. |
gfx::Point background_offset_; |
@@ -353,6 +355,10 @@ class Tab : public TabAudioIndicator::Delegate, |
// changes and layout appropriately. |
bool showing_icon_; |
+ // Whether we're showing the audio indicator. It is cached so that we can |
+ // detect when it changes and layout appropriately. |
+ bool showing_audio_indicator_; |
+ |
// Whether we are showing the close button. It is cached so that we can |
// detect when it changes and layout appropriately. |
bool showing_close_button_; |