| Index: extensions/renderer/script_injection_manager.cc
|
| diff --git a/extensions/renderer/script_injection_manager.cc b/extensions/renderer/script_injection_manager.cc
|
| index 36895479cf2e4237d17ddf4d4fe3ea32cf21144b..e52708dde69600ace521cf4be38d69a279ccec68 100644
|
| --- a/extensions/renderer/script_injection_manager.cc
|
| +++ b/extensions/renderer/script_injection_manager.cc
|
| @@ -19,6 +19,7 @@
|
| #include "extensions/renderer/programmatic_script_injector.h"
|
| #include "extensions/renderer/script_injection.h"
|
| #include "extensions/renderer/scripts_run_info.h"
|
| +#include "extensions/renderer/web_ui_injection_host.h"
|
| #include "ipc/ipc_message_macros.h"
|
| #include "third_party/WebKit/public/web/WebDocument.h"
|
| #include "third_party/WebKit/public/web/WebFrame.h"
|
| @@ -433,17 +434,22 @@ void ScriptInjectionManager::HandleExecuteCode(
|
| return;
|
| }
|
|
|
| - scoped_ptr<const ExtensionInjectionHost> extension_injection_host =
|
| - ExtensionInjectionHost::Create(params.extension_id, extensions_);
|
| -
|
| - if (!extension_injection_host)
|
| - return;
|
| + scoped_ptr<const InjectionHost> injection_host;
|
| + if (params.host_type == HostID::EXTENSIONS) {
|
| + injection_host =
|
| + ExtensionInjectionHost::Create(params.host_id, extensions_).Pass();
|
| + if (!injection_host)
|
| + return;
|
| + } else if (params.host_type == HostID::WEBUI) {
|
| + injection_host = WebUIInjectionHost::Create(
|
| + HostID(params.host_type, params.host_id)).Pass();
|
| + }
|
|
|
| scoped_ptr<ScriptInjection> injection(new ScriptInjection(
|
| scoped_ptr<ScriptInjector>(
|
| new ProgrammaticScriptInjector(params, main_frame)),
|
| main_frame,
|
| - extension_injection_host.Pass(),
|
| + injection_host.Pass(),
|
| params.is_web_view ? UserScript::ConsumerInstanceType::WEBVIEW
|
| : UserScript::ConsumerInstanceType::TAB,
|
| static_cast<UserScript::RunLocation>(params.run_at),
|
|
|