Index: third_party/WebKit/Source/bindings/core/v8/ScheduledAction.cpp |
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScheduledAction.cpp b/third_party/WebKit/Source/bindings/core/v8/ScheduledAction.cpp |
index e395e84105f5c0b3b08eff72f22df8340f73ab9a..a84d288607e9a7e17d3355500fd5f8f79dd1d362 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/ScheduledAction.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/ScheduledAction.cpp |
@@ -30,6 +30,7 @@ |
#include "bindings/core/v8/ScheduledAction.h" |
+#include "bindings/core/v8/BindingSecurity.h" |
#include "bindings/core/v8/ScriptController.h" |
#include "bindings/core/v8/ScriptSourceCode.h" |
#include "bindings/core/v8/SourceLocation.h" |
@@ -46,14 +47,26 @@ |
namespace blink { |
ScheduledAction* ScheduledAction::create(ScriptState* scriptState, |
+ ExecutionContext* target, |
const ScriptValue& handler, |
const Vector<ScriptValue>& arguments) { |
ASSERT(handler.isFunction()); |
+ if (!scriptState->world().isWorkerWorld()) { |
+ CHECK(BindingSecurity::shouldAllowAccessToFrame( |
+ enteredDOMWindow(scriptState->isolate()), toDocument(target)->frame(), |
+ BindingSecurity::ErrorReportOption::DoNotReport)); |
+ } |
return new ScheduledAction(scriptState, handler, arguments); |
} |
ScheduledAction* ScheduledAction::create(ScriptState* scriptState, |
+ ExecutionContext* target, |
const String& handler) { |
+ if (!scriptState->world().isWorkerWorld()) { |
+ CHECK(BindingSecurity::shouldAllowAccessToFrame( |
+ enteredDOMWindow(scriptState->isolate()), toDocument(target)->frame(), |
+ BindingSecurity::ErrorReportOption::DoNotReport)); |
+ } |
return new ScheduledAction(scriptState, handler); |
} |