summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/bindings/core/v8/script_controller.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/bindings/core/v8/script_controller.cc')
-rw-r--r--chromium/third_party/blink/renderer/bindings/core/v8/script_controller.cc40
1 files changed, 22 insertions, 18 deletions
diff --git a/chromium/third_party/blink/renderer/bindings/core/v8/script_controller.cc b/chromium/third_party/blink/renderer/bindings/core/v8/script_controller.cc
index a875e304b0d..913248754c8 100644
--- a/chromium/third_party/blink/renderer/bindings/core/v8/script_controller.cc
+++ b/chromium/third_party/blink/renderer/bindings/core/v8/script_controller.cc
@@ -88,8 +88,8 @@ v8::Local<v8::Value> ScriptController::ExecuteScriptAndReturnValue(
v8::Local<v8::Context> context,
const ScriptSourceCode& source,
const KURL& base_url,
- const ScriptFetchOptions& fetch_options,
- AccessControlStatus access_control_status) {
+ AccessControlStatus access_control_status,
+ const ScriptFetchOptions& fetch_options) {
TRACE_EVENT1(
"devtools.timeline", "EvaluateScript", "data",
InspectorEvaluateScriptEvent::Data(GetFrame(), source.Url().GetString(),
@@ -188,7 +188,7 @@ V8Extensions& ScriptController::RegisteredExtensions() {
void ScriptController::RegisterExtensionIfNeeded(v8::Extension* extension) {
const V8Extensions& extensions = RegisteredExtensions();
- for (size_t i = 0; i < extensions.size(); ++i) {
+ for (wtf_size_t i = 0; i < extensions.size(); ++i) {
if (extensions[i] == extension)
return;
}
@@ -251,9 +251,10 @@ bool ScriptController::ExecuteScriptIfJavaScriptURL(const KURL& url,
// Step 12.9 "Let script be result of creating a classic script given script
// source, settings, base URL, and the default classic script fetch options."
// [spec text]
+ // We pass |kSharableCrossOrigin| because |muted errors| is false by default.
v8::Local<v8::Value> result = EvaluateScriptInMainWorld(
ScriptSourceCode(script_source, ScriptSourceLocationType::kJavascriptUrl),
- base_url, ScriptFetchOptions(), kNotSharableCrossOrigin,
+ base_url, kSharableCrossOrigin, ScriptFetchOptions(),
kDoNotExecuteScriptWhenScriptsDisabled);
// If executing script caused this frame to be removed from the page, we
@@ -285,35 +286,36 @@ void ScriptController::ExecuteScriptInMainWorld(
ExecuteScriptPolicy policy) {
v8::HandleScope handle_scope(GetIsolate());
EvaluateScriptInMainWorld(ScriptSourceCode(script, source_location_type),
- KURL(), ScriptFetchOptions(),
- kNotSharableCrossOrigin, policy);
+ KURL(), kOpaqueResource, ScriptFetchOptions(),
+ policy);
}
void ScriptController::ExecuteScriptInMainWorld(
const ScriptSourceCode& source_code,
const KURL& base_url,
- const ScriptFetchOptions& fetch_options,
- AccessControlStatus access_control_status) {
+ AccessControlStatus access_control_status,
+ const ScriptFetchOptions& fetch_options) {
v8::HandleScope handle_scope(GetIsolate());
- EvaluateScriptInMainWorld(source_code, base_url, fetch_options,
- access_control_status,
+ EvaluateScriptInMainWorld(source_code, base_url, access_control_status,
+ fetch_options,
kDoNotExecuteScriptWhenScriptsDisabled);
}
v8::Local<v8::Value> ScriptController::ExecuteScriptInMainWorldAndReturnValue(
const ScriptSourceCode& source_code,
const KURL& base_url,
+ AccessControlStatus access_control_status,
const ScriptFetchOptions& fetch_options,
ExecuteScriptPolicy policy) {
- return EvaluateScriptInMainWorld(source_code, base_url, fetch_options,
- kNotSharableCrossOrigin, policy);
+ return EvaluateScriptInMainWorld(source_code, base_url, access_control_status,
+ fetch_options, policy);
}
v8::Local<v8::Value> ScriptController::EvaluateScriptInMainWorld(
const ScriptSourceCode& source_code,
const KURL& base_url,
- const ScriptFetchOptions& fetch_options,
AccessControlStatus access_control_status,
+ const ScriptFetchOptions& fetch_options,
ExecuteScriptPolicy policy) {
if (policy == kDoNotExecuteScriptWhenScriptsDisabled &&
!GetFrame()->GetDocument()->CanExecuteScripts(kAboutToExecuteScript))
@@ -331,8 +333,8 @@ v8::Local<v8::Value> ScriptController::EvaluateScriptInMainWorld(
GetFrame()->Loader().DidAccessInitialDocument();
v8::Local<v8::Value> object = ExecuteScriptAndReturnValue(
- script_state->GetContext(), source_code, base_url, fetch_options,
- access_control_status);
+ script_state->GetContext(), source_code, base_url, access_control_status,
+ fetch_options);
if (object.IsEmpty())
return v8::Local<v8::Value>();
@@ -342,7 +344,9 @@ v8::Local<v8::Value> ScriptController::EvaluateScriptInMainWorld(
v8::Local<v8::Value> ScriptController::ExecuteScriptInIsolatedWorld(
int world_id,
- const ScriptSourceCode& source) {
+ const ScriptSourceCode& source,
+ const KURL& base_url,
+ AccessControlStatus access_control_status) {
DCHECK_GT(world_id, 0);
scoped_refptr<DOMWrapperWorld> world =
@@ -354,8 +358,8 @@ v8::Local<v8::Value> ScriptController::ExecuteScriptInIsolatedWorld(
isolated_world_window_proxy->ContextIfInitialized();
v8::Context::Scope scope(context);
- v8::Local<v8::Value> evaluation_result =
- ExecuteScriptAndReturnValue(context, source);
+ v8::Local<v8::Value> evaluation_result = ExecuteScriptAndReturnValue(
+ context, source, base_url, access_control_status);
if (!evaluation_result.IsEmpty())
return evaluation_result;
return v8::Local<v8::Value>::New(GetIsolate(), v8::Undefined(GetIsolate()));