From 79f7a57302cae3f7afcd53c6dff542e32bada999 Mon Sep 17 00:00:00 2001 From: hanxi Date: Mon, 9 Mar 2015 13:46:59 -0700 Subject: Enable .executeScript outside of Apps and Extensions [1] This patch enables javascript code injection like .executeScript({code: ...}), but does not include file injection like .executeScript({file: ...}). File injection will be in another patch. BUG=434081 Review URL: https://codereview.chromium.org/942533003 Cr-Commit-Position: refs/heads/master@{#319727} --- extensions/browser/api/execute_code_function.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'extensions/browser/api/execute_code_function.cc') diff --git a/extensions/browser/api/execute_code_function.cc b/extensions/browser/api/execute_code_function.cc index 21845aa..aebf61f 100644 --- a/extensions/browser/api/execute_code_function.cc +++ b/extensions/browser/api/execute_code_function.cc @@ -129,7 +129,7 @@ bool ExecuteCodeFunction::Execute(const std::string& code_string) { if (!executor) return false; - if (!extension()) + if (!extension() && !IsWebView()) return false; ScriptExecutor::ScriptType script_type = ScriptExecutor::JAVASCRIPT; @@ -162,7 +162,7 @@ bool ExecuteCodeFunction::Execute(const std::string& code_string) { CHECK_NE(UserScript::UNDEFINED, run_at); executor->ExecuteScript( - extension()->id(), + host_id_, script_type, code_string, frame_scope, @@ -204,6 +204,10 @@ bool ExecuteCodeFunction::RunAsync() { if (!details_->file.get()) return false; + + if (!extension()) + return false; + resource_ = extension()->GetResource(*details_->file); if (resource_.extension_root().empty() || resource_.relative_path().empty()) { -- cgit v1.1