OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008, 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2008, 2009 Google Inc. All rights reserved. |
3 * Copyright (C) 2009 Apple Inc. All rights reserved. | 3 * Copyright (C) 2009 Apple Inc. All rights reserved. |
4 * Copyright (C) 2014 Opera Software ASA. All rights reserved. | 4 * Copyright (C) 2014 Opera Software ASA. All rights reserved. |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions are | 7 * modification, are permitted provided that the following conditions are |
8 * met: | 8 * met: |
9 * | 9 * |
10 * * Redistributions of source code must retain the above copyright | 10 * * Redistributions of source code must retain the above copyright |
(...skipping 14 matching lines...) Expand all Loading... |
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
31 */ | 31 */ |
32 | 32 |
33 #include "bindings/core/v8/ScriptController.h" | 33 #include "bindings/core/v8/ScriptController.h" |
34 | 34 |
35 #include "bindings/core/v8/BindingSecurity.h" | |
36 #include "bindings/core/v8/ScriptSourceCode.h" | 35 #include "bindings/core/v8/ScriptSourceCode.h" |
37 #include "bindings/core/v8/ScriptValue.h" | 36 #include "bindings/core/v8/ScriptValue.h" |
38 #include "bindings/core/v8/V8Binding.h" | 37 #include "bindings/core/v8/V8Binding.h" |
39 #include "bindings/core/v8/V8Event.h" | 38 #include "bindings/core/v8/V8Event.h" |
40 #include "bindings/core/v8/V8GCController.h" | 39 #include "bindings/core/v8/V8GCController.h" |
41 #include "bindings/core/v8/V8HTMLElement.h" | 40 #include "bindings/core/v8/V8HTMLElement.h" |
42 #include "bindings/core/v8/V8PerContextData.h" | 41 #include "bindings/core/v8/V8PerContextData.h" |
43 #include "bindings/core/v8/V8ScriptRunner.h" | 42 #include "bindings/core/v8/V8ScriptRunner.h" |
44 #include "bindings/core/v8/V8Window.h" | 43 #include "bindings/core/v8/V8Window.h" |
45 #include "bindings/core/v8/WindowProxy.h" | 44 #include "bindings/core/v8/WindowProxy.h" |
(...skipping 25 matching lines...) Expand all Loading... |
71 #include "public/platform/Platform.h" | 70 #include "public/platform/Platform.h" |
72 #include "wtf/CurrentTime.h" | 71 #include "wtf/CurrentTime.h" |
73 #include "wtf/StdLibExtras.h" | 72 #include "wtf/StdLibExtras.h" |
74 #include "wtf/StringExtras.h" | 73 #include "wtf/StringExtras.h" |
75 #include "wtf/text/CString.h" | 74 #include "wtf/text/CString.h" |
76 #include "wtf/text/StringBuilder.h" | 75 #include "wtf/text/StringBuilder.h" |
77 #include "wtf/text/TextPosition.h" | 76 #include "wtf/text/TextPosition.h" |
78 | 77 |
79 namespace blink { | 78 namespace blink { |
80 | 79 |
81 bool ScriptController::canAccessFromCurrentOrigin(v8::Isolate* isolate, | |
82 Frame* frame) { | |
83 if (!frame) | |
84 return false; | |
85 return !isolate->InContext() || | |
86 BindingSecurity::shouldAllowAccessToFrame( | |
87 currentDOMWindow(isolate), frame, | |
88 BindingSecurity::ErrorReportOption::Report); | |
89 } | |
90 | |
91 ScriptController::ScriptController(LocalFrame* frame) | 80 ScriptController::ScriptController(LocalFrame* frame) |
92 : m_windowProxyManager(WindowProxyManager::create(*frame)) {} | 81 : m_windowProxyManager(WindowProxyManager::create(*frame)) {} |
93 | 82 |
94 DEFINE_TRACE(ScriptController) { | 83 DEFINE_TRACE(ScriptController) { |
95 visitor->trace(m_windowProxyManager); | 84 visitor->trace(m_windowProxyManager); |
96 } | 85 } |
97 | 86 |
98 void ScriptController::clearForClose() { | 87 void ScriptController::clearForClose() { |
99 m_windowProxyManager->clearForClose(); | 88 m_windowProxyManager->clearForClose(); |
100 MainThreadDebugger::instance()->didClearContextsForFrame(frame()); | 89 MainThreadDebugger::instance()->didClearContextsForFrame(frame()); |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 for (size_t i = 0; i < resultArray->Length(); ++i) { | 456 for (size_t i = 0; i < resultArray->Length(); ++i) { |
468 v8::Local<v8::Value> value; | 457 v8::Local<v8::Value> value; |
469 if (!resultArray->Get(scriptState->context(), i).ToLocal(&value)) | 458 if (!resultArray->Get(scriptState->context(), i).ToLocal(&value)) |
470 return; | 459 return; |
471 results->append(value); | 460 results->append(value); |
472 } | 461 } |
473 } | 462 } |
474 } | 463 } |
475 | 464 |
476 } // namespace blink | 465 } // namespace blink |
OLD | NEW |