Index: chrome/browser/extensions/api/declarative_content/content_action.cc |
diff --git a/chrome/browser/extensions/api/declarative_content/content_action.cc b/chrome/browser/extensions/api/declarative_content/content_action.cc |
index e0ff006e16d05bc8418a6014f331bb6300debe48..2403bfaa2b9c11224689702543458431a031efe2 100644 |
--- a/chrome/browser/extensions/api/declarative_content/content_action.cc |
+++ b/chrome/browser/extensions/api/declarative_content/content_action.cc |
@@ -11,6 +11,7 @@ |
#include "base/values.h" |
#include "chrome/browser/extensions/api/declarative_content/content_constants.h" |
#include "chrome/browser/extensions/api/extension_action/extension_action_api.h" |
+#include "chrome/browser/extensions/consumer_id_factory.h" |
#include "chrome/browser/extensions/declarative_user_script_manager.h" |
#include "chrome/browser/extensions/extension_action.h" |
#include "chrome/browser/extensions/extension_action_manager.h" |
@@ -350,11 +351,13 @@ RequestContentScript::RequestContentScript( |
content::BrowserContext* browser_context, |
const Extension* extension, |
const ScriptData& script_data) { |
- InitScript(extension, script_data); |
- |
+ const RequestKey key(extension->id()); |
+ const ConsumerID& consumer_id = ConsumerIDFactory::Create( |
+ key, ConsumerID::EXTENSIONS, ConsumerID::TAB); |
master_ = ExtensionSystem::Get(browser_context) |
->declarative_user_script_manager() |
- ->GetDeclarativeUserScriptMasterByID(extension->id()); |
+ ->GetDeclarativeUserScriptMasterByID(consumer_id); |
+ InitScript(extension, script_data); |
AddScript(); |
} |
@@ -362,21 +365,20 @@ RequestContentScript::RequestContentScript( |
DeclarativeUserScriptMaster* master, |
const Extension* extension, |
const ScriptData& script_data) { |
+ master_.reset(master); |
InitScript(extension, script_data); |
- |
- master_ = master; |
AddScript(); |
} |
RequestContentScript::~RequestContentScript() { |
- DCHECK(master_); |
+ DCHECK(master_.get()); |
master_->RemoveScript(script_); |
} |
void RequestContentScript::InitScript(const Extension* extension, |
const ScriptData& script_data) { |
script_.set_id(UserScript::GenerateUserScriptID()); |
- script_.set_extension_id(extension->id()); |
+ script_.set_consumer_id(master_->consumer_id()); |
script_.set_run_location(UserScript::BROWSER_DRIVEN); |
script_.set_match_all_frames(script_data.all_frames); |
script_.set_match_about_blank(script_data.match_about_blank); |