diff options
author | pam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-11 19:31:38 +0000 |
---|---|---|
committer | pam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-11 19:31:38 +0000 |
commit | 57f71b9187924492807e06a1194283695cc1a045 (patch) | |
tree | 53dd6ac7c70b438d314307ef3147296bbfe0ae99 /chrome/browser/browser.cc | |
parent | 282c8cd84fd7387c2d46534885b80f751c51293d (diff) | |
download | chromium_src-57f71b9187924492807e06a1194283695cc1a045.zip chromium_src-57f71b9187924492807e06a1194283695cc1a045.tar.gz chromium_src-57f71b9187924492807e06a1194283695cc1a045.tar.bz2 |
Force page-action views to update after reloading an extension, by deleting
them all. Otherwise, since the view count is unchanged, the views continue to
use stale extension information and the page-action icon fails to be displayed.
Fix excessive timeout logging in WaitForPageActionVisibilityChangeTo().
BUG=http://crbug.com/21324
TEST=write page-action extension, load as unpacked, reload, verify that icon
is shown on a matching page. Also covered by browser_tests unit test.
Review URL: http://codereview.chromium.org/202027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25996 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser.cc')
-rw-r--r-- | chrome/browser/browser.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc index c8c1da1..e0b5336 100644 --- a/chrome/browser/browser.cc +++ b/chrome/browser/browser.cc @@ -2142,6 +2142,8 @@ void Browser::Observe(NotificationType type, } case NotificationType::EXTENSION_UNLOADED: { + window()->GetLocationBar()->InvalidatePageActions(); + // Close any tabs from the unloaded extension. Extension* extension = Details<Extension>(details).ptr(); for (int i = 0; i < tabstrip_model_.count(); i++) { @@ -2156,6 +2158,8 @@ void Browser::Observe(NotificationType type, } case NotificationType::EXTENSION_PROCESS_CRASHED: { + window()->GetLocationBar()->InvalidatePageActions(); + TabContents* tab_contents = GetSelectedTabContents(); if (!tab_contents) break; |