Index: 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 21845aa47ec48b07e549e7b449c10d0641799358..aebf61f46b4dd9dcec948e8cfa5326fea796cef3 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()) { |