<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[190036] trunk/Source/WebCore</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/190036">190036</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2015-09-20 19:42:29 -0700 (Sun, 20 Sep 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Pass JSC::ExecState to the custom bindings by reference
https://bugs.webkit.org/show_bug.cgi?id=149393
Reviewed by Sam Weinig.
Pass JSC::ExecState to the custom bindings by reference instead of by
pointer as it is expected to be non-null.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsQuickTimePluginReplacementmm">trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSAudioBufferSourceNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSAudioTrackCustomcpp">trunk/Source/WebCore/bindings/js/JSAudioTrackCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSBiquadFilterNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCSSStyleDeclarationCustomcpp">trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCanvasRenderingContext2DCustomcpp">trunk/Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCharacterDataCustomcpp">trunk/Source/WebCore/bindings/js/JSCharacterDataCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCommandLineAPIHostCustomcpp">trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCryptoCustomcpp">trunk/Source/WebCore/bindings/js/JSCryptoCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCryptoKeyCustomcpp">trunk/Source/WebCore/bindings/js/JSCryptoKeyCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCustomEventCustomcpp">trunk/Source/WebCore/bindings/js/JSCustomEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMFormDataCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMTokenListCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMTokenListCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDataCueCustomcpp">trunk/Source/WebCore/bindings/js/JSDataCueCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDataTransferCustomcpp">trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDedicatedWorkerGlobalScopeCustomcpp">trunk/Source/WebCore/bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDeviceMotionEventCustomcpp">trunk/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDeviceOrientationEventCustomcpp">trunk/Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDictionarycpp">trunk/Source/WebCore/bindings/js/JSDictionary.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDocumentCustomcpp">trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDocumentFragmentCustomcpp">trunk/Source/WebCore/bindings/js/JSDocumentFragmentCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDocumentTypeCustomcpp">trunk/Source/WebCore/bindings/js/JSDocumentTypeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSElementCustomcpp">trunk/Source/WebCore/bindings/js/JSElementCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSEventCustomcpp">trunk/Source/WebCore/bindings/js/JSEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSFileReaderCustomcpp">trunk/Source/WebCore/bindings/js/JSFileReaderCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSGeolocationCustomcpp">trunk/Source/WebCore/bindings/js/JSGeolocationCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLAllCollectionCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLCanvasElementCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLDocumentCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLFormControlsCollectionCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLFormControlsCollectionCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLFrameElementCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLInputElementCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLInputElementCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLMediaElementCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLMediaElementCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLOptionsCollectionCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLSelectElementCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLTemplateElementCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHistoryCustomcpp">trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSIDBDatabaseCustomcpp">trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSIDBObjectStoreCustomcpp">trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSInspectorFrontendHostCustomcpp">trunk/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSLocationCustomcpp">trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMediaSourceStatesCustomcpp">trunk/Source/WebCore/bindings/js/JSMediaSourceStatesCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMessageEventCustomcpp">trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMessagePortCustomcpp">trunk/Source/WebCore/bindings/js/JSMessagePortCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMessagePortCustomh">trunk/Source/WebCore/bindings/js/JSMessagePortCustom.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMockContentFilterSettingsCustomcpp">trunk/Source/WebCore/bindings/js/JSMockContentFilterSettingsCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSNavigatorCustomcpp">trunk/Source/WebCore/bindings/js/JSNavigatorCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSOscillatorNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSPannerNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSPopStateEventCustomcpp">trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSReadableStreamCustomcpp">trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSReadableStreamReaderCustomcpp">trunk/Source/WebCore/bindings/js/JSReadableStreamReaderCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSSQLResultSetRowListCustomcpp">trunk/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSSQLTransactionCustomcpp">trunk/Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSSVGLengthCustomcpp">trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSSubtleCryptoCustomcpp">trunk/Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSTextTrackCustomcpp">trunk/Source/WebCore/bindings/js/JSTextTrackCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSTrackEventCustomcpp">trunk/Source/WebCore/bindings/js/JSTrackEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSVideoTrackCustomcpp">trunk/Source/WebCore/bindings/js/JSVideoTrackCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSWebGLRenderingContextBaseCustomcpp">trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextBaseCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSWorkerCustomcpp">trunk/Source/WebCore/bindings/js/JSWorkerCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSWorkerGlobalScopeCustomcpp">trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSXMLHttpRequestCustomcpp">trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSXSLTProcessorCustomcpp">trunk/Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfaceh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/ChangeLog        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -1,5 +1,15 @@
</span><span class="cx"> 2015-09-20 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><ins>+ Pass JSC::ExecState to the custom bindings by reference
+ https://bugs.webkit.org/show_bug.cgi?id=149393
+
+ Reviewed by Sam Weinig.
+
+ Pass JSC::ExecState to the custom bindings by reference instead of by
+ pointer as it is expected to be non-null.
+
+2015-09-20 Chris Dumez <cdumez@apple.com>
+
</ins><span class="cx"> Regression(r190023): fast/dom/navigation-with-sideeffects-crash.html is crashing
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=149392
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsQuickTimePluginReplacementmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -366,7 +366,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-JSC::JSValue JSQuickTimePluginReplacement::timedMetaData(JSC::ExecState* exec) const
</del><ins>+JSC::JSValue JSQuickTimePluginReplacement::timedMetaData(JSC::ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> HTMLVideoElement* parent = impl().parentElement();
</span><span class="lines">@@ -384,14 +384,14 @@
</span><span class="cx"> JSContext *jsContext = frame->script().javaScriptContext();
</span><span class="cx"> JSValue *metaDataValue = jsValueWithValueInContext(metaData, jsContext);
</span><span class="cx">
</span><del>- return toJS(exec, [metaDataValue JSValueRef]);
</del><ins>+ return toJS(&state, [metaDataValue JSValueRef]);
</ins><span class="cx"> #else
</span><del>- UNUSED_PARAM(exec);
</del><ins>+ UNUSED_PARAM(state);
</ins><span class="cx"> return JSC::jsNull();
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSQuickTimePluginReplacement::accessLog(JSC::ExecState* exec) const
</del><ins>+JSC::JSValue JSQuickTimePluginReplacement::accessLog(JSC::ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> HTMLVideoElement* parent = impl().parentElement();
</span><span class="lines">@@ -406,14 +406,14 @@
</span><span class="cx"> String accessLogString = parent->player()->accessLog();
</span><span class="cx"> [dictionary setValue:static_cast<NSString *>(accessLogString) forProperty:(NSString *)CFSTR("extendedLog")];
</span><span class="cx">
</span><del>- return toJS(exec, [dictionary JSValueRef]);
</del><ins>+ return toJS(&state, [dictionary JSValueRef]);
</ins><span class="cx"> #else
</span><del>- UNUSED_PARAM(exec);
</del><ins>+ UNUSED_PARAM(state);
</ins><span class="cx"> return JSC::jsNull();
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSQuickTimePluginReplacement::errorLog(JSC::ExecState* exec) const
</del><ins>+JSC::JSValue JSQuickTimePluginReplacement::errorLog(JSC::ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> HTMLVideoElement* parent = impl().parentElement();
</span><span class="lines">@@ -428,9 +428,9 @@
</span><span class="cx"> String errorLogString = parent->player()->errorLog();
</span><span class="cx"> [dictionary setValue:static_cast<NSString *>(errorLogString) forProperty:(NSString *)CFSTR("extendedLog")];
</span><span class="cx">
</span><del>- return toJS(exec, [dictionary JSValueRef]);
</del><ins>+ return toJS(&state, [dictionary JSValueRef]);
</ins><span class="cx"> #else
</span><del>- UNUSED_PARAM(exec);
</del><ins>+ UNUSED_PARAM(state);
</ins><span class="cx"> return JSC::jsNull();
</span><span class="cx"> #endif
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSAudioBufferSourceNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -39,16 +39,16 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-void JSAudioBufferSourceNode::setBuffer(ExecState* exec, JSValue value)
</del><ins>+void JSAudioBufferSourceNode::setBuffer(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> AudioBuffer* buffer = JSAudioBuffer::toWrapped(value);
</span><span class="cx"> if (!buffer) {
</span><del>- exec->vm().throwException(exec, createTypeError(exec, "Value is not of type AudioBuffer"));
</del><ins>+ state.vm().throwException(&state, createTypeError(&state, "Value is not of type AudioBuffer"));
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (!impl().setBuffer(buffer))
</span><del>- exec->vm().throwException(exec, createTypeError(exec, "AudioBuffer unsupported number of channels"));
</del><ins>+ state.vm().throwException(&state, createTypeError(&state, "AudioBuffer unsupported number of channels"));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSAudioTrackCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSAudioTrackCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSAudioTrackCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSAudioTrackCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -40,28 +40,28 @@
</span><span class="cx"> visitor.addOpaqueRoot(root(&impl()));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSAudioTrack::setKind(ExecState* exec, JSValue value)
</del><ins>+void JSAudioTrack::setKind(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><del>- auto& string = value.toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ auto& string = value.toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx"> impl().setKind(string);
</span><span class="cx"> #else
</span><del>- UNUSED_PARAM(exec);
</del><ins>+ UNUSED_PARAM(state);
</ins><span class="cx"> UNUSED_PARAM(value);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSAudioTrack::setLanguage(ExecState* exec, JSValue value)
</del><ins>+void JSAudioTrack::setLanguage(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><del>- auto& string = value.toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ auto& string = value.toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx"> impl().setLanguage(string);
</span><span class="cx"> #else
</span><del>- UNUSED_PARAM(exec);
</del><ins>+ UNUSED_PARAM(state);
</ins><span class="cx"> UNUSED_PARAM(value);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSBiquadFilterNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -37,26 +37,26 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-void JSBiquadFilterNode::setType(ExecState* exec, JSValue value)
</del><ins>+void JSBiquadFilterNode::setType(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(LEGACY_WEB_AUDIO)
</span><span class="cx"> if (value.isNumber()) {
</span><del>- uint32_t type = value.toUInt32(exec);
</del><ins>+ uint32_t type = value.toUInt32(&state);
</ins><span class="cx"> if (!impl().setType(type))
</span><del>- exec->vm().throwException(exec, createTypeError(exec, "Illegal BiquadFilterNode type"));
</del><ins>+ state.vm().throwException(&state, createTypeError(&state, "Illegal BiquadFilterNode type"));
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> if (value.isString()) {
</span><del>- String type = value.toString(exec)->value(exec);
</del><ins>+ String type = value.toString(&state)->value(&state);
</ins><span class="cx"> if (type == "lowpass" || type == "highpass" || type == "bandpass" || type == "lowshelf" || type == "highshelf" || type == "peaking" || type == "notch" || type == "allpass") {
</span><span class="cx"> impl().setType(type);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- exec->vm().throwException(exec, createTypeError(exec, "Illegal BiquadFilterNode type"));
</del><ins>+ state.vm().throwException(&state, createTypeError(&state, "Illegal BiquadFilterNode type"));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCSSStyleDeclarationCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -347,10 +347,10 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSCSSStyleDeclaration::getPropertyCSSValue(ExecState* exec)
</del><ins>+JSValue JSCSSStyleDeclaration::getPropertyCSSValue(ExecState& state)
</ins><span class="cx"> {
</span><del>- const String& propertyName = exec->argument(0).toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ const String& propertyName = state.argument(0).toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> RefPtr<CSSValue> cssValue = impl().getPropertyCSSValue(propertyName);
</span><span class="lines">@@ -358,7 +358,7 @@
</span><span class="cx"> return jsNull();
</span><span class="cx">
</span><span class="cx"> globalObject()->world().m_cssValueRoots.add(cssValue.get(), root(&impl())); // Balanced by JSCSSValueOwner::finalize().
</span><del>- return toJS(exec, globalObject(), WTF::getPtr(cssValue));
</del><ins>+ return toJS(&state, globalObject(), WTF::getPtr(cssValue));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void JSCSSStyleDeclaration::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCanvasRenderingContext2DCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -59,37 +59,37 @@
</span><span class="cx"> return CanvasStyle();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSCanvasRenderingContext2D::strokeStyle(ExecState* exec) const
</del><ins>+JSValue JSCanvasRenderingContext2D::strokeStyle(ExecState& state) const
</ins><span class="cx"> {
</span><del>- return toJS(exec, globalObject(), impl().strokeStyle());
</del><ins>+ return toJS(&state, globalObject(), impl().strokeStyle());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void JSCanvasRenderingContext2D::setStrokeStyle(ExecState* exec, JSValue value)
</del><ins>+void JSCanvasRenderingContext2D::setStrokeStyle(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> CanvasRenderingContext2D& context = impl();
</span><span class="cx"> if (value.isString()) {
</span><del>- context.setStrokeColor(asString(value)->value(exec));
</del><ins>+ context.setStrokeColor(asString(value)->value(&state));
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><del>- context.setStrokeStyle(toHTMLCanvasStyle(exec, value));
</del><ins>+ context.setStrokeStyle(toHTMLCanvasStyle(&state, value));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSCanvasRenderingContext2D::fillStyle(ExecState* exec) const
</del><ins>+JSValue JSCanvasRenderingContext2D::fillStyle(ExecState& state) const
</ins><span class="cx"> {
</span><del>- return toJS(exec, globalObject(), impl().fillStyle());
</del><ins>+ return toJS(&state, globalObject(), impl().fillStyle());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void JSCanvasRenderingContext2D::setFillStyle(ExecState* exec, JSValue value)
</del><ins>+void JSCanvasRenderingContext2D::setFillStyle(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> CanvasRenderingContext2D& context = impl();
</span><span class="cx"> if (value.isString()) {
</span><del>- context.setFillColor(asString(value)->value(exec));
</del><ins>+ context.setFillColor(asString(value)->value(&state));
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><del>- context.setFillStyle(toHTMLCanvasStyle(exec, value));
</del><ins>+ context.setFillStyle(toHTMLCanvasStyle(&state, value));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSCanvasRenderingContext2D::webkitLineDash(ExecState* exec) const
</del><ins>+JSValue JSCanvasRenderingContext2D::webkitLineDash(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> const Vector<float>& dash = impl().getLineDash();
</span><span class="cx">
</span><span class="lines">@@ -97,10 +97,10 @@
</span><span class="cx"> Vector<float>::const_iterator end = dash.end();
</span><span class="cx"> for (Vector<float>::const_iterator it = dash.begin(); it != end; ++it)
</span><span class="cx"> list.append(JSValue(*it));
</span><del>- return constructArray(exec, 0, globalObject(), list);
</del><ins>+ return constructArray(&state, 0, globalObject(), list);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void JSCanvasRenderingContext2D::setWebkitLineDash(ExecState* exec, JSValue value)
</del><ins>+void JSCanvasRenderingContext2D::setWebkitLineDash(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> if (!isJSArray(value))
</span><span class="cx"> return;
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx"> Vector<float> dash;
</span><span class="cx"> JSArray* valueArray = asArray(value);
</span><span class="cx"> for (unsigned i = 0; i < valueArray->length(); ++i) {
</span><del>- float elem = valueArray->getIndex(exec, i).toFloat(exec);
</del><ins>+ float elem = valueArray->getIndex(&state, i).toFloat(&state);
</ins><span class="cx"> if (elem <= 0 || !std::isfinite(elem))
</span><span class="cx"> return;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCharacterDataCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCharacterDataCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCharacterDataCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSCharacterDataCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -33,29 +33,29 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSCharacterData::before(ExecState* state)
</del><ins>+JSValue JSCharacterData::before(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().before(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().before(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSCharacterData::after(ExecState* state)
</del><ins>+JSValue JSCharacterData::after(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().after(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().after(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSCharacterData::replaceWith(ExecState* state)
</del><ins>+JSValue JSCharacterData::replaceWith(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().replaceWith(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().replaceWith(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCommandLineAPIHostCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -55,23 +55,23 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSCommandLineAPIHost::inspectedObject(ExecState* exec)
</del><ins>+JSValue JSCommandLineAPIHost::inspectedObject(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> CommandLineAPIHost::InspectableObject* object = impl().inspectedObject();
</span><span class="cx"> if (!object)
</span><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- JSLockHolder lock(exec);
- Deprecated::ScriptValue scriptValue = object->get(exec);
</del><ins>+ JSLockHolder lock(&state);
+ Deprecated::ScriptValue scriptValue = object->get(&state);
</ins><span class="cx"> if (scriptValue.hasNoValue())
</span><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> return scriptValue.jsValue();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static JSArray* getJSListenerFunctions(ExecState* exec, Document* document, const EventListenerInfo& listenerInfo)
</del><ins>+static JSArray* getJSListenerFunctions(ExecState& state, Document* document, const EventListenerInfo& listenerInfo)
</ins><span class="cx"> {
</span><del>- JSArray* result = constructEmptyArray(exec, nullptr);
</del><ins>+ JSArray* result = constructEmptyArray(&state, nullptr);
</ins><span class="cx"> size_t handlersCount = listenerInfo.eventListenerVector.size();
</span><span class="cx"> for (size_t i = 0, outputIndex = 0; i < handlersCount; ++i) {
</span><span class="cx"> const JSEventListener* jsListener = JSEventListener::cast(listenerInfo.eventListenerVector[i].listener.get());
</span><span class="lines">@@ -81,27 +81,27 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Hide listeners from other contexts.
</span><del>- if (&jsListener->isolatedWorld() != &currentWorld(exec))
</del><ins>+ if (&jsListener->isolatedWorld() != &currentWorld(&state))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> JSObject* function = jsListener->jsFunction(document);
</span><span class="cx"> if (!function)
</span><span class="cx"> continue;
</span><span class="cx">
</span><del>- JSObject* listenerEntry = constructEmptyObject(exec);
- listenerEntry->putDirect(exec->vm(), Identifier::fromString(exec, "listener"), function);
- listenerEntry->putDirect(exec->vm(), Identifier::fromString(exec, "useCapture"), jsBoolean(listenerInfo.eventListenerVector[i].useCapture));
- result->putDirectIndex(exec, outputIndex++, JSValue(listenerEntry));
</del><ins>+ JSObject* listenerEntry = constructEmptyObject(&state);
+ listenerEntry->putDirect(state.vm(), Identifier::fromString(&state, "listener"), function);
+ listenerEntry->putDirect(state.vm(), Identifier::fromString(&state, "useCapture"), jsBoolean(listenerInfo.eventListenerVector[i].useCapture));
+ result->putDirectIndex(&state, outputIndex++, JSValue(listenerEntry));
</ins><span class="cx"> }
</span><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSCommandLineAPIHost::getEventListeners(ExecState* exec)
</del><ins>+JSValue JSCommandLineAPIHost::getEventListeners(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 1)
</del><ins>+ if (state.argumentCount() < 1)
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- JSValue value = exec->uncheckedArgument(0);
</del><ins>+ JSValue value = state.uncheckedArgument(0);
</ins><span class="cx"> if (!value.isObject() || value.isNull())
</span><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="lines">@@ -112,49 +112,49 @@
</span><span class="cx"> Vector<EventListenerInfo> listenersArray;
</span><span class="cx"> impl().getEventListenersImpl(node, listenersArray);
</span><span class="cx">
</span><del>- JSObject* result = constructEmptyObject(exec);
</del><ins>+ JSObject* result = constructEmptyObject(&state);
</ins><span class="cx"> for (size_t i = 0; i < listenersArray.size(); ++i) {
</span><del>- JSArray* listeners = getJSListenerFunctions(exec, &node->document(), listenersArray[i]);
</del><ins>+ JSArray* listeners = getJSListenerFunctions(state, &node->document(), listenersArray[i]);
</ins><span class="cx"> if (!listeners->length())
</span><span class="cx"> continue;
</span><span class="cx"> AtomicString eventType = listenersArray[i].eventType;
</span><del>- result->putDirect(exec->vm(), Identifier::fromString(exec, eventType.impl()), JSValue(listeners));
</del><ins>+ result->putDirect(state.vm(), Identifier::fromString(&state, eventType.impl()), JSValue(listeners));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSCommandLineAPIHost::inspect(ExecState* exec)
</del><ins>+JSValue JSCommandLineAPIHost::inspect(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() >= 2) {
- Deprecated::ScriptValue object(exec->vm(), exec->uncheckedArgument(0));
- Deprecated::ScriptValue hints(exec->vm(), exec->uncheckedArgument(1));
- impl().inspectImpl(object.toInspectorValue(exec), hints.toInspectorValue(exec));
</del><ins>+ if (state.argumentCount() >= 2) {
+ Deprecated::ScriptValue object(state.vm(), state.uncheckedArgument(0));
+ Deprecated::ScriptValue hints(state.vm(), state.uncheckedArgument(1));
+ impl().inspectImpl(object.toInspectorValue(&state), hints.toInspectorValue(&state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSCommandLineAPIHost::databaseId(ExecState* exec)
</del><ins>+JSValue JSCommandLineAPIHost::databaseId(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 1)
</del><ins>+ if (state.argumentCount() < 1)
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- Database* database = JSDatabase::toWrapped(exec->uncheckedArgument(0));
</del><ins>+ Database* database = JSDatabase::toWrapped(state.uncheckedArgument(0));
</ins><span class="cx"> if (database)
</span><del>- return jsStringWithCache(exec, impl().databaseIdImpl(database));
</del><ins>+ return jsStringWithCache(&state, impl().databaseIdImpl(database));
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSCommandLineAPIHost::storageId(ExecState* exec)
</del><ins>+JSValue JSCommandLineAPIHost::storageId(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 1)
</del><ins>+ if (state.argumentCount() < 1)
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- Storage* storage = JSStorage::toWrapped(exec->uncheckedArgument(0));
</del><ins>+ Storage* storage = JSStorage::toWrapped(state.uncheckedArgument(0));
</ins><span class="cx"> if (storage)
</span><del>- return jsStringWithCache(exec, impl().storageIdImpl(storage));
</del><ins>+ return jsStringWithCache(&state, impl().storageIdImpl(storage));
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCryptoCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCryptoCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCryptoCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSCryptoCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -35,21 +35,21 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSCrypto::getRandomValues(ExecState* exec)
</del><ins>+JSValue JSCrypto::getRandomValues(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 1)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 1)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- JSValue buffer = exec->argument(0);
</del><ins>+ JSValue buffer = state.argument(0);
</ins><span class="cx"> RefPtr<ArrayBufferView> arrayBufferView = toArrayBufferView(buffer);
</span><span class="cx"> if (!arrayBufferView)
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> impl().getRandomValues(arrayBufferView.get(), ec);
</span><span class="cx">
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCryptoKeyCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCryptoKeyCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCryptoKeyCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSCryptoKeyCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -35,9 +35,9 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSCryptoKey::algorithm(JSC::ExecState* exec) const
</del><ins>+JSValue JSCryptoKey::algorithm(JSC::ExecState& state) const
</ins><span class="cx"> {
</span><del>- JSCryptoAlgorithmBuilder builder(exec);
</del><ins>+ JSCryptoAlgorithmBuilder builder(&state);
</ins><span class="cx"> impl().buildAlgorithmDescription(builder);
</span><span class="cx"> return builder.result();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCustomEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCustomEventCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCustomEventCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSCustomEventCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSCustomEvent::detail(ExecState* exec) const
</del><ins>+JSValue JSCustomEvent::detail(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> CustomEvent& event = impl();
</span><span class="cx">
</span><span class="lines">@@ -45,15 +45,15 @@
</span><span class="cx">
</span><span class="cx"> JSValue detail = event.detail().jsValue();
</span><span class="cx">
</span><del>- if (detail.isObject() && &worldForDOMObject(detail.getObject()) != &currentWorld(exec)) {
</del><ins>+ if (detail.isObject() && &worldForDOMObject(detail.getObject()) != &currentWorld(&state)) {
</ins><span class="cx"> // We need to make sure CustomEvents do not leak their detail property across isolated DOM worlds.
</span><span class="cx"> // Ideally, we would check that the worlds have different privileges but that's not possible yet.
</span><del>- RefPtr<SerializedScriptValue> serializedDetail = event.trySerializeDetail(exec);
</del><ins>+ RefPtr<SerializedScriptValue> serializedDetail = event.trySerializeDetail(&state);
</ins><span class="cx">
</span><span class="cx"> if (!serializedDetail)
</span><span class="cx"> return jsNull();
</span><span class="cx">
</span><del>- return serializedDetail->deserialize(exec, globalObject(), nullptr);
</del><ins>+ return serializedDetail->deserialize(&state, globalObject(), nullptr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return detail;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMFormDataCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -55,18 +55,18 @@
</span><span class="cx"> return JSValue::encode(asObject(toJS(exec, jsConstructor->globalObject(), domFormData.get())));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDOMFormData::append(ExecState* exec)
</del><ins>+JSValue JSDOMFormData::append(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() >= 2) {
- String name = exec->argument(0).toString(exec)->value(exec);
- JSValue value = exec->argument(1);
</del><ins>+ if (state.argumentCount() >= 2) {
+ String name = state.argument(0).toString(&state)->value(&state);
+ JSValue value = state.argument(1);
</ins><span class="cx"> if (value.inherits(JSBlob::info())) {
</span><span class="cx"> String filename;
</span><del>- if (exec->argumentCount() >= 3 && !exec->argument(2).isUndefinedOrNull())
- filename = exec->argument(2).toString(exec)->value(exec);
</del><ins>+ if (state.argumentCount() >= 3 && !state.argument(2).isUndefinedOrNull())
+ filename = state.argument(2).toString(&state)->value(&state);
</ins><span class="cx"> impl().append(name, JSBlob::toWrapped(value), filename);
</span><span class="cx"> } else
</span><del>- impl().append(name, value.toString(exec)->value(exec));
</del><ins>+ impl().append(name, value.toString(&state)->value(&state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return jsUndefined();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMTokenListCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMTokenListCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMTokenListCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDOMTokenListCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -34,23 +34,23 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSDOMTokenList::toggle(ExecState* state)
</del><ins>+JSValue JSDOMTokenList::toggle(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (UNLIKELY(state->argumentCount() < 1))
- return state->vm().throwException(state, createNotEnoughArgumentsError(state));
</del><ins>+ if (UNLIKELY(state.argumentCount() < 1))
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- String token = state->argument(0).toString(state)->value(state);
- if (UNLIKELY(state->hadException()))
</del><ins>+ String token = state.argument(0).toString(&state)->value(&state);
+ if (UNLIKELY(state.hadException()))
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> // toggle() needs to be able to distinguish undefined/missing from the false value for the 'force' parameter.
</span><del>- Optional<bool> force = state->argument(1).isUndefined() ? Nullopt : Optional<bool>(state->uncheckedArgument(1).toBoolean(state));
- if (UNLIKELY(state->hadException()))
</del><ins>+ Optional<bool> force = state.argument(1).isUndefined() ? Nullopt : Optional<bool>(state.uncheckedArgument(1).toBoolean(&state));
+ if (UNLIKELY(state.hadException()))
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> JSValue result = jsBoolean(impl().toggle(token, force, ec));
</span><span class="cx">
</span><del>- setDOMException(state, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -469,76 +469,76 @@
</span><span class="cx">
</span><span class="cx"> // Custom Attributes
</span><span class="cx">
</span><del>-void JSDOMWindow::setLocation(ExecState* exec, JSValue value)
</del><ins>+void JSDOMWindow::setLocation(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><span class="cx"> // To avoid breaking old widgets, make "var location =" in a top-level frame create
</span><span class="cx"> // a property named "location" instead of performing a navigation (<rdar://problem/5688039>).
</span><del>- if (Frame* activeFrame = activeDOMWindow(exec).frame()) {
</del><ins>+ if (Frame* activeFrame = activeDOMWindow(&state).frame()) {
</ins><span class="cx"> if (activeFrame->settings().usesDashboardBackwardCompatibilityMode() && !activeFrame->tree().parent()) {
</span><del>- if (BindingSecurity::shouldAllowAccessToDOMWindow(exec, impl()))
- putDirect(exec->vm(), Identifier::fromString(exec, "location"), value);
</del><ins>+ if (BindingSecurity::shouldAllowAccessToDOMWindow(&state, impl()))
+ putDirect(state.vm(), Identifier::fromString(&state, "location"), value);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- String locationString = value.toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ String locationString = value.toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (Location* location = impl().location())
</span><del>- location->setHref(activeDOMWindow(exec), firstDOMWindow(exec), locationString);
</del><ins>+ location->setHref(activeDOMWindow(&state), firstDOMWindow(&state), locationString);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDOMWindow::event(ExecState* exec) const
</del><ins>+JSValue JSDOMWindow::event(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> Event* event = currentEvent();
</span><span class="cx"> if (!event)
</span><span class="cx"> return jsUndefined();
</span><del>- return toJS(exec, const_cast<JSDOMWindow*>(this), event);
</del><ins>+ return toJS(&state, const_cast<JSDOMWindow*>(this), event);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDOMWindow::image(ExecState* exec) const
</del><ins>+JSValue JSDOMWindow::image(ExecState& state) const
</ins><span class="cx"> {
</span><del>- return getDOMConstructor<JSImageConstructor>(exec->vm(), this);
</del><ins>+ return getDOMConstructor<JSImageConstructor>(state.vm(), this);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(IOS_TOUCH_EVENTS)
</span><del>-JSValue JSDOMWindow::touch(ExecState* exec) const
</del><ins>+JSValue JSDOMWindow::touch(ExecState& state) const
</ins><span class="cx"> {
</span><del>- return getDOMConstructor<JSTouchConstructor>(exec->vm(), this);
</del><ins>+ return getDOMConstructor<JSTouchConstructor>(state.vm(), this);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDOMWindow::touchList(ExecState* exec) const
</del><ins>+JSValue JSDOMWindow::touchList(ExecState& state) const
</ins><span class="cx"> {
</span><del>- return getDOMConstructor<JSTouchListConstructor>(exec->vm(), this);
</del><ins>+ return getDOMConstructor<JSTouchListConstructor>(state.vm(), this);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> // Custom functions
</span><span class="cx">
</span><del>-JSValue JSDOMWindow::open(ExecState* exec)
</del><ins>+JSValue JSDOMWindow::open(ExecState& state)
</ins><span class="cx"> {
</span><del>- String urlString = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0));
- if (exec->hadException())
</del><ins>+ String urlString = valueToStringWithUndefinedOrNullCheck(&state, state.argument(0));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><del>- AtomicString frameName = exec->argument(1).isUndefinedOrNull() ? "_blank" : exec->argument(1).toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ AtomicString frameName = state.argument(1).isUndefinedOrNull() ? "_blank" : state.argument(1).toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><del>- String windowFeaturesString = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(2));
- if (exec->hadException())
</del><ins>+ String windowFeaturesString = valueToStringWithUndefinedOrNullCheck(&state, state.argument(2));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- RefPtr<DOMWindow> openedWindow = impl().open(urlString, frameName, windowFeaturesString, activeDOMWindow(exec), firstDOMWindow(exec));
</del><ins>+ RefPtr<DOMWindow> openedWindow = impl().open(urlString, frameName, windowFeaturesString, activeDOMWindow(&state), firstDOMWindow(&state));
</ins><span class="cx"> if (!openedWindow)
</span><span class="cx"> return jsUndefined();
</span><del>- return toJS(exec, openedWindow.get());
</del><ins>+ return toJS(&state, openedWindow.get());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> class DialogHandler {
</span><span class="cx"> public:
</span><del>- explicit DialogHandler(ExecState* exec)
</del><ins>+ explicit DialogHandler(ExecState& exec)
</ins><span class="cx"> : m_exec(exec)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -547,7 +547,7 @@
</span><span class="cx"> JSValue returnValue() const;
</span><span class="cx">
</span><span class="cx"> private:
</span><del>- ExecState* m_exec;
</del><ins>+ ExecState& m_exec;
</ins><span class="cx"> RefPtr<Frame> m_frame;
</span><span class="cx"> };
</span><span class="cx">
</span><span class="lines">@@ -557,42 +557,42 @@
</span><span class="cx">
</span><span class="cx"> // FIXME: This looks like a leak between the normal world and an isolated
</span><span class="cx"> // world if dialogArguments comes from an isolated world.
</span><del>- JSDOMWindow* globalObject = toJSDOMWindow(m_frame.get(), normalWorld(m_exec->vm()));
- if (JSValue dialogArguments = m_exec->argument(1))
- globalObject->putDirect(m_exec->vm(), Identifier::fromString(m_exec, "dialogArguments"), dialogArguments);
</del><ins>+ JSDOMWindow* globalObject = toJSDOMWindow(m_frame.get(), normalWorld(m_exec.vm()));
+ if (JSValue dialogArguments = m_exec.argument(1))
+ globalObject->putDirect(m_exec.vm(), Identifier::fromString(&m_exec, "dialogArguments"), dialogArguments);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> inline JSValue DialogHandler::returnValue() const
</span><span class="cx"> {
</span><del>- JSDOMWindow* globalObject = toJSDOMWindow(m_frame.get(), normalWorld(m_exec->vm()));
</del><ins>+ JSDOMWindow* globalObject = toJSDOMWindow(m_frame.get(), normalWorld(m_exec.vm()));
</ins><span class="cx"> if (!globalObject)
</span><span class="cx"> return jsUndefined();
</span><del>- Identifier identifier = Identifier::fromString(m_exec, "returnValue");
</del><ins>+ Identifier identifier = Identifier::fromString(&m_exec, "returnValue");
</ins><span class="cx"> PropertySlot slot(globalObject);
</span><del>- if (!JSGlobalObject::getOwnPropertySlot(globalObject, m_exec, identifier, slot))
</del><ins>+ if (!JSGlobalObject::getOwnPropertySlot(globalObject, &m_exec, identifier, slot))
</ins><span class="cx"> return jsUndefined();
</span><del>- return slot.getValue(m_exec, identifier);
</del><ins>+ return slot.getValue(&m_exec, identifier);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDOMWindow::showModalDialog(ExecState* exec)
</del><ins>+JSValue JSDOMWindow::showModalDialog(ExecState& state)
</ins><span class="cx"> {
</span><del>- String urlString = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0));
- if (exec->hadException())
</del><ins>+ String urlString = valueToStringWithUndefinedOrNullCheck(&state, state.argument(0));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><del>- String dialogFeaturesString = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(2));
- if (exec->hadException())
</del><ins>+ String dialogFeaturesString = valueToStringWithUndefinedOrNullCheck(&state, state.argument(2));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- DialogHandler handler(exec);
</del><ins>+ DialogHandler handler(state);
</ins><span class="cx">
</span><del>- impl().showModalDialog(urlString, dialogFeaturesString, activeDOMWindow(exec), firstDOMWindow(exec), [&handler](DOMWindow& dialog) {
</del><ins>+ impl().showModalDialog(urlString, dialogFeaturesString, activeDOMWindow(&state), firstDOMWindow(&state), [&handler](DOMWindow& dialog) {
</ins><span class="cx"> handler.dialogCreated(dialog);
</span><span class="cx"> });
</span><span class="cx">
</span><span class="cx"> return handler.returnValue();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static JSValue handlePostMessage(DOMWindow* impl, ExecState* exec)
</del><ins>+static JSValue handlePostMessage(DOMWindow& impl, ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> MessagePortArray messagePorts;
</span><span class="cx"> ArrayBufferArray arrayBuffers;
</span><span class="lines">@@ -604,102 +604,102 @@
</span><span class="cx"> // Legacy non-standard implementations in webkit allowed:
</span><span class="cx"> // postMessage(message, {sequence of transferrables}, targetOrigin);
</span><span class="cx"> int targetOriginArgIndex = 1;
</span><del>- if (exec->argumentCount() > 2) {
</del><ins>+ if (state.argumentCount() > 2) {
</ins><span class="cx"> int transferablesArgIndex = 2;
</span><del>- if (exec->argument(2).isString()) {
</del><ins>+ if (state.argument(2).isString()) {
</ins><span class="cx"> targetOriginArgIndex = 2;
</span><span class="cx"> transferablesArgIndex = 1;
</span><span class="cx"> }
</span><del>- fillMessagePortArray(exec, exec->argument(transferablesArgIndex), messagePorts, arrayBuffers);
</del><ins>+ fillMessagePortArray(state, state.argument(transferablesArgIndex), messagePorts, arrayBuffers);
</ins><span class="cx"> }
</span><del>- if (exec->hadException())
</del><ins>+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- RefPtr<SerializedScriptValue> message = SerializedScriptValue::create(exec, exec->argument(0),
</del><ins>+ RefPtr<SerializedScriptValue> message = SerializedScriptValue::create(&state, state.argument(0),
</ins><span class="cx"> &messagePorts,
</span><span class="cx"> &arrayBuffers);
</span><span class="cx">
</span><del>- if (exec->hadException())
</del><ins>+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- String targetOrigin = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(targetOriginArgIndex));
- if (exec->hadException())
</del><ins>+ String targetOrigin = valueToStringWithUndefinedOrNullCheck(&state, state.argument(targetOriginArgIndex));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl->postMessage(message.release(), &messagePorts, targetOrigin, activeDOMWindow(exec), ec);
- setDOMException(exec, ec);
</del><ins>+ impl.postMessage(message.release(), &messagePorts, targetOrigin, activeDOMWindow(&state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDOMWindow::postMessage(ExecState* exec)
</del><ins>+JSValue JSDOMWindow::postMessage(ExecState& state)
</ins><span class="cx"> {
</span><del>- return handlePostMessage(&impl(), exec);
</del><ins>+ return handlePostMessage(impl(), state);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDOMWindow::setTimeout(ExecState* exec)
</del><ins>+JSValue JSDOMWindow::setTimeout(ExecState& state)
</ins><span class="cx"> {
</span><del>- ContentSecurityPolicy* contentSecurityPolicy = impl().document() ? impl().document()->contentSecurityPolicy() : 0;
- std::unique_ptr<ScheduledAction> action = ScheduledAction::create(exec, globalObject()->world(), contentSecurityPolicy);
- if (exec->hadException())
</del><ins>+ ContentSecurityPolicy* contentSecurityPolicy = impl().document() ? impl().document()->contentSecurityPolicy() : nullptr;
+ std::unique_ptr<ScheduledAction> action = ScheduledAction::create(&state, globalObject()->world(), contentSecurityPolicy);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> if (!action)
</span><span class="cx"> return jsNumber(0);
</span><span class="cx">
</span><del>- int delay = exec->argument(1).toInt32(exec);
</del><ins>+ int delay = state.argument(1).toInt32(&state);
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> int result = impl().setTimeout(WTF::move(action), delay, ec);
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsNumber(result);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDOMWindow::setInterval(ExecState* exec)
</del><ins>+JSValue JSDOMWindow::setInterval(ExecState& state)
</ins><span class="cx"> {
</span><del>- ContentSecurityPolicy* contentSecurityPolicy = impl().document() ? impl().document()->contentSecurityPolicy() : 0;
- std::unique_ptr<ScheduledAction> action = ScheduledAction::create(exec, globalObject()->world(), contentSecurityPolicy);
- if (exec->hadException())
</del><ins>+ ContentSecurityPolicy* contentSecurityPolicy = impl().document() ? impl().document()->contentSecurityPolicy() : nullptr;
+ std::unique_ptr<ScheduledAction> action = ScheduledAction::create(&state, globalObject()->world(), contentSecurityPolicy);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><del>- int delay = exec->argument(1).toInt32(exec);
</del><ins>+ int delay = state.argument(1).toInt32(&state);
</ins><span class="cx">
</span><span class="cx"> if (!action)
</span><span class="cx"> return jsNumber(0);
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> int result = impl().setInterval(WTF::move(action), delay, ec);
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsNumber(result);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDOMWindow::addEventListener(ExecState* exec)
</del><ins>+JSValue JSDOMWindow::addEventListener(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> Frame* frame = impl().frame();
</span><span class="cx"> if (!frame)
</span><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- JSValue listener = exec->argument(1);
</del><ins>+ JSValue listener = state.argument(1);
</ins><span class="cx"> if (!listener.isObject())
</span><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- impl().addEventListener(exec->argument(0).toString(exec)->toAtomicString(exec), JSEventListener::create(asObject(listener), this, false, globalObject()->world()), exec->argument(2).toBoolean(exec));
</del><ins>+ impl().addEventListener(state.argument(0).toString(&state)->toAtomicString(&state), JSEventListener::create(asObject(listener), this, false, globalObject()->world()), state.argument(2).toBoolean(&state));
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDOMWindow::removeEventListener(ExecState* exec)
</del><ins>+JSValue JSDOMWindow::removeEventListener(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> Frame* frame = impl().frame();
</span><span class="cx"> if (!frame)
</span><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- JSValue listener = exec->argument(1);
</del><ins>+ JSValue listener = state.argument(1);
</ins><span class="cx"> if (!listener.isObject())
</span><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- impl().removeEventListener(exec->argument(0).toString(exec)->toAtomicString(exec), JSEventListener::create(asObject(listener), this, false, globalObject()->world()).ptr(), exec->argument(2).toBoolean(exec));
</del><ins>+ impl().removeEventListener(state.argument(0).toString(&state)->toAtomicString(&state), JSEventListener::create(asObject(listener), this, false, globalObject()->world()).ptr(), state.argument(2).toBoolean(&state));
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDataCueCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDataCueCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDataCueCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDataCueCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -36,14 +36,14 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> #if ENABLE(DATACUE_VALUE)
</span><del>-JSValue JSDataCue::value(ExecState* exec) const
</del><ins>+JSValue JSDataCue::value(ExecState& state) const
</ins><span class="cx"> {
</span><del>- return impl().value(exec);
</del><ins>+ return impl().value(&state);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void JSDataCue::setValue(ExecState* exec, JSValue value)
</del><ins>+void JSDataCue::setValue(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><del>- impl().setValue(exec, value);
</del><ins>+ impl().setValue(&state, value);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDataTransferCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -35,10 +35,10 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSDataTransfer::types(ExecState* exec) const
</del><ins>+JSValue JSDataTransfer::types(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> Vector<String> types = impl().types();
</span><del>- return types.isEmpty() ? jsNull() : jsArray(exec, globalObject(), types);
</del><ins>+ return types.isEmpty() ? jsNull() : jsArray(&state, globalObject(), types);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDedicatedWorkerGlobalScopeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -39,9 +39,9 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSC::JSValue JSDedicatedWorkerGlobalScope::postMessage(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSDedicatedWorkerGlobalScope::postMessage(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return handlePostMessage(exec, &impl());
</del><ins>+ return handlePostMessage(state, &impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDeviceMotionEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -40,36 +40,36 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-static RefPtr<DeviceMotionData::Acceleration> readAccelerationArgument(JSValue value, ExecState* exec)
</del><ins>+static RefPtr<DeviceMotionData::Acceleration> readAccelerationArgument(JSValue value, ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> if (value.isUndefinedOrNull())
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> // Given the above test, this will always yield an object.
</span><del>- JSObject* object = value.toObject(exec);
</del><ins>+ JSObject* object = value.toObject(&state);
</ins><span class="cx">
</span><del>- JSValue xValue = object->get(exec, Identifier::fromString(exec, "x"));
- if (exec->hadException())
</del><ins>+ JSValue xValue = object->get(&state, Identifier::fromString(&state, "x"));
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx"> bool canProvideX = !xValue.isUndefinedOrNull();
</span><del>- double x = xValue.toNumber(exec);
- if (exec->hadException())
</del><ins>+ double x = xValue.toNumber(&state);
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- JSValue yValue = object->get(exec, Identifier::fromString(exec, "y"));
- if (exec->hadException())
</del><ins>+ JSValue yValue = object->get(&state, Identifier::fromString(&state, "y"));
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx"> bool canProvideY = !yValue.isUndefinedOrNull();
</span><del>- double y = yValue.toNumber(exec);
- if (exec->hadException())
</del><ins>+ double y = yValue.toNumber(&state);
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- JSValue zValue = object->get(exec, Identifier::fromString(exec, "z"));
- if (exec->hadException())
</del><ins>+ JSValue zValue = object->get(&state, Identifier::fromString(&state, "z"));
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx"> bool canProvideZ = !zValue.isUndefinedOrNull();
</span><del>- double z = zValue.toNumber(exec);
- if (exec->hadException())
</del><ins>+ double z = zValue.toNumber(&state);
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> if (!canProvideX && !canProvideY && !canProvideZ)
</span><span class="lines">@@ -78,36 +78,36 @@
</span><span class="cx"> return DeviceMotionData::Acceleration::create(canProvideX, x, canProvideY, y, canProvideZ, z);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static RefPtr<DeviceMotionData::RotationRate> readRotationRateArgument(JSValue value, ExecState* exec)
</del><ins>+static RefPtr<DeviceMotionData::RotationRate> readRotationRateArgument(JSValue value, ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> if (value.isUndefinedOrNull())
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> // Given the above test, this will always yield an object.
</span><del>- JSObject* object = value.toObject(exec);
</del><ins>+ JSObject* object = value.toObject(&state);
</ins><span class="cx">
</span><del>- JSValue alphaValue = object->get(exec, Identifier::fromString(exec, "alpha"));
- if (exec->hadException())
</del><ins>+ JSValue alphaValue = object->get(&state, Identifier::fromString(&state, "alpha"));
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx"> bool canProvideAlpha = !alphaValue.isUndefinedOrNull();
</span><del>- double alpha = alphaValue.toNumber(exec);
- if (exec->hadException())
</del><ins>+ double alpha = alphaValue.toNumber(&state);
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- JSValue betaValue = object->get(exec, Identifier::fromString(exec, "beta"));
- if (exec->hadException())
</del><ins>+ JSValue betaValue = object->get(&state, Identifier::fromString(&state, "beta"));
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx"> bool canProvideBeta = !betaValue.isUndefinedOrNull();
</span><del>- double beta = betaValue.toNumber(exec);
- if (exec->hadException())
</del><ins>+ double beta = betaValue.toNumber(&state);
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- JSValue gammaValue = object->get(exec, Identifier::fromString(exec, "gamma"));
- if (exec->hadException())
</del><ins>+ JSValue gammaValue = object->get(&state, Identifier::fromString(&state, "gamma"));
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx"> bool canProvideGamma = !gammaValue.isUndefinedOrNull();
</span><del>- double gamma = gammaValue.toNumber(exec);
- if (exec->hadException())
</del><ins>+ double gamma = gammaValue.toNumber(&state);
+ if (state.hadException())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> if (!canProvideAlpha && !canProvideBeta && !canProvideGamma)
</span><span class="lines">@@ -116,49 +116,49 @@
</span><span class="cx"> return DeviceMotionData::RotationRate::create(canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static JSObject* createAccelerationObject(const DeviceMotionData::Acceleration* acceleration, ExecState* exec)
</del><ins>+static JSObject* createAccelerationObject(const DeviceMotionData::Acceleration* acceleration, ExecState& state)
</ins><span class="cx"> {
</span><del>- JSObject* object = constructEmptyObject(exec);
- object->putDirect(exec->vm(), Identifier::fromString(exec, "x"), acceleration->canProvideX() ? jsNumber(acceleration->x()) : jsNull());
- object->putDirect(exec->vm(), Identifier::fromString(exec, "y"), acceleration->canProvideY() ? jsNumber(acceleration->y()) : jsNull());
- object->putDirect(exec->vm(), Identifier::fromString(exec, "z"), acceleration->canProvideZ() ? jsNumber(acceleration->z()) : jsNull());
</del><ins>+ JSObject* object = constructEmptyObject(&state);
+ object->putDirect(state.vm(), Identifier::fromString(&state, "x"), acceleration->canProvideX() ? jsNumber(acceleration->x()) : jsNull());
+ object->putDirect(state.vm(), Identifier::fromString(&state, "y"), acceleration->canProvideY() ? jsNumber(acceleration->y()) : jsNull());
+ object->putDirect(state.vm(), Identifier::fromString(&state, "z"), acceleration->canProvideZ() ? jsNumber(acceleration->z()) : jsNull());
</ins><span class="cx"> return object;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static JSObject* createRotationRateObject(const DeviceMotionData::RotationRate* rotationRate, ExecState* exec)
</del><ins>+static JSObject* createRotationRateObject(const DeviceMotionData::RotationRate* rotationRate, ExecState& state)
</ins><span class="cx"> {
</span><del>- JSObject* object = constructEmptyObject(exec);
- object->putDirect(exec->vm(), Identifier::fromString(exec, "alpha"), rotationRate->canProvideAlpha() ? jsNumber(rotationRate->alpha()) : jsNull());
- object->putDirect(exec->vm(), Identifier::fromString(exec, "beta"), rotationRate->canProvideBeta() ? jsNumber(rotationRate->beta()) : jsNull());
- object->putDirect(exec->vm(), Identifier::fromString(exec, "gamma"), rotationRate->canProvideGamma() ? jsNumber(rotationRate->gamma()) : jsNull());
</del><ins>+ JSObject* object = constructEmptyObject(&state);
+ object->putDirect(state.vm(), Identifier::fromString(&state, "alpha"), rotationRate->canProvideAlpha() ? jsNumber(rotationRate->alpha()) : jsNull());
+ object->putDirect(state.vm(), Identifier::fromString(&state, "beta"), rotationRate->canProvideBeta() ? jsNumber(rotationRate->beta()) : jsNull());
+ object->putDirect(state.vm(), Identifier::fromString(&state, "gamma"), rotationRate->canProvideGamma() ? jsNumber(rotationRate->gamma()) : jsNull());
</ins><span class="cx"> return object;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDeviceMotionEvent::acceleration(ExecState* exec) const
</del><ins>+JSValue JSDeviceMotionEvent::acceleration(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> DeviceMotionEvent& imp = impl();
</span><span class="cx"> if (!imp.deviceMotionData()->acceleration())
</span><span class="cx"> return jsNull();
</span><del>- return createAccelerationObject(imp.deviceMotionData()->acceleration(), exec);
</del><ins>+ return createAccelerationObject(imp.deviceMotionData()->acceleration(), state);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDeviceMotionEvent::accelerationIncludingGravity(ExecState* exec) const
</del><ins>+JSValue JSDeviceMotionEvent::accelerationIncludingGravity(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> DeviceMotionEvent& imp = impl();
</span><span class="cx"> if (!imp.deviceMotionData()->accelerationIncludingGravity())
</span><span class="cx"> return jsNull();
</span><del>- return createAccelerationObject(imp.deviceMotionData()->accelerationIncludingGravity(), exec);
</del><ins>+ return createAccelerationObject(imp.deviceMotionData()->accelerationIncludingGravity(), state);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDeviceMotionEvent::rotationRate(ExecState* exec) const
</del><ins>+JSValue JSDeviceMotionEvent::rotationRate(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> DeviceMotionEvent& imp = impl();
</span><span class="cx"> if (!imp.deviceMotionData()->rotationRate())
</span><span class="cx"> return jsNull();
</span><del>- return createRotationRateObject(imp.deviceMotionData()->rotationRate(), exec);
</del><ins>+ return createRotationRateObject(imp.deviceMotionData()->rotationRate(), state);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDeviceMotionEvent::interval(ExecState*) const
</del><ins>+JSValue JSDeviceMotionEvent::interval(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> DeviceMotionEvent& imp = impl();
</span><span class="cx"> if (!imp.deviceMotionData()->canProvideInterval())
</span><span class="lines">@@ -166,28 +166,28 @@
</span><span class="cx"> return jsNumber(imp.deviceMotionData()->interval());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDeviceMotionEvent::initDeviceMotionEvent(ExecState* exec)
</del><ins>+JSValue JSDeviceMotionEvent::initDeviceMotionEvent(ExecState& state)
</ins><span class="cx"> {
</span><del>- const String type = exec->argument(0).toString(exec)->value(exec);
- bool bubbles = exec->argument(1).toBoolean(exec);
- bool cancelable = exec->argument(2).toBoolean(exec);
</del><ins>+ const String type = state.argument(0).toString(&state)->value(&state);
+ bool bubbles = state.argument(1).toBoolean(&state);
+ bool cancelable = state.argument(2).toBoolean(&state);
</ins><span class="cx">
</span><span class="cx"> // If any of the parameters are null or undefined, mark them as not provided.
</span><span class="cx"> // Otherwise, use the standard JavaScript conversion.
</span><del>- RefPtr<DeviceMotionData::Acceleration> acceleration = readAccelerationArgument(exec->argument(3), exec);
- if (exec->hadException())
</del><ins>+ RefPtr<DeviceMotionData::Acceleration> acceleration = readAccelerationArgument(state.argument(3), state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- RefPtr<DeviceMotionData::Acceleration> accelerationIncludingGravity = readAccelerationArgument(exec->argument(4), exec);
- if (exec->hadException())
</del><ins>+ RefPtr<DeviceMotionData::Acceleration> accelerationIncludingGravity = readAccelerationArgument(state.argument(4), state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- RefPtr<DeviceMotionData::RotationRate> rotationRate = readRotationRateArgument(exec->argument(5), exec);
- if (exec->hadException())
</del><ins>+ RefPtr<DeviceMotionData::RotationRate> rotationRate = readRotationRateArgument(state.argument(5), state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- bool intervalProvided = !exec->argument(6).isUndefinedOrNull();
- double interval = exec->argument(6).toNumber(exec);
</del><ins>+ bool intervalProvided = !state.argument(6).isUndefinedOrNull();
+ double interval = state.argument(6).toNumber(&state);
</ins><span class="cx"> RefPtr<DeviceMotionData> deviceMotionData = DeviceMotionData::create(acceleration, accelerationIncludingGravity, rotationRate, intervalProvided, interval);
</span><span class="cx"> impl().initDeviceMotionEvent(type, bubbles, cancelable, deviceMotionData.get());
</span><span class="cx"> return jsUndefined();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDeviceOrientationEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSDeviceOrientationEvent::alpha(ExecState*) const
</del><ins>+JSValue JSDeviceOrientationEvent::alpha(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> DeviceOrientationEvent& imp = impl();
</span><span class="cx"> if (!imp.orientation()->canProvideAlpha())
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> return jsNumber(imp.orientation()->alpha());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDeviceOrientationEvent::beta(ExecState*) const
</del><ins>+JSValue JSDeviceOrientationEvent::beta(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> DeviceOrientationEvent& imp = impl();
</span><span class="cx"> if (!imp.orientation()->canProvideBeta())
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> return jsNumber(imp.orientation()->beta());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDeviceOrientationEvent::gamma(ExecState*) const
</del><ins>+JSValue JSDeviceOrientationEvent::gamma(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> DeviceOrientationEvent& imp = impl();
</span><span class="cx"> if (!imp.orientation()->canProvideGamma())
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-JSValue JSDeviceOrientationEvent::webkitCompassHeading(ExecState*) const
</del><ins>+JSValue JSDeviceOrientationEvent::webkitCompassHeading(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> DeviceOrientationEvent& imp = impl();
</span><span class="cx"> if (!imp.orientation()->canProvideCompassHeading())
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx"> return jsNumber(imp.orientation()->compassHeading());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDeviceOrientationEvent::webkitCompassAccuracy(ExecState*) const
</del><ins>+JSValue JSDeviceOrientationEvent::webkitCompassAccuracy(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> DeviceOrientationEvent& imp = impl();
</span><span class="cx"> if (!imp.orientation()->canProvideCompassAccuracy())
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if !PLATFORM(IOS)
</span><del>-JSValue JSDeviceOrientationEvent::absolute(ExecState*) const
</del><ins>+JSValue JSDeviceOrientationEvent::absolute(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> DeviceOrientationEvent& imp = impl();
</span><span class="cx"> if (!imp.orientation()->canProvideAbsolute())
</span><span class="lines">@@ -90,28 +90,28 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-JSValue JSDeviceOrientationEvent::initDeviceOrientationEvent(ExecState* exec)
</del><ins>+JSValue JSDeviceOrientationEvent::initDeviceOrientationEvent(ExecState& state)
</ins><span class="cx"> {
</span><del>- const String type = exec->argument(0).toString(exec)->value(exec);
- bool bubbles = exec->argument(1).toBoolean(exec);
- bool cancelable = exec->argument(2).toBoolean(exec);
</del><ins>+ const String type = state.argument(0).toString(&state)->value(&state);
+ bool bubbles = state.argument(1).toBoolean(&state);
+ bool cancelable = state.argument(2).toBoolean(&state);
</ins><span class="cx"> // If alpha, beta or gamma are null or undefined, mark them as not provided.
</span><span class="cx"> // Otherwise, use the standard JavaScript conversion.
</span><del>- bool alphaProvided = !exec->argument(3).isUndefinedOrNull();
- double alpha = exec->argument(3).toNumber(exec);
- bool betaProvided = !exec->argument(4).isUndefinedOrNull();
- double beta = exec->argument(4).toNumber(exec);
- bool gammaProvided = !exec->argument(5).isUndefinedOrNull();
- double gamma = exec->argument(5).toNumber(exec);
</del><ins>+ bool alphaProvided = !state.argument(3).isUndefinedOrNull();
+ double alpha = state.argument(3).toNumber(&state);
+ bool betaProvided = !state.argument(4).isUndefinedOrNull();
+ double beta = state.argument(4).toNumber(&state);
+ bool gammaProvided = !state.argument(5).isUndefinedOrNull();
+ double gamma = state.argument(5).toNumber(&state);
</ins><span class="cx"> #if PLATFORM(IOS)
</span><del>- bool compassHeadingProvided = !exec->argument(6).isUndefinedOrNull();
- double compassHeading = exec->argument(6).toNumber(exec);
- bool compassAccuracyProvided = !exec->argument(7).isUndefinedOrNull();
- double compassAccuracy = exec->argument(7).toNumber(exec);
</del><ins>+ bool compassHeadingProvided = !state.argument(6).isUndefinedOrNull();
+ double compassHeading = state.argument(6).toNumber(&state);
+ bool compassAccuracyProvided = !state.argument(7).isUndefinedOrNull();
+ double compassAccuracy = state.argument(7).toNumber(&state);
</ins><span class="cx"> RefPtr<DeviceOrientationData> orientation = DeviceOrientationData::create(alphaProvided, alpha, betaProvided, beta, gammaProvided, gamma, compassHeadingProvided, compassHeading, compassAccuracyProvided, compassAccuracy);
</span><span class="cx"> #else
</span><del>- bool absoluteProvided = !exec->argument(6).isUndefinedOrNull();
- bool absolute = exec->argument(6).toBoolean(exec);
</del><ins>+ bool absoluteProvided = !state.argument(6).isUndefinedOrNull();
+ bool absolute = state.argument(6).toBoolean(&state);
</ins><span class="cx"> RefPtr<DeviceOrientationData> orientation = DeviceOrientationData::create(alphaProvided, alpha, betaProvided, beta, gammaProvided, gamma, absoluteProvided, absolute);
</span><span class="cx"> #endif
</span><span class="cx"> impl().initDeviceOrientationEvent(type, bubbles, cancelable, orientation.get());
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDictionarycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDictionary.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDictionary.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDictionary.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -176,7 +176,7 @@
</span><span class="cx"> void JSDictionary::convertValue(ExecState* exec, JSValue value, MessagePortArray& result)
</span><span class="cx"> {
</span><span class="cx"> ArrayBufferArray arrayBuffers;
</span><del>- fillMessagePortArray(exec, value, result, arrayBuffers);
</del><ins>+ fillMessagePortArray(*exec, value, result, arrayBuffers);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDocumentCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -100,33 +100,33 @@
</span><span class="cx"> return document ? createNewDocumentWrapper(*state, *globalObject, *document) : jsNull();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDocument::prepend(ExecState* state)
</del><ins>+JSValue JSDocument::prepend(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().prepend(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().prepend(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDocument::append(ExecState* state)
</del><ins>+JSValue JSDocument::append(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().append(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().append(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><del>-JSValue JSDocument::createTouchList(ExecState* exec)
</del><ins>+JSValue JSDocument::createTouchList(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> RefPtr<TouchList> touchList = TouchList::create();
</span><span class="cx">
</span><del>- for (size_t i = 0; i < exec->argumentCount(); i++)
- touchList->append(JSTouch::toWrapped(exec->argument(i)));
</del><ins>+ for (size_t i = 0; i < state.argumentCount(); i++)
+ touchList->append(JSTouch::toWrapped(state.argument(i)));
</ins><span class="cx">
</span><del>- return toJS(exec, globalObject(), touchList.release());
</del><ins>+ return toJS(&state, globalObject(), touchList.release());
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDocumentFragmentCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDocumentFragmentCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDocumentFragmentCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDocumentFragmentCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -34,20 +34,20 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSDocumentFragment::prepend(ExecState* state)
</del><ins>+JSValue JSDocumentFragment::prepend(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().prepend(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().prepend(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDocumentFragment::append(ExecState* state)
</del><ins>+JSValue JSDocumentFragment::append(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().append(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().append(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDocumentTypeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDocumentTypeCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDocumentTypeCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSDocumentTypeCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -33,29 +33,29 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSDocumentType::before(ExecState* state)
</del><ins>+JSValue JSDocumentType::before(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().before(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().before(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDocumentType::after(ExecState* state)
</del><ins>+JSValue JSDocumentType::after(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().after(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().after(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSDocumentType::replaceWith(ExecState* state)
</del><ins>+JSValue JSDocumentType::replaceWith(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().replaceWith(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().replaceWith(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSElementCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSElementCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSElementCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -67,47 +67,47 @@
</span><span class="cx"> return wrapper;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSElement::before(ExecState* state)
</del><ins>+JSValue JSElement::before(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().before(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().before(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSElement::after(ExecState* state)
</del><ins>+JSValue JSElement::after(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().after(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().after(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSElement::replaceWith(ExecState* state)
</del><ins>+JSValue JSElement::replaceWith(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().replaceWith(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().replaceWith(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSElement::prepend(ExecState* state)
</del><ins>+JSValue JSElement::prepend(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().prepend(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().prepend(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSElement::append(ExecState* state)
</del><ins>+JSValue JSElement::append(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- impl().append(toNodeOrStringVector(*state), ec);
- setDOMException(state, ec);
</del><ins>+ impl().append(toNodeOrStringVector(state), ec);
+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSEventCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSEventCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSEventCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -44,9 +44,9 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSEvent::clipboardData(ExecState* exec) const
</del><ins>+JSValue JSEvent::clipboardData(ExecState& state) const
</ins><span class="cx"> {
</span><del>- return impl().isClipboardEvent() ? toJS(exec, globalObject(), impl().clipboardData()) : jsUndefined();
</del><ins>+ return impl().isClipboardEvent() ? toJS(&state, globalObject(), impl().clipboardData()) : jsUndefined();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #define TRY_TO_WRAP_WITH_INTERFACE(interfaceName) \
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSFileReaderCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSFileReaderCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSFileReaderCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSFileReaderCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -41,12 +41,12 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSFileReader::result(ExecState* exec) const
</del><ins>+JSValue JSFileReader::result(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> FileReader& imp = impl();
</span><span class="cx"> if (imp.readType() == FileReaderLoader::ReadAsArrayBuffer)
</span><del>- return toJS(exec, globalObject(), WTF::getPtr(imp.arrayBufferResult()));
- return jsOwnedStringOrNull(exec, imp.stringResult());
</del><ins>+ return toJS(&state, globalObject(), WTF::getPtr(imp.arrayBufferResult()));
+ return jsOwnedStringOrNull(&state, imp.stringResult());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSGeolocationCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSGeolocationCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSGeolocationCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSGeolocationCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -96,21 +96,21 @@
</span><span class="cx"> return options;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSGeolocation::getCurrentPosition(ExecState* exec)
</del><ins>+JSValue JSGeolocation::getCurrentPosition(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> // Arguments: PositionCallback, (optional)PositionErrorCallback, (optional)PositionOptions
</span><span class="cx">
</span><del>- RefPtr<PositionCallback> positionCallback = createFunctionOnlyCallback<JSPositionCallback>(exec, globalObject(), exec->argument(0));
- if (exec->hadException())
</del><ins>+ RefPtr<PositionCallback> positionCallback = createFunctionOnlyCallback<JSPositionCallback>(&state, globalObject(), state.argument(0));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> ASSERT(positionCallback);
</span><span class="cx">
</span><del>- RefPtr<PositionErrorCallback> positionErrorCallback = createFunctionOnlyCallback<JSPositionErrorCallback>(exec, globalObject(), exec->argument(1), CallbackAllowUndefined | CallbackAllowNull);
- if (exec->hadException())
</del><ins>+ RefPtr<PositionErrorCallback> positionErrorCallback = createFunctionOnlyCallback<JSPositionErrorCallback>(&state, globalObject(), state.argument(1), CallbackAllowUndefined | CallbackAllowNull);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- RefPtr<PositionOptions> positionOptions = createPositionOptions(exec, exec->argument(2));
- if (exec->hadException())
</del><ins>+ RefPtr<PositionOptions> positionOptions = createPositionOptions(&state, state.argument(2));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> ASSERT(positionOptions);
</span><span class="cx">
</span><span class="lines">@@ -118,21 +118,21 @@
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSGeolocation::watchPosition(ExecState* exec)
</del><ins>+JSValue JSGeolocation::watchPosition(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> // Arguments: PositionCallback, (optional)PositionErrorCallback, (optional)PositionOptions
</span><span class="cx">
</span><del>- RefPtr<PositionCallback> positionCallback = createFunctionOnlyCallback<JSPositionCallback>(exec, globalObject(), exec->argument(0));
- if (exec->hadException())
</del><ins>+ RefPtr<PositionCallback> positionCallback = createFunctionOnlyCallback<JSPositionCallback>(&state, globalObject(), state.argument(0));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> ASSERT(positionCallback);
</span><span class="cx">
</span><del>- RefPtr<PositionErrorCallback> positionErrorCallback = createFunctionOnlyCallback<JSPositionErrorCallback>(exec, globalObject(), exec->argument(1), CallbackAllowUndefined | CallbackAllowNull);
- if (exec->hadException())
</del><ins>+ RefPtr<PositionErrorCallback> positionErrorCallback = createFunctionOnlyCallback<JSPositionErrorCallback>(&state, globalObject(), state.argument(1), CallbackAllowUndefined | CallbackAllowNull);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- RefPtr<PositionOptions> positionOptions = createPositionOptions(exec, exec->argument(2));
- if (exec->hadException())
</del><ins>+ RefPtr<PositionOptions> positionOptions = createPositionOptions(&state, state.argument(2));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> ASSERT(positionOptions);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLAllCollectionCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -36,18 +36,18 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-static JSValue namedItems(ExecState* exec, JSHTMLAllCollection* collection, PropertyName propertyName)
</del><ins>+static JSValue namedItems(ExecState& state, JSHTMLAllCollection* collection, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx"> Vector<Ref<Element>> namedItems = collection->impl().namedItems(propertyNameToAtomicString(propertyName));
</span><span class="cx">
</span><span class="cx"> if (namedItems.isEmpty())
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> if (namedItems.size() == 1)
</span><del>- return toJS(exec, collection->globalObject(), namedItems[0].ptr());
</del><ins>+ return toJS(&state, collection->globalObject(), namedItems[0].ptr());
</ins><span class="cx">
</span><span class="cx"> // FIXME: HTML5 specification says this should be a HTMLCollection.
</span><span class="cx"> // http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#htmlallcollection
</span><del>- return toJS(exec, collection->globalObject(), StaticElementList::adopt(namedItems).get());
</del><ins>+ return toJS(&state, collection->globalObject(), StaticElementList::adopt(namedItems).get());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // HTMLAllCollections are strange objects, they support both get and call.
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx"> return JSValue::encode(toJS(exec, jsCollection->globalObject(), collection.item(index.value())));
</span><span class="cx">
</span><span class="cx"> // Support for document.images('<name>') etc.
</span><del>- return JSValue::encode(namedItems(exec, jsCollection, Identifier::fromString(exec, string)));
</del><ins>+ return JSValue::encode(namedItems(*exec, jsCollection, Identifier::fromString(exec, string)));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // The second arg, if set, is the index of the item we want
</span><span class="lines">@@ -88,9 +88,9 @@
</span><span class="cx"> return CallTypeHost;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool JSHTMLAllCollection::nameGetter(ExecState* exec, PropertyName propertyName, JSValue& value)
</del><ins>+bool JSHTMLAllCollection::nameGetter(ExecState* state, PropertyName propertyName, JSValue& value)
</ins><span class="cx"> {
</span><del>- JSValue items = namedItems(exec, this, propertyName);
</del><ins>+ JSValue items = namedItems(*state, this, propertyName);
</ins><span class="cx"> if (items.isUndefined())
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="lines">@@ -98,16 +98,16 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLAllCollection::item(ExecState* exec)
</del><ins>+JSValue JSHTMLAllCollection::item(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (Optional<uint32_t> index = parseIndex(*exec->argument(0).toString(exec)->value(exec).impl()))
- return toJS(exec, globalObject(), impl().item(index.value()));
- return namedItems(exec, this, Identifier::fromString(exec, exec->argument(0).toString(exec)->value(exec)));
</del><ins>+ if (Optional<uint32_t> index = parseIndex(*state.argument(0).toString(&state)->value(&state).impl()))
+ return toJS(&state, globalObject(), impl().item(index.value()));
+ return namedItems(state, this, Identifier::fromString(&state, state.argument(0).toString(&state)->value(&state)));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLAllCollection::namedItem(ExecState* exec)
</del><ins>+JSValue JSHTMLAllCollection::namedItem(ExecState& state)
</ins><span class="cx"> {
</span><del>- JSValue value = namedItems(exec, this, Identifier::fromString(exec, exec->argument(0).toString(exec)->value(exec)));
</del><ins>+ JSValue value = namedItems(state, this, Identifier::fromString(&state, state.argument(0).toString(&state)->value(&state)));
</ins><span class="cx"> return value.isUndefined() ? jsNull() : value;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLCanvasElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -44,14 +44,14 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> #if ENABLE(WEBGL)
</span><del>-static void get3DContextAttributes(ExecState* exec, RefPtr<CanvasContextAttributes>& attrs)
</del><ins>+static void get3DContextAttributes(ExecState& state, RefPtr<CanvasContextAttributes>& attrs)
</ins><span class="cx"> {
</span><del>- JSValue initializerValue = exec->argument(1);
</del><ins>+ JSValue initializerValue = state.argument(1);
</ins><span class="cx"> if (initializerValue.isUndefinedOrNull())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- JSObject* initializerObject = initializerValue.toObject(exec);
- JSDictionary dictionary(exec, initializerObject);
</del><ins>+ JSObject* initializerObject = initializerValue.toObject(&state);
+ JSDictionary dictionary(&state, initializerObject);
</ins><span class="cx">
</span><span class="cx"> GraphicsContext3D::Attributes graphicsAttrs;
</span><span class="cx">
</span><span class="lines">@@ -66,16 +66,16 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-JSValue JSHTMLCanvasElement::getContext(ExecState* exec)
</del><ins>+JSValue JSHTMLCanvasElement::getContext(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> HTMLCanvasElement& canvas = impl();
</span><del>- const String& contextId = exec->argument(0).toString(exec)->value(exec);
</del><ins>+ const String& contextId = state.argument(0).toString(&state)->value(&state);
</ins><span class="cx">
</span><span class="cx"> RefPtr<CanvasContextAttributes> attrs;
</span><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx"> if (HTMLCanvasElement::is3dType(contextId)) {
</span><del>- get3DContextAttributes(exec, attrs);
- if (exec->hadException())
</del><ins>+ get3DContextAttributes(state, attrs);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="lines">@@ -83,23 +83,23 @@
</span><span class="cx"> CanvasRenderingContext* context = canvas.getContext(contextId, attrs.get());
</span><span class="cx"> if (!context)
</span><span class="cx"> return jsNull();
</span><del>- return toJS(exec, globalObject(), WTF::getPtr(context));
</del><ins>+ return toJS(&state, globalObject(), WTF::getPtr(context));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLCanvasElement::probablySupportsContext(ExecState* exec)
</del><ins>+JSValue JSHTMLCanvasElement::probablySupportsContext(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> HTMLCanvasElement& canvas = impl();
</span><del>- if (!exec->argumentCount())
</del><ins>+ if (!state.argumentCount())
</ins><span class="cx"> return jsBoolean(false);
</span><del>- const String& contextId = exec->uncheckedArgument(0).toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ const String& contextId = state.uncheckedArgument(0).toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> RefPtr<CanvasContextAttributes> attrs;
</span><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx"> if (HTMLCanvasElement::is3dType(contextId)) {
</span><del>- get3DContextAttributes(exec, attrs);
- if (exec->hadException())
</del><ins>+ get3DContextAttributes(state, attrs);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="lines">@@ -107,24 +107,24 @@
</span><span class="cx"> return jsBoolean(canvas.probablySupportsContext(contextId, attrs.get()));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLCanvasElement::toDataURL(ExecState* exec)
</del><ins>+JSValue JSHTMLCanvasElement::toDataURL(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> HTMLCanvasElement& canvas = impl();
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx">
</span><del>- const String& type = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0));
</del><ins>+ const String& type = valueToStringWithUndefinedOrNullCheck(&state, state.argument(0));
</ins><span class="cx"> double quality;
</span><span class="cx"> double* qualityPtr = 0;
</span><del>- if (exec->argumentCount() > 1) {
- JSValue v = exec->uncheckedArgument(1);
</del><ins>+ if (state.argumentCount() > 1) {
+ JSValue v = state.uncheckedArgument(1);
</ins><span class="cx"> if (v.isNumber()) {
</span><del>- quality = v.toNumber(exec);
</del><ins>+ quality = v.toNumber(&state);
</ins><span class="cx"> qualityPtr = &quality;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSValue result = JSC::jsString(exec, canvas.toDataURL(type, qualityPtr, ec));
- setDOMException(exec, ec);
</del><ins>+ JSValue result = JSC::jsString(&state, canvas.toDataURL(type, qualityPtr, ec));
+ setDOMException(&state, ec);
</ins><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLDocumentCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -108,26 +108,26 @@
</span><span class="cx">
</span><span class="cx"> // Custom attributes
</span><span class="cx">
</span><del>-JSValue JSHTMLDocument::all(ExecState* exec) const
</del><ins>+JSValue JSHTMLDocument::all(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> // If "all" has been overwritten, return the overwritten value
</span><del>- JSValue v = getDirect(exec->vm(), Identifier::fromString(exec, "all"));
</del><ins>+ JSValue v = getDirect(state.vm(), Identifier::fromString(&state, "all"));
</ins><span class="cx"> if (v)
</span><span class="cx"> return v;
</span><span class="cx">
</span><del>- return toJS(exec, globalObject(), impl().all());
</del><ins>+ return toJS(&state, globalObject(), impl().all());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void JSHTMLDocument::setAll(ExecState* exec, JSValue value)
</del><ins>+void JSHTMLDocument::setAll(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> // Add "all" to the property map.
</span><del>- putDirect(exec->vm(), Identifier::fromString(exec, "all"), value);
</del><ins>+ putDirect(state.vm(), Identifier::fromString(&state, "all"), value);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-static Document* findCallingDocument(ExecState* exec)
</del><ins>+static Document* findCallingDocument(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> CallerFunctor functor;
</span><del>- exec->iterate(functor);
</del><ins>+ state.iterate(functor);
</ins><span class="cx"> CallFrame* callerFrame = functor.callerFrame();
</span><span class="cx"> if (!callerFrame)
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -137,19 +137,19 @@
</span><span class="cx">
</span><span class="cx"> // Custom functions
</span><span class="cx">
</span><del>-JSValue JSHTMLDocument::open(ExecState* exec)
</del><ins>+JSValue JSHTMLDocument::open(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> // For compatibility with other browsers, pass open calls with more than 2 parameters to the window.
</span><del>- if (exec->argumentCount() > 2) {
</del><ins>+ if (state.argumentCount() > 2) {
</ins><span class="cx"> if (Frame* frame = impl().frame()) {
</span><del>- JSDOMWindowShell* wrapper = toJSDOMWindowShell(frame, currentWorld(exec));
</del><ins>+ JSDOMWindowShell* wrapper = toJSDOMWindowShell(frame, currentWorld(&state));
</ins><span class="cx"> if (wrapper) {
</span><del>- JSValue function = wrapper->get(exec, Identifier::fromString(exec, "open"));
</del><ins>+ JSValue function = wrapper->get(&state, Identifier::fromString(&state, "open"));
</ins><span class="cx"> CallData callData;
</span><span class="cx"> CallType callType = ::getCallData(function, callData);
</span><span class="cx"> if (callType == CallTypeNone)
</span><del>- return throwTypeError(exec);
- return JSC::call(exec, function, callType, callData, wrapper, ArgList(exec));
</del><ins>+ return throwTypeError(&state);
+ return JSC::call(&state, function, callType, callData, wrapper, ArgList(&state));
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> return jsUndefined();
</span><span class="lines">@@ -157,7 +157,7 @@
</span><span class="cx">
</span><span class="cx"> // document.open clobbers the security context of the document and
</span><span class="cx"> // aliases it with the active security context.
</span><del>- Document* activeDocument = asJSDOMWindow(exec->lexicalGlobalObject())->impl().document();
</del><ins>+ Document* activeDocument = asJSDOMWindow(state.lexicalGlobalObject())->impl().document();
</ins><span class="cx">
</span><span class="cx"> // In the case of two parameters or fewer, do a normal document open.
</span><span class="cx"> impl().open(activeDocument);
</span><span class="lines">@@ -166,21 +166,21 @@
</span><span class="cx">
</span><span class="cx"> enum NewlineRequirement { DoNotAddNewline, DoAddNewline };
</span><span class="cx">
</span><del>-static inline void documentWrite(ExecState* exec, JSHTMLDocument* thisDocument, NewlineRequirement addNewline)
</del><ins>+static inline void documentWrite(ExecState& state, JSHTMLDocument* thisDocument, NewlineRequirement addNewline)
</ins><span class="cx"> {
</span><span class="cx"> HTMLDocument* document = &thisDocument->impl();
</span><span class="cx"> // DOM only specifies single string argument, but browsers allow multiple or no arguments.
</span><span class="cx">
</span><del>- size_t size = exec->argumentCount();
</del><ins>+ size_t size = state.argumentCount();
</ins><span class="cx">
</span><del>- String firstString = exec->argument(0).toString(exec)->value(exec);
</del><ins>+ String firstString = state.argument(0).toString(&state)->value(&state);
</ins><span class="cx"> SegmentedString segmentedString = firstString;
</span><span class="cx"> if (size != 1) {
</span><span class="cx"> if (!size)
</span><span class="cx"> segmentedString.clear();
</span><span class="cx"> else {
</span><span class="cx"> for (size_t i = 1; i < size; ++i) {
</span><del>- String subsequentString = exec->uncheckedArgument(i).toString(exec)->value(exec);
</del><ins>+ String subsequentString = state.uncheckedArgument(i).toString(&state)->value(&state);
</ins><span class="cx"> segmentedString.append(SegmentedString(subsequentString));
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -188,19 +188,19 @@
</span><span class="cx"> if (addNewline)
</span><span class="cx"> segmentedString.append(SegmentedString(String(&newlineCharacter, 1)));
</span><span class="cx">
</span><del>- Document* activeDocument = findCallingDocument(exec);
</del><ins>+ Document* activeDocument = findCallingDocument(state);
</ins><span class="cx"> document->write(segmentedString, activeDocument);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLDocument::write(ExecState* exec)
</del><ins>+JSValue JSHTMLDocument::write(ExecState& state)
</ins><span class="cx"> {
</span><del>- documentWrite(exec, this, DoNotAddNewline);
</del><ins>+ documentWrite(state, this, DoNotAddNewline);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLDocument::writeln(ExecState* exec)
</del><ins>+JSValue JSHTMLDocument::writeln(ExecState& state)
</ins><span class="cx"> {
</span><del>- documentWrite(exec, this, DoAddNewline);
</del><ins>+ documentWrite(state, this, DoAddNewline);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLFormControlsCollectionCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLFormControlsCollectionCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLFormControlsCollectionCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHTMLFormControlsCollectionCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-static JSValue namedItems(ExecState* exec, JSHTMLFormControlsCollection* collection, PropertyName propertyName)
</del><ins>+static JSValue namedItems(ExecState& state, JSHTMLFormControlsCollection* collection, PropertyName propertyName)
</ins><span class="cx"> {
</span><span class="cx"> const AtomicString& name = propertyNameToAtomicString(propertyName);
</span><span class="cx"> Vector<Ref<Element>> namedItems = collection->impl().namedItems(name);
</span><span class="lines">@@ -38,15 +38,15 @@
</span><span class="cx"> if (namedItems.isEmpty())
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> if (namedItems.size() == 1)
</span><del>- return toJS(exec, collection->globalObject(), namedItems[0].ptr());
</del><ins>+ return toJS(&state, collection->globalObject(), namedItems[0].ptr());
</ins><span class="cx">
</span><span class="cx"> ASSERT(collection->impl().type() == FormControls);
</span><del>- return toJS(exec, collection->globalObject(), collection->impl().ownerNode().radioNodeList(name).get());
</del><ins>+ return toJS(&state, collection->globalObject(), collection->impl().ownerNode().radioNodeList(name).get());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-bool JSHTMLFormControlsCollection::nameGetter(ExecState* exec, PropertyName propertyName, JSValue& value)
</del><ins>+bool JSHTMLFormControlsCollection::nameGetter(ExecState* state, PropertyName propertyName, JSValue& value)
</ins><span class="cx"> {
</span><del>- auto items = namedItems(exec, this, propertyName);
</del><ins>+ auto items = namedItems(*state, this, propertyName);
</ins><span class="cx"> if (items.isUndefined())
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="lines">@@ -54,9 +54,9 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLFormControlsCollection::namedItem(ExecState* exec)
</del><ins>+JSValue JSHTMLFormControlsCollection::namedItem(ExecState& state)
</ins><span class="cx"> {
</span><del>- JSValue value = namedItems(exec, this, Identifier::fromString(exec, exec->argument(0).toString(exec)->value(exec)));
</del><ins>+ JSValue value = namedItems(state, this, Identifier::fromString(&state, state.argument(0).toString(&state)->value(&state)));
</ins><span class="cx"> return value.isUndefined() ? jsNull() : value;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLFrameElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -41,22 +41,22 @@
</span><span class="cx">
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx">
</span><del>-static inline bool allowSettingJavascriptURL(ExecState* exec, HTMLFrameElement* imp, const String& value)
</del><ins>+static inline bool allowSettingJavascriptURL(ExecState& state, HTMLFrameElement* imp, const String& value)
</ins><span class="cx"> {
</span><span class="cx"> if (protocolIsJavaScript(stripLeadingAndTrailingHTMLSpaces(value))) {
</span><span class="cx"> Document* contentDocument = imp->contentDocument();
</span><del>- if (contentDocument && !shouldAllowAccessToNode(exec, contentDocument))
</del><ins>+ if (contentDocument && !shouldAllowAccessToNode(&state, contentDocument))
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSHTMLFrameElement::setLocation(ExecState* exec, JSValue value)
</del><ins>+void JSHTMLFrameElement::setLocation(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> HTMLFrameElement& imp = impl();
</span><del>- String locationValue = valueToStringWithNullCheck(exec, value);
</del><ins>+ String locationValue = valueToStringWithNullCheck(&state, value);
</ins><span class="cx">
</span><del>- if (!allowSettingJavascriptURL(exec, &imp, locationValue))
</del><ins>+ if (!allowSettingJavascriptURL(state, &imp, locationValue))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> imp.setLocation(locationValue);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLInputElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLInputElementCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLInputElementCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHTMLInputElementCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -33,71 +33,71 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSHTMLInputElement::selectionStart(ExecState* exec) const
</del><ins>+JSValue JSHTMLInputElement::selectionStart(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> HTMLInputElement& input = impl();
</span><span class="cx"> if (!input.canHaveSelection())
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> return jsNumber(input.selectionStart());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSHTMLInputElement::setSelectionStart(ExecState* exec, JSValue value)
</del><ins>+void JSHTMLInputElement::setSelectionStart(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> HTMLInputElement& input = impl();
</span><span class="cx"> if (!input.canHaveSelection())
</span><del>- throwTypeError(exec);
</del><ins>+ throwTypeError(&state);
</ins><span class="cx">
</span><del>- input.setSelectionStart(value.toInt32(exec));
</del><ins>+ input.setSelectionStart(value.toInt32(&state));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLInputElement::selectionEnd(ExecState* exec) const
</del><ins>+JSValue JSHTMLInputElement::selectionEnd(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> HTMLInputElement& input = impl();
</span><span class="cx"> if (!input.canHaveSelection())
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> return jsNumber(input.selectionEnd());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSHTMLInputElement::setSelectionEnd(ExecState* exec, JSValue value)
</del><ins>+void JSHTMLInputElement::setSelectionEnd(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> HTMLInputElement& input = impl();
</span><span class="cx"> if (!input.canHaveSelection())
</span><del>- throwTypeError(exec);
</del><ins>+ throwTypeError(&state);
</ins><span class="cx">
</span><del>- input.setSelectionEnd(value.toInt32(exec));
</del><ins>+ input.setSelectionEnd(value.toInt32(&state));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLInputElement::selectionDirection(ExecState* exec) const
</del><ins>+JSValue JSHTMLInputElement::selectionDirection(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> HTMLInputElement& input = impl();
</span><span class="cx"> if (!input.canHaveSelection())
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><del>- return jsStringWithCache(exec, input.selectionDirection());
</del><ins>+ return jsStringWithCache(&state, input.selectionDirection());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void JSHTMLInputElement::setSelectionDirection(ExecState* exec, JSValue value)
</del><ins>+void JSHTMLInputElement::setSelectionDirection(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> HTMLInputElement& input = impl();
</span><span class="cx"> if (!input.canHaveSelection()) {
</span><del>- throwTypeError(exec);
</del><ins>+ throwTypeError(&state);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- input.setSelectionDirection(value.toString(exec)->value(exec));
</del><ins>+ input.setSelectionDirection(value.toString(&state)->value(&state));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLInputElement::setSelectionRange(ExecState* exec)
</del><ins>+JSValue JSHTMLInputElement::setSelectionRange(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> HTMLInputElement& input = impl();
</span><span class="cx"> if (!input.canHaveSelection())
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><del>- int start = exec->argument(0).toInt32(exec);
- int end = exec->argument(1).toInt32(exec);
- String direction = exec->argument(2).toString(exec)->value(exec);
</del><ins>+ int start = state.argument(0).toInt32(&state);
+ int end = state.argument(1).toInt32(&state);
+ String direction = state.argument(2).toString(&state)->value(&state);
</ins><span class="cx">
</span><span class="cx"> input.setSelectionRange(start, end, direction);
</span><span class="cx"> return jsUndefined();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLMediaElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLMediaElementCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLMediaElementCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHTMLMediaElementCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">
</span><span class="cx"> using namespace JSC;
</span><span class="cx">
</span><del>-void JSHTMLMediaElement::setController(ExecState*, JSValue value)
</del><ins>+void JSHTMLMediaElement::setController(ExecState&, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> // 4.8.10.11.2 Media controllers: controller attribute.
</span><span class="cx"> // On setting, it must first remove the element's mediagroup attribute, if any,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLOptionsCollectionCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -47,11 +47,11 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSHTMLOptionsCollection::setLength(ExecState* exec, JSValue value)
</del><ins>+void JSHTMLOptionsCollection::setLength(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> unsigned newLength = 0;
</span><del>- double lengthValue = value.toNumber(exec);
</del><ins>+ double lengthValue = value.toNumber(&state);
</ins><span class="cx"> if (!std::isnan(lengthValue) && !std::isinf(lengthValue)) {
</span><span class="cx"> if (lengthValue < 0.0)
</span><span class="cx"> ec = INDEX_SIZE_ERR;
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> }
</span><span class="cx"> if (!ec)
</span><span class="cx"> impl().setLength(newLength, ec);
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void JSHTMLOptionsCollection::indexSetter(ExecState* exec, unsigned index, JSValue value)
</span><span class="lines">@@ -70,14 +70,14 @@
</span><span class="cx"> selectIndexSetter(&impl().selectElement(), exec, index, value);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHTMLOptionsCollection::remove(ExecState* exec)
</del><ins>+JSValue JSHTMLOptionsCollection::remove(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> // The argument can be an HTMLOptionElement or an index.
</span><del>- JSValue argument = exec->argument(0);
</del><ins>+ JSValue argument = state.argument(0);
</ins><span class="cx"> if (HTMLOptionElement* option = JSHTMLOptionElement::toWrapped(argument))
</span><span class="cx"> impl().remove(option);
</span><span class="cx"> else
</span><del>- impl().remove(argument.toInt32(exec));
</del><ins>+ impl().remove(argument.toInt32(&state));
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLSelectElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -32,21 +32,21 @@
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx">
</span><del>-JSValue JSHTMLSelectElement::remove(ExecState* exec)
</del><ins>+JSValue JSHTMLSelectElement::remove(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> HTMLSelectElement& select = impl();
</span><span class="cx">
</span><del>- if (!exec->argumentCount()) {
</del><ins>+ if (!state.argumentCount()) {
</ins><span class="cx"> // When called with no argument, we should call Element::remove() to detach.
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> select.remove(ec);
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> } else {
</span><span class="cx"> // The HTMLSelectElement::remove() function can take either an option object or the index of an option.
</span><del>- if (HTMLOptionElement* option = JSHTMLOptionElement::toWrapped(exec->argument(0)))
</del><ins>+ if (HTMLOptionElement* option = JSHTMLOptionElement::toWrapped(state.argument(0)))
</ins><span class="cx"> select.remove(option);
</span><span class="cx"> else
</span><del>- select.removeByIndex(exec->argument(0).toInt32(exec));
</del><ins>+ select.removeByIndex(state.argument(0).toInt32(&state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return jsUndefined();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLTemplateElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -43,9 +43,9 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSHTMLTemplateElement::content(ExecState* exec) const
</del><ins>+JSValue JSHTMLTemplateElement::content(ExecState& state) const
</ins><span class="cx"> {
</span><del>- JSLockHolder lock(exec);
</del><ins>+ JSLockHolder lock(&state);
</ins><span class="cx">
</span><span class="cx"> DocumentFragment* content = impl().content();
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHistoryCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> Base::getOwnPropertyNames(thisObject, exec, propertyNames, mode);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHistory::state(ExecState *exec) const
</del><ins>+JSValue JSHistory::state(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> History& history = impl();
</span><span class="cx">
</span><span class="lines">@@ -114,63 +114,63 @@
</span><span class="cx"> return cachedValue;
</span><span class="cx">
</span><span class="cx"> RefPtr<SerializedScriptValue> serialized = history.state();
</span><del>- JSValue result = serialized ? serialized->deserialize(exec, globalObject(), 0) : jsNull();
- const_cast<JSHistory*>(this)->m_state.set(exec->vm(), this, result);
</del><ins>+ JSValue result = serialized ? serialized->deserialize(&state, globalObject(), 0) : jsNull();
+ const_cast<JSHistory*>(this)->m_state.set(state.vm(), this, result);
</ins><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHistory::pushState(ExecState* exec)
</del><ins>+JSValue JSHistory::pushState(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (!shouldAllowAccessToFrame(exec, impl().frame()))
</del><ins>+ if (!shouldAllowAccessToFrame(&state, impl().frame()))
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- RefPtr<SerializedScriptValue> historyState = SerializedScriptValue::create(exec, exec->argument(0), 0, 0);
- if (exec->hadException())
</del><ins>+ RefPtr<SerializedScriptValue> historyState = SerializedScriptValue::create(&state, state.argument(0), 0, 0);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- String title = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(1));
- if (exec->hadException())
</del><ins>+ String title = valueToStringWithUndefinedOrNullCheck(&state, state.argument(1));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><del>-
</del><ins>+
</ins><span class="cx"> String url;
</span><del>- if (exec->argumentCount() > 2) {
- url = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(2));
- if (exec->hadException())
</del><ins>+ if (state.argumentCount() > 2) {
+ url = valueToStringWithUndefinedOrNullCheck(&state, state.argument(2));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> impl().stateObjectAdded(historyState.release(), title, url, History::StateObjectType::Push, ec);
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> m_state.clear();
</span><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSHistory::replaceState(ExecState* exec)
</del><ins>+JSValue JSHistory::replaceState(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (!shouldAllowAccessToFrame(exec, impl().frame()))
</del><ins>+ if (!shouldAllowAccessToFrame(&state, impl().frame()))
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- RefPtr<SerializedScriptValue> historyState = SerializedScriptValue::create(exec, exec->argument(0), 0, 0);
- if (exec->hadException())
</del><ins>+ RefPtr<SerializedScriptValue> historyState = SerializedScriptValue::create(&state, state.argument(0), 0, 0);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- String title = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(1));
- if (exec->hadException())
</del><ins>+ String title = valueToStringWithUndefinedOrNullCheck(&state, state.argument(1));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><del>-
</del><ins>+
</ins><span class="cx"> String url;
</span><del>- if (exec->argumentCount() > 2) {
- url = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(2));
- if (exec->hadException())
</del><ins>+ if (state.argumentCount() > 2) {
+ url = valueToStringWithUndefinedOrNullCheck(&state, state.argument(2));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> impl().stateObjectAdded(historyState.release(), title, url, History::StateObjectType::Replace, ec);
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> m_state.clear();
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSIDBDatabaseCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -44,40 +44,40 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSIDBDatabase::createObjectStore(ExecState* exec)
</del><ins>+JSValue JSIDBDatabase::createObjectStore(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 1)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 1)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- String name = exec->argument(0).toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ String name = state.argument(0).toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- JSValue optionsValue = exec->argument(1);
</del><ins>+ JSValue optionsValue = state.argument(1);
</ins><span class="cx"> if (!optionsValue.isUndefinedOrNull() && !optionsValue.isObject())
</span><del>- return throwTypeError(exec, "Not an object.");
</del><ins>+ return throwTypeError(&state, "Not an object.");
</ins><span class="cx">
</span><span class="cx"> IDBKeyPath keyPath;
</span><span class="cx"> bool autoIncrement = false;
</span><span class="cx"> if (!optionsValue.isUndefinedOrNull()) {
</span><del>- JSValue keyPathValue = optionsValue.get(exec, Identifier::fromString(exec, "keyPath"));
- if (exec->hadException())
</del><ins>+ JSValue keyPathValue = optionsValue.get(&state, Identifier::fromString(&state, "keyPath"));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> if (!keyPathValue.isUndefinedOrNull()) {
</span><del>- keyPath = idbKeyPathFromValue(exec, keyPathValue);
- if (exec->hadException())
</del><ins>+ keyPath = idbKeyPathFromValue(&state, keyPathValue);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- autoIncrement = optionsValue.get(exec, Identifier::fromString(exec, "autoIncrement")).toBoolean(exec);
- if (exec->hadException())
</del><ins>+ autoIncrement = optionsValue.get(&state, Identifier::fromString(&state, "autoIncrement")).toBoolean(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- JSValue result = toJS(exec, globalObject(), impl().createObjectStore(name, keyPath, autoIncrement, ec).get());
- setDOMException(exec, ec);
</del><ins>+ JSValue result = toJS(&state, globalObject(), impl().createObjectStore(name, keyPath, autoIncrement, ec).get());
+ setDOMException(&state, ec);
</ins><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSIDBObjectStoreCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -43,42 +43,42 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSIDBObjectStore::createIndex(ExecState* exec)
</del><ins>+JSValue JSIDBObjectStore::createIndex(ExecState& state)
</ins><span class="cx"> {
</span><del>- ScriptExecutionContext* context = jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject())->scriptExecutionContext();
</del><ins>+ ScriptExecutionContext* context = jsCast<JSDOMGlobalObject*>(state.lexicalGlobalObject())->scriptExecutionContext();
</ins><span class="cx"> if (!context)
</span><del>- return exec->vm().throwException(exec, createReferenceError(exec, "IDBObjectStore script execution context is unavailable"));
</del><ins>+ return state.vm().throwException(&state, createReferenceError(&state, "IDBObjectStore script &stateution context is unavailable"));
</ins><span class="cx">
</span><del>- if (exec->argumentCount() < 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 2)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- String name = exec->argument(0).toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ String name = state.argument(0).toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- IDBKeyPath keyPath = idbKeyPathFromValue(exec, exec->argument(1));
- if (exec->hadException())
</del><ins>+ IDBKeyPath keyPath = idbKeyPathFromValue(&state, state.argument(1));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- JSValue optionsValue = exec->argument(2);
</del><ins>+ JSValue optionsValue = state.argument(2);
</ins><span class="cx"> if (!optionsValue.isUndefinedOrNull() && !optionsValue.isObject())
</span><del>- return throwTypeError(exec, "Not an object.");
</del><ins>+ return throwTypeError(&state, "Not an object.");
</ins><span class="cx">
</span><span class="cx"> bool unique = false;
</span><span class="cx"> bool multiEntry = false;
</span><span class="cx"> if (!optionsValue.isUndefinedOrNull()) {
</span><del>- unique = optionsValue.get(exec, Identifier::fromString(exec, "unique")).toBoolean(exec);
- if (exec->hadException())
</del><ins>+ unique = optionsValue.get(&state, Identifier::fromString(&state, "unique")).toBoolean(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- multiEntry = optionsValue.get(exec, Identifier::fromString(exec, "multiEntry")).toBoolean(exec);
- if (exec->hadException())
</del><ins>+ multiEntry = optionsValue.get(&state, Identifier::fromString(&state, "multiEntry")).toBoolean(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- JSValue result = toJS(exec, globalObject(), impl().createIndex(context, name, keyPath, unique, multiEntry, ec).get());
- setDOMException(exec, ec);
</del><ins>+ JSValue result = toJS(&state, globalObject(), impl().createIndex(context, name, keyPath, unique, multiEntry, ec).get());
+ setDOMException(&state, ec);
</ins><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSInspectorFrontendHostCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -91,16 +91,16 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-JSValue JSInspectorFrontendHost::showContextMenu(ExecState* exec)
</del><ins>+JSValue JSInspectorFrontendHost::showContextMenu(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(CONTEXT_MENUS)
</span><del>- if (exec->argumentCount() < 2)
</del><ins>+ if (state.argumentCount() < 2)
</ins><span class="cx"> return jsUndefined();
</span><del>- Event* event = JSEvent::toWrapped(exec->argument(0));
</del><ins>+ Event* event = JSEvent::toWrapped(state.argument(0));
</ins><span class="cx">
</span><del>- JSArray* array = asArray(exec->argument(1));
</del><ins>+ JSArray* array = asArray(state.argument(1));
</ins><span class="cx"> ContextMenu menu;
</span><del>- populateContextMenuItems(exec, array, menu);
</del><ins>+ populateContextMenuItems(&state, array, menu);
</ins><span class="cx">
</span><span class="cx"> #if !USE(CROSS_PLATFORM_CONTEXT_MENUS)
</span><span class="cx"> Vector<ContextMenuItem> items = contextMenuItemVector(menu.platformDescription());
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> impl().showContextMenu(event, items);
</span><span class="cx"> #else
</span><del>- UNUSED_PARAM(exec);
</del><ins>+ UNUSED_PARAM(state);
</ins><span class="cx"> #endif
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSLocationCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -132,13 +132,13 @@
</span><span class="cx"> return Base::defineOwnProperty(object, exec, propertyName, descriptor, throwException);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSLocation::toStringFunction(ExecState* exec)
</del><ins>+JSValue JSLocation::toStringFunction(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> Frame* frame = impl().frame();
</span><del>- if (!frame || !shouldAllowAccessToFrame(exec, frame))
</del><ins>+ if (!frame || !shouldAllowAccessToFrame(&state, frame))
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- return jsStringWithCache(exec, impl().toString());
</del><ins>+ return jsStringWithCache(&state, impl().toString());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool JSLocationPrototype::putDelegate(ExecState* exec, PropertyName propertyName, JSValue, PutPropertySlot&)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMediaSourceStatesCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMediaSourceStatesCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMediaSourceStatesCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSMediaSourceStatesCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSMediaSourceStates::width(ExecState*) const
</del><ins>+JSValue JSMediaSourceStates::width(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> if (!impl().hasVideoSource())
</span><span class="cx"> return jsUndefined();
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> return jsNumber(impl().width());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSMediaSourceStates::height(ExecState*) const
</del><ins>+JSValue JSMediaSourceStates::height(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> if (!impl().hasVideoSource())
</span><span class="cx"> return jsUndefined();
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> return jsNumber(impl().height());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSMediaSourceStates::frameRate(ExecState*) const
</del><ins>+JSValue JSMediaSourceStates::frameRate(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> if (!impl().hasVideoSource())
</span><span class="cx"> return jsUndefined();
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> return jsNumber(impl().frameRate());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSMediaSourceStates::aspectRatio(ExecState*) const
</del><ins>+JSValue JSMediaSourceStates::aspectRatio(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> if (!impl().hasVideoSource())
</span><span class="cx"> return jsUndefined();
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> return jsNumber(impl().aspectRatio());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSMediaSourceStates::facingMode(ExecState* exec) const
</del><ins>+JSValue JSMediaSourceStates::facingMode(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> if (!impl().hasVideoSource())
</span><span class="cx"> return jsUndefined();
</span><span class="lines">@@ -76,10 +76,10 @@
</span><span class="cx"> if (mode.isEmpty())
</span><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- return jsStringWithCache(exec, impl().facingMode());
</del><ins>+ return jsStringWithCache(&state, impl().facingMode());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSMediaSourceStates::volume(ExecState*) const
</del><ins>+JSValue JSMediaSourceStates::volume(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> if (impl().hasVideoSource())
</span><span class="cx"> return jsUndefined();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMessageEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -44,11 +44,11 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSMessageEvent::data(ExecState* exec) const
</del><ins>+JSValue JSMessageEvent::data(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> if (JSValue cachedValue = m_data.get()) {
</span><span class="cx"> // We cannot use a cached object if we are in a different world than the one it was created in.
</span><del>- if (!cachedValue.isObject() || &worldForDOMObject(cachedValue.getObject()) == &currentWorld(exec))
</del><ins>+ if (!cachedValue.isObject() || &worldForDOMObject(cachedValue.getObject()) == &currentWorld(&state))
</ins><span class="cx"> return cachedValue;
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span><span class="lines">@@ -64,10 +64,10 @@
</span><span class="cx"> JSValue dataValue = scriptValue.jsValue();
</span><span class="cx"> // We need to make sure MessageEvents do not leak objects in their state property across isolated DOM worlds.
</span><span class="cx"> // Ideally, we would check that the worlds have different privileges but that's not possible yet.
</span><del>- if (dataValue.isObject() && &worldForDOMObject(dataValue.getObject()) != &currentWorld(exec)) {
- RefPtr<SerializedScriptValue> serializedValue = event.trySerializeData(exec);
</del><ins>+ if (dataValue.isObject() && &worldForDOMObject(dataValue.getObject()) != &currentWorld(&state)) {
+ RefPtr<SerializedScriptValue> serializedValue = event.trySerializeData(&state);
</ins><span class="cx"> if (serializedValue)
</span><del>- result = serializedValue->deserialize(exec, globalObject(), nullptr);
</del><ins>+ result = serializedValue->deserialize(&state, globalObject(), nullptr);
</ins><span class="cx"> else
</span><span class="cx"> result = jsNull();
</span><span class="cx"> } else
</span><span class="lines">@@ -80,64 +80,64 @@
</span><span class="cx"> if (RefPtr<SerializedScriptValue> serializedValue = event.dataAsSerializedScriptValue()) {
</span><span class="cx"> MessagePortArray ports = impl().ports();
</span><span class="cx"> // FIXME: Why does this suppress exceptions?
</span><del>- result = serializedValue->deserialize(exec, globalObject(), &ports, NonThrowing);
</del><ins>+ result = serializedValue->deserialize(&state, globalObject(), &ports, NonThrowing);
</ins><span class="cx"> } else
</span><span class="cx"> result = jsNull();
</span><span class="cx"> break;
</span><span class="cx">
</span><span class="cx"> case MessageEvent::DataTypeString:
</span><del>- result = jsStringWithCache(exec, event.dataAsString());
</del><ins>+ result = jsStringWithCache(&state, event.dataAsString());
</ins><span class="cx"> break;
</span><span class="cx">
</span><span class="cx"> case MessageEvent::DataTypeBlob:
</span><del>- result = toJS(exec, globalObject(), event.dataAsBlob());
</del><ins>+ result = toJS(&state, globalObject(), event.dataAsBlob());
</ins><span class="cx"> break;
</span><span class="cx">
</span><span class="cx"> case MessageEvent::DataTypeArrayBuffer:
</span><del>- result = toJS(exec, globalObject(), event.dataAsArrayBuffer());
</del><ins>+ result = toJS(&state, globalObject(), event.dataAsArrayBuffer());
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Save the result so we don't have to deserialize the value again.
</span><del>- const_cast<JSMessageEvent*>(this)->m_data.set(exec->vm(), this, result);
</del><ins>+ const_cast<JSMessageEvent*>(this)->m_data.set(state.vm(), this, result);
</ins><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static JSC::JSValue handleInitMessageEvent(JSMessageEvent* jsEvent, JSC::ExecState* exec)
</del><ins>+static JSC::JSValue handleInitMessageEvent(JSMessageEvent* jsEvent, JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- const String& typeArg = exec->argument(0).toString(exec)->value(exec);
- bool canBubbleArg = exec->argument(1).toBoolean(exec);
- bool cancelableArg = exec->argument(2).toBoolean(exec);
- const String originArg = exec->argument(4).toString(exec)->value(exec);
- const String lastEventIdArg = exec->argument(5).toString(exec)->value(exec);
- DOMWindow* sourceArg = JSDOMWindow::toWrapped(exec->argument(6));
</del><ins>+ const String& typeArg = state.argument(0).toString(&state)->value(&state);
+ bool canBubbleArg = state.argument(1).toBoolean(&state);
+ bool cancelableArg = state.argument(2).toBoolean(&state);
+ const String originArg = state.argument(4).toString(&state)->value(&state);
+ const String lastEventIdArg = state.argument(5).toString(&state)->value(&state);
+ DOMWindow* sourceArg = JSDOMWindow::toWrapped(state.argument(6));
</ins><span class="cx"> std::unique_ptr<MessagePortArray> messagePorts;
</span><span class="cx"> std::unique_ptr<ArrayBufferArray> arrayBuffers;
</span><del>- if (!exec->argument(7).isUndefinedOrNull()) {
</del><ins>+ if (!state.argument(7).isUndefinedOrNull()) {
</ins><span class="cx"> messagePorts = std::make_unique<MessagePortArray>();
</span><span class="cx"> arrayBuffers = std::make_unique<ArrayBufferArray>();
</span><del>- fillMessagePortArray(exec, exec->argument(7), *messagePorts, *arrayBuffers);
- if (exec->hadException())
</del><ins>+ fillMessagePortArray(state, state.argument(7), *messagePorts, *arrayBuffers);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- Deprecated::ScriptValue dataArg = Deprecated::ScriptValue(exec->vm(), exec->argument(3));
- if (exec->hadException())
</del><ins>+ Deprecated::ScriptValue dataArg = Deprecated::ScriptValue(state.vm(), state.argument(3));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> MessageEvent& event = jsEvent->impl();
</span><span class="cx"> event.initMessageEvent(typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, WTF::move(messagePorts));
</span><del>- jsEvent->m_data.set(exec->vm(), jsEvent, dataArg.jsValue());
</del><ins>+ jsEvent->m_data.set(state.vm(), jsEvent, dataArg.jsValue());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSMessageEvent::initMessageEvent(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSMessageEvent::initMessageEvent(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return handleInitMessageEvent(this, exec);
</del><ins>+ return handleInitMessageEvent(this, state);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSMessageEvent::webkitInitMessageEvent(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSMessageEvent::webkitInitMessageEvent(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return handleInitMessageEvent(this, exec);
</del><ins>+ return handleInitMessageEvent(this, state);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMessagePortCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMessagePortCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMessagePortCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSMessagePortCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -52,12 +52,12 @@
</span><span class="cx"> visitor.addOpaqueRoot(port);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSMessagePort::postMessage(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSMessagePort::postMessage(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return handlePostMessage(exec, &impl());
</del><ins>+ return handlePostMessage(state, &impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void fillMessagePortArray(JSC::ExecState* exec, JSC::JSValue value, MessagePortArray& portArray, ArrayBufferArray& arrayBuffers)
</del><ins>+void fillMessagePortArray(JSC::ExecState& state, JSC::JSValue value, MessagePortArray& portArray, ArrayBufferArray& arrayBuffers)
</ins><span class="cx"> {
</span><span class="cx"> // Convert from the passed-in JS array-like object to a MessagePortArray.
</span><span class="cx"> // Also validates the elements per sections 4.1.13 and 4.1.15 of the WebIDL spec and section 8.3.3 of the HTML5 spec.
</span><span class="lines">@@ -69,17 +69,17 @@
</span><span class="cx">
</span><span class="cx"> // Validation of sequence types, per WebIDL spec 4.1.13.
</span><span class="cx"> unsigned length = 0;
</span><del>- JSObject* object = toJSSequence(exec, value, length);
- if (exec->hadException())
</del><ins>+ JSObject* object = toJSSequence(&state, value, length);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> for (unsigned i = 0 ; i < length; ++i) {
</span><del>- JSValue value = object->get(exec, i);
- if (exec->hadException())
</del><ins>+ JSValue value = object->get(&state, i);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx"> // Validation of non-null objects, per HTML5 spec 10.3.3.
</span><span class="cx"> if (value.isUndefinedOrNull()) {
</span><del>- setDOMException(exec, INVALID_STATE_ERR);
</del><ins>+ setDOMException(&state, INVALID_STATE_ERR);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx"> if (port) {
</span><span class="cx"> // Check for duplicate ports.
</span><span class="cx"> if (portArray.contains(port)) {
</span><del>- setDOMException(exec, INVALID_STATE_ERR);
</del><ins>+ setDOMException(&state, INVALID_STATE_ERR);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> portArray.append(port.release());
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx"> if (arrayBuffer)
</span><span class="cx"> arrayBuffers.append(arrayBuffer);
</span><span class="cx"> else {
</span><del>- throwTypeError(exec);
</del><ins>+ throwTypeError(&state);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMessagePortCustomh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMessagePortCustom.h (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMessagePortCustom.h        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSMessagePortCustom.h        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -43,22 +43,22 @@
</span><span class="cx"> // Helper function which pulls the values out of a JS sequence and into a MessagePortArray.
</span><span class="cx"> // Also validates the elements per sections 4.1.13 and 4.1.15 of the WebIDL spec and section 8.3.3 of the HTML5 spec.
</span><span class="cx"> // May generate an exception via the passed ExecState.
</span><del>- void fillMessagePortArray(JSC::ExecState*, JSC::JSValue, MessagePortArray&, ArrayBufferArray&);
</del><ins>+ void fillMessagePortArray(JSC::ExecState&, JSC::JSValue, MessagePortArray&, ArrayBufferArray&);
</ins><span class="cx">
</span><span class="cx"> // Helper function to convert from JS postMessage arguments to WebCore postMessage arguments.
</span><span class="cx"> template <typename T>
</span><del>- inline JSC::JSValue handlePostMessage(JSC::ExecState* exec, T* impl)
</del><ins>+ inline JSC::JSValue handlePostMessage(JSC::ExecState& state, T* impl)
</ins><span class="cx"> {
</span><span class="cx"> MessagePortArray portArray;
</span><span class="cx"> ArrayBufferArray arrayBufferArray;
</span><del>- fillMessagePortArray(exec, exec->argument(1), portArray, arrayBufferArray);
- RefPtr<SerializedScriptValue> message = SerializedScriptValue::create(exec, exec->argument(0), &portArray, &arrayBufferArray);
- if (exec->hadException())
</del><ins>+ fillMessagePortArray(state, state.argument(1), portArray, arrayBufferArray);
+ RefPtr<SerializedScriptValue> message = SerializedScriptValue::create(&state, state.argument(0), &portArray, &arrayBufferArray);
+ if (state.hadException())
</ins><span class="cx"> return JSC::jsUndefined();
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> impl->postMessage(message.release(), &portArray, ec);
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return JSC::jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMockContentFilterSettingsCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMockContentFilterSettingsCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMockContentFilterSettingsCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSMockContentFilterSettingsCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> using Decision = MockContentFilterSettings::Decision;
</span><span class="cx"> using DecisionPoint = MockContentFilterSettings::DecisionPoint;
</span><span class="cx">
</span><del>-JSValue JSMockContentFilterSettings::decisionPoint(ExecState*) const
</del><ins>+JSValue JSMockContentFilterSettings::decisionPoint(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> DecisionPoint decisionPoint = impl().decisionPoint();
</span><span class="cx"> switch (decisionPoint) {
</span><span class="lines">@@ -55,10 +55,10 @@
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSMockContentFilterSettings::setDecisionPoint(ExecState* exec, JSValue value)
</del><ins>+void JSMockContentFilterSettings::setDecisionPoint(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><del>- uint8_t nativeValue { toUInt8(exec, value, EnforceRange) };
- if (exec->hadException())
</del><ins>+ uint8_t nativeValue { toUInt8(&state, value, EnforceRange) };
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> DecisionPoint decisionPoint { static_cast<DecisionPoint>(nativeValue) };
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- throwTypeError(exec, String::format("%u is not a valid decisionPoint value.", nativeValue));
</del><ins>+ throwTypeError(&state, String::format("%u is not a valid decisionPoint value.", nativeValue));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static inline JSValue toJSValue(Decision decision)
</span><span class="lines">@@ -88,10 +88,10 @@
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static inline Decision toDecision(ExecState* exec, JSValue value)
</del><ins>+static inline Decision toDecision(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><del>- uint8_t nativeValue { toUInt8(exec, value, EnforceRange) };
- if (exec->hadException())
</del><ins>+ uint8_t nativeValue { toUInt8(&state, value, EnforceRange) };
+ if (state.hadException())
</ins><span class="cx"> return Decision::Allow;
</span><span class="cx">
</span><span class="cx"> Decision decision { static_cast<Decision>(nativeValue) };
</span><span class="lines">@@ -101,33 +101,33 @@
</span><span class="cx"> return decision;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- throwTypeError(exec, String::format("%u is not a valid decision value.", nativeValue));
</del><ins>+ throwTypeError(&state, String::format("%u is not a valid decision value.", nativeValue));
</ins><span class="cx"> return Decision::Allow;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSMockContentFilterSettings::decision(ExecState*) const
</del><ins>+JSValue JSMockContentFilterSettings::decision(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> return toJSValue(impl().decision());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSMockContentFilterSettings::setDecision(ExecState* exec, JSValue value)
</del><ins>+void JSMockContentFilterSettings::setDecision(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><del>- Decision decision { toDecision(exec, value) };
- if (exec->hadException())
</del><ins>+ Decision decision { toDecision(state, value) };
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> impl().setDecision(decision);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSMockContentFilterSettings::unblockRequestDecision(ExecState*) const
</del><ins>+JSValue JSMockContentFilterSettings::unblockRequestDecision(ExecState&) const
</ins><span class="cx"> {
</span><span class="cx"> return toJSValue(impl().unblockRequestDecision());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSMockContentFilterSettings::setUnblockRequestDecision(ExecState* exec, JSValue value)
</del><ins>+void JSMockContentFilterSettings::setUnblockRequestDecision(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><del>- Decision unblockRequestDecision { toDecision(exec, value) };
- if (exec->hadException())
</del><ins>+ Decision unblockRequestDecision { toDecision(state, value) };
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> impl().setUnblockRequestDecision(unblockRequestDecision);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSNavigatorCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSNavigatorCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSNavigatorCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSNavigatorCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -42,41 +42,41 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSNavigator::webkitGetUserMedia(ExecState* exec)
</del><ins>+JSValue JSNavigator::webkitGetUserMedia(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 3) {
- throwVMError(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 3) {
+ throwVMError(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- Dictionary options(exec, exec->argument(0));
- if (exec->hadException())
</del><ins>+ Dictionary options(&state, state.argument(0));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> if (!options.isObject()) {
</span><del>- throwVMError(exec, createTypeError(exec, "First argument of webkitGetUserMedia must be a valid Dictionary"));
</del><ins>+ throwVMError(&state, createTypeError(&state, "First argument of webkitGetUserMedia must be a valid Dictionary"));
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (!exec->argument(1).isFunction()) {
- throwVMTypeError(exec, "Argument 2 ('successCallback') to Navigator.webkitGetUserMedia must be a function");
</del><ins>+ if (!state.argument(1).isFunction()) {
+ throwVMTypeError(&state, "Argument 2 ('successCallback') to Navigator.webkitGetUserMedia must be a function");
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (!exec->argument(2).isFunction()) {
- throwVMTypeError(exec, "Argument 3 ('errorCallback') to Navigator.webkitGetUserMedia must be a function");
</del><ins>+ if (!state.argument(2).isFunction()) {
+ throwVMTypeError(&state, "Argument 3 ('errorCallback') to Navigator.webkitGetUserMedia must be a function");
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (!impl().frame()) {
</span><del>- setDOMException(exec, NOT_SUPPORTED_ERR);
</del><ins>+ setDOMException(&state, NOT_SUPPORTED_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // We do not need to protect the context (i.e. document) here as UserMediaRequest is observing context destruction and will check validity before resolving/rejecting promise.
</span><span class="cx"> Document* document = impl().frame()->document();
</span><span class="cx">
</span><del>- RefPtr<NavigatorUserMediaSuccessCallback> successCallback = JSNavigatorUserMediaSuccessCallback::create(asObject(exec->uncheckedArgument(1)), globalObject());
</del><ins>+ RefPtr<NavigatorUserMediaSuccessCallback> successCallback = JSNavigatorUserMediaSuccessCallback::create(asObject(state.uncheckedArgument(1)), globalObject());
</ins><span class="cx"> auto resolveCallback = [successCallback, document](const RefPtr<MediaStream>& stream) mutable {
</span><span class="cx"> RefPtr<MediaStream> protectedStream = stream;
</span><span class="cx"> document->postTask([successCallback, protectedStream](ScriptExecutionContext&) {
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> });
</span><span class="cx"> };
</span><span class="cx">
</span><del>- RefPtr<NavigatorUserMediaErrorCallback> errorCallback = JSNavigatorUserMediaErrorCallback::create(asObject(exec->uncheckedArgument(2)), globalObject());
</del><ins>+ RefPtr<NavigatorUserMediaErrorCallback> errorCallback = JSNavigatorUserMediaErrorCallback::create(asObject(state.uncheckedArgument(2)), globalObject());
</ins><span class="cx"> auto rejectCallback = [errorCallback, document](const RefPtr<NavigatorUserMediaError>& error) mutable {
</span><span class="cx"> RefPtr<NavigatorUserMediaError> protectedError = error;
</span><span class="cx"> document->postTask([errorCallback, protectedError](ScriptExecutionContext&) {
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> UserMediaRequest::start(document, options, MediaDevices::Promise(WTF::move(resolveCallback), WTF::move(rejectCallback)), ec);
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -113,43 +113,43 @@
</span><span class="cx"> return isReachableFromDOM(jsNode.impl(), visitor);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSNode::insertBefore(ExecState* exec)
</del><ins>+JSValue JSNode::insertBefore(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- bool ok = impl().insertBefore(JSNode::toWrapped(exec->argument(0)), JSNode::toWrapped(exec->argument(1)), ec);
- setDOMException(exec, ec);
</del><ins>+ bool ok = impl().insertBefore(JSNode::toWrapped(state.argument(0)), JSNode::toWrapped(state.argument(1)), ec);
+ setDOMException(&state, ec);
</ins><span class="cx"> if (ok)
</span><del>- return exec->argument(0);
</del><ins>+ return state.argument(0);
</ins><span class="cx"> return jsNull();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSNode::replaceChild(ExecState* exec)
</del><ins>+JSValue JSNode::replaceChild(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- bool ok = impl().replaceChild(JSNode::toWrapped(exec->argument(0)), JSNode::toWrapped(exec->argument(1)), ec);
- setDOMException(exec, ec);
</del><ins>+ bool ok = impl().replaceChild(JSNode::toWrapped(state.argument(0)), JSNode::toWrapped(state.argument(1)), ec);
+ setDOMException(&state, ec);
</ins><span class="cx"> if (ok)
</span><del>- return exec->argument(1);
</del><ins>+ return state.argument(1);
</ins><span class="cx"> return jsNull();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSNode::removeChild(ExecState* exec)
</del><ins>+JSValue JSNode::removeChild(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- bool ok = impl().removeChild(JSNode::toWrapped(exec->argument(0)), ec);
- setDOMException(exec, ec);
</del><ins>+ bool ok = impl().removeChild(JSNode::toWrapped(state.argument(0)), ec);
+ setDOMException(&state, ec);
</ins><span class="cx"> if (ok)
</span><del>- return exec->argument(0);
</del><ins>+ return state.argument(0);
</ins><span class="cx"> return jsNull();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSNode::appendChild(ExecState* exec)
</del><ins>+JSValue JSNode::appendChild(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- bool ok = impl().appendChild(JSNode::toWrapped(exec->argument(0)), ec);
- setDOMException(exec, ec);
</del><ins>+ bool ok = impl().appendChild(JSNode::toWrapped(state.argument(0)), ec);
+ setDOMException(&state, ec);
</ins><span class="cx"> if (ok)
</span><del>- return exec->argument(0);
</del><ins>+ return state.argument(0);
</ins><span class="cx"> return jsNull();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSOscillatorNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -37,28 +37,28 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-void JSOscillatorNode::setType(ExecState* exec, JSValue value)
</del><ins>+void JSOscillatorNode::setType(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> OscillatorNode& imp = impl();
</span><span class="cx">
</span><span class="cx"> #if ENABLE(LEGACY_WEB_AUDIO)
</span><span class="cx"> if (value.isNumber()) {
</span><del>- uint32_t type = value.toUInt32(exec);
</del><ins>+ uint32_t type = value.toUInt32(&state);
</ins><span class="cx"> if (!imp.setType(type))
</span><del>- exec->vm().throwException(exec, createTypeError(exec, "Illegal OscillatorNode type"));
</del><ins>+ state.vm().throwException(&state, createTypeError(&state, "Illegal OscillatorNode type"));
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> if (value.isString()) {
</span><del>- String type = value.toString(exec)->value(exec);
</del><ins>+ String type = value.toString(&state)->value(&state);
</ins><span class="cx"> if (type == "sine" || type == "square" || type == "sawtooth" || type == "triangle") {
</span><span class="cx"> imp.setType(type);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- exec->vm().throwException(exec, createTypeError(exec, "Illegal OscillatorNode type"));
</del><ins>+ state.vm().throwException(&state, createTypeError(&state, "Illegal OscillatorNode type"));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSPannerNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -37,52 +37,52 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-void JSPannerNode::setPanningModel(ExecState* exec, JSValue value)
</del><ins>+void JSPannerNode::setPanningModel(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> PannerNode& imp = impl();
</span><span class="cx">
</span><span class="cx"> #if ENABLE(LEGACY_WEB_AUDIO)
</span><span class="cx"> if (value.isNumber()) {
</span><del>- uint32_t model = value.toUInt32(exec);
</del><ins>+ uint32_t model = value.toUInt32(&state);
</ins><span class="cx"> if (!imp.setPanningModel(model))
</span><del>- exec->vm().throwException(exec, createTypeError(exec, "Illegal panningModel"));
</del><ins>+ state.vm().throwException(&state, createTypeError(&state, "Illegal panningModel"));
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> if (value.isString()) {
</span><del>- String model = value.toString(exec)->value(exec);
</del><ins>+ String model = value.toString(&state)->value(&state);
</ins><span class="cx"> if (model == "equalpower" || model == "HRTF" || model == "soundfield") {
</span><span class="cx"> imp.setPanningModel(model);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- exec->vm().throwException(exec, createTypeError(exec, "Illegal panningModel"));
</del><ins>+ state.vm().throwException(&state, createTypeError(&state, "Illegal panningModel"));
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void JSPannerNode::setDistanceModel(ExecState* exec, JSValue value)
</del><ins>+void JSPannerNode::setDistanceModel(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> PannerNode& imp = impl();
</span><span class="cx">
</span><span class="cx"> #if ENABLE(LEGACY_WEB_AUDIO)
</span><span class="cx"> if (value.isNumber()) {
</span><del>- uint32_t model = value.toUInt32(exec);
</del><ins>+ uint32_t model = value.toUInt32(&state);
</ins><span class="cx"> if (!imp.setDistanceModel(model))
</span><del>- exec->vm().throwException(exec, createTypeError(exec, "Illegal distanceModel"));
</del><ins>+ state.vm().throwException(&state, createTypeError(&state, "Illegal distanceModel"));
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> if (value.isString()) {
</span><del>- String model = value.toString(exec)->value(exec);
</del><ins>+ String model = value.toString(&state)->value(&state);
</ins><span class="cx"> if (model == "linear" || model == "inverse" || model == "exponential") {
</span><span class="cx"> imp.setDistanceModel(model);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- exec->vm().throwException(exec, createTypeError(exec, "Illegal distanceModel"));
</del><ins>+ state.vm().throwException(&state, createTypeError(&state, "Illegal distanceModel"));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSPopStateEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -40,18 +40,18 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> // Save the state value to the m_state member of a JSPopStateEvent, and return it, for convenience.
</span><del>-static const JSValue& cacheState(ExecState* exec, JSPopStateEvent* event, const JSValue& state)
</del><ins>+static const JSValue& cacheState(ExecState& state, JSPopStateEvent* event, const JSValue& eventState)
</ins><span class="cx"> {
</span><del>- event->m_state.set(exec->vm(), event, state);
- return state;
</del><ins>+ event->m_state.set(state.vm(), event, eventState);
+ return eventState;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSPopStateEvent::state(ExecState* exec) const
</del><ins>+JSValue JSPopStateEvent::state(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> JSValue cachedValue = m_state.get();
</span><span class="cx"> if (!cachedValue.isEmpty()) {
</span><span class="cx"> // We cannot use a cached object if we are in a different world than the one it was created in.
</span><del>- if (!cachedValue.isObject() || &worldForDOMObject(cachedValue.getObject()) == &currentWorld(exec))
</del><ins>+ if (!cachedValue.isObject() || &worldForDOMObject(cachedValue.getObject()) == &currentWorld(&state))
</ins><span class="cx"> return cachedValue;
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span><span class="lines">@@ -61,20 +61,20 @@
</span><span class="cx"> if (!event.state().hasNoValue()) {
</span><span class="cx"> // We need to make sure a PopStateEvent does not leak objects in its state property across isolated DOM worlds.
</span><span class="cx"> // Ideally, we would check that the worlds have different privileges but that's not possible yet.
</span><del>- JSValue state = event.state().jsValue();
- if (state.isObject() && &worldForDOMObject(state.getObject()) != &currentWorld(exec)) {
- if (RefPtr<SerializedScriptValue> serializedValue = event.trySerializeState(exec))
- state = serializedValue->deserialize(exec, globalObject(), nullptr);
</del><ins>+ JSValue eventState = event.state().jsValue();
+ if (eventState.isObject() && &worldForDOMObject(eventState.getObject()) != &currentWorld(&state)) {
+ if (RefPtr<SerializedScriptValue> serializedValue = event.trySerializeState(&state))
+ eventState = serializedValue->deserialize(&state, globalObject(), nullptr);
</ins><span class="cx"> else
</span><del>- state = jsNull();
</del><ins>+ eventState = jsNull();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- return cacheState(exec, const_cast<JSPopStateEvent*>(this), state);
</del><ins>+ return cacheState(state, const_cast<JSPopStateEvent*>(this), eventState);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> History* history = event.history();
</span><span class="cx"> if (!history || !event.serializedState())
</span><del>- return cacheState(exec, const_cast<JSPopStateEvent*>(this), jsNull());
</del><ins>+ return cacheState(state, const_cast<JSPopStateEvent*>(this), jsNull());
</ins><span class="cx">
</span><span class="cx"> // There's no cached value from a previous invocation, nor a state value was provided by the
</span><span class="cx"> // event, but there is a history object, so first we need to see if the state object has been
</span><span class="lines">@@ -86,12 +86,12 @@
</span><span class="cx"> JSValue result;
</span><span class="cx">
</span><span class="cx"> if (isSameState) {
</span><del>- JSHistory* jsHistory = jsCast<JSHistory*>(toJS(exec, globalObject(), history).asCell());
- result = jsHistory->state(exec);
</del><ins>+ JSHistory* jsHistory = jsCast<JSHistory*>(toJS(&state, globalObject(), history).asCell());
+ result = jsHistory->state(state);
</ins><span class="cx"> } else
</span><del>- result = event.serializedState()->deserialize(exec, globalObject(), 0);
</del><ins>+ result = event.serializedState()->deserialize(&state, globalObject(), 0);
</ins><span class="cx">
</span><del>- return cacheState(exec, const_cast<JSPopStateEvent*>(this), result);
</del><ins>+ return cacheState(state, const_cast<JSPopStateEvent*>(this), result);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSReadableStreamCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -47,16 +47,16 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSReadableStream::pipeTo(ExecState* exec)
</del><ins>+JSValue JSReadableStream::pipeTo(ExecState& state)
</ins><span class="cx"> {
</span><del>- JSValue error = createError(exec, ASCIILiteral("pipeTo is not implemented"));
- return exec->vm().throwException(exec, error);
</del><ins>+ JSValue error = createError(&state, ASCIILiteral("pipeTo is not implemented"));
+ return state.vm().throwException(&state, error);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSReadableStream::pipeThrough(ExecState* exec)
</del><ins>+JSValue JSReadableStream::pipeThrough(ExecState& state)
</ins><span class="cx"> {
</span><del>- JSValue error = createError(exec, ASCIILiteral("pipeThrough is not implemented"));
- return exec->vm().throwException(exec, error);
</del><ins>+ JSValue error = createError(&state, ASCIILiteral("pipeThrough is not implemented"));
+ return state.vm().throwException(&state, error);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSReadableStreamReaderCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSReadableStreamReaderCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSReadableStreamReaderCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSReadableStreamReaderCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -44,12 +44,12 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSReadableStreamReader::closed(ExecState* exec) const
</del><ins>+JSValue JSReadableStreamReader::closed(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> if (!m_closed) {
</span><del>- JSPromiseDeferred* closedPromise = JSPromiseDeferred::create(exec, globalObject());
- const_cast<JSReadableStreamReader*>(this)->m_closed.set(exec->vm(), this, closedPromise->promise());
- impl().closed(DeferredWrapper(exec, globalObject(), closedPromise));
</del><ins>+ JSPromiseDeferred* closedPromise = JSPromiseDeferred::create(&state, globalObject());
+ const_cast<JSReadableStreamReader*>(this)->m_closed.set(state.vm(), this, closedPromise->promise());
+ impl().closed(DeferredWrapper(&state, globalObject(), closedPromise));
</ins><span class="cx"> }
</span><span class="cx"> return m_closed.get();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSSQLResultSetRowListCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -39,20 +39,20 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSSQLResultSetRowList::item(ExecState* exec)
</del><ins>+JSValue JSSQLResultSetRowList::item(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> bool indexOk;
</span><del>- int index = finiteInt32Value(exec->argument(0), exec, indexOk);
</del><ins>+ int index = finiteInt32Value(state.argument(0), &state, indexOk);
</ins><span class="cx"> if (!indexOk) {
</span><del>- setDOMException(exec, TYPE_MISMATCH_ERR);
</del><ins>+ setDOMException(&state, TYPE_MISMATCH_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> if (index < 0 || (unsigned)index >= m_impl->length()) {
</span><del>- setDOMException(exec, INDEX_SIZE_ERR);
</del><ins>+ setDOMException(&state, INDEX_SIZE_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSObject* object = constructEmptyObject(exec);
</del><ins>+ JSObject* object = constructEmptyObject(&state);
</ins><span class="cx">
</span><span class="cx"> unsigned numColumns = m_impl->columnNames().size();
</span><span class="cx"> unsigned valuesIndex = index * numColumns;
</span><span class="lines">@@ -61,20 +61,20 @@
</span><span class="cx"> JSValue jsValue;
</span><span class="cx">
</span><span class="cx"> switch (value.type()) {
</span><del>- case SQLValue::StringValue:
- jsValue = jsStringWithCache(exec, value.string());
- break;
- case SQLValue::NullValue:
- jsValue = jsNull();
- break;
- case SQLValue::NumberValue:
- jsValue = jsNumber(value.number());
- break;
- default:
- ASSERT_NOT_REACHED();
</del><ins>+ case SQLValue::StringValue:
+ jsValue = jsStringWithCache(&state, value.string());
+ break;
+ case SQLValue::NullValue:
+ jsValue = jsNull();
+ break;
+ case SQLValue::NumberValue:
+ jsValue = jsNumber(value.number());
+ break;
+ default:
+ ASSERT_NOT_REACHED();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- object->putDirect(exec->vm(), Identifier::fromString(exec, m_impl->columnNames()[i]), jsValue, DontDelete | ReadOnly);
</del><ins>+ object->putDirect(state.vm(), Identifier::fromString(&state, m_impl->columnNames()[i]), jsValue, DontDelete | ReadOnly);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return object;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSSQLTransactionCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -41,36 +41,36 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSSQLTransaction::executeSql(ExecState* exec)
</del><ins>+JSValue JSSQLTransaction::executeSql(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (!exec->argumentCount()) {
- setDOMException(exec, SYNTAX_ERR);
</del><ins>+ if (!state.argumentCount()) {
+ setDOMException(&state, SYNTAX_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- String sqlStatement = exec->argument(0).toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ String sqlStatement = state.argument(0).toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> // Now assemble the list of SQL arguments
</span><span class="cx"> Vector<SQLValue> sqlValues;
</span><del>- if (!exec->argument(1).isUndefinedOrNull()) {
- JSObject* object = exec->argument(1).getObject();
</del><ins>+ if (!state.argument(1).isUndefinedOrNull()) {
+ JSObject* object = state.argument(1).getObject();
</ins><span class="cx"> if (!object) {
</span><del>- setDOMException(exec, TYPE_MISMATCH_ERR);
</del><ins>+ setDOMException(&state, TYPE_MISMATCH_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSValue lengthValue = object->get(exec, exec->propertyNames().length);
- if (exec->hadException())
</del><ins>+ JSValue lengthValue = object->get(&state, state.propertyNames().length);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><del>- unsigned length = lengthValue.toUInt32(exec);
- if (exec->hadException())
</del><ins>+ unsigned length = lengthValue.toUInt32(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> for (unsigned i = 0 ; i < length; ++i) {
</span><del>- JSValue value = object->get(exec, i);
- if (exec->hadException())
</del><ins>+ JSValue value = object->get(&state, i);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> if (value.isUndefinedOrNull())
</span><span class="lines">@@ -79,18 +79,18 @@
</span><span class="cx"> sqlValues.append(value.asNumber());
</span><span class="cx"> else {
</span><span class="cx"> // Convert the argument to a string and append it
</span><del>- sqlValues.append(value.toString(exec)->value(exec));
- if (exec->hadException())
</del><ins>+ sqlValues.append(value.toString(&state)->value(&state));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RefPtr<SQLStatementCallback> callback;
</span><del>- if (!exec->argument(2).isUndefinedOrNull()) {
- JSObject* object = exec->argument(2).getObject();
</del><ins>+ if (!state.argument(2).isUndefinedOrNull()) {
+ JSObject* object = state.argument(2).getObject();
</ins><span class="cx"> if (!object) {
</span><del>- setDOMException(exec, TYPE_MISMATCH_ERR);
</del><ins>+ setDOMException(&state, TYPE_MISMATCH_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -98,10 +98,10 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RefPtr<SQLStatementErrorCallback> errorCallback;
</span><del>- if (!exec->argument(3).isUndefinedOrNull()) {
- JSObject* object = exec->argument(3).getObject();
</del><ins>+ if (!state.argument(3).isUndefinedOrNull()) {
+ JSObject* object = state.argument(3).getObject();
</ins><span class="cx"> if (!object) {
</span><del>- setDOMException(exec, TYPE_MISMATCH_ERR);
</del><ins>+ setDOMException(&state, TYPE_MISMATCH_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> m_impl->executeSQL(sqlStatement, sqlValues, callback.release(), errorCallback.release(), ec);
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx">
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSSVGLengthCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -31,29 +31,29 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSSVGLength::value(ExecState* exec) const
</del><ins>+JSValue JSSVGLength::value(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> SVGLength& podImp = impl().propertyReference();
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> SVGLengthContext lengthContext(impl().contextElement());
</span><span class="cx"> float value = podImp.value(lengthContext, ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return jsNumber(value);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSSVGLength::setValue(ExecState* exec, JSValue value)
</del><ins>+void JSSVGLength::setValue(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> if (impl().isReadOnly()) {
</span><del>- setDOMException(exec, NO_MODIFICATION_ALLOWED_ERR);
</del><ins>+ setDOMException(&state, NO_MODIFICATION_ALLOWED_ERR);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (!value.isUndefinedOrNull() && !value.isNumber() && !value.isBoolean()) {
</span><del>- throwVMTypeError(exec);
</del><ins>+ throwVMTypeError(&state);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -61,36 +61,36 @@
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> SVGLengthContext lengthContext(impl().contextElement());
</span><del>- podImp.setValue(value.toFloat(exec), lengthContext, ec);
</del><ins>+ podImp.setValue(value.toFloat(&state), lengthContext, ec);
</ins><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> impl().commitChange();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSVGLength::convertToSpecifiedUnits(ExecState* exec)
</del><ins>+JSValue JSSVGLength::convertToSpecifiedUnits(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> if (impl().isReadOnly()) {
</span><del>- setDOMException(exec, NO_MODIFICATION_ALLOWED_ERR);
</del><ins>+ setDOMException(&state, NO_MODIFICATION_ALLOWED_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> SVGLength& podImp = impl().propertyReference();
</span><span class="cx">
</span><del>- if (exec->argumentCount() < 1)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 1)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- unsigned short unitType = exec->uncheckedArgument(0).toUInt32(exec);
- if (exec->hadException())
</del><ins>+ unsigned short unitType = state.uncheckedArgument(0).toUInt32(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> SVGLengthContext lengthContext(impl().contextElement());
</span><span class="cx"> podImp.convertToSpecifiedUnits(unitType, lengthContext, ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSSubtleCryptoCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -61,24 +61,24 @@
</span><span class="cx"> JWK
</span><span class="cx"> };
</span><span class="cx">
</span><del>-static std::unique_ptr<CryptoAlgorithm> createAlgorithmFromJSValue(ExecState* exec, JSValue value)
</del><ins>+static std::unique_ptr<CryptoAlgorithm> createAlgorithmFromJSValue(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> CryptoAlgorithmIdentifier algorithmIdentifier;
</span><del>- if (!JSCryptoAlgorithmDictionary::getAlgorithmIdentifier(exec, value, algorithmIdentifier)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!JSCryptoAlgorithmDictionary::getAlgorithmIdentifier(&state, value, algorithmIdentifier)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> auto result = CryptoAlgorithmRegistry::singleton().create(algorithmIdentifier);
</span><span class="cx"> if (!result)
</span><del>- setDOMException(exec, NOT_SUPPORTED_ERR);
</del><ins>+ setDOMException(&state, NOT_SUPPORTED_ERR);
</ins><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static bool cryptoKeyFormatFromJSValue(ExecState* exec, JSValue value, CryptoKeyFormat& result)
</del><ins>+static bool cryptoKeyFormatFromJSValue(ExecState& state, JSValue value, CryptoKeyFormat& result)
</ins><span class="cx"> {
</span><del>- String keyFormatString = value.toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ String keyFormatString = value.toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return false;
</span><span class="cx"> if (keyFormatString == "raw")
</span><span class="cx"> result = CryptoKeyFormat::Raw;
</span><span class="lines">@@ -89,16 +89,16 @@
</span><span class="cx"> else if (keyFormatString == "jwk")
</span><span class="cx"> result = CryptoKeyFormat::JWK;
</span><span class="cx"> else {
</span><del>- throwTypeError(exec, "Unknown key format");
</del><ins>+ throwTypeError(&state, "Unknown key format");
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static bool cryptoKeyUsagesFromJSValue(ExecState* exec, JSValue value, CryptoKeyUsage& result)
</del><ins>+static bool cryptoKeyUsagesFromJSValue(ExecState& state, JSValue value, CryptoKeyUsage& result)
</ins><span class="cx"> {
</span><span class="cx"> if (!isJSArray(value)) {
</span><del>- throwTypeError(exec);
</del><ins>+ throwTypeError(&state);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -106,9 +106,9 @@
</span><span class="cx">
</span><span class="cx"> JSArray* array = asArray(value);
</span><span class="cx"> for (size_t i = 0; i < array->length(); ++i) {
</span><del>- JSValue element = array->getIndex(exec, i);
- String usageString = element.toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ JSValue element = array->getIndex(&state, i);
+ String usageString = element.toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return false;
</span><span class="cx"> if (usageString == "encrypt")
</span><span class="cx"> result |= CryptoKeyUsageEncrypt;
</span><span class="lines">@@ -130,42 +130,42 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSubtleCrypto::encrypt(ExecState* exec)
</del><ins>+JSValue JSSubtleCrypto::encrypt(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 3)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 3)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- auto algorithm = createAlgorithmFromJSValue(exec, exec->uncheckedArgument(0));
</del><ins>+ auto algorithm = createAlgorithmFromJSValue(state, state.uncheckedArgument(0));
</ins><span class="cx"> if (!algorithm) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- auto parameters = JSCryptoAlgorithmDictionary::createParametersForEncrypt(exec, algorithm->identifier(), exec->uncheckedArgument(0));
</del><ins>+ auto parameters = JSCryptoAlgorithmDictionary::createParametersForEncrypt(&state, algorithm->identifier(), state.uncheckedArgument(0));
</ins><span class="cx"> if (!parameters) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(exec->uncheckedArgument(1));
</del><ins>+ RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(state.uncheckedArgument(1));
</ins><span class="cx"> if (!key)
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> if (!key->allows(CryptoKeyUsageEncrypt)) {
</span><span class="cx"> m_impl->document()->addConsoleMessage(MessageSource::JS, MessageLevel::Error, ASCIILiteral("Key usages do not include 'encrypt'"));
</span><del>- setDOMException(exec, NOT_SUPPORTED_ERR);
</del><ins>+ setDOMException(&state, NOT_SUPPORTED_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoOperationData data;
</span><del>- if (!cryptoOperationDataFromJSValue(exec, exec->uncheckedArgument(2), data)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoOperationDataFromJSValue(&state, state.uncheckedArgument(2), data)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx">
</span><del>- JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(exec, globalObject());
- DeferredWrapper wrapper(exec, globalObject(), promiseDeferred);
</del><ins>+ JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(&state, globalObject());
+ DeferredWrapper wrapper(&state, globalObject(), promiseDeferred);
</ins><span class="cx"> auto successCallback = [wrapper](const Vector<uint8_t>& result) mutable {
</span><span class="cx"> wrapper.resolve(result);
</span><span class="cx"> };
</span><span class="lines">@@ -176,48 +176,48 @@
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> algorithm->encrypt(*parameters, *key, data, WTF::move(successCallback), WTF::move(failureCallback), ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return promiseDeferred->promise();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSubtleCrypto::decrypt(ExecState* exec)
</del><ins>+JSValue JSSubtleCrypto::decrypt(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 3)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 3)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- auto algorithm = createAlgorithmFromJSValue(exec, exec->uncheckedArgument(0));
</del><ins>+ auto algorithm = createAlgorithmFromJSValue(state, state.uncheckedArgument(0));
</ins><span class="cx"> if (!algorithm) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- auto parameters = JSCryptoAlgorithmDictionary::createParametersForDecrypt(exec, algorithm->identifier(), exec->uncheckedArgument(0));
</del><ins>+ auto parameters = JSCryptoAlgorithmDictionary::createParametersForDecrypt(&state, algorithm->identifier(), state.uncheckedArgument(0));
</ins><span class="cx"> if (!parameters) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(exec->uncheckedArgument(1));
</del><ins>+ RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(state.uncheckedArgument(1));
</ins><span class="cx"> if (!key)
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> if (!key->allows(CryptoKeyUsageDecrypt)) {
</span><span class="cx"> m_impl->document()->addConsoleMessage(MessageSource::JS, MessageLevel::Error, ASCIILiteral("Key usages do not include 'decrypt'"));
</span><del>- setDOMException(exec, NOT_SUPPORTED_ERR);
</del><ins>+ setDOMException(&state, NOT_SUPPORTED_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoOperationData data;
</span><del>- if (!cryptoOperationDataFromJSValue(exec, exec->uncheckedArgument(2), data)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoOperationDataFromJSValue(&state, state.uncheckedArgument(2), data)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(exec, globalObject());
- DeferredWrapper wrapper(exec, globalObject(), promiseDeferred);
</del><ins>+ JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(&state, globalObject());
+ DeferredWrapper wrapper(&state, globalObject(), promiseDeferred);
</ins><span class="cx"> auto successCallback = [wrapper](const Vector<uint8_t>& result) mutable {
</span><span class="cx"> wrapper.resolve(result);
</span><span class="cx"> };
</span><span class="lines">@@ -228,48 +228,48 @@
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> algorithm->decrypt(*parameters, *key, data, WTF::move(successCallback), WTF::move(failureCallback), ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return promiseDeferred->promise();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSubtleCrypto::sign(ExecState* exec)
</del><ins>+JSValue JSSubtleCrypto::sign(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 3)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 3)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- auto algorithm = createAlgorithmFromJSValue(exec, exec->uncheckedArgument(0));
</del><ins>+ auto algorithm = createAlgorithmFromJSValue(state, state.uncheckedArgument(0));
</ins><span class="cx"> if (!algorithm) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- auto parameters = JSCryptoAlgorithmDictionary::createParametersForSign(exec, algorithm->identifier(), exec->uncheckedArgument(0));
</del><ins>+ auto parameters = JSCryptoAlgorithmDictionary::createParametersForSign(&state, algorithm->identifier(), state.uncheckedArgument(0));
</ins><span class="cx"> if (!parameters) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(exec->uncheckedArgument(1));
</del><ins>+ RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(state.uncheckedArgument(1));
</ins><span class="cx"> if (!key)
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> if (!key->allows(CryptoKeyUsageSign)) {
</span><span class="cx"> m_impl->document()->addConsoleMessage(MessageSource::JS, MessageLevel::Error, ASCIILiteral("Key usages do not include 'sign'"));
</span><del>- setDOMException(exec, NOT_SUPPORTED_ERR);
</del><ins>+ setDOMException(&state, NOT_SUPPORTED_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoOperationData data;
</span><del>- if (!cryptoOperationDataFromJSValue(exec, exec->uncheckedArgument(2), data)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoOperationDataFromJSValue(&state, state.uncheckedArgument(2), data)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(exec, globalObject());
- DeferredWrapper wrapper(exec, globalObject(), promiseDeferred);
</del><ins>+ JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(&state, globalObject());
+ DeferredWrapper wrapper(&state, globalObject(), promiseDeferred);
</ins><span class="cx"> auto successCallback = [wrapper](const Vector<uint8_t>& result) mutable {
</span><span class="cx"> wrapper.resolve(result);
</span><span class="cx"> };
</span><span class="lines">@@ -280,54 +280,54 @@
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> algorithm->sign(*parameters, *key, data, WTF::move(successCallback), WTF::move(failureCallback), ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return promiseDeferred->promise();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSubtleCrypto::verify(ExecState* exec)
</del><ins>+JSValue JSSubtleCrypto::verify(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 4)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 4)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- auto algorithm = createAlgorithmFromJSValue(exec, exec->uncheckedArgument(0));
</del><ins>+ auto algorithm = createAlgorithmFromJSValue(state, state.uncheckedArgument(0));
</ins><span class="cx"> if (!algorithm) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- auto parameters = JSCryptoAlgorithmDictionary::createParametersForVerify(exec, algorithm->identifier(), exec->uncheckedArgument(0));
</del><ins>+ auto parameters = JSCryptoAlgorithmDictionary::createParametersForVerify(&state, algorithm->identifier(), state.uncheckedArgument(0));
</ins><span class="cx"> if (!parameters) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(exec->uncheckedArgument(1));
</del><ins>+ RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(state.uncheckedArgument(1));
</ins><span class="cx"> if (!key)
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> if (!key->allows(CryptoKeyUsageVerify)) {
</span><span class="cx"> m_impl->document()->addConsoleMessage(MessageSource::JS, MessageLevel::Error, ASCIILiteral("Key usages do not include 'verify'"));
</span><del>- setDOMException(exec, NOT_SUPPORTED_ERR);
</del><ins>+ setDOMException(&state, NOT_SUPPORTED_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoOperationData signature;
</span><del>- if (!cryptoOperationDataFromJSValue(exec, exec->uncheckedArgument(2), signature)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoOperationDataFromJSValue(&state, state.uncheckedArgument(2), signature)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoOperationData data;
</span><del>- if (!cryptoOperationDataFromJSValue(exec, exec->uncheckedArgument(3), data)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoOperationDataFromJSValue(&state, state.uncheckedArgument(3), data)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(exec, globalObject());
- DeferredWrapper wrapper(exec, globalObject(), promiseDeferred);
</del><ins>+ JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(&state, globalObject());
+ DeferredWrapper wrapper(&state, globalObject(), promiseDeferred);
</ins><span class="cx"> auto successCallback = [wrapper](bool result) mutable {
</span><span class="cx"> wrapper.resolve(result);
</span><span class="cx"> };
</span><span class="lines">@@ -338,38 +338,38 @@
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> algorithm->verify(*parameters, *key, signature, data, WTF::move(successCallback), WTF::move(failureCallback), ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return promiseDeferred->promise();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSubtleCrypto::digest(ExecState* exec)
</del><ins>+JSValue JSSubtleCrypto::digest(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 2)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- auto algorithm = createAlgorithmFromJSValue(exec, exec->uncheckedArgument(0));
</del><ins>+ auto algorithm = createAlgorithmFromJSValue(state, state.uncheckedArgument(0));
</ins><span class="cx"> if (!algorithm) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- auto parameters = JSCryptoAlgorithmDictionary::createParametersForDigest(exec, algorithm->identifier(), exec->uncheckedArgument(0));
</del><ins>+ auto parameters = JSCryptoAlgorithmDictionary::createParametersForDigest(&state, algorithm->identifier(), state.uncheckedArgument(0));
</ins><span class="cx"> if (!parameters) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoOperationData data;
</span><del>- if (!cryptoOperationDataFromJSValue(exec, exec->uncheckedArgument(1), data)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoOperationDataFromJSValue(&state, state.uncheckedArgument(1), data)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(exec, globalObject());
- DeferredWrapper wrapper(exec, globalObject(), promiseDeferred);
</del><ins>+ JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(&state, globalObject());
+ DeferredWrapper wrapper(&state, globalObject(), promiseDeferred);
</ins><span class="cx"> auto successCallback = [wrapper](const Vector<uint8_t>& result) mutable {
</span><span class="cx"> wrapper.resolve(result);
</span><span class="cx"> };
</span><span class="lines">@@ -380,47 +380,47 @@
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> algorithm->digest(*parameters, data, WTF::move(successCallback), WTF::move(failureCallback), ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return promiseDeferred->promise();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSubtleCrypto::generateKey(ExecState* exec)
</del><ins>+JSValue JSSubtleCrypto::generateKey(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 1)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 1)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- auto algorithm = createAlgorithmFromJSValue(exec, exec->uncheckedArgument(0));
</del><ins>+ auto algorithm = createAlgorithmFromJSValue(state, state.uncheckedArgument(0));
</ins><span class="cx"> if (!algorithm) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- auto parameters = JSCryptoAlgorithmDictionary::createParametersForGenerateKey(exec, algorithm->identifier(), exec->uncheckedArgument(0));
</del><ins>+ auto parameters = JSCryptoAlgorithmDictionary::createParametersForGenerateKey(&state, algorithm->identifier(), state.uncheckedArgument(0));
</ins><span class="cx"> if (!parameters) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool extractable = false;
</span><del>- if (exec->argumentCount() >= 2) {
- extractable = exec->uncheckedArgument(1).toBoolean(exec);
- if (exec->hadException())
</del><ins>+ if (state.argumentCount() >= 2) {
+ extractable = state.uncheckedArgument(1).toBoolean(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoKeyUsage keyUsages = 0;
</span><del>- if (exec->argumentCount() >= 3) {
- if (!cryptoKeyUsagesFromJSValue(exec, exec->argument(2), keyUsages)) {
- ASSERT(exec->hadException());
</del><ins>+ if (state.argumentCount() >= 3) {
+ if (!cryptoKeyUsagesFromJSValue(state, state.argument(2), keyUsages)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(exec, globalObject());
- DeferredWrapper wrapper(exec, globalObject(), promiseDeferred);
</del><ins>+ JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(&state, globalObject());
+ DeferredWrapper wrapper(&state, globalObject(), promiseDeferred);
</ins><span class="cx"> auto successCallback = [wrapper](CryptoKey* key, CryptoKeyPair* keyPair) mutable {
</span><span class="cx"> ASSERT(key || keyPair);
</span><span class="cx"> ASSERT(!key || !keyPair);
</span><span class="lines">@@ -436,14 +436,14 @@
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> algorithm->generateKey(*parameters, extractable, keyUsages, WTF::move(successCallback), WTF::move(failureCallback), ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return promiseDeferred->promise();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static void importKey(ExecState* exec, CryptoKeyFormat keyFormat, CryptoOperationData data, std::unique_ptr<CryptoAlgorithm> algorithm, std::unique_ptr<CryptoAlgorithmParameters> parameters, bool extractable, CryptoKeyUsage keyUsages, CryptoAlgorithm::KeyCallback callback, CryptoAlgorithm::VoidCallback failureCallback)
</del><ins>+static void importKey(ExecState& state, CryptoKeyFormat keyFormat, CryptoOperationData data, std::unique_ptr<CryptoAlgorithm> algorithm, std::unique_ptr<CryptoAlgorithmParameters> parameters, bool extractable, CryptoKeyUsage keyUsages, CryptoAlgorithm::KeyCallback callback, CryptoAlgorithm::VoidCallback failureCallback)
</ins><span class="cx"> {
</span><span class="cx"> std::unique_ptr<CryptoKeySerialization> keySerialization;
</span><span class="cx"> switch (keyFormat) {
</span><span class="lines">@@ -453,102 +453,102 @@
</span><span class="cx"> case CryptoKeyFormat::JWK: {
</span><span class="cx"> String jwkString = String::fromUTF8(data.first, data.second);
</span><span class="cx"> if (jwkString.isNull()) {
</span><del>- throwTypeError(exec, "JWK JSON serialization is not valid UTF-8");
</del><ins>+ throwTypeError(&state, "JWK JSON serialization is not valid UTF-8");
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><del>- keySerialization = std::make_unique<JSCryptoKeySerializationJWK>(exec, jwkString);
- if (exec->hadException())
</del><ins>+ keySerialization = std::make_unique<JSCryptoKeySerializationJWK>(&state, jwkString);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> default:
</span><del>- throwTypeError(exec, "Unsupported key format for import");
</del><ins>+ throwTypeError(&state, "Unsupported key format for import");
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT(keySerialization);
</span><span class="cx">
</span><span class="cx"> if (!keySerialization->reconcileAlgorithm(algorithm, parameters)) {
</span><del>- if (!exec->hadException())
- throwTypeError(exec, "Algorithm specified in key is not compatible with one passed to importKey as argument");
</del><ins>+ if (!state.hadException())
+ throwTypeError(&state, "Algorithm specified in key is not compatible with one passed to importKey as argument");
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><del>- if (exec->hadException())
</del><ins>+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (!algorithm) {
</span><del>- throwTypeError(exec, "Neither key nor function argument has crypto algorithm specified");
</del><ins>+ throwTypeError(&state, "Neither key nor function argument has crypto algorithm specified");
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> ASSERT(parameters);
</span><span class="cx">
</span><span class="cx"> keySerialization->reconcileExtractable(extractable);
</span><del>- if (exec->hadException())
</del><ins>+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> keySerialization->reconcileUsages(keyUsages);
</span><del>- if (exec->hadException())
</del><ins>+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> auto keyData = keySerialization->keyData();
</span><del>- if (exec->hadException())
</del><ins>+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> algorithm->importKey(*parameters, *keyData, extractable, keyUsages, WTF::move(callback), WTF::move(failureCallback), ec);
</span><span class="cx"> if (ec)
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSubtleCrypto::importKey(ExecState* exec)
</del><ins>+JSValue JSSubtleCrypto::importKey(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 3)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 3)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> CryptoKeyFormat keyFormat;
</span><del>- if (!cryptoKeyFormatFromJSValue(exec, exec->argument(0), keyFormat)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoKeyFormatFromJSValue(state, state.argument(0), keyFormat)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoOperationData data;
</span><del>- if (!cryptoOperationDataFromJSValue(exec, exec->uncheckedArgument(1), data)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoOperationDataFromJSValue(&state, state.uncheckedArgument(1), data)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<CryptoAlgorithm> algorithm;
</span><span class="cx"> std::unique_ptr<CryptoAlgorithmParameters> parameters;
</span><del>- if (!exec->uncheckedArgument(2).isNull()) {
- algorithm = createAlgorithmFromJSValue(exec, exec->uncheckedArgument(2));
</del><ins>+ if (!state.uncheckedArgument(2).isNull()) {
+ algorithm = createAlgorithmFromJSValue(state, state.uncheckedArgument(2));
</ins><span class="cx"> if (!algorithm) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- parameters = JSCryptoAlgorithmDictionary::createParametersForImportKey(exec, algorithm->identifier(), exec->uncheckedArgument(2));
</del><ins>+ parameters = JSCryptoAlgorithmDictionary::createParametersForImportKey(&state, algorithm->identifier(), state.uncheckedArgument(2));
</ins><span class="cx"> if (!parameters) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool extractable = false;
</span><del>- if (exec->argumentCount() >= 4) {
- extractable = exec->uncheckedArgument(3).toBoolean(exec);
- if (exec->hadException())
</del><ins>+ if (state.argumentCount() >= 4) {
+ extractable = state.uncheckedArgument(3).toBoolean(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoKeyUsage keyUsages = 0;
</span><del>- if (exec->argumentCount() >= 5) {
- if (!cryptoKeyUsagesFromJSValue(exec, exec->argument(4), keyUsages)) {
- ASSERT(exec->hadException());
</del><ins>+ if (state.argumentCount() >= 5) {
+ if (!cryptoKeyUsagesFromJSValue(state, state.argument(4), keyUsages)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(exec, globalObject());
- DeferredWrapper wrapper(exec, globalObject(), promiseDeferred);
</del><ins>+ JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(&state, globalObject());
+ DeferredWrapper wrapper(&state, globalObject(), promiseDeferred);
</ins><span class="cx"> auto successCallback = [wrapper](CryptoKey& result) mutable {
</span><span class="cx"> wrapper.resolve(&result);
</span><span class="cx"> };
</span><span class="lines">@@ -556,17 +556,17 @@
</span><span class="cx"> wrapper.reject(nullptr);
</span><span class="cx"> };
</span><span class="cx">
</span><del>- WebCore::importKey(exec, keyFormat, data, WTF::move(algorithm), WTF::move(parameters), extractable, keyUsages, WTF::move(successCallback), WTF::move(failureCallback));
- if (exec->hadException())
</del><ins>+ WebCore::importKey(state, keyFormat, data, WTF::move(algorithm), WTF::move(parameters), extractable, keyUsages, WTF::move(successCallback), WTF::move(failureCallback));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> return promiseDeferred->promise();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static void exportKey(ExecState* exec, CryptoKeyFormat keyFormat, const CryptoKey& key, CryptoAlgorithm::VectorCallback callback, CryptoAlgorithm::VoidCallback failureCallback)
</del><ins>+static void exportKey(ExecState& state, CryptoKeyFormat keyFormat, const CryptoKey& key, CryptoAlgorithm::VectorCallback callback, CryptoAlgorithm::VoidCallback failureCallback)
</ins><span class="cx"> {
</span><span class="cx"> if (!key.extractable()) {
</span><del>- throwTypeError(exec, "Key is not extractable");
</del><ins>+ throwTypeError(&state, "Key is not extractable");
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -580,8 +580,8 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> case CryptoKeyFormat::JWK: {
</span><del>- String result = JSCryptoKeySerializationJWK::serialize(exec, key);
- if (exec->hadException())
</del><ins>+ String result = JSCryptoKeySerializationJWK::serialize(&state, key);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx"> CString utf8String = result.utf8(StrictConversion);
</span><span class="cx"> Vector<uint8_t> resultBuffer;
</span><span class="lines">@@ -590,28 +590,28 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> default:
</span><del>- throwTypeError(exec, "Unsupported key format for export");
</del><ins>+ throwTypeError(&state, "Unsupported key format for export");
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSubtleCrypto::exportKey(ExecState* exec)
</del><ins>+JSValue JSSubtleCrypto::exportKey(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 2)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> CryptoKeyFormat keyFormat;
</span><del>- if (!cryptoKeyFormatFromJSValue(exec, exec->argument(0), keyFormat)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoKeyFormatFromJSValue(state, state.argument(0), keyFormat)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(exec->uncheckedArgument(1));
</del><ins>+ RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(state.uncheckedArgument(1));
</ins><span class="cx"> if (!key)
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><del>- JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(exec, globalObject());
- DeferredWrapper wrapper(exec, globalObject(), promiseDeferred);
</del><ins>+ JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(&state, globalObject());
+ DeferredWrapper wrapper(&state, globalObject(), promiseDeferred);
</ins><span class="cx"> auto successCallback = [wrapper](const Vector<uint8_t>& result) mutable {
</span><span class="cx"> wrapper.resolve(result);
</span><span class="cx"> };
</span><span class="lines">@@ -619,52 +619,52 @@
</span><span class="cx"> wrapper.reject(nullptr);
</span><span class="cx"> };
</span><span class="cx">
</span><del>- WebCore::exportKey(exec, keyFormat, *key, WTF::move(successCallback), WTF::move(failureCallback));
- if (exec->hadException())
</del><ins>+ WebCore::exportKey(state, keyFormat, *key, WTF::move(successCallback), WTF::move(failureCallback));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> return promiseDeferred->promise();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSubtleCrypto::wrapKey(ExecState* exec)
</del><ins>+JSValue JSSubtleCrypto::wrapKey(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 4)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 4)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> CryptoKeyFormat keyFormat;
</span><del>- if (!cryptoKeyFormatFromJSValue(exec, exec->argument(0), keyFormat)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoKeyFormatFromJSValue(state, state.argument(0), keyFormat)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(exec->uncheckedArgument(1));
</del><ins>+ RefPtr<CryptoKey> key = JSCryptoKey::toWrapped(state.uncheckedArgument(1));
</ins><span class="cx"> if (!key)
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><del>- RefPtr<CryptoKey> wrappingKey = JSCryptoKey::toWrapped(exec->uncheckedArgument(2));
</del><ins>+ RefPtr<CryptoKey> wrappingKey = JSCryptoKey::toWrapped(state.uncheckedArgument(2));
</ins><span class="cx"> if (!key)
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> if (!wrappingKey->allows(CryptoKeyUsageWrapKey)) {
</span><span class="cx"> m_impl->document()->addConsoleMessage(MessageSource::JS, MessageLevel::Error, ASCIILiteral("Key usages do not include 'wrapKey'"));
</span><del>- setDOMException(exec, NOT_SUPPORTED_ERR);
</del><ins>+ setDOMException(&state, NOT_SUPPORTED_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- auto algorithm = createAlgorithmFromJSValue(exec, exec->uncheckedArgument(3));
</del><ins>+ auto algorithm = createAlgorithmFromJSValue(state, state.uncheckedArgument(3));
</ins><span class="cx"> if (!algorithm) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- auto parameters = JSCryptoAlgorithmDictionary::createParametersForEncrypt(exec, algorithm->identifier(), exec->uncheckedArgument(3));
</del><ins>+ auto parameters = JSCryptoAlgorithmDictionary::createParametersForEncrypt(&state, algorithm->identifier(), state.uncheckedArgument(3));
</ins><span class="cx"> if (!parameters) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(exec, globalObject());
- DeferredWrapper wrapper(exec, globalObject(), promiseDeferred);
</del><ins>+ JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(&state, globalObject());
+ DeferredWrapper wrapper(&state, globalObject(), promiseDeferred);
</ins><span class="cx">
</span><span class="cx"> CryptoAlgorithm* algorithmPtr = algorithm.release();
</span><span class="cx"> CryptoAlgorithmParameters* parametersPtr = parameters.release();
</span><span class="lines">@@ -695,90 +695,90 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- WebCore::exportKey(exec, keyFormat, *key, WTF::move(exportSuccessCallback), WTF::move(exportFailureCallback));
</del><ins>+ WebCore::exportKey(state, keyFormat, *key, WTF::move(exportSuccessCallback), WTF::move(exportFailureCallback));
</ins><span class="cx"> if (ec) {
</span><span class="cx"> delete algorithmPtr;
</span><span class="cx"> delete parametersPtr;
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return promiseDeferred->promise();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSSubtleCrypto::unwrapKey(ExecState* exec)
</del><ins>+JSValue JSSubtleCrypto::unwrapKey(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 5)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 5)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> CryptoKeyFormat keyFormat;
</span><del>- if (!cryptoKeyFormatFromJSValue(exec, exec->argument(0), keyFormat)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoKeyFormatFromJSValue(state, state.argument(0), keyFormat)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoOperationData wrappedKeyData;
</span><del>- if (!cryptoOperationDataFromJSValue(exec, exec->uncheckedArgument(1), wrappedKeyData)) {
- ASSERT(exec->hadException());
</del><ins>+ if (!cryptoOperationDataFromJSValue(&state, state.uncheckedArgument(1), wrappedKeyData)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<CryptoKey> unwrappingKey = JSCryptoKey::toWrapped(exec->uncheckedArgument(2));
</del><ins>+ RefPtr<CryptoKey> unwrappingKey = JSCryptoKey::toWrapped(state.uncheckedArgument(2));
</ins><span class="cx"> if (!unwrappingKey)
</span><del>- return throwTypeError(exec);
</del><ins>+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> if (!unwrappingKey->allows(CryptoKeyUsageUnwrapKey)) {
</span><span class="cx"> m_impl->document()->addConsoleMessage(MessageSource::JS, MessageLevel::Error, ASCIILiteral("Key usages do not include 'unwrapKey'"));
</span><del>- setDOMException(exec, NOT_SUPPORTED_ERR);
</del><ins>+ setDOMException(&state, NOT_SUPPORTED_ERR);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<CryptoAlgorithm> unwrapAlgorithm;
</span><span class="cx"> std::unique_ptr<CryptoAlgorithmParameters> unwrapAlgorithmParameters;
</span><del>- unwrapAlgorithm = createAlgorithmFromJSValue(exec, exec->uncheckedArgument(3));
</del><ins>+ unwrapAlgorithm = createAlgorithmFromJSValue(state, state.uncheckedArgument(3));
</ins><span class="cx"> if (!unwrapAlgorithm) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- unwrapAlgorithmParameters = JSCryptoAlgorithmDictionary::createParametersForDecrypt(exec, unwrapAlgorithm->identifier(), exec->uncheckedArgument(3));
</del><ins>+ unwrapAlgorithmParameters = JSCryptoAlgorithmDictionary::createParametersForDecrypt(&state, unwrapAlgorithm->identifier(), state.uncheckedArgument(3));
</ins><span class="cx"> if (!unwrapAlgorithmParameters) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<CryptoAlgorithm> unwrappedKeyAlgorithm;
</span><span class="cx"> std::unique_ptr<CryptoAlgorithmParameters> unwrappedKeyAlgorithmParameters;
</span><del>- if (!exec->uncheckedArgument(4).isNull()) {
- unwrappedKeyAlgorithm = createAlgorithmFromJSValue(exec, exec->uncheckedArgument(4));
</del><ins>+ if (!state.uncheckedArgument(4).isNull()) {
+ unwrappedKeyAlgorithm = createAlgorithmFromJSValue(state, state.uncheckedArgument(4));
</ins><span class="cx"> if (!unwrappedKeyAlgorithm) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- unwrappedKeyAlgorithmParameters = JSCryptoAlgorithmDictionary::createParametersForImportKey(exec, unwrappedKeyAlgorithm->identifier(), exec->uncheckedArgument(4));
</del><ins>+ unwrappedKeyAlgorithmParameters = JSCryptoAlgorithmDictionary::createParametersForImportKey(&state, unwrappedKeyAlgorithm->identifier(), state.uncheckedArgument(4));
</ins><span class="cx"> if (!unwrappedKeyAlgorithmParameters) {
</span><del>- ASSERT(exec->hadException());
</del><ins>+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool extractable = false;
</span><del>- if (exec->argumentCount() >= 6) {
- extractable = exec->uncheckedArgument(5).toBoolean(exec);
- if (exec->hadException())
</del><ins>+ if (state.argumentCount() >= 6) {
+ extractable = state.uncheckedArgument(5).toBoolean(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CryptoKeyUsage keyUsages = 0;
</span><del>- if (exec->argumentCount() >= 7) {
- if (!cryptoKeyUsagesFromJSValue(exec, exec->argument(6), keyUsages)) {
- ASSERT(exec->hadException());
</del><ins>+ if (state.argumentCount() >= 7) {
+ if (!cryptoKeyUsagesFromJSValue(state, state.argument(6), keyUsages)) {
+ ASSERT(state.hadException());
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(exec, globalObject());
- DeferredWrapper wrapper(exec, globalObject(), promiseDeferred);
- Strong<JSDOMGlobalObject> domGlobalObject(exec->vm(), globalObject());
</del><ins>+ JSPromiseDeferred* promiseDeferred = JSPromiseDeferred::create(&state, globalObject());
+ DeferredWrapper wrapper(&state, globalObject(), promiseDeferred);
+ Strong<JSDOMGlobalObject> domGlobalObject(state.vm(), globalObject());
</ins><span class="cx">
</span><span class="cx"> CryptoAlgorithm* unwrappedKeyAlgorithmPtr = unwrappedKeyAlgorithm.release();
</span><span class="cx"> CryptoAlgorithmParameters* unwrappedKeyAlgorithmParametersPtr = unwrappedKeyAlgorithmParameters.release();
</span><span class="lines">@@ -790,11 +790,11 @@
</span><span class="cx"> auto importFailureCallback = [wrapper]() mutable {
</span><span class="cx"> wrapper.reject(nullptr);
</span><span class="cx"> };
</span><del>- ExecState* exec = domGlobalObject->globalExec();
- WebCore::importKey(exec, keyFormat, std::make_pair(result.data(), result.size()), std::unique_ptr<CryptoAlgorithm>(unwrappedKeyAlgorithmPtr), std::unique_ptr<CryptoAlgorithmParameters>(unwrappedKeyAlgorithmParametersPtr), extractable, keyUsages, WTF::move(importSuccessCallback), WTF::move(importFailureCallback));
- if (exec->hadException()) {
</del><ins>+ ExecState& state = *domGlobalObject->globalExec();
+ WebCore::importKey(state, keyFormat, std::make_pair(result.data(), result.size()), std::unique_ptr<CryptoAlgorithm>(unwrappedKeyAlgorithmPtr), std::unique_ptr<CryptoAlgorithmParameters>(unwrappedKeyAlgorithmParametersPtr), extractable, keyUsages, WTF::move(importSuccessCallback), WTF::move(importFailureCallback));
+ if (state.hadException()) {
</ins><span class="cx"> // FIXME: Report exception details to console, and possibly to calling script once there is a standardized way to pass errors to WebCrypto promise reject functions.
</span><del>- exec->clearException();
</del><ins>+ state.clearException();
</ins><span class="cx"> importFailureCallback();
</span><span class="cx"> }
</span><span class="cx"> };
</span><span class="lines">@@ -810,7 +810,7 @@
</span><span class="cx"> if (ec) {
</span><span class="cx"> delete unwrappedKeyAlgorithmPtr;
</span><span class="cx"> delete unwrappedKeyAlgorithmParametersPtr;
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSTextTrackCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSTextTrackCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSTextTrackCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSTextTrackCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -41,28 +41,28 @@
</span><span class="cx"> visitor.addOpaqueRoot(root(&impl()));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSTextTrack::setKind(ExecState* exec, JSValue value)
</del><ins>+void JSTextTrack::setKind(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><del>- auto& string = value.toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ auto& string = value.toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx"> impl().setKind(string);
</span><span class="cx"> #else
</span><del>- UNUSED_PARAM(exec);
</del><ins>+ UNUSED_PARAM(state);
</ins><span class="cx"> UNUSED_PARAM(value);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSTextTrack::setLanguage(ExecState* exec, JSValue value)
</del><ins>+void JSTextTrack::setLanguage(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><del>- auto& string = value.toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ auto& string = value.toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx"> impl().setLanguage(string);
</span><span class="cx"> #else
</span><del>- UNUSED_PARAM(exec);
</del><ins>+ UNUSED_PARAM(state);
</ins><span class="cx"> UNUSED_PARAM(value);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSTrackEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSTrackEventCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSTrackEventCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSTrackEventCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -36,13 +36,13 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSTrackEvent::track(ExecState* exec) const
</del><ins>+JSValue JSTrackEvent::track(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> TrackBase* track = impl().track();
</span><span class="cx"> if (!track)
</span><span class="cx"> return jsNull();
</span><span class="cx">
</span><del>- return toJS(exec, globalObject(), track);
</del><ins>+ return toJS(&state, globalObject(), track);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSVideoTrackCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSVideoTrackCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSVideoTrackCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSVideoTrackCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -40,28 +40,28 @@
</span><span class="cx"> visitor.addOpaqueRoot(root(&impl()));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSVideoTrack::setKind(ExecState* exec, JSValue value)
</del><ins>+void JSVideoTrack::setKind(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><del>- auto& string = value.toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ auto& string = value.toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx"> impl().setKind(string);
</span><span class="cx"> #else
</span><del>- UNUSED_PARAM(exec);
</del><ins>+ UNUSED_PARAM(state);
</ins><span class="cx"> UNUSED_PARAM(value);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void JSVideoTrack::setLanguage(ExecState* exec, JSValue value)
</del><ins>+void JSVideoTrack::setLanguage(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><del>- auto& string = value.toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ auto& string = value.toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return;
</span><span class="cx"> impl().setLanguage(string);
</span><span class="cx"> #else
</span><del>- UNUSED_PARAM(exec);
</del><ins>+ UNUSED_PARAM(state);
</ins><span class="cx"> UNUSED_PARAM(value);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWebGLRenderingContextBaseCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextBaseCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextBaseCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextBaseCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -168,18 +168,18 @@
</span><span class="cx"> kBuffer, kRenderbuffer, kTexture, kVertexAttrib
</span><span class="cx"> };
</span><span class="cx">
</span><del>-static JSValue getObjectParameter(JSWebGLRenderingContextBase* obj, ExecState* exec, ObjectType objectType)
</del><ins>+static JSValue getObjectParameter(JSWebGLRenderingContextBase* obj, ExecState& state, ObjectType objectType)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() != 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() != 2)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> WebGLRenderingContextBase& context = obj->impl();
</span><del>- unsigned target = exec->uncheckedArgument(0).toInt32(exec);
- if (exec->hadException())
</del><ins>+ unsigned target = state.uncheckedArgument(0).toInt32(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><del>- unsigned pname = exec->uncheckedArgument(1).toInt32(exec);
- if (exec->hadException())
</del><ins>+ unsigned pname = state.uncheckedArgument(1).toInt32(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> WebGLGetInfo info;
</span><span class="cx"> switch (objectType) {
</span><span class="lines">@@ -201,10 +201,10 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- return toJS(exec, obj->globalObject(), info);
</del><ins>+ return toJS(&state, obj->globalObject(), info);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> enum WhichProgramCall {
</span><span class="lines">@@ -268,137 +268,137 @@
</span><span class="cx"> visitor.addOpaqueRoot(&impl());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getAttachedShaders(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getAttachedShaders(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 1)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 1)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> WebGLRenderingContextBase& context = impl();
</span><del>- WebGLProgram* program = JSWebGLProgram::toWrapped(exec->uncheckedArgument(0));
- if (!program && !exec->uncheckedArgument(0).isUndefinedOrNull())
- return throwTypeError(exec);
</del><ins>+ WebGLProgram* program = JSWebGLProgram::toWrapped(state.uncheckedArgument(0));
+ if (!program && !state.uncheckedArgument(0).isUndefinedOrNull())
+ return throwTypeError(&state);
</ins><span class="cx"> Vector<RefPtr<WebGLShader>> shaders;
</span><span class="cx"> bool succeed = context.getAttachedShaders(program, shaders, ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsNull();
</span><span class="cx"> }
</span><span class="cx"> if (!succeed)
</span><span class="cx"> return jsNull();
</span><span class="cx"> JSC::MarkedArgumentBuffer list;
</span><span class="cx"> for (size_t ii = 0; ii < shaders.size(); ++ii)
</span><del>- list.append(toJS(exec, globalObject(), shaders[ii].get()));
- return constructArray(exec, 0, globalObject(), list);
</del><ins>+ list.append(toJS(&state, globalObject(), shaders[ii].get()));
+ return constructArray(&state, 0, globalObject(), list);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getExtension(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getExtension(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 1)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 1)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> WebGLRenderingContextBase& context = impl();
</span><del>- const String name = exec->uncheckedArgument(0).toString(exec)->value(exec);
- if (exec->hadException())
</del><ins>+ const String name = state.uncheckedArgument(0).toString(&state)->value(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> WebGLExtension* extension = context.getExtension(name);
</span><del>- return toJS(exec, globalObject(), extension);
</del><ins>+ return toJS(&state, globalObject(), extension);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getBufferParameter(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getBufferParameter(ExecState& state)
</ins><span class="cx"> {
</span><del>- return getObjectParameter(this, exec, kBuffer);
</del><ins>+ return getObjectParameter(this, state, kBuffer);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getFramebufferAttachmentParameter(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getFramebufferAttachmentParameter(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() != 3)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() != 3)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> WebGLRenderingContextBase& context = impl();
</span><del>- unsigned target = exec->uncheckedArgument(0).toInt32(exec);
- if (exec->hadException())
</del><ins>+ unsigned target = state.uncheckedArgument(0).toInt32(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><del>- unsigned attachment = exec->uncheckedArgument(1).toInt32(exec);
- if (exec->hadException())
</del><ins>+ unsigned attachment = state.uncheckedArgument(1).toInt32(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><del>- unsigned pname = exec->uncheckedArgument(2).toInt32(exec);
- if (exec->hadException())
</del><ins>+ unsigned pname = state.uncheckedArgument(2).toInt32(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> WebGLGetInfo info = context.getFramebufferAttachmentParameter(target, attachment, pname, ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- return toJS(exec, globalObject(), info);
</del><ins>+ return toJS(&state, globalObject(), info);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getParameter(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getParameter(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() != 1)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() != 1)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> WebGLRenderingContextBase& context = impl();
</span><del>- unsigned pname = exec->uncheckedArgument(0).toInt32(exec);
- if (exec->hadException())
</del><ins>+ unsigned pname = state.uncheckedArgument(0).toInt32(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> WebGLGetInfo info = context.getParameter(pname, ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- return toJS(exec, globalObject(), info);
</del><ins>+ return toJS(&state, globalObject(), info);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getProgramParameter(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getProgramParameter(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() != 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() != 2)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> WebGLRenderingContextBase& context = impl();
</span><del>- WebGLProgram* program = JSWebGLProgram::toWrapped(exec->uncheckedArgument(0));
- if (!program && !exec->uncheckedArgument(0).isUndefinedOrNull())
- return throwTypeError(exec);
- unsigned pname = exec->uncheckedArgument(1).toInt32(exec);
- if (exec->hadException())
</del><ins>+ WebGLProgram* program = JSWebGLProgram::toWrapped(state.uncheckedArgument(0));
+ if (!program && !state.uncheckedArgument(0).isUndefinedOrNull())
+ return throwTypeError(&state);
+ unsigned pname = state.uncheckedArgument(1).toInt32(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> WebGLGetInfo info = context.getProgramParameter(program, pname, ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- return toJS(exec, globalObject(), info);
</del><ins>+ return toJS(&state, globalObject(), info);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getRenderbufferParameter(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getRenderbufferParameter(ExecState& state)
</ins><span class="cx"> {
</span><del>- return getObjectParameter(this, exec, kRenderbuffer);
</del><ins>+ return getObjectParameter(this, state, kRenderbuffer);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getShaderParameter(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getShaderParameter(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() != 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() != 2)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> WebGLRenderingContextBase& context = impl();
</span><del>- if (!exec->uncheckedArgument(0).isUndefinedOrNull() && !exec->uncheckedArgument(0).inherits(JSWebGLShader::info()))
- return throwTypeError(exec);
- WebGLShader* shader = JSWebGLShader::toWrapped(exec->uncheckedArgument(0));
- unsigned pname = exec->uncheckedArgument(1).toInt32(exec);
- if (exec->hadException())
</del><ins>+ if (!state.uncheckedArgument(0).isUndefinedOrNull() && !state.uncheckedArgument(0).inherits(JSWebGLShader::info()))
+ return throwTypeError(&state);
+ WebGLShader* shader = JSWebGLShader::toWrapped(state.uncheckedArgument(0));
+ unsigned pname = state.uncheckedArgument(1).toInt32(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> WebGLGetInfo info = context.getShaderParameter(shader, pname, ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- return toJS(exec, globalObject(), info);
</del><ins>+ return toJS(&state, globalObject(), info);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getSupportedExtensions(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getSupportedExtensions(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> WebGLRenderingContextBase& context = impl();
</span><span class="cx"> if (context.isContextLost())
</span><span class="lines">@@ -406,59 +406,59 @@
</span><span class="cx"> Vector<String> value = context.getSupportedExtensions();
</span><span class="cx"> MarkedArgumentBuffer list;
</span><span class="cx"> for (size_t ii = 0; ii < value.size(); ++ii)
</span><del>- list.append(jsStringWithCache(exec, value[ii]));
- return constructArray(exec, 0, globalObject(), list);
</del><ins>+ list.append(jsStringWithCache(&state, value[ii]));
+ return constructArray(&state, 0, globalObject(), list);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getTexParameter(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getTexParameter(ExecState& state)
</ins><span class="cx"> {
</span><del>- return getObjectParameter(this, exec, kTexture);
</del><ins>+ return getObjectParameter(this, state, kTexture);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getUniform(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getUniform(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() != 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() != 2)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> WebGLRenderingContextBase& context = impl();
</span><del>- WebGLProgram* program = JSWebGLProgram::toWrapped(exec->uncheckedArgument(0));
- if (!program && !exec->uncheckedArgument(0).isUndefinedOrNull())
- return throwTypeError(exec);
- WebGLUniformLocation* location = JSWebGLUniformLocation::toWrapped(exec->uncheckedArgument(1));
- if (!location && !exec->uncheckedArgument(1).isUndefinedOrNull())
- return throwTypeError(exec);
</del><ins>+ WebGLProgram* program = JSWebGLProgram::toWrapped(state.uncheckedArgument(0));
+ if (!program && !state.uncheckedArgument(0).isUndefinedOrNull())
+ return throwTypeError(&state);
+ WebGLUniformLocation* location = JSWebGLUniformLocation::toWrapped(state.uncheckedArgument(1));
+ if (!location && !state.uncheckedArgument(1).isUndefinedOrNull())
+ return throwTypeError(&state);
</ins><span class="cx"> WebGLGetInfo info = context.getUniform(program, location, ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- return toJS(exec, globalObject(), info);
</del><ins>+ return toJS(&state, globalObject(), info);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWebGLRenderingContextBase::getVertexAttrib(ExecState* exec)
</del><ins>+JSValue JSWebGLRenderingContextBase::getVertexAttrib(ExecState& state)
</ins><span class="cx"> {
</span><del>- return getObjectParameter(this, exec, kVertexAttrib);
</del><ins>+ return getObjectParameter(this, state, kVertexAttrib);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> template<typename T, size_t inlineCapacity>
</span><del>-bool toVector(JSC::ExecState* exec, JSC::JSValue value, Vector<T, inlineCapacity>& vector)
</del><ins>+bool toVector(JSC::ExecState& state, JSC::JSValue value, Vector<T, inlineCapacity>& vector)
</ins><span class="cx"> {
</span><span class="cx"> if (!value.isObject())
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> JSC::JSObject* object = asObject(value);
</span><del>- int32_t length = object->get(exec, exec->vm().propertyNames->length).toInt32(exec);
</del><ins>+ int32_t length = object->get(&state, state.vm().propertyNames->length).toInt32(&state);
</ins><span class="cx">
</span><span class="cx"> if (!vector.tryReserveCapacity(length))
</span><span class="cx"> return false;
</span><span class="cx"> vector.resize(length);
</span><span class="cx">
</span><span class="cx"> for (int32_t i = 0; i < length; ++i) {
</span><del>- JSC::JSValue v = object->get(exec, i);
- if (exec->hadException())
</del><ins>+ JSC::JSValue v = object->get(&state, i);
+ if (state.hadException())
</ins><span class="cx"> return false;
</span><del>- vector[i] = static_cast<T>(v.toNumber(exec));
</del><ins>+ vector[i] = static_cast<T>(v.toNumber(&state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return true;
</span><span class="lines">@@ -486,26 +486,26 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static JSC::JSValue dataFunctionf(DataFunctionToCall f, JSC::ExecState* exec, WebGLRenderingContextBase& context)
</del><ins>+static JSC::JSValue dataFunctionf(DataFunctionToCall f, JSC::ExecState& state, WebGLRenderingContextBase& context)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() != 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() != 2)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><span class="cx"> WebGLUniformLocation* location = 0;
</span><span class="cx"> long index = -1;
</span><span class="cx">
</span><span class="cx"> if (functionForUniform(f)) {
</span><del>- location = JSWebGLUniformLocation::toWrapped(exec->uncheckedArgument(0));
- if (!location && !exec->uncheckedArgument(0).isUndefinedOrNull())
- return throwTypeError(exec);
</del><ins>+ location = JSWebGLUniformLocation::toWrapped(state.uncheckedArgument(0));
+ if (!location && !state.uncheckedArgument(0).isUndefinedOrNull())
+ return throwTypeError(&state);
</ins><span class="cx"> } else
</span><del>- index = exec->uncheckedArgument(0).toInt32(exec);
</del><ins>+ index = state.uncheckedArgument(0).toInt32(&state);
</ins><span class="cx">
</span><del>- if (exec->hadException())
</del><ins>+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- RefPtr<Float32Array> webGLArray = toFloat32Array(exec->uncheckedArgument(1));
- if (exec->hadException())
</del><ins>+ RefPtr<Float32Array> webGLArray = toFloat32Array(state.uncheckedArgument(1));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="lines">@@ -537,13 +537,13 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Vector<float, 64> array;
</span><del>- if (!toVector(exec, exec->uncheckedArgument(1), array))
- return throwTypeError(exec);
</del><ins>+ if (!toVector(state, state.uncheckedArgument(1), array))
+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> switch (f) {
</span><span class="cx"> case f_uniform1v:
</span><span class="lines">@@ -572,20 +572,20 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static JSC::JSValue dataFunctioni(DataFunctionToCall f, JSC::ExecState* exec, WebGLRenderingContextBase& context)
</del><ins>+static JSC::JSValue dataFunctioni(DataFunctionToCall f, JSC::ExecState& state, WebGLRenderingContextBase& context)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() != 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() != 2)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- WebGLUniformLocation* location = JSWebGLUniformLocation::toWrapped(exec->uncheckedArgument(0));
- if (!location && !exec->uncheckedArgument(0).isUndefinedOrNull())
- return throwTypeError(exec);
</del><ins>+ WebGLUniformLocation* location = JSWebGLUniformLocation::toWrapped(state.uncheckedArgument(0));
+ if (!location && !state.uncheckedArgument(0).isUndefinedOrNull())
+ return throwTypeError(&state);
</ins><span class="cx">
</span><del>- RefPtr<Int32Array> webGLArray = toInt32Array(exec->uncheckedArgument(1));
</del><ins>+ RefPtr<Int32Array> webGLArray = toInt32Array(state.uncheckedArgument(1));
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> if (webGLArray) {
</span><span class="lines">@@ -606,14 +606,14 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx">
</span><span class="cx"> Vector<int, 64> array;
</span><del>- if (!toVector(exec, exec->uncheckedArgument(1), array))
- return throwTypeError(exec);
</del><ins>+ if (!toVector(state, state.uncheckedArgument(1), array))
+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> switch (f) {
</span><span class="cx"> case f_uniform1v:
</span><span class="lines">@@ -632,24 +632,24 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static JSC::JSValue dataFunctionMatrix(DataFunctionMatrixToCall f, JSC::ExecState* exec, WebGLRenderingContextBase& context)
</del><ins>+static JSC::JSValue dataFunctionMatrix(DataFunctionMatrixToCall f, JSC::ExecState& state, WebGLRenderingContextBase& context)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() != 3)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() != 3)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- WebGLUniformLocation* location = JSWebGLUniformLocation::toWrapped(exec->uncheckedArgument(0));
- if (!location && !exec->uncheckedArgument(0).isUndefinedOrNull())
- return throwTypeError(exec);
</del><ins>+ WebGLUniformLocation* location = JSWebGLUniformLocation::toWrapped(state.uncheckedArgument(0));
+ if (!location && !state.uncheckedArgument(0).isUndefinedOrNull())
+ return throwTypeError(&state);
</ins><span class="cx">
</span><del>- bool transpose = exec->uncheckedArgument(1).toBoolean(exec);
- if (exec->hadException())
</del><ins>+ bool transpose = state.uncheckedArgument(1).toBoolean(&state);
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><del>- RefPtr<Float32Array> webGLArray = toFloat32Array(exec->uncheckedArgument(2));
</del><ins>+ RefPtr<Float32Array> webGLArray = toFloat32Array(state.uncheckedArgument(2));
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> if (webGLArray) {
</span><span class="lines">@@ -665,13 +665,13 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Vector<float, 64> array;
</span><del>- if (!toVector(exec, exec->uncheckedArgument(2), array))
- return throwTypeError(exec);
</del><ins>+ if (!toVector(state, state.uncheckedArgument(2), array))
+ return throwTypeError(&state);
</ins><span class="cx">
</span><span class="cx"> switch (f) {
</span><span class="cx"> case f_uniformMatrix2fv:
</span><span class="lines">@@ -685,83 +685,83 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniform1fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniform1fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionf(f_uniform1v, exec, impl());
</del><ins>+ return dataFunctionf(f_uniform1v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniform1iv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniform1iv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctioni(f_uniform1v, exec, impl());
</del><ins>+ return dataFunctioni(f_uniform1v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniform2fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniform2fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionf(f_uniform2v, exec, impl());
</del><ins>+ return dataFunctionf(f_uniform2v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniform2iv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniform2iv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctioni(f_uniform2v, exec, impl());
</del><ins>+ return dataFunctioni(f_uniform2v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniform3fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniform3fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionf(f_uniform3v, exec, impl());
</del><ins>+ return dataFunctionf(f_uniform3v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniform3iv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniform3iv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctioni(f_uniform3v, exec, impl());
</del><ins>+ return dataFunctioni(f_uniform3v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniform4fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniform4fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionf(f_uniform4v, exec, impl());
</del><ins>+ return dataFunctionf(f_uniform4v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniform4iv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniform4iv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctioni(f_uniform4v, exec, impl());
</del><ins>+ return dataFunctioni(f_uniform4v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniformMatrix2fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniformMatrix2fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionMatrix(f_uniformMatrix2fv, exec, impl());
</del><ins>+ return dataFunctionMatrix(f_uniformMatrix2fv, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniformMatrix3fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniformMatrix3fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionMatrix(f_uniformMatrix3fv, exec, impl());
</del><ins>+ return dataFunctionMatrix(f_uniformMatrix3fv, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::uniformMatrix4fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::uniformMatrix4fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionMatrix(f_uniformMatrix4fv, exec, impl());
</del><ins>+ return dataFunctionMatrix(f_uniformMatrix4fv, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::vertexAttrib1fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::vertexAttrib1fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionf(f_vertexAttrib1v, exec, impl());
</del><ins>+ return dataFunctionf(f_vertexAttrib1v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::vertexAttrib2fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::vertexAttrib2fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionf(f_vertexAttrib2v, exec, impl());
</del><ins>+ return dataFunctionf(f_vertexAttrib2v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::vertexAttrib3fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::vertexAttrib3fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionf(f_vertexAttrib3v, exec, impl());
</del><ins>+ return dataFunctionf(f_vertexAttrib3v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSC::JSValue JSWebGLRenderingContextBase::vertexAttrib4fv(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWebGLRenderingContextBase::vertexAttrib4fv(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return dataFunctionf(f_vertexAttrib4v, exec, impl());
</del><ins>+ return dataFunctionf(f_vertexAttrib4v, state, impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWorkerCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSWorkerCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWorkerCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSWorkerCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -40,9 +40,9 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSC::JSValue JSWorker::postMessage(JSC::ExecState* exec)
</del><ins>+JSC::JSValue JSWorker::postMessage(JSC::ExecState& state)
</ins><span class="cx"> {
</span><del>- return handlePostMessage(exec, &impl());
</del><ins>+ return handlePostMessage(state, &impl());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> EncodedJSValue JSC_HOST_CALL constructJSWorker(ExecState* exec)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWorkerGlobalScopeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -67,43 +67,43 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWorkerGlobalScope::importScripts(ExecState* exec)
</del><ins>+JSValue JSWorkerGlobalScope::importScripts(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (!exec->argumentCount())
</del><ins>+ if (!state.argumentCount())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx">
</span><span class="cx"> Vector<String> urls;
</span><del>- for (unsigned i = 0; i < exec->argumentCount(); i++) {
- urls.append(exec->uncheckedArgument(i).toString(exec)->value(exec));
- if (exec->hadException())
</del><ins>+ for (unsigned i = 0; i < state.argumentCount(); ++i) {
+ urls.append(state.uncheckedArgument(i).toString(&state)->value(&state));
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx">
</span><span class="cx"> impl().importScripts(urls, ec);
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWorkerGlobalScope::setTimeout(ExecState* exec)
</del><ins>+JSValue JSWorkerGlobalScope::setTimeout(ExecState& state)
</ins><span class="cx"> {
</span><del>- std::unique_ptr<ScheduledAction> action = ScheduledAction::create(exec, globalObject()->world(), impl().contentSecurityPolicy());
- if (exec->hadException())
</del><ins>+ std::unique_ptr<ScheduledAction> action = ScheduledAction::create(&state, globalObject()->world(), impl().contentSecurityPolicy());
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> if (!action)
</span><span class="cx"> return jsNumber(0);
</span><del>- int delay = exec->argument(1).toInt32(exec);
</del><ins>+ int delay = state.argument(1).toInt32(&state);
</ins><span class="cx"> return jsNumber(impl().setTimeout(WTF::move(action), delay));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSWorkerGlobalScope::setInterval(ExecState* exec)
</del><ins>+JSValue JSWorkerGlobalScope::setInterval(ExecState& state)
</ins><span class="cx"> {
</span><del>- std::unique_ptr<ScheduledAction> action = ScheduledAction::create(exec, globalObject()->world(), impl().contentSecurityPolicy());
- if (exec->hadException())
</del><ins>+ std::unique_ptr<ScheduledAction> action = ScheduledAction::create(&state, globalObject()->world(), impl().contentSecurityPolicy());
+ if (state.hadException())
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> if (!action)
</span><span class="cx"> return jsNumber(0);
</span><del>- int delay = exec->argument(1).toInt32(exec);
</del><ins>+ int delay = state.argument(1).toInt32(&state);
</ins><span class="cx"> return jsNumber(impl().setInterval(WTF::move(action), delay));
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSXMLHttpRequestCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -72,22 +72,22 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Custom functions
</span><del>-JSValue JSXMLHttpRequest::open(ExecState* exec)
</del><ins>+JSValue JSXMLHttpRequest::open(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argumentCount() < 2)
- return exec->vm().throwException(exec, createNotEnoughArgumentsError(exec));
</del><ins>+ if (state.argumentCount() < 2)
+ return state.vm().throwException(&state, createNotEnoughArgumentsError(&state));
</ins><span class="cx">
</span><del>- const URL& url = impl().scriptExecutionContext()->completeURL(exec->uncheckedArgument(1).toString(exec)->value(exec));
- String method = exec->uncheckedArgument(0).toString(exec)->value(exec);
</del><ins>+ const URL& url = impl().scriptExecutionContext()->completeURL(state.uncheckedArgument(1).toString(&state)->value(&state));
+ String method = state.uncheckedArgument(0).toString(&state)->value(&state);
</ins><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- if (exec->argumentCount() >= 3) {
- bool async = exec->uncheckedArgument(2).toBoolean(exec);
- if (!exec->argument(3).isUndefined()) {
- String user = valueToStringWithNullCheck(exec, exec->uncheckedArgument(3));
</del><ins>+ if (state.argumentCount() >= 3) {
+ bool async = state.uncheckedArgument(2).toBoolean(&state);
+ if (!state.argument(3).isUndefined()) {
+ String user = valueToStringWithNullCheck(&state, state.uncheckedArgument(3));
</ins><span class="cx">
</span><del>- if (!exec->argument(4).isUndefined()) {
- String password = valueToStringWithNullCheck(exec, exec->uncheckedArgument(4));
</del><ins>+ if (!state.argument(4).isUndefined()) {
+ String password = valueToStringWithNullCheck(&state, state.uncheckedArgument(4));
</ins><span class="cx"> impl().open(method, url, async, user, password, ec);
</span><span class="cx"> } else
</span><span class="cx"> impl().open(method, url, async, user, ec);
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx"> } else
</span><span class="cx"> impl().open(method, url, ec);
</span><span class="cx">
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -136,12 +136,12 @@
</span><span class="cx"> String m_url;
</span><span class="cx"> };
</span><span class="cx">
</span><del>-JSValue JSXMLHttpRequest::send(ExecState* exec)
</del><ins>+JSValue JSXMLHttpRequest::send(ExecState& state)
</ins><span class="cx"> {
</span><span class="cx"> InspectorInstrumentation::willSendXMLHttpRequest(impl().scriptExecutionContext(), impl().url());
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- JSValue val = exec->argument(0);
</del><ins>+ JSValue val = state.argument(0);
</ins><span class="cx"> if (val.isUndefinedOrNull())
</span><span class="cx"> impl().send(ec);
</span><span class="cx"> else if (val.inherits(JSDocument::info()))
</span><span class="lines">@@ -156,28 +156,28 @@
</span><span class="cx"> RefPtr<ArrayBufferView> view = toArrayBufferView(val);
</span><span class="cx"> impl().send(view.get(), ec);
</span><span class="cx"> } else
</span><del>- impl().send(val.toString(exec)->value(exec), ec);
</del><ins>+ impl().send(val.toString(&state)->value(&state), ec);
</ins><span class="cx">
</span><span class="cx"> SendFunctor functor;
</span><del>- exec->iterate(functor);
</del><ins>+ state.iterate(functor);
</ins><span class="cx"> impl().setLastSendLineAndColumnNumber(functor.line(), functor.column());
</span><span class="cx"> impl().setLastSendURL(functor.url());
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSXMLHttpRequest::responseText(ExecState* exec) const
</del><ins>+JSValue JSXMLHttpRequest::responseText(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> String text = impl().responseText(ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- return jsOwnedStringOrNull(exec, text);
</del><ins>+ return jsOwnedStringOrNull(&state, text);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSXMLHttpRequest::response(ExecState* exec) const
</del><ins>+JSValue JSXMLHttpRequest::response(ExecState& state) const
</ins><span class="cx"> {
</span><span class="cx"> // FIXME: Use CachedAttribute for other types than JSON as well.
</span><span class="cx"> if (m_response && impl().responseCacheIsValid())
</span><span class="lines">@@ -189,15 +189,15 @@
</span><span class="cx"> switch (impl().responseTypeCode()) {
</span><span class="cx"> case XMLHttpRequest::ResponseTypeDefault:
</span><span class="cx"> case XMLHttpRequest::ResponseTypeText:
</span><del>- return responseText(exec);
</del><ins>+ return responseText(state);
</ins><span class="cx">
</span><span class="cx"> case XMLHttpRequest::ResponseTypeJSON:
</span><span class="cx"> {
</span><del>- JSValue value = JSONParse(exec, impl().responseTextIgnoringResponseType());
</del><ins>+ JSValue value = JSONParse(&state, impl().responseTextIgnoringResponseType());
</ins><span class="cx"> if (!value)
</span><span class="cx"> value = jsNull();
</span><span class="cx"> JSXMLHttpRequest* jsRequest = const_cast<JSXMLHttpRequest*>(this);
</span><del>- jsRequest->m_response.set(exec->vm(), jsRequest, value);
</del><ins>+ jsRequest->m_response.set(state.vm(), jsRequest, value);
</ins><span class="cx">
</span><span class="cx"> impl().didCacheResponseJSON();
</span><span class="cx">
</span><span class="lines">@@ -209,17 +209,17 @@
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> Document* document = impl().responseXML(ec);
</span><span class="cx"> if (ec) {
</span><del>- setDOMException(exec, ec);
</del><ins>+ setDOMException(&state, ec);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><del>- return toJS(exec, globalObject(), document);
</del><ins>+ return toJS(&state, globalObject(), document);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> case XMLHttpRequest::ResponseTypeBlob:
</span><del>- return toJS(exec, globalObject(), impl().responseBlob());
</del><ins>+ return toJS(&state, globalObject(), impl().responseBlob());
</ins><span class="cx">
</span><span class="cx"> case XMLHttpRequest::ResponseTypeArrayBuffer:
</span><del>- return toJS(exec, globalObject(), impl().responseArrayBuffer());
</del><ins>+ return toJS(&state, globalObject(), impl().responseArrayBuffer());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return jsUndefined();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSXSLTProcessorCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -46,33 +46,33 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSValue JSXSLTProcessor::setParameter(ExecState* exec)
</del><ins>+JSValue JSXSLTProcessor::setParameter(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argument(1).isUndefinedOrNull() || exec->argument(2).isUndefinedOrNull())
</del><ins>+ if (state.argument(1).isUndefinedOrNull() || state.argument(2).isUndefinedOrNull())
</ins><span class="cx"> return jsUndefined(); // Throw exception?
</span><del>- String namespaceURI = exec->uncheckedArgument(0).toString(exec)->value(exec);
- String localName = exec->uncheckedArgument(1).toString(exec)->value(exec);
- String value = exec->uncheckedArgument(2).toString(exec)->value(exec);
</del><ins>+ String namespaceURI = state.uncheckedArgument(0).toString(&state)->value(&state);
+ String localName = state.uncheckedArgument(1).toString(&state)->value(&state);
+ String value = state.uncheckedArgument(2).toString(&state)->value(&state);
</ins><span class="cx"> impl().setParameter(namespaceURI, localName, value);
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSXSLTProcessor::getParameter(ExecState* exec)
</del><ins>+JSValue JSXSLTProcessor::getParameter(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argument(1).isUndefinedOrNull())
</del><ins>+ if (state.argument(1).isUndefinedOrNull())
</ins><span class="cx"> return jsUndefined();
</span><del>- String namespaceURI = exec->uncheckedArgument(0).toString(exec)->value(exec);
- String localName = exec->uncheckedArgument(1).toString(exec)->value(exec);
</del><ins>+ String namespaceURI = state.uncheckedArgument(0).toString(&state)->value(&state);
+ String localName = state.uncheckedArgument(1).toString(&state)->value(&state);
</ins><span class="cx"> String value = impl().getParameter(namespaceURI, localName);
</span><del>- return jsStringOrUndefined(exec, value);
</del><ins>+ return jsStringOrUndefined(&state, value);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-JSValue JSXSLTProcessor::removeParameter(ExecState* exec)
</del><ins>+JSValue JSXSLTProcessor::removeParameter(ExecState& state)
</ins><span class="cx"> {
</span><del>- if (exec->argument(1).isUndefinedOrNull())
</del><ins>+ if (state.argument(1).isUndefinedOrNull())
</ins><span class="cx"> return jsUndefined();
</span><del>- String namespaceURI = exec->uncheckedArgument(0).toString(exec)->value(exec);
- String localName = exec->uncheckedArgument(1).toString(exec)->value(exec);
</del><ins>+ String namespaceURI = state.uncheckedArgument(0).toString(&state)->value(&state);
+ String localName = state.uncheckedArgument(1).toString(&state)->value(&state);
</ins><span class="cx"> impl().removeParameter(namespaceURI, localName);
</span><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -1077,12 +1077,12 @@
</span><span class="cx"> if (HasCustomGetter($attribute->signature->extendedAttributes)) {
</span><span class="cx"> push(@headerContent, "#if ${conditionalString}\n") if $conditionalString;
</span><span class="cx"> my $methodName = $codeGenerator->WK_lcfirst($attribute->signature->name);
</span><del>- push(@headerContent, " JSC::JSValue " . $methodName . "(JSC::ExecState*) const;\n");
</del><ins>+ push(@headerContent, " JSC::JSValue " . $methodName . "(JSC::ExecState&) const;\n");
</ins><span class="cx"> push(@headerContent, "#endif\n") if $conditionalString;
</span><span class="cx"> }
</span><span class="cx"> if (HasCustomSetter($attribute->signature->extendedAttributes) && !IsReadonly($attribute)) {
</span><span class="cx"> push(@headerContent, "#if ${conditionalString}\n") if $conditionalString;
</span><del>- push(@headerContent, " void set" . $codeGenerator->WK_ucfirst($attribute->signature->name) . "(JSC::ExecState*, JSC::JSValue);\n");
</del><ins>+ push(@headerContent, " void set" . $codeGenerator->WK_ucfirst($attribute->signature->name) . "(JSC::ExecState&, JSC::JSValue);\n");
</ins><span class="cx"> push(@headerContent, "#endif\n") if $conditionalString;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -1117,7 +1117,7 @@
</span><span class="cx"> my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature);
</span><span class="cx"> push(@headerContent, "#if ${conditionalString}\n") if $conditionalString;
</span><span class="cx"> my $functionImplementationName = $function->signature->extendedAttributes->{"ImplementedAs"} || $codeGenerator->WK_lcfirst($function->signature->name);
</span><del>- push(@headerContent, " " . ($function->isStatic ? "static " : "") . "JSC::JSValue " . $functionImplementationName . "(JSC::ExecState*);\n");
</del><ins>+ push(@headerContent, " " . ($function->isStatic ? "static " : "") . "JSC::JSValue " . $functionImplementationName . "(JSC::ExecState&);\n");
</ins><span class="cx"> push(@headerContent, "#endif\n") if $conditionalString;
</span><span class="cx"> }
</span><span class="cx"> push(@headerContent, $endAppleCopyright) if $inAppleCopyright;
</span><span class="lines">@@ -2333,7 +2333,7 @@
</span><span class="cx"> } # attribute Nondeterministic
</span><span class="cx">
</span><span class="cx"> if (HasCustomGetter($attribute->signature->extendedAttributes)) {
</span><del>- push(@implContent, " return JSValue::encode(castedThis->$implGetterFunctionName(state));\n");
</del><ins>+ push(@implContent, " return JSValue::encode(castedThis->$implGetterFunctionName(*state));\n");
</ins><span class="cx"> } elsif ($attribute->signature->extendedAttributes->{"CheckSecurityForNode"}) {
</span><span class="cx"> $implIncludes{"JSDOMBinding.h"} = 1;
</span><span class="cx"> push(@implContent, " auto& impl = castedThis->impl();\n");
</span><span class="lines">@@ -2618,7 +2618,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (HasCustomSetter($attribute->signature->extendedAttributes)) {
</span><del>- push(@implContent, " castedThis->set$implSetterFunctionName(state, value);\n");
</del><ins>+ push(@implContent, " castedThis->set$implSetterFunctionName(*state, value);\n");
</ins><span class="cx"> } elsif ($type eq "EventHandler") {
</span><span class="cx"> $implIncludes{"JSEventListener.h"} = 1;
</span><span class="cx"> my $eventName = EventHandlerAttributeEventName($attribute);
</span><span class="lines">@@ -2874,7 +2874,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if ($isCustom) {
</span><del>- push(@implContent, " return JSValue::encode(castedThis->" . $functionImplementationName . "(state));\n");
</del><ins>+ push(@implContent, " return JSValue::encode(castedThis->" . $functionImplementationName . "(*state));\n");
</ins><span class="cx"> } else {
</span><span class="cx"> push(@implContent, " auto& impl = castedThis->impl();\n");
</span><span class="cx"> if ($svgPropertyType) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -515,7 +515,7 @@
</span><span class="cx"> UNUSED_PARAM(slotBase);
</span><span class="cx"> UNUSED_PARAM(thisValue);
</span><span class="cx"> auto* castedThis = jsCast<JSTestInterface*>(slotBase);
</span><del>- return JSValue::encode(castedThis->implementsStr3(state));
</del><ins>+ return JSValue::encode(castedThis->implementsStr3(*state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #endif
</span><span class="lines">@@ -608,7 +608,7 @@
</span><span class="cx"> UNUSED_PARAM(slotBase);
</span><span class="cx"> UNUSED_PARAM(thisValue);
</span><span class="cx"> auto* castedThis = jsCast<JSTestInterface*>(slotBase);
</span><del>- return JSValue::encode(castedThis->supplementalStr3(state));
</del><ins>+ return JSValue::encode(castedThis->supplementalStr3(*state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #endif
</span><span class="lines">@@ -704,7 +704,7 @@
</span><span class="cx"> auto* castedThis = jsCast<JSTestInterface*>(baseObject);
</span><span class="cx"> UNUSED_PARAM(thisValue);
</span><span class="cx"> UNUSED_PARAM(state);
</span><del>- castedThis->setImplementsStr3(state, value);
</del><ins>+ castedThis->setImplementsStr3(*state, value);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #endif
</span><span class="lines">@@ -775,7 +775,7 @@
</span><span class="cx"> auto* castedThis = jsCast<JSTestInterface*>(baseObject);
</span><span class="cx"> UNUSED_PARAM(thisValue);
</span><span class="cx"> UNUSED_PARAM(state);
</span><del>- castedThis->setSupplementalStr3(state, value);
</del><ins>+ castedThis->setSupplementalStr3(*state, value);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #endif
</span><span class="lines">@@ -859,7 +859,7 @@
</span><span class="cx"> if (UNLIKELY(!castedThis))
</span><span class="cx"> return throwThisTypeError(*state, "TestInterface", "implementsMethod3");
</span><span class="cx"> ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestInterface::info());
</span><del>- return JSValue::encode(castedThis->implementsMethod3(state));
</del><ins>+ return JSValue::encode(castedThis->implementsMethod3(*state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #endif
</span><span class="lines">@@ -925,7 +925,7 @@
</span><span class="cx"> if (UNLIKELY(!castedThis))
</span><span class="cx"> return throwThisTypeError(*state, "TestInterface", "supplementalMethod3");
</span><span class="cx"> ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestInterface::info());
</span><del>- return JSValue::encode(castedThis->supplementalMethod3(state));
</del><ins>+ return JSValue::encode(castedThis->supplementalMethod3(*state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -60,24 +60,24 @@
</span><span class="cx">
</span><span class="cx"> // Custom attributes
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>- JSC::JSValue implementsStr3(JSC::ExecState*) const;
</del><ins>+ JSC::JSValue implementsStr3(JSC::ExecState&) const;
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>- void setImplementsStr3(JSC::ExecState*, JSC::JSValue);
</del><ins>+ void setImplementsStr3(JSC::ExecState&, JSC::JSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>- JSC::JSValue supplementalStr3(JSC::ExecState*) const;
</del><ins>+ JSC::JSValue supplementalStr3(JSC::ExecState&) const;
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>- void setSupplementalStr3(JSC::ExecState*, JSC::JSValue);
</del><ins>+ void setSupplementalStr3(JSC::ExecState&, JSC::JSValue);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> // Custom functions
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>- JSC::JSValue implementsMethod3(JSC::ExecState*);
</del><ins>+ JSC::JSValue implementsMethod3(JSC::ExecState&);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>- JSC::JSValue supplementalMethod3(JSC::ExecState*);
</del><ins>+ JSC::JSValue supplementalMethod3(JSC::ExecState&);
</ins><span class="cx"> #endif
</span><span class="cx"> TestInterface& impl() const { return *m_impl; }
</span><span class="cx"> void releaseImpl() { std::exchange(m_impl, nullptr)->deref(); }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -1302,7 +1302,7 @@
</span><span class="cx"> UNUSED_PARAM(slotBase);
</span><span class="cx"> UNUSED_PARAM(thisValue);
</span><span class="cx"> auto* castedThis = jsCast<JSTestObj*>(slotBase);
</span><del>- return JSValue::encode(castedThis->customAttr(state));
</del><ins>+ return JSValue::encode(castedThis->customAttr(*state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx">
</span><span class="lines">@@ -2573,7 +2573,7 @@
</span><span class="cx"> auto* castedThis = jsCast<JSTestObj*>(baseObject);
</span><span class="cx"> UNUSED_PARAM(thisValue);
</span><span class="cx"> UNUSED_PARAM(state);
</span><del>- castedThis->setCustomAttr(state, value);
</del><ins>+ castedThis->setCustomAttr(*state, value);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx">
</span><span class="lines">@@ -3487,7 +3487,7 @@
</span><span class="cx"> if (UNLIKELY(!castedThis))
</span><span class="cx"> return throwThisTypeError(*state, "TestObj", "customMethod");
</span><span class="cx"> ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><del>- return JSValue::encode(castedThis->customMethod(state));
</del><ins>+ return JSValue::encode(castedThis->customMethod(*state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethodWithArgs(ExecState* state)
</span><span class="lines">@@ -3497,7 +3497,7 @@
</span><span class="cx"> if (UNLIKELY(!castedThis))
</span><span class="cx"> return throwThisTypeError(*state, "TestObj", "customMethodWithArgs");
</span><span class="cx"> ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><del>- return JSValue::encode(castedThis->customMethodWithArgs(state));
</del><ins>+ return JSValue::encode(castedThis->customMethodWithArgs(*state));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionAddEventListener(ExecState* state)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h (190035 => 190036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2015-09-21 00:28:42 UTC (rev 190035)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2015-09-21 02:42:29 UTC (rev 190036)
</span><span class="lines">@@ -58,13 +58,13 @@
</span><span class="cx">
</span><span class="cx">
</span><span class="cx"> // Custom attributes
</span><del>- JSC::JSValue customAttr(JSC::ExecState*) const;
- void setCustomAttr(JSC::ExecState*, JSC::JSValue);
</del><ins>+ JSC::JSValue customAttr(JSC::ExecState&) const;
+ void setCustomAttr(JSC::ExecState&, JSC::JSValue);
</ins><span class="cx">
</span><span class="cx"> // Custom functions
</span><del>- JSC::JSValue customMethod(JSC::ExecState*);
- JSC::JSValue customMethodWithArgs(JSC::ExecState*);
- static JSC::JSValue classMethod2(JSC::ExecState*);
</del><ins>+ JSC::JSValue customMethod(JSC::ExecState&);
+ JSC::JSValue customMethodWithArgs(JSC::ExecState&);
+ static JSC::JSValue classMethod2(JSC::ExecState&);
</ins><span class="cx"> TestObj& impl() const { return *m_impl; }
</span><span class="cx"> void releaseImpl() { std::exchange(m_impl, nullptr)->deref(); }
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>