diff options
author | nsylvain@chromium.org <nsylvain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-18 03:48:01 +0000 |
---|---|---|
committer | nsylvain@chromium.org <nsylvain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-18 03:48:01 +0000 |
commit | 276ae6d3b89a1b521f54277669e73ed8e548fdb1 (patch) | |
tree | 2e81baca1aed143c3781409e2cd00aaab6608625 /chrome/browser/views/tab_icon_view.cc | |
parent | 4c561633e8eab426db0f94f3f03543e94c57ff77 (diff) | |
download | chromium_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.cc | 29 |
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() { |