| Index: chrome/browser/tab_contents/tab_contents.cc
|
| diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc
|
| index 089545f7464dda2d08a50028ad3529981d6b69bb..9bdfdd7913a6f0c444509138246c0cb8b787de57 100644
|
| --- a/chrome/browser/tab_contents/tab_contents.cc
|
| +++ b/chrome/browser/tab_contents/tab_contents.cc
|
| @@ -24,6 +24,7 @@
|
| #include "chrome/browser/download/download_manager.h"
|
| #include "chrome/browser/download/download_request_manager.h"
|
| #include "chrome/browser/external_protocol_handler.h"
|
| +#include "chrome/browser/extensions/extensions_service.h"
|
| #include "chrome/browser/favicon_service.h"
|
| #include "chrome/browser/form_field_history_manager.h"
|
| #include "chrome/browser/gears_integration.h"
|
| @@ -1410,12 +1411,27 @@ void TabContents::DidNavigateMainFramePostCommit(
|
| fav_icon_helper_.FetchFavIcon(details.entry->url());
|
|
|
| // Disable all page actions, unless this is an in-page navigation.
|
| - if (!page_actions_.empty()) {
|
| - url_canon::Replacements<char> replacements;
|
| - replacements.ClearRef();
|
| - if (params.url.ReplaceComponents(replacements) !=
|
| - params.referrer.ReplaceComponents(replacements)) {
|
| + url_canon::Replacements<char> replacements;
|
| + replacements.ClearRef();
|
| + if (params.url.ReplaceComponents(replacements) !=
|
| + params.referrer.ReplaceComponents(replacements)) {
|
| + if (!page_actions_.empty())
|
| page_actions_.clear();
|
| +
|
| + ExtensionsService* service = profile()->GetExtensionsService();
|
| + if (service) {
|
| + for (size_t i = 0; i < service->extensions()->size(); ++i) {
|
| + ExtensionAction2* action =
|
| + service->extensions()->at(i)->browser_action();
|
| + if (!action)
|
| + continue;
|
| +
|
| + action->ClearAllValuesForTab(controller().session_id().id());
|
| + NotificationService::current()->Notify(
|
| + NotificationType::EXTENSION_BROWSER_ACTION_UPDATED,
|
| + Source<ExtensionAction2>(action),
|
| + NotificationService::NoDetails());
|
| + }
|
| }
|
| }
|
|
|
|
|