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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 disposeUnderlyingV8Object(isolate(), m_windowScriptNPObject); | 126 disposeUnderlyingV8Object(isolate(), m_windowScriptNPObject); |
127 _NPN_ReleaseObject(m_windowScriptNPObject); | 127 _NPN_ReleaseObject(m_windowScriptNPObject); |
128 m_windowScriptNPObject = 0; | 128 m_windowScriptNPObject = 0; |
129 } | 129 } |
130 } | 130 } |
131 | 131 |
132 void ScriptController::clearForClose() | 132 void ScriptController::clearForClose() |
133 { | 133 { |
134 double start = currentTime(); | 134 double start = currentTime(); |
135 m_windowProxyManager->clearForClose(); | 135 m_windowProxyManager->clearForClose(); |
136 blink::Platform::current()->histogramCustomCounts("WebCore.ScriptController.
clearForClose", (currentTime() - start) * 1000, 0, 10000, 50); | 136 Platform::current()->histogramCustomCounts("WebCore.ScriptController.clearFo
rClose", (currentTime() - start) * 1000, 0, 10000, 50); |
137 } | 137 } |
138 | 138 |
139 void ScriptController::updateSecurityOrigin(SecurityOrigin* origin) | 139 void ScriptController::updateSecurityOrigin(SecurityOrigin* origin) |
140 { | 140 { |
141 m_windowProxyManager->mainWorldProxy()->updateSecurityOrigin(origin); | 141 m_windowProxyManager->mainWorldProxy()->updateSecurityOrigin(origin); |
142 } | 142 } |
143 | 143 |
144 v8::MaybeLocal<v8::Value> ScriptController::callFunction(v8::Local<v8::Function>
function, v8::Local<v8::Value> receiver, int argc, v8::Local<v8::Value> info[]) | 144 v8::MaybeLocal<v8::Value> ScriptController::callFunction(v8::Local<v8::Function>
function, v8::Local<v8::Value> receiver, int argc, v8::Local<v8::Value> info[]) |
145 { | 145 { |
146 // Keep LocalFrame (and therefore ScriptController) alive. | 146 // Keep LocalFrame (and therefore ScriptController) alive. |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 { | 399 { |
400 // V8 binding expects ScriptController::clearWindowProxy only be called | 400 // V8 binding expects ScriptController::clearWindowProxy only be called |
401 // when a frame is loading a new page. This creates a new context for the ne
w page. | 401 // when a frame is loading a new page. This creates a new context for the ne
w page. |
402 | 402 |
403 double start = currentTime(); | 403 double start = currentTime(); |
404 // The V8 context must be available for |clearScriptObjects()|. | 404 // The V8 context must be available for |clearScriptObjects()|. |
405 // The below call must be before |clearForNavigation()| which disposes the V
8 context. | 405 // The below call must be before |clearForNavigation()| which disposes the V
8 context. |
406 clearScriptObjects(); | 406 clearScriptObjects(); |
407 | 407 |
408 m_windowProxyManager->clearForNavigation(); | 408 m_windowProxyManager->clearForNavigation(); |
409 blink::Platform::current()->histogramCustomCounts("WebCore.ScriptController.
clearWindowProxy", (currentTime() - start) * 1000, 0, 10000, 50); | 409 Platform::current()->histogramCustomCounts("WebCore.ScriptController.clearWi
ndowProxy", (currentTime() - start) * 1000, 0, 10000, 50); |
410 } | 410 } |
411 | 411 |
412 void ScriptController::setCaptureCallStackForUncaughtExceptions(bool value) | 412 void ScriptController::setCaptureCallStackForUncaughtExceptions(bool value) |
413 { | 413 { |
414 v8::V8::SetCaptureStackTraceForUncaughtExceptions(value, ScriptCallStack::ma
xCallStackSizeToCapture, stackTraceOptions); | 414 v8::V8::SetCaptureStackTraceForUncaughtExceptions(value, ScriptCallStack::ma
xCallStackSizeToCapture, stackTraceOptions); |
415 } | 415 } |
416 | 416 |
417 void ScriptController::collectIsolatedContexts(Vector<std::pair<ScriptState*, Se
curityOrigin*>>& result) | 417 void ScriptController::collectIsolatedContexts(Vector<std::pair<ScriptState*, Se
curityOrigin*>>& result) |
418 { | 418 { |
419 m_windowProxyManager->collectIsolatedContexts(result); | 419 m_windowProxyManager->collectIsolatedContexts(result); |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 for (size_t i = 0; i < resultArray->Length(); ++i) { | 590 for (size_t i = 0; i < resultArray->Length(); ++i) { |
591 v8::Local<v8::Value> value; | 591 v8::Local<v8::Value> value; |
592 if (!resultArray->Get(scriptState->context(), i).ToLocal(&value)) | 592 if (!resultArray->Get(scriptState->context(), i).ToLocal(&value)) |
593 return; | 593 return; |
594 results->append(value); | 594 results->append(value); |
595 } | 595 } |
596 } | 596 } |
597 } | 597 } |
598 | 598 |
599 } // namespace blink | 599 } // namespace blink |
OLD | NEW |