| 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);
|
|
|