summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/tab_icon_view.cc
diff options
context:
space:
mode:
authornsylvain@chromium.org <nsylvain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-18 03:48:01 +0000
committernsylvain@chromium.org <nsylvain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-18 03:48:01 +0000
commit276ae6d3b89a1b521f54277669e73ed8e548fdb1 (patch)
tree2e81baca1aed143c3781409e2cd00aaab6608625 /chrome/browser/views/tab_icon_view.cc
parent4c561633e8eab426db0f94f3f03543e94c57ff77 (diff)
downloadchromium_src-276ae6d3b89a1b521f54277669e73ed8e548fdb1.zip
chromium_src-276ae6d3b89a1b521f54277669e73ed8e548fdb1.tar.gz
chromium_src-276ae6d3b89a1b521f54277669e73ed8e548fdb1.tar.bz2
Revert change 5596 because it broke the build
Review URL: http://codereview.chromium.org/11439 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5598 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/tab_icon_view.cc')
-rw-r--r--chrome/browser/views/tab_icon_view.cc29
1 files changed, 17 insertions, 12 deletions
diff --git a/chrome/browser/views/tab_icon_view.cc b/chrome/browser/views/tab_icon_view.cc
index 46595f6..245a38d 100644
--- a/chrome/browser/views/tab_icon_view.cc
+++ b/chrome/browser/views/tab_icon_view.cc
@@ -50,8 +50,8 @@ void TabIconView::InitializeIfNeeded() {
}
}
-TabIconView::TabIconView(TabIconViewModel* model)
- : model_(model),
+TabIconView::TabIconView(TabContentsProvider* provider)
+ : provider_(provider),
is_light_(false),
throbber_running_(false),
throbber_frame_(0) {
@@ -62,9 +62,10 @@ TabIconView::~TabIconView() {
}
void TabIconView::Update() {
+ TabContents* contents = provider_->GetCurrentTabContents();
if (throbber_running_) {
// We think the tab is loading.
- if (!model_->ShouldTabIconViewAnimate()) {
+ if (!contents || !contents->is_loading()) {
// Woops, tab is invalid or not loading, reset our status and schedule
// a paint.
throbber_running_ = false;
@@ -74,7 +75,7 @@ void TabIconView::Update() {
throbber_frame_ = (throbber_frame_ + 1) % g_throbber_frame_count;
SchedulePaint();
}
- } else if (model_->ShouldTabIconViewAnimate()) {
+ } else if (contents && contents->is_loading()) {
// We didn't think we were loading, but the tab is loading. Reset the
// frame and status and schedule a paint.
throbber_running_ = true;
@@ -105,21 +106,25 @@ void TabIconView::PaintFavIcon(ChromeCanvas* canvas, const SkBitmap& bitmap) {
}
void TabIconView::Paint(ChromeCanvas* canvas) {
+ TabContents* contents = provider_->GetCurrentTabContents();
bool rendered = false;
- if (throbber_running_) {
- rendered = true;
- PaintThrobber(canvas);
- } else {
- SkBitmap favicon = model_->GetFavIconForTabIconView();
- if (!favicon.isNull()) {
+ if (contents) {
+ if (throbber_running_) {
rendered = true;
- PaintFavIcon(canvas, favicon);
+ PaintThrobber(canvas);
+ } else {
+ SkBitmap favicon = provider_->GetFavIcon();
+ if (!favicon.isNull()) {
+ rendered = true;
+ PaintFavIcon(canvas, favicon);
+ }
}
}
- if (!rendered)
+ if (!rendered) {
PaintFavIcon(canvas, *g_default_fav_icon);
+ }
}
gfx::Size TabIconView::GetPreferredSize() {