summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser.cc
diff options
context:
space:
mode:
authorpam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-11 19:31:38 +0000
committerpam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-11 19:31:38 +0000
commit57f71b9187924492807e06a1194283695cc1a045 (patch)
tree53dd6ac7c70b438d314307ef3147296bbfe0ae99 /chrome/browser/browser.cc
parent282c8cd84fd7387c2d46534885b80f751c51293d (diff)
downloadchromium_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.cc4
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;