Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(729)

Unified Diff: chrome/browser/extensions/active_script_controller.cc

Issue 516633002: Stop showing page actions in the location bar with redesign enabled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Latest CQ for Master Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/active_script_controller.cc
diff --git a/chrome/browser/extensions/active_script_controller.cc b/chrome/browser/extensions/active_script_controller.cc
index 80c7fbdc5e93c015b6465199dcad964694ca4a81..e6f0cec5e0fb8c77a5ef533fbe601f9f2e64c48f 100644
--- a/chrome/browser/extensions/active_script_controller.cc
+++ b/chrome/browser/extensions/active_script_controller.cc
@@ -61,8 +61,11 @@ bool ShouldRecordExtension(const Extension* extension) {
ActiveScriptController::ActiveScriptController(
content::WebContents* web_contents)
: content::WebContentsObserver(web_contents),
- enabled_(FeatureSwitch::scripts_require_action()->IsEnabled()) {
+ enabled_(FeatureSwitch::scripts_require_action()->IsEnabled()),
+ extension_registry_observer_(this) {
CHECK(web_contents);
+ extension_registry_observer_.Add(
+ ExtensionRegistry::Get(web_contents->GetBrowserContext()));
}
ActiveScriptController::~ActiveScriptController() {
@@ -169,12 +172,6 @@ ExtensionAction* ActiveScriptController::GetActionForExtension(
return action.get();
}
-void ActiveScriptController::OnExtensionUnloaded(const Extension* extension) {
- PendingRequestMap::iterator iter = pending_requests_.find(extension->id());
- if (iter != pending_requests_.end())
- pending_requests_.erase(iter);
-}
-
PermissionsData::AccessType
ActiveScriptController::RequiresUserConsentForScriptInjection(
const Extension* extension,
@@ -323,16 +320,6 @@ void ActiveScriptController::PermitScriptInjection(int64 request_id) {
}
}
-bool ActiveScriptController::OnMessageReceived(const IPC::Message& message) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(ActiveScriptController, message)
- IPC_MESSAGE_HANDLER(ExtensionHostMsg_RequestScriptInjectionPermission,
- OnRequestScriptInjectionPermission)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- return handled;
-}
-
void ActiveScriptController::LogUMA() const {
UMA_HISTOGRAM_COUNTS_100(
"Extensions.ActiveScriptController.ShownActiveScriptsOnPage",
@@ -350,6 +337,16 @@ void ActiveScriptController::LogUMA() const {
}
}
+bool ActiveScriptController::OnMessageReceived(const IPC::Message& message) {
+ bool handled = true;
+ IPC_BEGIN_MESSAGE_MAP(ActiveScriptController, message)
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_RequestScriptInjectionPermission,
+ OnRequestScriptInjectionPermission)
+ IPC_MESSAGE_UNHANDLED(handled = false)
+ IPC_END_MESSAGE_MAP()
+ return handled;
+}
+
void ActiveScriptController::DidNavigateMainFrame(
const content::LoadCommittedDetails& details,
const content::FrameNavigateParams& params) {
@@ -361,4 +358,16 @@ void ActiveScriptController::DidNavigateMainFrame(
pending_requests_.clear();
}
+void ActiveScriptController::OnExtensionUnloaded(
+ content::BrowserContext* browser_context,
+ const Extension* extension,
+ UnloadedExtensionInfo::Reason reason) {
+ PendingRequestMap::iterator iter = pending_requests_.find(extension->id());
+ if (iter != pending_requests_.end()) {
+ pending_requests_.erase(iter);
+ ExtensionActionAPI::Get(web_contents()->GetBrowserContext())->
+ NotifyPageActionsChanged(web_contents());
+ }
+}
+
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698