<!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>[199619] trunk/Source</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/199619">199619</a></dd>
<dt>Author</dt> <dd>darin@apple.com</dd>
<dt>Date</dt> <dd>2016-04-15 19:25:56 -0700 (Fri, 15 Apr 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Reduce use of Deprecated::ScriptXXX classes
https://bugs.webkit.org/show_bug.cgi?id=156632

Reviewed by Alex Christensen.

Source/JavaScriptCore:

* bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptCallArgumentHandler::appendArgument): Deleted version that takes a Deprecated::ScriptValue.
(Deprecated::ScriptFunctionCall::call): Changed to return a JSValue.
* bindings/ScriptFunctionCall.h: Updated for the above.

* bindings/ScriptValue.cpp:
(Inspector::jsToInspectorValue): Moved from Deprecated namespace to Inspector namespace. Later, we should
move this to another source file in the inspector directory.
(Inspector::toInspectorValue): Added.
(Deprecated::ScriptValue::toInspectorValue): Updated for change to underlying function.
* bindings/ScriptValue.h: Update for the above.

* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::evaluateOnCallFrame): Changed arguments and return values from
Deprecated::ScriptValue to JSC::JSValue.
(Inspector::InjectedScript::functionDetails): Ditto.
(Inspector::InjectedScript::wrapCallFrames): Ditto.
(Inspector::InjectedScript::wrapObject): Ditto.
(Inspector::InjectedScript::wrapTable): Ditto.
(Inspector::InjectedScript::previewValue): Ditto.
(Inspector::InjectedScript::setExceptionValue): Ditto.
(Inspector::InjectedScript::findObjectById): Ditto.
(Inspector::InjectedScript::inspectObject): Ditto.
* inspector/InjectedScript.h: Ditto.
* inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled): Ditto.
(Inspector::InjectedScriptBase::makeCall): Ditto.
* inspector/InjectedScriptBase.h: Ditto.
* inspector/InjectedScriptModule.cpp:
(Inspector::InjectedScriptModule::ensureInjected): Ditto.
* inspector/ScriptDebugListener.h: Ditto.
* inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::evaluateBreakpointAction): Ditto.
(Inspector::ScriptDebugServer::dispatchDidPause): Ditto.
(Inspector::ScriptDebugServer::dispatchBreakpointActionProbe): Ditto.
(Inspector::ScriptDebugServer::exceptionOrCaughtValue): Ditto.
* inspector/ScriptDebugServer.h: Ditto.
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::buildExceptionPauseReason): Ditto.
(Inspector::InspectorDebuggerAgent::didPause): Ditto.
(Inspector::InspectorDebuggerAgent::breakpointActionProbe): Ditto.
(Inspector::InspectorDebuggerAgent::didContinue): Ditto.
(Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): Ditto.
* inspector/agents/InspectorDebuggerAgent.h: Ditto.
* inspector/agents/InspectorHeapAgent.cpp:
(Inspector::InspectorHeapAgent::getPreview): Ditto.
(Inspector::InspectorHeapAgent::getRemoteObject): Ditto.

Source/WebCore:

* Modules/mediastream/SDPProcessor.cpp: Removed unneeded include.

* bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::JSCommandLineAPIHost::inspectedObject): Use JSValue.
* bindings/js/JSCustomEventCustom.cpp:
(WebCore::JSCustomEvent::detail): Ditto.
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld): Ditto.
(WebCore::ScriptController::evaluate): Ditto.
(WebCore::ScriptController::executeScriptInWorld): Ditto.
(WebCore::ScriptController::executeScript): Ditto.
(WebCore::ScriptController::executeIfJavaScriptURL): Ditto.
* bindings/js/ScriptController.h: Ditto.

* bindings/js/ScriptGlobalObject.cpp: Removed unused overload of set,
and unused remove and folded handleException function into its one call site.
(WebCore::ScriptGlobalObject::set): Take references instead of pointers.
(WebCore::ScriptGlobalObject::get): Use JSObject instead of Deprecated::ScriptObject.
* bindings/js/ScriptGlobalObject.h: Updated for the above.

* dom/CustomEvent.cpp:
(WebCore::CustomEvent::initCustomEvent): Take JSValue and ExecState instead of
Deprecated::ScriptValue.
(WebCore::CustomEvent::trySerializeDetail): Take a reference instead of a pointer.
Also removed an unneeded null check.
* dom/CustomEvent.h: Use JSValue.
* dom/CustomEvent.idl: Updated for the above.

* html/HTMLMediaElement.cpp: Remove unneeded include.

* inspector/CommandLineAPIHost.cpp:
(WebCore::CommandLineAPIHost::InspectableObject::get): Take reference instead of
pointer and return JSValue.
* inspector/CommandLineAPIHost.h: Updated for the above.

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setDocument): Use &quot;document&quot; instead of &quot;doc&quot;.
(WebCore::InspectorDOMAgent::setAttributesAsText): Omit redundant class name.
(WebCore::InspectorDOMAgent::focusNode): Ditto. Pass reference instead of pointer.
(WebCore::InspectorDOMAgent::undo): Ditto.
(WebCore::InspectorDOMAgent::redo): Ditto.
(WebCore::InspectorDOMAgent::nodeForObjectId): Stop using Deprecated::ScriptValue.
(WebCore::InspectorDOMAgent::resolveNode): Ditto.
(WebCore::InspectorDOMAgent::scriptValueAsNode): Removed unneeded isObject check,
which is already done by JSNode::toWrapped. Use JSValue.
(WebCore::InspectorDOMAgent::nodeAsScriptValue): Use JSValue.
* inspector/InspectorDOMAgent.h: Updated for the above.

* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::windowObjectCleared): Use references instead of
pointers and removed unneeded local.
(WebCore::InspectorFrontendClientLocal::evaluateAsBoolean): More of the same.
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::showContextMenu): Ditto.

* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::breakpointActionProbe): Updated to take
reference instead of pointer and JSValue instead of ScriptValue.
* inspector/InspectorTimelineAgent.h: Ditto.
* inspector/PageConsoleAgent.cpp: Ditto.
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::breakpointActionLog): Ditto.
* inspector/PageDebuggerAgent.h: Ditto.

Source/WebKit/mac:

* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Use references instead
of pointers.
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): Updated
since return value is a JSValue.
* WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.

Source/WebKit/win:

* Plugins/PluginView.cpp:
(WebCore::PluginView::performRequest): Use JSValue.
* WebFrame.cpp:
(WebFrame::stringByEvaluatingJavaScriptInScriptWorld): Ditto.
* WebView.cpp:
(WebView::stringByEvaluatingJavaScriptFromString): Ditto.

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performJavaScriptURLRequest): Use JSValue.
* WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::windowObjectCleared): Use references.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInMainFrame): Use JSValue.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCorebindingsScriptFunctionCallcpp">trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebindingsScriptFunctionCallh">trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebindingsScriptValuecpp">trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebindingsScriptValueh">trunk/Source/JavaScriptCore/bindings/ScriptValue.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScriptcpp">trunk/Source/JavaScriptCore/inspector/InjectedScript.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScripth">trunk/Source/JavaScriptCore/inspector/InjectedScript.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScriptBasecpp">trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScriptBaseh">trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScriptModulecpp">trunk/Source/JavaScriptCore/inspector/InjectedScriptModule.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptDebugListenerh">trunk/Source/JavaScriptCore/inspector/ScriptDebugListener.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptDebugServercpp">trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptDebugServerh">trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp">trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgenth">trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorHeapAgentcpp">trunk/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsJSGlobalObjectDebuggerAgentcpp">trunk/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsJSGlobalObjectDebuggerAgenth">trunk/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamSDPProcessorcpp">trunk/Source/WebCore/Modules/mediastream/SDPProcessor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCommandLineAPIHostCustomcpp">trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCustomEventCustomcpp">trunk/Source/WebCore/bindings/js/JSCustomEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScriptControllercpp">trunk/Source/WebCore/bindings/js/ScriptController.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScriptControllerh">trunk/Source/WebCore/bindings/js/ScriptController.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScriptGlobalObjectcpp">trunk/Source/WebCore/bindings/js/ScriptGlobalObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScriptGlobalObjecth">trunk/Source/WebCore/bindings/js/ScriptGlobalObject.h</a></li>
<li><a href="#trunkSourceWebCoredomCustomEventcpp">trunk/Source/WebCore/dom/CustomEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomCustomEventh">trunk/Source/WebCore/dom/CustomEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomCustomEventidl">trunk/Source/WebCore/dom/CustomEvent.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorCommandLineAPIHostcpp">trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorCommandLineAPIHosth">trunk/Source/WebCore/inspector/CommandLineAPIHost.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgenth">trunk/Source/WebCore/inspector/InspectorDOMAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorFrontendClientLocalcpp">trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorFrontendHostcpp">trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorTimelineAgentcpp">trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorTimelineAgenth">trunk/Source/WebCore/inspector/InspectorTimelineAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageConsoleAgentcpp">trunk/Source/WebCore/inspector/PageConsoleAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageDebuggerAgentcpp">trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageDebuggerAgenth">trunk/Source/WebCore/inspector/PageDebuggerAgent.h</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebFramemm">trunk/Source/WebKit/mac/WebView/WebFrame.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebViewmm">trunk/Source/WebKit/mac/WebView/WebView.mm</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinPluginsPluginViewcpp">trunk/Source/WebKit/win/Plugins/PluginView.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebFramecpp">trunk/Source/WebKit/win/WebFrame.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebViewcpp">trunk/Source/WebKit/win/WebView.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsPluginViewcpp">trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebInspectorUIcpp">trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -1,3 +1,58 @@
</span><ins>+2016-04-15  Darin Adler  &lt;darin@apple.com&gt;
+
+        Reduce use of Deprecated::ScriptXXX classes
+        https://bugs.webkit.org/show_bug.cgi?id=156632
+
+        Reviewed by Alex Christensen.
+
+        * bindings/ScriptFunctionCall.cpp:
+        (Deprecated::ScriptCallArgumentHandler::appendArgument): Deleted version that takes a Deprecated::ScriptValue.
+        (Deprecated::ScriptFunctionCall::call): Changed to return a JSValue.
+        * bindings/ScriptFunctionCall.h: Updated for the above.
+
+        * bindings/ScriptValue.cpp:
+        (Inspector::jsToInspectorValue): Moved from Deprecated namespace to Inspector namespace. Later, we should
+        move this to another source file in the inspector directory.
+        (Inspector::toInspectorValue): Added.
+        (Deprecated::ScriptValue::toInspectorValue): Updated for change to underlying function.
+        * bindings/ScriptValue.h: Update for the above.
+
+        * inspector/InjectedScript.cpp:
+        (Inspector::InjectedScript::evaluateOnCallFrame): Changed arguments and return values from
+        Deprecated::ScriptValue to JSC::JSValue.
+        (Inspector::InjectedScript::functionDetails): Ditto.
+        (Inspector::InjectedScript::wrapCallFrames): Ditto.
+        (Inspector::InjectedScript::wrapObject): Ditto.
+        (Inspector::InjectedScript::wrapTable): Ditto.
+        (Inspector::InjectedScript::previewValue): Ditto.
+        (Inspector::InjectedScript::setExceptionValue): Ditto.
+        (Inspector::InjectedScript::findObjectById): Ditto.
+        (Inspector::InjectedScript::inspectObject): Ditto.
+        * inspector/InjectedScript.h: Ditto.
+        * inspector/InjectedScriptBase.cpp:
+        (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled): Ditto.
+        (Inspector::InjectedScriptBase::makeCall): Ditto.
+        * inspector/InjectedScriptBase.h: Ditto.
+        * inspector/InjectedScriptModule.cpp:
+        (Inspector::InjectedScriptModule::ensureInjected): Ditto.
+        * inspector/ScriptDebugListener.h: Ditto.
+        * inspector/ScriptDebugServer.cpp:
+        (Inspector::ScriptDebugServer::evaluateBreakpointAction): Ditto.
+        (Inspector::ScriptDebugServer::dispatchDidPause): Ditto.
+        (Inspector::ScriptDebugServer::dispatchBreakpointActionProbe): Ditto.
+        (Inspector::ScriptDebugServer::exceptionOrCaughtValue): Ditto.
+        * inspector/ScriptDebugServer.h: Ditto.
+        * inspector/agents/InspectorDebuggerAgent.cpp:
+        (Inspector::InspectorDebuggerAgent::buildExceptionPauseReason): Ditto.
+        (Inspector::InspectorDebuggerAgent::didPause): Ditto.
+        (Inspector::InspectorDebuggerAgent::breakpointActionProbe): Ditto.
+        (Inspector::InspectorDebuggerAgent::didContinue): Ditto.
+        (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): Ditto.
+        * inspector/agents/InspectorDebuggerAgent.h: Ditto.
+        * inspector/agents/InspectorHeapAgent.cpp:
+        (Inspector::InspectorHeapAgent::getPreview): Ditto.
+        (Inspector::InspectorHeapAgent::getRemoteObject): Ditto.
+
</ins><span class="cx"> 2016-04-15  Keith Miller  &lt;keith_miller@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Some JIT/DFG operations need NativeCallFrameTracers
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptFunctionCallcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -50,11 +50,6 @@
</span><span class="cx">     m_arguments.append(argument.jsObject());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScriptCallArgumentHandler::appendArgument(const Deprecated::ScriptValue&amp; argument)
-{
-    m_arguments.append(argument.jsValue());
-}
-
</del><span class="cx"> void ScriptCallArgumentHandler::appendArgument(const String&amp; argument)
</span><span class="cx"> {
</span><span class="cx">     JSLockHolder lock(m_exec);
</span><span class="lines">@@ -115,7 +110,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue ScriptFunctionCall::call(bool&amp; hadException)
</del><ins>+JSValue ScriptFunctionCall::call(bool&amp; hadException)
</ins><span class="cx"> {
</span><span class="cx">     JSObject* thisObject = m_thisObject.jsObject();
</span><span class="cx"> 
</span><span class="lines">@@ -124,13 +119,13 @@
</span><span class="cx">     JSValue function = thisObject-&gt;get(m_exec, Identifier::fromString(m_exec, m_name));
</span><span class="cx">     if (m_exec-&gt;hadException()) {
</span><span class="cx">         hadException = true;
</span><del>-        return Deprecated::ScriptValue();
</del><ins>+        return { };
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     CallData callData;
</span><span class="cx">     CallType callType = getCallData(function, callData);
</span><span class="cx">     if (callType == CallType::None)
</span><del>-        return Deprecated::ScriptValue();
</del><ins>+        return { };
</ins><span class="cx"> 
</span><span class="cx">     JSValue result;
</span><span class="cx">     NakedPtr&lt;Exception&gt; exception;
</span><span class="lines">@@ -142,15 +137,15 @@
</span><span class="cx">     if (exception) {
</span><span class="cx">         // Do not treat a terminated execution exception as having an exception. Just treat it as an empty result.
</span><span class="cx">         hadException = !isTerminatedExecutionException(exception);
</span><del>-        return Deprecated::ScriptValue();
</del><ins>+        return { };
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return Deprecated::ScriptValue(m_exec-&gt;vm(), result);
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue ScriptFunctionCall::call()
</del><ins>+JSC::JSValue ScriptFunctionCall::call()
</ins><span class="cx"> {
</span><del>-    bool hadException = false;
</del><ins>+    bool hadException;
</ins><span class="cx">     return call(hadException);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptFunctionCallh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -73,8 +73,8 @@
</span><span class="cx"> public:
</span><span class="cx">     typedef JSC::JSValue (*ScriptFunctionCallHandler)(JSC::ExecState* exec, JSC::JSValue functionObject, JSC::CallType callType, const JSC::CallData&amp; callData, JSC::JSValue thisValue, const JSC::ArgList&amp; args, NakedPtr&lt;JSC::Exception&gt;&amp;);
</span><span class="cx">     ScriptFunctionCall(const ScriptObject&amp; thisObject, const String&amp; name, ScriptFunctionCallHandler handler = nullptr);
</span><del>-    ScriptValue call(bool&amp; hadException);
-    ScriptValue call();
</del><ins>+    JSC::JSValue call(bool&amp; hadException);
+    JSC::JSValue call();
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     ScriptFunctionCallHandler m_callHandler;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -38,6 +38,71 @@
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span><ins>+namespace Inspector {
+
+static RefPtr&lt;InspectorValue&gt; jsToInspectorValue(ExecState&amp; scriptState, JSValue value, int maxDepth)
+{
+    if (!value) {
+        ASSERT_NOT_REACHED();
+        return nullptr;
+    }
+
+    if (!maxDepth)
+        return nullptr;
+
+    maxDepth--;
+
+    if (value.isUndefinedOrNull())
+        return InspectorValue::null(); // FIXME: Why is it OK to turn undefined into null?
+    if (value.isBoolean())
+        return InspectorValue::create(value.asBoolean());
+    if (value.isNumber() &amp;&amp; value.isDouble())
+        return InspectorValue::create(value.asNumber());
+    if (value.isNumber() &amp;&amp; value.isMachineInt())
+        return InspectorValue::create(static_cast&lt;int&gt;(value.asMachineInt()));
+    if (value.isString())
+        return InspectorValue::create(value.getString(&amp;scriptState));
+
+    if (value.isObject()) {
+        if (isJSArray(value)) {
+            auto inspectorArray = InspectorArray::create();
+            auto&amp; array = *asArray(value);
+            unsigned length = array.length();
+            for (unsigned i = 0; i &lt; length; i++) {
+                auto elementValue = jsToInspectorValue(scriptState, array.getIndex(&amp;scriptState, i), maxDepth);
+                if (!elementValue)
+                    return nullptr;
+                inspectorArray-&gt;pushValue(WTFMove(elementValue));
+            }
+            return WTFMove(inspectorArray);
+        }
+        auto inspectorObject = InspectorObject::create();
+        auto&amp; object = *value.getObject();
+        PropertyNameArray propertyNames(&amp;scriptState, PropertyNameMode::Strings);
+        object.methodTable()-&gt;getOwnPropertyNames(&amp;object, &amp;scriptState, propertyNames, EnumerationMode());
+        for (auto&amp; name : propertyNames) {
+            auto inspectorValue = jsToInspectorValue(scriptState, object.get(&amp;scriptState, name), maxDepth);
+            if (!inspectorValue)
+                return nullptr;
+            inspectorObject-&gt;setValue(name.string(), WTFMove(inspectorValue));
+        }
+        return WTFMove(inspectorObject);
+    }
+
+    ASSERT_NOT_REACHED();
+    return nullptr;
+}
+
+RefPtr&lt;InspectorValue&gt; toInspectorValue(ExecState&amp; state, JSValue value)
+{
+    // FIXME: Maybe we should move the JSLockHolder stuff to the callers since this function takes a JSValue directly.
+    // Doing the locking here made sense when we were trying to abstract the difference between multiple JavaScript engines.
+    JSLockHolder holder(&amp;state);
+    return jsToInspectorValue(state, value, InspectorValue::maxDepth);
+}
+
+} // namespace Inspector
+
</ins><span class="cx"> namespace Deprecated {
</span><span class="cx"> 
</span><span class="cx"> ScriptValue::~ScriptValue()
</span><span class="lines">@@ -97,66 +162,10 @@
</span><span class="cx">     return getCallData(m_value.get(), callData) != CallType::None;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;InspectorValue&gt; jsToInspectorValue(ExecState* scriptState, JSValue value, int maxDepth)
-{
-    if (!value) {
-        ASSERT_NOT_REACHED();
-        return nullptr;
-    }
-
-    if (!maxDepth)
-        return nullptr;
-
-    maxDepth--;
-
-    if (value.isNull() || value.isUndefined())
-        return InspectorValue::null();
-    if (value.isBoolean())
-        return InspectorValue::create(value.asBoolean());
-    if (value.isNumber() &amp;&amp; value.isDouble())
-        return InspectorValue::create(value.asNumber());
-    if (value.isNumber() &amp;&amp; value.isMachineInt())
-        return InspectorValue::create(static_cast&lt;int&gt;(value.asMachineInt()));
-    if (value.isString())
-        return InspectorValue::create(value.getString(scriptState));
-
-    if (value.isObject()) {
-        if (isJSArray(value)) {
-            Ref&lt;InspectorArray&gt; inspectorArray = InspectorArray::create();
-            JSArray* array = asArray(value);
-            unsigned length = array-&gt;length();
-            for (unsigned i = 0; i &lt; length; i++) {
-                JSValue element = array-&gt;getIndex(scriptState, i);
-                RefPtr&lt;InspectorValue&gt; elementValue = jsToInspectorValue(scriptState, element, maxDepth);
-                if (!elementValue)
-                    return nullptr;
-                inspectorArray-&gt;pushValue(WTFMove(elementValue));
-            }
-            return WTFMove(inspectorArray);
-        }
-        Ref&lt;InspectorObject&gt; inspectorObject = InspectorObject::create();
-        JSObject* object = value.getObject();
-        PropertyNameArray propertyNames(scriptState, PropertyNameMode::Strings);
-        object-&gt;methodTable()-&gt;getOwnPropertyNames(object, scriptState, propertyNames, EnumerationMode());
-        for (size_t i = 0; i &lt; propertyNames.size(); i++) {
-            const Identifier&amp; name = propertyNames[i];
-            JSValue propertyValue = object-&gt;get(scriptState, name);
-            RefPtr&lt;InspectorValue&gt; inspectorValue = jsToInspectorValue(scriptState, propertyValue, maxDepth);
-            if (!inspectorValue)
-                return nullptr;
-            inspectorObject-&gt;setValue(name.string(), WTFMove(inspectorValue));
-        }
-        return WTFMove(inspectorObject);
-    }
-
-    ASSERT_NOT_REACHED();
-    return nullptr;
-}
-
</del><span class="cx"> RefPtr&lt;InspectorValue&gt; ScriptValue::toInspectorValue(ExecState* scriptState) const
</span><span class="cx"> {
</span><span class="cx">     JSLockHolder holder(scriptState);
</span><del>-    return jsToInspectorValue(scriptState, m_value.get(), InspectorValue::maxDepth);
</del><ins>+    return jsToInspectorValue(*scriptState, m_value.get(), InspectorValue::maxDepth);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Deprecated
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptValue.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptValue.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/bindings/ScriptValue.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -37,11 +37,14 @@
</span><span class="cx"> #include &quot;Operations.h&quot;
</span><span class="cx"> #include &quot;Strong.h&quot;
</span><span class="cx"> #include &quot;StrongInlines.h&quot;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><ins>+
</ins><span class="cx"> class InspectorValue;
</span><ins>+
+RefPtr&lt;InspectorValue&gt; toInspectorValue(JSC::ExecState&amp;, JSC::JSValue);
+
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace Deprecated {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScriptcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScript.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScript.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScript.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx">     makeEvalCall(errorString, function, result, wasThrown);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedScript::evaluateOnCallFrame(ErrorString&amp; errorString, const Deprecated::ScriptValue&amp; callFrames, const String&amp; callFrameId, const String&amp; expression, const String&amp; objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;* result, Inspector::Protocol::OptOutput&lt;bool&gt;* wasThrown, Inspector::Protocol::OptOutput&lt;int&gt;* savedResultIndex)
</del><ins>+void InjectedScript::evaluateOnCallFrame(ErrorString&amp; errorString, JSC::JSValue callFrames, const String&amp; callFrameId, const String&amp; expression, const String&amp; objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;* result, Inspector::Protocol::OptOutput&lt;bool&gt;* wasThrown, Inspector::Protocol::OptOutput&lt;int&gt;* savedResultIndex)
</ins><span class="cx"> {
</span><span class="cx">     Deprecated::ScriptFunctionCall function(injectedScriptObject(), ASCIILiteral(&quot;evaluateOnCallFrame&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span><span class="cx">     function.appendArgument(callFrames);
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx">     *result = BindingTraits&lt;Inspector::Protocol::Debugger::FunctionDetails&gt;::runtimeCast(WTFMove(resultValue));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedScript::functionDetails(ErrorString&amp; errorString, const Deprecated::ScriptValue&amp; value, RefPtr&lt;Protocol::Debugger::FunctionDetails&gt;* result)
</del><ins>+void InjectedScript::functionDetails(ErrorString&amp; errorString, JSC::JSValue value, RefPtr&lt;Protocol::Debugger::FunctionDetails&gt;* result)
</ins><span class="cx"> {
</span><span class="cx">     Deprecated::ScriptFunctionCall function(injectedScriptObject(), ASCIILiteral(&quot;functionDetails&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span><span class="cx">     function.appendArgument(value);
</span><span class="lines">@@ -211,23 +211,23 @@
</span><span class="cx">         *savedResultIndex = savedResultIndexInt;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; InjectedScript::wrapCallFrames(const Deprecated::ScriptValue&amp; callFrames) const
</del><ins>+Ref&lt;Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; InjectedScript::wrapCallFrames(JSC::JSValue callFrames) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!hasNoValue());
</span><span class="cx">     Deprecated::ScriptFunctionCall function(injectedScriptObject(), ASCIILiteral(&quot;wrapCallFrames&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span><span class="cx">     function.appendArgument(callFrames);
</span><span class="cx"> 
</span><span class="cx">     bool hadException = false;
</span><del>-    Deprecated::ScriptValue callFramesValue = callFunctionWithEvalEnabled(function, hadException);
</del><ins>+    auto callFramesValue = callFunctionWithEvalEnabled(function, hadException);
</ins><span class="cx">     ASSERT(!hadException);
</span><del>-    RefPtr&lt;InspectorValue&gt; result = callFramesValue.toInspectorValue(scriptState());
</del><ins>+    RefPtr&lt;InspectorValue&gt; result = toInspectorValue(*scriptState(), callFramesValue);
</ins><span class="cx">     if (result-&gt;type() == InspectorValue::Type::Array)
</span><span class="cx">         return BindingTraits&lt;Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt;::runtimeCast(WTFMove(result)).releaseNonNull();
</span><span class="cx"> 
</span><span class="cx">     return Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;::create();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapObject(const Deprecated::ScriptValue&amp; value, const String&amp; groupName, bool generatePreview) const
</del><ins>+RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapObject(JSC::JSValue value, const String&amp; groupName, bool generatePreview) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!hasNoValue());
</span><span class="cx">     Deprecated::ScriptFunctionCall wrapFunction(injectedScriptObject(), ASCIILiteral(&quot;wrapObject&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span><span class="lines">@@ -237,59 +237,59 @@
</span><span class="cx">     wrapFunction.appendArgument(generatePreview);
</span><span class="cx"> 
</span><span class="cx">     bool hadException = false;
</span><del>-    Deprecated::ScriptValue r = callFunctionWithEvalEnabled(wrapFunction, hadException);
</del><ins>+    auto r = callFunctionWithEvalEnabled(wrapFunction, hadException);
</ins><span class="cx">     if (hadException)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; resultObject;
</span><del>-    bool castSucceeded = r.toInspectorValue(scriptState())-&gt;asObject(resultObject);
</del><ins>+    bool castSucceeded = toInspectorValue(*scriptState(), r)-&gt;asObject(resultObject);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(resultObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapTable(const Deprecated::ScriptValue&amp; table, const Deprecated::ScriptValue&amp; columns) const
</del><ins>+RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapTable(JSC::JSValue table, JSC::JSValue columns) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!hasNoValue());
</span><span class="cx">     Deprecated::ScriptFunctionCall wrapFunction(injectedScriptObject(), ASCIILiteral(&quot;wrapTable&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span><span class="cx">     wrapFunction.appendArgument(hasAccessToInspectedScriptState());
</span><span class="cx">     wrapFunction.appendArgument(table);
</span><del>-    if (columns.hasNoValue())
</del><ins>+    if (!columns)
</ins><span class="cx">         wrapFunction.appendArgument(false);
</span><span class="cx">     else
</span><span class="cx">         wrapFunction.appendArgument(columns);
</span><span class="cx"> 
</span><span class="cx">     bool hadException = false;
</span><del>-    Deprecated::ScriptValue r = callFunctionWithEvalEnabled(wrapFunction, hadException);
</del><ins>+    auto r = callFunctionWithEvalEnabled(wrapFunction, hadException);
</ins><span class="cx">     if (hadException)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; resultObject;
</span><del>-    bool castSucceeded = r.toInspectorValue(scriptState())-&gt;asObject(resultObject);
</del><ins>+    bool castSucceeded = toInspectorValue(*scriptState(), r)-&gt;asObject(resultObject);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(resultObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Runtime::ObjectPreview&gt; InjectedScript::previewValue(const Deprecated::ScriptValue&amp; value) const
</del><ins>+RefPtr&lt;Inspector::Protocol::Runtime::ObjectPreview&gt; InjectedScript::previewValue(JSC::JSValue value) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!hasNoValue());
</span><span class="cx">     Deprecated::ScriptFunctionCall wrapFunction(injectedScriptObject(), ASCIILiteral(&quot;previewValue&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span><span class="cx">     wrapFunction.appendArgument(value);
</span><span class="cx"> 
</span><span class="cx">     bool hadException = false;
</span><del>-    Deprecated::ScriptValue r = callFunctionWithEvalEnabled(wrapFunction, hadException);
</del><ins>+    auto r = callFunctionWithEvalEnabled(wrapFunction, hadException);
</ins><span class="cx">     if (hadException)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; resultObject;
</span><del>-    bool castSucceeded = r.toInspectorValue(scriptState())-&gt;asObject(resultObject);
</del><ins>+    bool castSucceeded = toInspectorValue(*scriptState(), r)-&gt;asObject(resultObject);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return BindingTraits&lt;Inspector::Protocol::Runtime::ObjectPreview&gt;::runtimeCast(resultObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedScript::setExceptionValue(const Deprecated::ScriptValue&amp; value)
</del><ins>+void InjectedScript::setExceptionValue(JSC::JSValue value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!hasNoValue());
</span><span class="cx">     Deprecated::ScriptFunctionCall function(injectedScriptObject(), ASCIILiteral(&quot;setExceptionValue&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span><span class="lines">@@ -306,20 +306,20 @@
</span><span class="cx">     makeCall(function, &amp;result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue InjectedScript::findObjectById(const String&amp; objectId) const
</del><ins>+JSC::JSValue InjectedScript::findObjectById(const String&amp; objectId) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!hasNoValue());
</span><span class="cx">     Deprecated::ScriptFunctionCall function(injectedScriptObject(), ASCIILiteral(&quot;findObjectById&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span><span class="cx">     function.appendArgument(objectId);
</span><span class="cx"> 
</span><span class="cx">     bool hadException = false;
</span><del>-    Deprecated::ScriptValue resultValue = callFunctionWithEvalEnabled(function, hadException);
</del><ins>+    auto resultValue = callFunctionWithEvalEnabled(function, hadException);
</ins><span class="cx">     ASSERT(!hadException);
</span><span class="cx"> 
</span><span class="cx">     return resultValue;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedScript::inspectObject(Deprecated::ScriptValue value)
</del><ins>+void InjectedScript::inspectObject(JSC::JSValue value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!hasNoValue());
</span><span class="cx">     Deprecated::ScriptFunctionCall function(injectedScriptObject(), ASCIILiteral(&quot;inspectObject&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScripth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScript.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScript.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScript.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -54,25 +54,25 @@
</span><span class="cx"> 
</span><span class="cx">     void evaluate(ErrorString&amp;, const String&amp; expression, const String&amp; objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr&lt;Protocol::Runtime::RemoteObject&gt;* result, Protocol::OptOutput&lt;bool&gt;* wasThrown, Inspector::Protocol::OptOutput&lt;int&gt;* savedResultIndex);
</span><span class="cx">     void callFunctionOn(ErrorString&amp;, const String&amp; objectId, const String&amp; expression, const String&amp; arguments, bool returnByValue, bool generatePreview, RefPtr&lt;Protocol::Runtime::RemoteObject&gt;* result, Protocol::OptOutput&lt;bool&gt;* wasThrown);
</span><del>-    void evaluateOnCallFrame(ErrorString&amp;, const Deprecated::ScriptValue&amp; callFrames, const String&amp; callFrameId, const String&amp; expression, const String&amp; objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr&lt;Protocol::Runtime::RemoteObject&gt;* result, Protocol::OptOutput&lt;bool&gt;* wasThrown, Inspector::Protocol::OptOutput&lt;int&gt;* savedResultIndex);
</del><ins>+    void evaluateOnCallFrame(ErrorString&amp;, JSC::JSValue callFrames, const String&amp; callFrameId, const String&amp; expression, const String&amp; objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr&lt;Protocol::Runtime::RemoteObject&gt;* result, Protocol::OptOutput&lt;bool&gt;* wasThrown, Inspector::Protocol::OptOutput&lt;int&gt;* savedResultIndex);
</ins><span class="cx">     void getFunctionDetails(ErrorString&amp;, const String&amp; functionId, RefPtr&lt;Protocol::Debugger::FunctionDetails&gt;* result);
</span><del>-    void functionDetails(ErrorString&amp;, const Deprecated::ScriptValue&amp;, RefPtr&lt;Protocol::Debugger::FunctionDetails&gt;* result);
</del><ins>+    void functionDetails(ErrorString&amp;, JSC::JSValue, RefPtr&lt;Protocol::Debugger::FunctionDetails&gt;* result);
</ins><span class="cx">     void getProperties(ErrorString&amp;, const String&amp; objectId, bool ownProperties, bool generatePreview, RefPtr&lt;Protocol::Array&lt;Protocol::Runtime::PropertyDescriptor&gt;&gt;* result);
</span><span class="cx">     void getDisplayableProperties(ErrorString&amp;, const String&amp; objectId, bool generatePreview, RefPtr&lt;Protocol::Array&lt;Protocol::Runtime::PropertyDescriptor&gt;&gt;* result);
</span><span class="cx">     void getInternalProperties(ErrorString&amp;, const String&amp; objectId, bool generatePreview, RefPtr&lt;Protocol::Array&lt;Protocol::Runtime::InternalPropertyDescriptor&gt;&gt;* result);
</span><span class="cx">     void getCollectionEntries(ErrorString&amp;, const String&amp; objectId, const String&amp; objectGroup, int startIndex, int numberToFetch, RefPtr&lt;Protocol::Array&lt;Protocol::Runtime::CollectionEntry&gt;&gt;* entries);
</span><span class="cx">     void saveResult(ErrorString&amp;, const String&amp; callArgumentJSON, Inspector::Protocol::OptOutput&lt;int&gt;* savedResultIndex);
</span><span class="cx"> 
</span><del>-    Ref&lt;Protocol::Array&lt;Protocol::Debugger::CallFrame&gt;&gt; wrapCallFrames(const Deprecated::ScriptValue&amp;) const;
-    RefPtr&lt;Protocol::Runtime::RemoteObject&gt; wrapObject(const Deprecated::ScriptValue&amp;, const String&amp; groupName, bool generatePreview = false) const;
-    RefPtr&lt;Protocol::Runtime::RemoteObject&gt; wrapTable(const Deprecated::ScriptValue&amp; table, const Deprecated::ScriptValue&amp; columns) const;
-    RefPtr&lt;Protocol::Runtime::ObjectPreview&gt; previewValue(const Deprecated::ScriptValue&amp;) const;
</del><ins>+    Ref&lt;Protocol::Array&lt;Protocol::Debugger::CallFrame&gt;&gt; wrapCallFrames(JSC::JSValue) const;
+    RefPtr&lt;Protocol::Runtime::RemoteObject&gt; wrapObject(JSC::JSValue, const String&amp; groupName, bool generatePreview = false) const;
+    RefPtr&lt;Protocol::Runtime::RemoteObject&gt; wrapTable(JSC::JSValue table, JSC::JSValue columns) const;
+    RefPtr&lt;Protocol::Runtime::ObjectPreview&gt; previewValue(JSC::JSValue) const;
</ins><span class="cx"> 
</span><del>-    void setExceptionValue(const Deprecated::ScriptValue&amp;);
</del><ins>+    void setExceptionValue(JSC::JSValue);
</ins><span class="cx">     void clearExceptionValue();
</span><span class="cx"> 
</span><del>-    Deprecated::ScriptValue findObjectById(const String&amp; objectId) const;
-    void inspectObject(Deprecated::ScriptValue);
</del><ins>+    JSC::JSValue findObjectById(const String&amp; objectId) const;
+    void inspectObject(JSC::JSValue);
</ins><span class="cx">     void releaseObject(const String&amp; objectId);
</span><span class="cx">     void releaseObjectGroup(const String&amp; objectGroup);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScriptBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -69,12 +69,12 @@
</span><span class="cx">     return m_injectedScriptObject;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue InjectedScriptBase::callFunctionWithEvalEnabled(Deprecated::ScriptFunctionCall&amp; function, bool&amp; hadException) const
</del><ins>+JSC::JSValue InjectedScriptBase::callFunctionWithEvalEnabled(Deprecated::ScriptFunctionCall&amp; function, bool&amp; hadException) const
</ins><span class="cx"> {
</span><span class="cx">     JSC::ExecState* scriptState = m_injectedScriptObject.scriptState();
</span><span class="cx">     JSC::LegacyProfiler::profiler()-&gt;suspendProfiling(scriptState);
</span><span class="cx"> 
</span><del>-    Deprecated::ScriptValue resultValue;
</del><ins>+    JSC::JSValue resultValue;
</ins><span class="cx">     {
</span><span class="cx">         JSC::DebuggerEvalEnabler evalEnabler(scriptState);
</span><span class="cx">         resultValue = function.call(hadException);
</span><span class="lines">@@ -93,11 +93,11 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool hadException = false;
</span><del>-    Deprecated::ScriptValue resultValue = callFunctionWithEvalEnabled(function, hadException);
</del><ins>+    auto resultValue = callFunctionWithEvalEnabled(function, hadException);
</ins><span class="cx"> 
</span><span class="cx">     ASSERT(!hadException);
</span><span class="cx">     if (!hadException) {
</span><del>-        *result = resultValue.toInspectorValue(m_injectedScriptObject.scriptState());
</del><ins>+        *result = toInspectorValue(*m_injectedScriptObject.scriptState(), resultValue);
</ins><span class="cx">         if (!*result)
</span><span class="cx">             *result = InspectorValue::create(String::format(&quot;Object has too long reference chain (must not be longer than %d)&quot;, InspectorValue::maxDepth));
</span><span class="cx">     } else
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScriptBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     bool hasAccessToInspectedScriptState() const;
</span><span class="cx"> 
</span><span class="cx">     const Deprecated::ScriptObject&amp; injectedScriptObject() const;
</span><del>-    Deprecated::ScriptValue callFunctionWithEvalEnabled(Deprecated::ScriptFunctionCall&amp;, bool&amp; hadException) const;
</del><ins>+    JSC::JSValue callFunctionWithEvalEnabled(Deprecated::ScriptFunctionCall&amp;, bool&amp; hadException) const;
</ins><span class="cx">     void makeCall(Deprecated::ScriptFunctionCall&amp;, RefPtr&lt;InspectorValue&gt;* result);
</span><span class="cx">     void makeEvalCall(ErrorString&amp;, Deprecated::ScriptFunctionCall&amp;, RefPtr&lt;Protocol::Runtime::RemoteObject&gt;* result, Protocol::OptOutput&lt;bool&gt;* wasThrown, Protocol::OptOutput&lt;int&gt;* savedResult = nullptr);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScriptModulecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScriptModule.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScriptModule.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScriptModule.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -65,9 +65,9 @@
</span><span class="cx">     Deprecated::ScriptFunctionCall function(injectedScript.injectedScriptObject(), ASCIILiteral(&quot;module&quot;), injectedScriptManager-&gt;inspectorEnvironment().functionCallHandler());
</span><span class="cx">     function.appendArgument(name());
</span><span class="cx">     bool hadException = false;
</span><del>-    Deprecated::ScriptValue resultValue = injectedScript.callFunctionWithEvalEnabled(function, hadException);
</del><ins>+    auto resultValue = injectedScript.callFunctionWithEvalEnabled(function, hadException);
</ins><span class="cx">     ASSERT(!hadException);
</span><del>-    if (hadException || resultValue.hasNoValue() || !resultValue.isObject()) {
</del><ins>+    if (hadException || !resultValue || !resultValue.isObject()) {
</ins><span class="cx">         Deprecated::ScriptFunctionCall function(injectedScript.injectedScriptObject(), ASCIILiteral(&quot;injectModule&quot;), injectedScriptManager-&gt;inspectorEnvironment().functionCallHandler());
</span><span class="cx">         function.appendArgument(name());
</span><span class="cx">         function.appendArgument(source());
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptDebugListenerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ScriptDebugListener.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptDebugListener.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/ScriptDebugListener.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -33,10 +33,6 @@
</span><span class="cx"> #include &quot;debugger/Debugger.h&quot;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><del>-namespace Deprecated {
-class ScriptValue;
-}
-
</del><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="cx"> struct ScriptBreakpointAction;
</span><span class="lines">@@ -59,12 +55,12 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void didParseSource(JSC::SourceID, const Script&amp;) = 0;
</span><span class="cx">     virtual void failedToParseSource(const String&amp; url, const String&amp; data, int firstLine, int errorLine, const String&amp; errorMessage) = 0;
</span><del>-    virtual void didPause(JSC::ExecState*, const Deprecated::ScriptValue&amp; callFrames, const Deprecated::ScriptValue&amp; exception) = 0;
</del><ins>+    virtual void didPause(JSC::ExecState&amp;, JSC::JSValue callFrames, JSC::JSValue exception) = 0;
</ins><span class="cx">     virtual void didContinue() = 0;
</span><span class="cx"> 
</span><del>-    virtual void breakpointActionLog(JSC::ExecState*, const String&amp;) = 0;
</del><ins>+    virtual void breakpointActionLog(JSC::ExecState&amp;, const String&amp;) = 0;
</ins><span class="cx">     virtual void breakpointActionSound(int breakpointActionIdentifier) = 0;
</span><del>-    virtual void breakpointActionProbe(JSC::ExecState*, const ScriptBreakpointAction&amp;, unsigned batchId, unsigned sampleId, const Deprecated::ScriptValue&amp; result) = 0;
</del><ins>+    virtual void breakpointActionProbe(JSC::ExecState&amp;, const ScriptBreakpointAction&amp;, unsigned batchId, unsigned sampleId, JSC::JSValue result) = 0;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptDebugServercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -109,8 +109,7 @@
</span><span class="cx">             reportException(debuggerCallFrame-&gt;exec(), exception);
</span><span class="cx">         
</span><span class="cx">         JSC::ExecState* state = debuggerCallFrame-&gt;scope()-&gt;globalObject()-&gt;globalExec();
</span><del>-        Deprecated::ScriptValue wrappedResult = Deprecated::ScriptValue(state-&gt;vm(), exception ? exception-&gt;value() : result);
-        dispatchBreakpointActionProbe(state, breakpointAction, wrappedResult);
</del><ins>+        dispatchBreakpointActionProbe(state, breakpointAction, exception ? exception-&gt;value() : result);
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     default:
</span><span class="lines">@@ -131,11 +130,9 @@
</span><span class="cx">     ASSERT(isPaused());
</span><span class="cx">     DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
</span><span class="cx">     JSGlobalObject* globalObject = debuggerCallFrame-&gt;scope()-&gt;globalObject();
</span><del>-    JSC::ExecState* state = globalObject-&gt;globalExec();
-    RefPtr&lt;JavaScriptCallFrame&gt; javaScriptCallFrame = JavaScriptCallFrame::create(debuggerCallFrame);
-    JSValue jsCallFrame = toJS(state, globalObject, javaScriptCallFrame.get());
-
-    listener-&gt;didPause(state, Deprecated::ScriptValue(state-&gt;vm(), jsCallFrame), exceptionOrCaughtValue(state));
</del><ins>+    JSC::ExecState&amp; state = *globalObject-&gt;globalExec();
+    JSValue jsCallFrame = toJS(&amp;state, globalObject, JavaScriptCallFrame::create(debuggerCallFrame).ptr());
+    listener-&gt;didPause(state, jsCallFrame, exceptionOrCaughtValue(&amp;state));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScriptDebugServer::dispatchBreakpointActionLog(ExecState* exec, const String&amp; message)
</span><span class="lines">@@ -151,7 +148,7 @@
</span><span class="cx">     Vector&lt;ScriptDebugListener*&gt; listenersCopy;
</span><span class="cx">     copyToVector(m_listeners, listenersCopy);
</span><span class="cx">     for (auto* listener : listenersCopy)
</span><del>-        listener-&gt;breakpointActionLog(exec, message);
</del><ins>+        listener-&gt;breakpointActionLog(*exec, message);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScriptDebugServer::dispatchBreakpointActionSound(ExecState*, int breakpointActionIdentifier)
</span><span class="lines">@@ -170,7 +167,7 @@
</span><span class="cx">         listener-&gt;breakpointActionSound(breakpointActionIdentifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScriptDebugServer::dispatchBreakpointActionProbe(ExecState* exec, const ScriptBreakpointAction&amp; action, const Deprecated::ScriptValue&amp; sampleValue)
</del><ins>+void ScriptDebugServer::dispatchBreakpointActionProbe(ExecState* exec, const ScriptBreakpointAction&amp; action, JSC::JSValue sampleValue)
</ins><span class="cx"> {
</span><span class="cx">     if (m_callingListeners)
</span><span class="cx">         return;
</span><span class="lines">@@ -185,7 +182,7 @@
</span><span class="cx">     Vector&lt;ScriptDebugListener*&gt; listenersCopy;
</span><span class="cx">     copyToVector(m_listeners, listenersCopy);
</span><span class="cx">     for (auto* listener : listenersCopy)
</span><del>-        listener-&gt;breakpointActionProbe(exec, action, m_currentProbeBatchId, sampleId, sampleValue);
</del><ins>+        listener-&gt;breakpointActionProbe(*exec, action, m_currentProbeBatchId, sampleId, sampleValue);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScriptDebugServer::dispatchDidContinue(ScriptDebugListener* listener)
</span><span class="lines">@@ -352,20 +349,18 @@
</span><span class="cx">         detachDebugger(isBeingDestroyed);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue ScriptDebugServer::exceptionOrCaughtValue(JSC::ExecState* state)
</del><ins>+JSC::JSValue ScriptDebugServer::exceptionOrCaughtValue(JSC::ExecState* state)
</ins><span class="cx"> {
</span><span class="cx">     if (reasonForPause() == PausedForException)
</span><del>-        return Deprecated::ScriptValue(state-&gt;vm(), currentException());
</del><ins>+        return currentException();
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;DebuggerCallFrame&gt; debuggerCallFrame = currentDebuggerCallFrame();
-    while (debuggerCallFrame) {
-        DebuggerScope* scope = debuggerCallFrame-&gt;scope();
-        if (scope-&gt;isCatchScope())
-            return Deprecated::ScriptValue(state-&gt;vm(), scope-&gt;caughtValue(state));
-        debuggerCallFrame = debuggerCallFrame-&gt;callerFrame();
</del><ins>+    for (RefPtr&lt;DebuggerCallFrame&gt; frame = currentDebuggerCallFrame(); frame; frame = frame-&gt;callerFrame()) {
+        DebuggerScope&amp; scope = *frame-&gt;scope();
+        if (scope.isCatchScope())
+            return scope.caughtValue(state);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return Deprecated::ScriptValue();
</del><ins>+    return { };
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptDebugServerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/ScriptDebugServer.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     void dispatchFailedToParseSource(const ListenerSet&amp; listeners, JSC::SourceProvider*, int errorLine, const String&amp; errorMessage);
</span><span class="cx">     void dispatchBreakpointActionLog(JSC::ExecState*, const String&amp;);
</span><span class="cx">     void dispatchBreakpointActionSound(JSC::ExecState*, int breakpointActionIdentifier);
</span><del>-    void dispatchBreakpointActionProbe(JSC::ExecState*, const ScriptBreakpointAction&amp;, const Deprecated::ScriptValue&amp; sample);
</del><ins>+    void dispatchBreakpointActionProbe(JSC::ExecState*, const ScriptBreakpointAction&amp;, JSC::JSValue sample);
</ins><span class="cx"> 
</span><span class="cx">     bool m_doneProcessingDebuggerEvents {true};
</span><span class="cx"> 
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">     void handlePause(JSC::JSGlobalObject*, JSC::Debugger::ReasonForPause) final;
</span><span class="cx">     void notifyDoneProcessingDebuggerEvents() final;
</span><span class="cx"> 
</span><del>-    Deprecated::ScriptValue exceptionOrCaughtValue(JSC::ExecState*);
</del><ins>+    JSC::JSValue exceptionOrCaughtValue(JSC::ExecState*);
</ins><span class="cx"> 
</span><span class="cx">     BreakpointIDToActionsMap m_breakpointIDToActions;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -172,10 +172,10 @@
</span><span class="cx">     return reason-&gt;openAccessors();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorObject&gt; InspectorDebuggerAgent::buildExceptionPauseReason(const Deprecated::ScriptValue&amp; exception, const InjectedScript&amp; injectedScript)
</del><ins>+RefPtr&lt;InspectorObject&gt; InspectorDebuggerAgent::buildExceptionPauseReason(JSC::JSValue exception, const InjectedScript&amp; injectedScript)
</ins><span class="cx"> {
</span><del>-    ASSERT(!exception.hasNoValue());
-    if (exception.hasNoValue())
</del><ins>+    ASSERT(exception);
+    if (!exception)
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     ASSERT(!injectedScript.hasNoValue());
</span><span class="lines">@@ -667,13 +667,13 @@
</span><span class="cx">     m_frontendDispatcher-&gt;scriptFailedToParse(url, data, firstLine, errorLine, errorMessage);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDebuggerAgent::didPause(JSC::ExecState* scriptState, const Deprecated::ScriptValue&amp; callFrames, const Deprecated::ScriptValue&amp; exceptionOrCaughtValue)
</del><ins>+void InspectorDebuggerAgent::didPause(JSC::ExecState&amp; scriptState, JSC::JSValue callFrames, JSC::JSValue exceptionOrCaughtValue)
</ins><span class="cx"> {
</span><del>-    ASSERT(scriptState &amp;&amp; !m_pausedScriptState);
-    m_pausedScriptState = scriptState;
-    m_currentCallStack = callFrames;
</del><ins>+    ASSERT(!m_pausedScriptState);
+    m_pausedScriptState = &amp;scriptState;
+    m_currentCallStack = { scriptState.vm(), callFrames };
</ins><span class="cx"> 
</span><del>-    InjectedScript injectedScript = m_injectedScriptManager.injectedScriptFor(scriptState);
</del><ins>+    InjectedScript injectedScript = m_injectedScriptManager.injectedScriptFor(&amp;scriptState);
</ins><span class="cx"> 
</span><span class="cx">     // If a high level pause pause reason is not already set, try to infer a reason from the debugger.
</span><span class="cx">     if (m_breakReason == DebuggerFrontendDispatcher::Reason::Other) {
</span><span class="lines">@@ -708,7 +708,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Set $exception to the exception or caught value.
</span><del>-    if (!exceptionOrCaughtValue.hasNoValue() &amp;&amp; !injectedScript.hasNoValue()) {
</del><ins>+    if (exceptionOrCaughtValue &amp;&amp; !injectedScript.hasNoValue()) {
</ins><span class="cx">         injectedScript.setExceptionValue(exceptionOrCaughtValue);
</span><span class="cx">         m_hasExceptionValue = true;
</span><span class="cx">     }
</span><span class="lines">@@ -736,10 +736,10 @@
</span><span class="cx">     m_frontendDispatcher-&gt;playBreakpointActionSound(breakpointActionIdentifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDebuggerAgent::breakpointActionProbe(JSC::ExecState* scriptState, const ScriptBreakpointAction&amp; action, unsigned batchId, unsigned sampleId, const Deprecated::ScriptValue&amp; sample)
</del><ins>+void InspectorDebuggerAgent::breakpointActionProbe(JSC::ExecState&amp; scriptState, const ScriptBreakpointAction&amp; action, unsigned batchId, unsigned sampleId, JSC::JSValue sample)
</ins><span class="cx"> {
</span><del>-    InjectedScript injectedScript = m_injectedScriptManager.injectedScriptFor(scriptState);
-    RefPtr&lt;Protocol::Runtime::RemoteObject&gt; payload = injectedScript.wrapObject(sample, objectGroupForBreakpointAction(action), true);
</del><ins>+    InjectedScript injectedScript = m_injectedScriptManager.injectedScriptFor(&amp;scriptState);
+    auto payload = injectedScript.wrapObject(sample, objectGroupForBreakpointAction(action), true);
</ins><span class="cx">     auto result = Protocol::Debugger::ProbeSample::create()
</span><span class="cx">         .setProbeId(action.identifier)
</span><span class="cx">         .setBatchId(batchId)
</span><span class="lines">@@ -747,7 +747,6 @@
</span><span class="cx">         .setTimestamp(m_injectedScriptManager.inspectorEnvironment().executionStopwatch()-&gt;elapsedTime())
</span><span class="cx">         .setPayload(payload.release())
</span><span class="cx">         .release();
</span><del>-
</del><span class="cx">     m_frontendDispatcher-&gt;didSampleProbe(WTFMove(result));
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -759,7 +758,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_pausedScriptState = nullptr;
</span><del>-    m_currentCallStack = Deprecated::ScriptValue();
</del><ins>+    m_currentCallStack = { };
</ins><span class="cx">     m_injectedScriptManager.releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup);
</span><span class="cx">     clearBreakDetails();
</span><span class="cx">     clearExceptionValue();
</span><span class="lines">@@ -792,7 +791,7 @@
</span><span class="cx">     m_scriptDebugServer.clearBreakpoints();
</span><span class="cx"> 
</span><span class="cx">     m_pausedScriptState = nullptr;
</span><del>-    m_currentCallStack = Deprecated::ScriptValue();
</del><ins>+    m_currentCallStack = { };
</ins><span class="cx">     m_scripts.clear();
</span><span class="cx">     m_breakpointIdentifierToDebugServerBreakpointIDs.clear();
</span><span class="cx">     m_debuggerBreakpointIdentifierToInspectorBreakpointIdentifier.clear();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -61,26 +61,26 @@
</span><span class="cx"> 
</span><span class="cx">     virtual ~InspectorDebuggerAgent();
</span><span class="cx"> 
</span><del>-    void didCreateFrontendAndBackend(FrontendRouter*, BackendDispatcher*) override;
-    void willDestroyFrontendAndBackend(DisconnectReason) override;
</del><ins>+    void didCreateFrontendAndBackend(FrontendRouter*, BackendDispatcher*) final;
+    void willDestroyFrontendAndBackend(DisconnectReason) final;
</ins><span class="cx"> 
</span><del>-    void enable(ErrorString&amp;) override;
-    void disable(ErrorString&amp;) override;
-    void setBreakpointsActive(ErrorString&amp;, bool active) override;
-    void setBreakpointByUrl(ErrorString&amp;, int lineNumber, const String* optionalURL, const String* optionalURLRegex, const int* optionalColumnNumber, const Inspector::InspectorObject* options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::Location&gt;&gt;&amp; locations) override;
-    void setBreakpoint(ErrorString&amp;, const Inspector::InspectorObject&amp; location, const Inspector::InspectorObject* options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr&lt;Inspector::Protocol::Debugger::Location&gt;&amp; actualLocation) override;
-    void removeBreakpoint(ErrorString&amp;, const String&amp; breakpointIdentifier) override;
-    void continueToLocation(ErrorString&amp;, const InspectorObject&amp; location) override;
-    void searchInContent(ErrorString&amp;, const String&amp; scriptID, const String&amp; query, const bool* optionalCaseSensitive, const bool* optionalIsRegex, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt;&amp;) override;
-    void getScriptSource(ErrorString&amp;, const String&amp; scriptID, String* scriptSource) override;
-    void getFunctionDetails(ErrorString&amp;, const String&amp; functionId, RefPtr&lt;Inspector::Protocol::Debugger::FunctionDetails&gt;&amp;) override;
-    void pause(ErrorString&amp;) override;
-    void resume(ErrorString&amp;) override;
-    void stepOver(ErrorString&amp;) override;
-    void stepInto(ErrorString&amp;) override;
-    void stepOut(ErrorString&amp;) override;
-    void setPauseOnExceptions(ErrorString&amp;, const String&amp; pauseState) override;
-    void evaluateOnCallFrame(ErrorString&amp;, const String&amp; callFrameId, const String&amp; expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&amp; result, Inspector::Protocol::OptOutput&lt;bool&gt;* wasThrown, Inspector::Protocol::OptOutput&lt;int&gt;* savedResultIndex) override;
</del><ins>+    void enable(ErrorString&amp;) final;
+    void disable(ErrorString&amp;) final;
+    void setBreakpointsActive(ErrorString&amp;, bool active) final;
+    void setBreakpointByUrl(ErrorString&amp;, int lineNumber, const String* optionalURL, const String* optionalURLRegex, const int* optionalColumnNumber, const Inspector::InspectorObject* options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::Location&gt;&gt;&amp; locations) final;
+    void setBreakpoint(ErrorString&amp;, const Inspector::InspectorObject&amp; location, const Inspector::InspectorObject* options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr&lt;Inspector::Protocol::Debugger::Location&gt;&amp; actualLocation) final;
+    void removeBreakpoint(ErrorString&amp;, const String&amp; breakpointIdentifier) final;
+    void continueToLocation(ErrorString&amp;, const InspectorObject&amp; location) final;
+    void searchInContent(ErrorString&amp;, const String&amp; scriptID, const String&amp; query, const bool* optionalCaseSensitive, const bool* optionalIsRegex, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt;&amp;) final;
+    void getScriptSource(ErrorString&amp;, const String&amp; scriptID, String* scriptSource) final;
+    void getFunctionDetails(ErrorString&amp;, const String&amp; functionId, RefPtr&lt;Inspector::Protocol::Debugger::FunctionDetails&gt;&amp;) final;
+    void pause(ErrorString&amp;) final;
+    void resume(ErrorString&amp;) final;
+    void stepOver(ErrorString&amp;) final;
+    void stepInto(ErrorString&amp;) final;
+    void stepOut(ErrorString&amp;) final;
+    void setPauseOnExceptions(ErrorString&amp;, const String&amp; pauseState) final;
+    void evaluateOnCallFrame(ErrorString&amp;, const String&amp; callFrameId, const String&amp; expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&amp; result, Inspector::Protocol::OptOutput&lt;bool&gt;* wasThrown, Inspector::Protocol::OptOutput&lt;int&gt;* savedResultIndex) final;
</ins><span class="cx">     void setOverlayMessage(ErrorString&amp;, const String*) override;
</span><span class="cx"> 
</span><span class="cx">     bool isPaused();
</span><span class="lines">@@ -117,8 +117,8 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void enable();
</span><span class="cx">     virtual void disable(bool skipRecompile);
</span><del>-    void didPause(JSC::ExecState*, const Deprecated::ScriptValue&amp; callFrames, const Deprecated::ScriptValue&amp; exceptionOrCaughtValue) override;
-    void didContinue() override;
</del><ins>+    void didPause(JSC::ExecState&amp;, JSC::JSValue callFrames, JSC::JSValue exceptionOrCaughtValue) final;
+    void didContinue() final;
</ins><span class="cx"> 
</span><span class="cx">     virtual String sourceMapURLForScript(const Script&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -130,8 +130,8 @@
</span><span class="cx">     void didParseSource(JSC::SourceID, const Script&amp;) final;
</span><span class="cx">     void failedToParseSource(const String&amp; url, const String&amp; data, int firstLine, int errorLine, const String&amp; errorMessage) final;
</span><span class="cx"> 
</span><del>-    void breakpointActionSound(int breakpointActionIdentifier) override;
-    void breakpointActionProbe(JSC::ExecState*, const ScriptBreakpointAction&amp;, unsigned batchId, unsigned sampleId, const Deprecated::ScriptValue&amp; sample) final;
</del><ins>+    void breakpointActionSound(int breakpointActionIdentifier) final;
+    void breakpointActionProbe(JSC::ExecState&amp;, const ScriptBreakpointAction&amp;, unsigned batchId, unsigned sampleId, JSC::JSValue sample) final;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Inspector::Protocol::Debugger::Location&gt; resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID, const ScriptBreakpoint&amp;);
</span><span class="cx">     bool assertPaused(ErrorString&amp;);
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">     void clearExceptionValue();
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; buildBreakpointPauseReason(JSC::BreakpointID);
</span><del>-    RefPtr&lt;InspectorObject&gt; buildExceptionPauseReason(const Deprecated::ScriptValue&amp; exception, const InjectedScript&amp;);
</del><ins>+    RefPtr&lt;InspectorObject&gt; buildExceptionPauseReason(JSC::JSValue exception, const InjectedScript&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool breakpointActionsFromProtocol(ErrorString&amp;, RefPtr&lt;InspectorArray&gt;&amp; actions, BreakpointActions* result);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorHeapAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -205,14 +205,12 @@
</span><span class="cx"> 
</span><span class="cx">     // Function preview.
</span><span class="cx">     if (cell-&gt;inherits(JSFunction::info())) {
</span><del>-        Deprecated::ScriptValue functionScriptValue(m_environment.vm(), JSValue(cell));
-        injectedScript.functionDetails(errorString, functionScriptValue, &amp;functionDetails);
</del><ins>+        injectedScript.functionDetails(errorString, cell, &amp;functionDetails);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Object preview.
</span><del>-    Deprecated::ScriptValue cellScriptValue(m_environment.vm(), JSValue(cell));
-    objectPreview = injectedScript.previewValue(cellScriptValue);
</del><ins>+    objectPreview = injectedScript.previewValue(cell);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorHeapAgent::getRemoteObject(ErrorString&amp; errorString, int heapObjectId, const String* optionalObjectGroup, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&amp; result)
</span><span class="lines">@@ -246,9 +244,8 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Deprecated::ScriptValue cellScriptValue(m_environment.vm(), JSValue(cell));
</del><span class="cx">     String objectGroup = optionalObjectGroup ? *optionalObjectGroup : String();
</span><del>-    result = injectedScript.wrapObject(cellScriptValue, objectGroup, true);
</del><ins>+    result = injectedScript.wrapObject(cell, objectGroup, true);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Inspector::Protocol::Heap::GarbageCollection::Type protocolTypeForHeapOperation(HeapOperation operation)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsJSGlobalObjectDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -55,9 +55,9 @@
</span><span class="cx">     return injectedScriptManager().injectedScriptFor(exec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSGlobalObjectDebuggerAgent::breakpointActionLog(JSC::ExecState* exec, const String&amp; message)
</del><ins>+void JSGlobalObjectDebuggerAgent::breakpointActionLog(JSC::ExecState&amp; state, const String&amp; message)
</ins><span class="cx"> {
</span><del>-    m_consoleAgent-&gt;addMessageToConsole(std::make_unique&lt;ConsoleMessage&gt;(MessageSource::JS, MessageType::Log, MessageLevel::Log, message, createScriptCallStack(exec, ScriptCallStack::maxCallStackSizeToCapture), 0));
</del><ins>+    m_consoleAgent-&gt;addMessageToConsole(std::make_unique&lt;ConsoleMessage&gt;(MessageSource::JS, MessageType::Log, MessageLevel::Log, message, createScriptCallStack(&amp;state, ScriptCallStack::maxCallStackSizeToCapture), 0));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsJSGlobalObjectDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -42,12 +42,12 @@
</span><span class="cx"> 
</span><span class="cx">     InjectedScript injectedScriptForEval(ErrorString&amp;, const int* executionContextId) override;
</span><span class="cx"> 
</span><del>-    void breakpointActionLog(JSC::ExecState*, const String&amp;) override;
</del><ins>+    void breakpointActionLog(JSC::ExecState&amp;, const String&amp;) final;
</ins><span class="cx"> 
</span><span class="cx">     // NOTE: JavaScript inspector does not yet need to mute a console because no messages
</span><span class="cx">     // are sent to the console outside of the API boundary or console object.
</span><del>-    void muteConsole() override { }
-    void unmuteConsole() override { }
</del><ins>+    void muteConsole() final { }
+    void unmuteConsole() final { }
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     InspectorConsoleAgent* m_consoleAgent { nullptr };
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/ChangeLog        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -1,3 +1,74 @@
</span><ins>+2016-04-15  Darin Adler  &lt;darin@apple.com&gt;
+
+        Reduce use of Deprecated::ScriptXXX classes
+        https://bugs.webkit.org/show_bug.cgi?id=156632
+
+        Reviewed by Alex Christensen.
+
+        * Modules/mediastream/SDPProcessor.cpp: Removed unneeded include.
+
+        * bindings/js/JSCommandLineAPIHostCustom.cpp:
+        (WebCore::JSCommandLineAPIHost::inspectedObject): Use JSValue.
+        * bindings/js/JSCustomEventCustom.cpp:
+        (WebCore::JSCustomEvent::detail): Ditto.
+        * bindings/js/ScriptController.cpp:
+        (WebCore::ScriptController::evaluateInWorld): Ditto.
+        (WebCore::ScriptController::evaluate): Ditto.
+        (WebCore::ScriptController::executeScriptInWorld): Ditto.
+        (WebCore::ScriptController::executeScript): Ditto.
+        (WebCore::ScriptController::executeIfJavaScriptURL): Ditto.
+        * bindings/js/ScriptController.h: Ditto.
+
+        * bindings/js/ScriptGlobalObject.cpp: Removed unused overload of set,
+        and unused remove and folded handleException function into its one call site.
+        (WebCore::ScriptGlobalObject::set): Take references instead of pointers.
+        (WebCore::ScriptGlobalObject::get): Use JSObject instead of Deprecated::ScriptObject.
+        * bindings/js/ScriptGlobalObject.h: Updated for the above.
+
+        * dom/CustomEvent.cpp:
+        (WebCore::CustomEvent::initCustomEvent): Take JSValue and ExecState instead of
+        Deprecated::ScriptValue.
+        (WebCore::CustomEvent::trySerializeDetail): Take a reference instead of a pointer.
+        Also removed an unneeded null check.
+        * dom/CustomEvent.h: Use JSValue.
+        * dom/CustomEvent.idl: Updated for the above.
+
+        * html/HTMLMediaElement.cpp: Remove unneeded include.
+
+        * inspector/CommandLineAPIHost.cpp:
+        (WebCore::CommandLineAPIHost::InspectableObject::get): Take reference instead of
+        pointer and return JSValue.
+        * inspector/CommandLineAPIHost.h: Updated for the above.
+
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::InspectorDOMAgent::setDocument): Use &quot;document&quot; instead of &quot;doc&quot;.
+        (WebCore::InspectorDOMAgent::setAttributesAsText): Omit redundant class name.
+        (WebCore::InspectorDOMAgent::focusNode): Ditto. Pass reference instead of pointer.
+        (WebCore::InspectorDOMAgent::undo): Ditto.
+        (WebCore::InspectorDOMAgent::redo): Ditto.
+        (WebCore::InspectorDOMAgent::nodeForObjectId): Stop using Deprecated::ScriptValue.
+        (WebCore::InspectorDOMAgent::resolveNode): Ditto.
+        (WebCore::InspectorDOMAgent::scriptValueAsNode): Removed unneeded isObject check,
+        which is already done by JSNode::toWrapped. Use JSValue.
+        (WebCore::InspectorDOMAgent::nodeAsScriptValue): Use JSValue.
+        * inspector/InspectorDOMAgent.h: Updated for the above.
+
+        * inspector/InspectorFrontendClientLocal.cpp:
+        (WebCore::InspectorFrontendClientLocal::windowObjectCleared): Use references instead of
+        pointers and removed unneeded local.
+        (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean): More of the same.
+        * inspector/InspectorFrontendHost.cpp:
+        (WebCore::InspectorFrontendHost::showContextMenu): Ditto.
+
+        * inspector/InspectorTimelineAgent.cpp:
+        (WebCore::InspectorTimelineAgent::breakpointActionProbe): Updated to take
+        reference instead of pointer and JSValue instead of ScriptValue.
+        * inspector/InspectorTimelineAgent.h: Ditto.
+        * inspector/PageConsoleAgent.cpp: Ditto.
+        * inspector/PageDebuggerAgent.cpp:
+        (WebCore::PageDebuggerAgent::breakpointActionLog): Ditto.
+        * inspector/PageDebuggerAgent.h: Ditto.
+
</ins><span class="cx"> 2016-04-15  Daniel Bates  &lt;dabates@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         CSP: Ignore paths in CSP matching after redirects
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamSDPProcessorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/SDPProcessor.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/SDPProcessor.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/Modules/mediastream/SDPProcessor.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;SDPProcessorScriptResource.h&quot;
</span><span class="cx"> #include &quot;ScriptController.h&quot;
</span><del>-#include &quot;ScriptGlobalObject.h&quot;
</del><span class="cx"> #include &quot;ScriptSourceCode.h&quot;
</span><span class="cx"> #include &quot;inspector/InspectorValues.h&quot;
</span><span class="cx"> #include &lt;bindings/ScriptObject.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCommandLineAPIHostCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -50,7 +50,6 @@
</span><span class="cx"> #include &lt;runtime/JSLock.h&gt;
</span><span class="cx"> #include &lt;runtime/ObjectConstructor.h&gt;
</span><span class="cx"> 
</span><del>-
</del><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -62,11 +61,8 @@
</span><span class="cx">         return jsUndefined();
</span><span class="cx"> 
</span><span class="cx">     JSLockHolder lock(&amp;state);
</span><del>-    Deprecated::ScriptValue scriptValue = object-&gt;get(&amp;state);
-    if (scriptValue.hasNoValue())
-        return jsUndefined();
-
-    return scriptValue.jsValue();
</del><ins>+    auto scriptValue = object-&gt;get(state);
+    return scriptValue ? scriptValue : jsUndefined();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static JSArray* getJSListenerFunctions(ExecState&amp; state, Document* document, const EventListenerInfo&amp; listenerInfo)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCustomEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCustomEventCustom.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCustomEventCustom.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/bindings/js/JSCustomEventCustom.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -38,24 +38,22 @@
</span><span class="cx">     
</span><span class="cx"> JSValue JSCustomEvent::detail(ExecState&amp; state) const
</span><span class="cx"> {
</span><del>-    CustomEvent&amp; event = wrapped();
-    
-    if (event.detail().hasNoValue())
</del><ins>+    auto&amp; event = wrapped();
+
+    auto detail = event.detail();
+
+    if (!detail)
</ins><span class="cx">         return jsNull();
</span><span class="cx"> 
</span><del>-    JSValue detail = event.detail().jsValue();
-    
</del><span class="cx">     if (detail.isObject() &amp;&amp; &amp;worldForDOMObject(detail.getObject()) != &amp;currentWorld(&amp;state)) {
</span><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&lt;SerializedScriptValue&gt; serializedDetail = event.trySerializeDetail(&amp;state);
-        
</del><ins>+        auto serializedDetail = event.trySerializeDetail(state);
</ins><span class="cx">         if (!serializedDetail)
</span><span class="cx">             return jsNull();
</span><del>-        
</del><span class="cx">         return serializedDetail-&gt;deserialize(&amp;state, globalObject(), nullptr);
</span><span class="cx">     }
</span><del>-    
</del><ins>+
</ins><span class="cx">     return detail;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScriptControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/ScriptController.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScriptController.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/bindings/js/ScriptController.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     return *windowShell.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue ScriptController::evaluateInWorld(const ScriptSourceCode&amp; sourceCode, DOMWrapperWorld&amp; world, ExceptionDetails* exceptionDetails)
</del><ins>+JSValue ScriptController::evaluateInWorld(const ScriptSourceCode&amp; sourceCode, DOMWrapperWorld&amp; world, ExceptionDetails* exceptionDetails)
</ins><span class="cx"> {
</span><span class="cx">     JSLockHolder lock(world.vm());
</span><span class="cx"> 
</span><span class="lines">@@ -168,14 +168,14 @@
</span><span class="cx">     if (evaluationException) {
</span><span class="cx">         reportException(exec, evaluationException, sourceCode.cachedScript(), exceptionDetails);
</span><span class="cx">         m_sourceURL = savedSourceURL;
</span><del>-        return Deprecated::ScriptValue();
</del><ins>+        return { };
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_sourceURL = savedSourceURL;
</span><del>-    return Deprecated::ScriptValue(exec-&gt;vm(), returnValue);
</del><ins>+    return returnValue;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue ScriptController::evaluate(const ScriptSourceCode&amp; sourceCode, ExceptionDetails* exceptionDetails)
</del><ins>+JSValue ScriptController::evaluate(const ScriptSourceCode&amp; sourceCode, ExceptionDetails* exceptionDetails)
</ins><span class="cx"> {
</span><span class="cx">     return evaluateInWorld(sourceCode, mainThreadNormalWorld(), exceptionDetails);
</span><span class="cx"> }
</span><span class="lines">@@ -503,13 +503,13 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue ScriptController::executeScriptInWorld(DOMWrapperWorld&amp; world, const String&amp; script, bool forceUserGesture)
</del><ins>+JSValue ScriptController::executeScriptInWorld(DOMWrapperWorld&amp; world, const String&amp; script, bool forceUserGesture)
</ins><span class="cx"> {
</span><span class="cx">     UserGestureIndicator gestureIndicator(forceUserGesture ? DefinitelyProcessingUserGesture : PossiblyProcessingUserGesture);
</span><span class="cx">     ScriptSourceCode sourceCode(script, m_frame.document()-&gt;url());
</span><span class="cx"> 
</span><span class="cx">     if (!canExecuteScripts(AboutToExecuteScript) || isPaused())
</span><del>-        return Deprecated::ScriptValue();
</del><ins>+        return { };
</ins><span class="cx"> 
</span><span class="cx">     return evaluateInWorld(sourceCode, world);
</span><span class="cx"> }
</span><span class="lines">@@ -529,16 +529,16 @@
</span><span class="cx">     return m_frame.loader().client().allowScript(m_frame.settings().isScriptEnabled());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue ScriptController::executeScript(const String&amp; script, bool forceUserGesture, ExceptionDetails* exceptionDetails)
</del><ins>+JSValue ScriptController::executeScript(const String&amp; script, bool forceUserGesture, ExceptionDetails* exceptionDetails)
</ins><span class="cx"> {
</span><span class="cx">     UserGestureIndicator gestureIndicator(forceUserGesture ? DefinitelyProcessingUserGesture : PossiblyProcessingUserGesture);
</span><span class="cx">     return executeScript(ScriptSourceCode(script, m_frame.document()-&gt;url()), exceptionDetails);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue ScriptController::executeScript(const ScriptSourceCode&amp; sourceCode, ExceptionDetails* exceptionDetails)
</del><ins>+JSValue ScriptController::executeScript(const ScriptSourceCode&amp; sourceCode, ExceptionDetails* exceptionDetails)
</ins><span class="cx"> {
</span><span class="cx">     if (!canExecuteScripts(AboutToExecuteScript) || isPaused())
</span><del>-        return Deprecated::ScriptValue();
</del><ins>+        return { }; // FIXME: Would jsNull be better?
</ins><span class="cx"> 
</span><span class="cx">     Ref&lt;Frame&gt; protect(m_frame); // Script execution can destroy the frame, and thus the ScriptController.
</span><span class="cx"> 
</span><span class="lines">@@ -561,7 +561,7 @@
</span><span class="cx">     const int javascriptSchemeLength = sizeof(&quot;javascript:&quot;) - 1;
</span><span class="cx"> 
</span><span class="cx">     String decodedURL = decodeURLEscapeSequences(url.string());
</span><del>-    Deprecated::ScriptValue result = executeScript(decodedURL.substring(javascriptSchemeLength));
</del><ins>+    auto result = executeScript(decodedURL.substring(javascriptSchemeLength));
</ins><span class="cx"> 
</span><span class="cx">     // If executing script caused this frame to be removed from the page, we
</span><span class="cx">     // don't want to try to replace its document!
</span><span class="lines">@@ -569,9 +569,7 @@
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     String scriptResult;
</span><del>-    JSDOMWindowShell* shell = windowShell(mainThreadNormalWorld());
-    JSC::ExecState* exec = shell-&gt;window()-&gt;globalExec();
-    if (!result.getString(exec, scriptResult))
</del><ins>+    if (!result || !result.getString(windowShell(mainThreadNormalWorld())-&gt;window()-&gt;globalExec(), scriptResult))
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     // FIXME: We should always replace the document, but doing so
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScriptControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/ScriptController.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScriptController.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/bindings/js/ScriptController.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -101,9 +101,9 @@
</span><span class="cx"> 
</span><span class="cx">     static void getAllWorlds(Vector&lt;Ref&lt;DOMWrapperWorld&gt;&gt;&amp;);
</span><span class="cx"> 
</span><del>-    Deprecated::ScriptValue executeScript(const ScriptSourceCode&amp;, ExceptionDetails* = nullptr);
-    WEBCORE_EXPORT Deprecated::ScriptValue executeScript(const String&amp; script, bool forceUserGesture = false, ExceptionDetails* = nullptr);
-    WEBCORE_EXPORT Deprecated::ScriptValue executeScriptInWorld(DOMWrapperWorld&amp;, const String&amp; script, bool forceUserGesture = false);
</del><ins>+    JSC::JSValue executeScript(const ScriptSourceCode&amp;, ExceptionDetails* = nullptr);
+    WEBCORE_EXPORT JSC::JSValue executeScript(const String&amp; script, bool forceUserGesture = false, ExceptionDetails* = nullptr);
+    WEBCORE_EXPORT JSC::JSValue executeScriptInWorld(DOMWrapperWorld&amp;, const String&amp; script, bool forceUserGesture = false);
</ins><span class="cx"> 
</span><span class="cx">     // Returns true if argument is a JavaScript URL.
</span><span class="cx">     bool executeIfJavaScriptURL(const URL&amp;, ShouldReplaceDocumentIfJavaScriptURL shouldReplaceDocumentIfJavaScriptURL = ReplaceDocumentIfJavaScriptURL);
</span><span class="lines">@@ -112,8 +112,8 @@
</span><span class="cx">     // Darwin is an exception to this rule: it is OK to call this function from any thread, even reentrantly.
</span><span class="cx">     static void initializeThreading();
</span><span class="cx"> 
</span><del>-    Deprecated::ScriptValue evaluate(const ScriptSourceCode&amp;, ExceptionDetails* = nullptr);
-    Deprecated::ScriptValue evaluateInWorld(const ScriptSourceCode&amp;, DOMWrapperWorld&amp;, ExceptionDetails* = nullptr);
</del><ins>+    JSC::JSValue evaluate(const ScriptSourceCode&amp;, ExceptionDetails* = nullptr);
+    JSC::JSValue evaluateInWorld(const ScriptSourceCode&amp;, DOMWrapperWorld&amp;, ExceptionDetails* = nullptr);
</ins><span class="cx"> 
</span><span class="cx">     WTF::TextPosition eventHandlerPosition() const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScriptGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/ScriptGlobalObject.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScriptGlobalObject.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/bindings/js/ScriptGlobalObject.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -33,57 +33,34 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSDOMBinding.h&quot;
</span><span class="cx"> #include &quot;JSInspectorFrontendHost.h&quot;
</span><del>-#include &lt;bindings/ScriptObject.h&gt;
</del><span class="cx"> #include &lt;runtime/IdentifierInlines.h&gt;
</span><del>-#include &lt;runtime/JSLock.h&gt;
</del><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static bool handleException(JSC::ExecState* scriptState)
</del><ins>+bool ScriptGlobalObject::set(ExecState&amp; scriptState, const char* name, InspectorFrontendHost&amp; value)
</ins><span class="cx"> {
</span><del>-    if (!scriptState-&gt;hadException())
-        return true;
-
-    reportException(scriptState, scriptState-&gt;exception());
-    return false;
</del><ins>+    auto&amp; vm = scriptState.vm();
+    JSLockHolder lock(vm);
+    auto&amp; globalObject = *jsCast&lt;JSDOMGlobalObject*&gt;(scriptState.lexicalGlobalObject());
+    globalObject.putDirect(vm, Identifier::fromString(&amp;vm, name), toJS(&amp;scriptState, &amp;globalObject, value));
+    if (scriptState.hadException()) {
+        reportException(&amp;scriptState, scriptState.exception());
+        return false;
+    }
+    return true;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptGlobalObject::set(JSC::ExecState* scriptState, const char* name, const Deprecated::ScriptObject&amp; value)
</del><ins>+bool ScriptGlobalObject::get(ExecState&amp; scriptState, const char* name, JSObject*&amp; object)
</ins><span class="cx"> {
</span><del>-    JSLockHolder lock(scriptState);
-    scriptState-&gt;lexicalGlobalObject()-&gt;putDirect(scriptState-&gt;vm(), Identifier::fromString(scriptState, name), value.jsObject());
-    return handleException(scriptState);
-}
-
-bool ScriptGlobalObject::set(JSC::ExecState* scriptState, const char* name, InspectorFrontendHost* value)
-{
-    JSLockHolder lock(scriptState);
-    JSDOMGlobalObject* globalObject = jsCast&lt;JSDOMGlobalObject*&gt;(scriptState-&gt;lexicalGlobalObject());
-    globalObject-&gt;putDirect(scriptState-&gt;vm(), Identifier::fromString(scriptState, name), toJS(scriptState, globalObject, value));
-    return handleException(scriptState);
-}
-
-bool ScriptGlobalObject::get(JSC::ExecState* scriptState, const char* name, Deprecated::ScriptObject&amp; value)
-{
-    JSLockHolder lock(scriptState);
-    JSValue jsValue = scriptState-&gt;lexicalGlobalObject()-&gt;get(scriptState, Identifier::fromString(scriptState, name));
-    if (!jsValue)
</del><ins>+    auto&amp; vm = scriptState.vm();
+    JSLockHolder lock(vm);
+    JSValue value = scriptState.lexicalGlobalObject()-&gt;get(&amp;scriptState, Identifier::fromString(&amp;vm, name));
+    if (!value || !value.isObject())
</ins><span class="cx">         return false;
</span><del>-
-    if (!jsValue.isObject())
-        return false;
-
-    value = Deprecated::ScriptObject(scriptState, asObject(jsValue));
</del><ins>+    object = asObject(value);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScriptGlobalObject::remove(JSC::ExecState* scriptState, const char* name)
-{
-    JSLockHolder lock(scriptState);
-    scriptState-&gt;lexicalGlobalObject()-&gt;methodTable()-&gt;deleteProperty(scriptState-&gt;lexicalGlobalObject(), scriptState, Identifier::fromString(scriptState, name));
-    return handleException(scriptState);
-}
-
</del><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScriptGlobalObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/ScriptGlobalObject.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScriptGlobalObject.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/bindings/js/ScriptGlobalObject.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -31,12 +31,9 @@
</span><span class="cx"> #ifndef ScriptGlobalObject_h
</span><span class="cx"> #define ScriptGlobalObject_h
</span><span class="cx"> 
</span><del>-namespace Deprecated {
-class ScriptObject;
-}
-
</del><span class="cx"> namespace JSC {
</span><span class="cx"> class ExecState;
</span><ins>+class JSObject;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -45,13 +42,11 @@
</span><span class="cx"> 
</span><span class="cx"> class ScriptGlobalObject {
</span><span class="cx"> public:
</span><del>-    static bool set(JSC::ExecState*, const char* name, const Deprecated::ScriptObject&amp;);
-    WEBCORE_EXPORT static bool set(JSC::ExecState*, const char* name, InspectorFrontendHost*);
</del><ins>+    WEBCORE_EXPORT static bool set(JSC::ExecState&amp;, const char* name, InspectorFrontendHost&amp;);
+    static bool get(JSC::ExecState&amp;, const char* name, JSC::JSObject*&amp;);
</ins><span class="cx"> 
</span><del>-    static bool get(JSC::ExecState*, const char* name, Deprecated::ScriptObject&amp;);
-    static bool remove(JSC::ExecState*, const char* name);
</del><span class="cx"> private:
</span><del>-    ScriptGlobalObject() { }
</del><ins>+    ScriptGlobalObject() = delete;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoredomCustomEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CustomEvent.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CustomEvent.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/dom/CustomEvent.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -45,25 +45,24 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CustomEvent::initCustomEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, const Deprecated::ScriptValue&amp; detail)
</del><ins>+void CustomEvent::initCustomEvent(JSC::ExecState&amp; state, const AtomicString&amp; type, bool canBubble, bool cancelable, JSC::JSValue detail)
</ins><span class="cx"> {
</span><span class="cx">     if (dispatched())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     initEvent(type, canBubble, cancelable);
</span><span class="cx"> 
</span><del>-    m_detail = detail;
</del><ins>+    m_detail = { state.vm(), detail };
</ins><span class="cx">     m_serializedDetail = nullptr;
</span><span class="cx">     m_triedToSerialize = false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;SerializedScriptValue&gt; CustomEvent::trySerializeDetail(JSC::ExecState* exec)
</del><ins>+RefPtr&lt;SerializedScriptValue&gt; CustomEvent::trySerializeDetail(JSC::ExecState&amp; state)
</ins><span class="cx"> {
</span><del>-    if (!m_serializedDetail &amp;&amp; !m_triedToSerialize) {
-        m_serializedDetail = SerializedScriptValue::create(exec, m_detail.jsValue(), nullptr, nullptr, NonThrowing);
</del><ins>+    if (!m_triedToSerialize) {
+        m_serializedDetail = SerializedScriptValue::create(&amp;state, m_detail, nullptr, nullptr, NonThrowing);
</ins><span class="cx">         m_triedToSerialize = true;
</span><span class="cx">     }
</span><del>-    
</del><span class="cx">     return m_serializedDetail;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomCustomEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CustomEvent.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CustomEvent.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/dom/CustomEvent.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -50,19 +50,20 @@
</span><span class="cx">         return adoptRef(*new CustomEvent(type, initializer));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void initCustomEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, const Deprecated::ScriptValue&amp; detail);
</del><ins>+    void initCustomEvent(JSC::ExecState&amp;, const AtomicString&amp; type, bool canBubble, bool cancelable, JSC::JSValue detail);
</ins><span class="cx"> 
</span><span class="cx">     EventInterface eventInterface() const override;
</span><span class="cx"> 
</span><del>-    const Deprecated::ScriptValue&amp; detail() const { return m_detail; }
</del><ins>+    JSC::JSValue detail() const { return m_detail.jsValue(); }
</ins><span class="cx">     
</span><del>-    RefPtr&lt;SerializedScriptValue&gt; trySerializeDetail(JSC::ExecState*);
</del><ins>+    RefPtr&lt;SerializedScriptValue&gt; trySerializeDetail(JSC::ExecState&amp;);
+    void visitAdditionalChildren(JSC::SlotVisitor&amp;);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     CustomEvent();
</span><span class="cx">     CustomEvent(const AtomicString&amp; type, const CustomEventInit&amp; initializer);
</span><span class="cx"> 
</span><del>-    Deprecated::ScriptValue m_detail;
</del><ins>+    Deprecated::ScriptValue m_detail; // FIXME: Why is it OK to use a strong reference here? What prevents a reference cycle?
</ins><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; m_serializedDetail;
</span><span class="cx">     bool m_triedToSerialize { false };
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomCustomEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CustomEvent.idl (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CustomEvent.idl        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/dom/CustomEvent.idl        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -29,9 +29,5 @@
</span><span class="cx"> ] interface CustomEvent : Event {
</span><span class="cx">     [InitializedByEventConstructor, CustomGetter] readonly attribute any detail;
</span><span class="cx"> 
</span><del>-    void initCustomEvent([Default=Undefined] optional DOMString typeArg,
-                         [Default=Undefined] optional boolean canBubbleArg,
-                         [Default=Undefined] optional boolean cancelableArg,
-                         [Default=Undefined] optional any detailArg);
</del><ins>+    [CallWith=ScriptState] void initCustomEvent([Default=Undefined] optional DOMString typeArg, [Default=Undefined] optional boolean canBubbleArg, [Default=Undefined] optional boolean cancelableArg, [Default=Undefined] optional any detailArg);
</ins><span class="cx"> };
</span><del>-
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -148,7 +148,6 @@
</span><span class="cx"> #if ENABLE(MEDIA_CONTROLS_SCRIPT)
</span><span class="cx"> #include &quot;JSMediaControlsHost.h&quot;
</span><span class="cx"> #include &quot;MediaControlsHost.h&quot;
</span><del>-#include &quot;ScriptGlobalObject.h&quot;
</del><span class="cx"> #include &lt;bindings/ScriptObject.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorCommandLineAPIHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -107,9 +107,9 @@
</span><span class="cx">     Pasteboard::createForCopyAndPaste()-&gt;writePlainText(text, Pasteboard::CannotSmartReplace);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue CommandLineAPIHost::InspectableObject::get(JSC::ExecState*)
</del><ins>+JSC::JSValue CommandLineAPIHost::InspectableObject::get(JSC::ExecState&amp;)
</ins><span class="cx"> {
</span><del>-    return Deprecated::ScriptValue();
</del><ins>+    return { };
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CommandLineAPIHost::addInspectedObject(std::unique_ptr&lt;CommandLineAPIHost::InspectableObject&gt; object)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorCommandLineAPIHosth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/CommandLineAPIHost.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CommandLineAPIHost.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/CommandLineAPIHost.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -30,16 +30,11 @@
</span><span class="cx"> #ifndef CommandLineAPIHost_h
</span><span class="cx"> #define CommandLineAPIHost_h
</span><span class="cx"> 
</span><del>-#include &quot;ScriptState.h&quot;
</del><span class="cx"> #include &lt;inspector/PerGlobalObjectWrapperWorld.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><del>-namespace Deprecated {
-class ScriptValue;
-}
-
</del><span class="cx"> namespace JSC {
</span><span class="cx"> class JSValue;
</span><span class="cx"> }
</span><span class="lines">@@ -90,7 +85,7 @@
</span><span class="cx">     class InspectableObject {
</span><span class="cx">         WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">     public:
</span><del>-        virtual Deprecated::ScriptValue get(JSC::ExecState*);
</del><ins>+        virtual JSC::JSValue get(JSC::ExecState&amp;);
</ins><span class="cx">         virtual ~InspectableObject() { }
</span><span class="cx">     };
</span><span class="cx">     void addInspectedObject(std::unique_ptr&lt;InspectableObject&gt;);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -277,20 +277,20 @@
</span><span class="cx">     m_domListener = listener;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::setDocument(Document* doc)
</del><ins>+void InspectorDOMAgent::setDocument(Document* document)
</ins><span class="cx"> {
</span><del>-    if (doc == m_document.get())
</del><ins>+    if (document == m_document.get())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     reset();
</span><span class="cx"> 
</span><del>-    m_document = doc;
</del><ins>+    m_document = document;
</ins><span class="cx"> 
</span><span class="cx">     if (!m_documentRequested)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    // Immediately communicate 0 document or document that has finished loading.
-    if (!doc || !doc-&gt;parsing())
</del><ins>+    // Immediately communicate null document or document that has finished loading.
+    if (!document || !document-&gt;parsing())
</ins><span class="cx">         m_frontendDispatcher-&gt;documentUpdated();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -663,7 +663,7 @@
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     parsedElement.get()-&gt;setInnerHTML(&quot;&lt;span &quot; + text + &quot;&gt;&lt;/span&gt;&quot;, ec);
</span><span class="cx">     if (ec) {
</span><del>-        errorString = InspectorDOMAgent::toErrorString(ec);
</del><ins>+        errorString = toErrorString(ec);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -998,7 +998,7 @@
</span><span class="cx">     if (injectedScript.hasNoValue())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    injectedScript.inspectObject(InspectorDOMAgent::nodeAsScriptValue(scriptState, node.get()));
</del><ins>+    injectedScript.inspectObject(nodeAsScriptValue(*scriptState, node.get()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMAgent::mouseDidMoveOverElement(const HitTestResult&amp; result, unsigned)
</span><span class="lines">@@ -1190,14 +1190,14 @@
</span><span class="cx"> {
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     m_history-&gt;undo(ec);
</span><del>-    errorString = InspectorDOMAgent::toErrorString(ec);
</del><ins>+    errorString = toErrorString(ec);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMAgent::redo(ErrorString&amp; errorString)
</span><span class="cx"> {
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     m_history-&gt;redo(ec);
</span><del>-    errorString = InspectorDOMAgent::toErrorString(ec);
</del><ins>+    errorString = toErrorString(ec);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMAgent::markUndoableState(ErrorString&amp;)
</span><span class="lines">@@ -2111,8 +2111,7 @@
</span><span class="cx">     if (injectedScript.hasNoValue())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    Deprecated::ScriptValue value = injectedScript.findObjectById(objectId);
-    return InspectorDOMAgent::scriptValueAsNode(value);
</del><ins>+    return scriptValueAsNode(injectedScript.findObjectById(objectId));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMAgent::pushNodeByPathToFrontend(ErrorString&amp; errorString, const String&amp; path, int* nodeId)
</span><span class="lines">@@ -2151,24 +2150,23 @@
</span><span class="cx">     if (injectedScript.hasNoValue())
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    return injectedScript.wrapObject(InspectorDOMAgent::nodeAsScriptValue(scriptState, node), objectGroup);
</del><ins>+    return injectedScript.wrapObject(nodeAsScriptValue(*scriptState, node), objectGroup);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Node* InspectorDOMAgent::scriptValueAsNode(Deprecated::ScriptValue value)
</del><ins>+Node* InspectorDOMAgent::scriptValueAsNode(JSC::JSValue value)
</ins><span class="cx"> {
</span><del>-    if (!value.isObject() || value.isNull())
</del><ins>+    if (!value)
</ins><span class="cx">         return nullptr;
</span><del>-
-    return JSNode::toWrapped(value.jsValue());
</del><ins>+    return JSNode::toWrapped(value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptValue InspectorDOMAgent::nodeAsScriptValue(JSC::ExecState* state, Node* node)
</del><ins>+JSC::JSValue InspectorDOMAgent::nodeAsScriptValue(JSC::ExecState&amp; state, Node* node)
</ins><span class="cx"> {
</span><del>-    if (!shouldAllowAccessToNode(state, node))
-        return Deprecated::ScriptValue(state-&gt;vm(), JSC::jsNull());
</del><ins>+    if (!shouldAllowAccessToNode(&amp;state, node))
+        return JSC::jsNull();
</ins><span class="cx"> 
</span><del>-    JSC::JSLockHolder lock(state);
-    return Deprecated::ScriptValue(state-&gt;vm(), toJS(state, deprecatedGlobalObjectForPrototype(state), node));
</del><ins>+    JSC::JSLockHolder lock(&amp;state);
+    return toJS(&amp;state, deprecatedGlobalObjectForPrototype(&amp;state), node);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -44,14 +44,14 @@
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> #include &lt;wtf/text/AtomicString.h&gt;
</span><span class="cx"> 
</span><del>-namespace Deprecated {
-class ScriptValue;
-}
-
</del><span class="cx"> namespace Inspector {
</span><span class="cx"> class InjectedScriptManager;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+namespace JSC {
+class JSValue;
+}
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx">     
</span><span class="cx"> class AccessibilityObject;
</span><span class="lines">@@ -206,8 +206,8 @@
</span><span class="cx">     Element* assertElement(ErrorString&amp;, int nodeId);
</span><span class="cx">     Document* assertDocument(ErrorString&amp;, int nodeId);
</span><span class="cx"> 
</span><del>-    static Node* scriptValueAsNode(Deprecated::ScriptValue);
-    static Deprecated::ScriptValue nodeAsScriptValue(JSC::ExecState*, Node*);
</del><ins>+    static Node* scriptValueAsNode(JSC::JSValue);
+    static JSC::JSValue nodeAsScriptValue(JSC::ExecState&amp;, Node*);
</ins><span class="cx"> 
</span><span class="cx">     // Methods called from other agents.
</span><span class="cx">     InspectorPageAgent* pageAgent() { return m_pageAgent; }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorFrontendClientLocalcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -152,9 +152,8 @@
</span><span class="cx">     if (m_frontendHost)
</span><span class="cx">         m_frontendHost-&gt;disconnectClient();
</span><span class="cx">     
</span><del>-    JSC::ExecState* frontendExecState = execStateFromPage(debuggerWorld(), m_frontendPage);
</del><span class="cx">     m_frontendHost = InspectorFrontendHost::create(this, m_frontendPage);
</span><del>-    ScriptGlobalObject::set(frontendExecState, &quot;InspectorFrontendHost&quot;, m_frontendHost.get());
</del><ins>+    ScriptGlobalObject::set(*execStateFromPage(debuggerWorld(), m_frontendPage), &quot;InspectorFrontendHost&quot;, *m_frontendHost);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorFrontendClientLocal::frontendLoaded()
</span><span class="lines">@@ -364,8 +363,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool InspectorFrontendClientLocal::evaluateAsBoolean(const String&amp; expression)
</span><span class="cx"> {
</span><del>-    Deprecated::ScriptValue value = m_frontendPage-&gt;mainFrame().script().executeScript(expression);
-    return value.toString(mainWorldExecState(&amp;m_frontendPage-&gt;mainFrame())) == &quot;true&quot;;
</del><ins>+    auto&amp; state = *mainWorldExecState(&amp;m_frontendPage-&gt;mainFrame());
+    return m_frontendPage-&gt;mainFrame().script().executeScript(expression).toWTFString(&amp;state) == &quot;true&quot;;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorFrontendClientLocal::evaluateOnLoad(const String&amp; expression)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorFrontendHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -317,22 +317,24 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CONTEXT_MENUS)
</span><ins>+
</ins><span class="cx"> void InspectorFrontendHost::showContextMenu(Event* event, const Vector&lt;ContextMenuItem&gt;&amp; items)
</span><span class="cx"> {
</span><span class="cx">     if (!event)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     ASSERT(m_frontendPage);
</span><del>-    JSC::ExecState* frontendExecState = execStateFromPage(debuggerWorld(), m_frontendPage);
-    Deprecated::ScriptObject frontendApiObject;
-    if (!ScriptGlobalObject::get(frontendExecState, &quot;InspectorFrontendAPI&quot;, frontendApiObject)) {
</del><ins>+    auto&amp; state = *execStateFromPage(debuggerWorld(), m_frontendPage);
+    JSC::JSObject* frontendApiObject;
+    if (!ScriptGlobalObject::get(state, &quot;InspectorFrontendAPI&quot;, frontendApiObject)) {
</ins><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    RefPtr&lt;FrontendMenuProvider&gt; menuProvider = FrontendMenuProvider::create(this, frontendApiObject, items);
-    m_frontendPage-&gt;contextMenuController().showContextMenu(event, menuProvider);
-    m_menuProvider = menuProvider.get();
</del><ins>+    auto menuProvider = FrontendMenuProvider::create(this, { &amp;state, frontendApiObject }, items);
+    m_frontendPage-&gt;contextMenuController().showContextMenu(event, menuProvider.ptr());
+    m_menuProvider = menuProvider.ptr();
</ins><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> void InspectorFrontendHost::dispatchEventAsContextMenuEvent(Event* event)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorTimelineAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -411,12 +411,9 @@
</span><span class="cx"> 
</span><span class="cx"> // ScriptDebugListener
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::breakpointActionProbe(JSC::ExecState* exec, const Inspector::ScriptBreakpointAction&amp; action, unsigned batchId, unsigned sampleId, const Deprecated::ScriptValue&amp;)
</del><ins>+void InspectorTimelineAgent::breakpointActionProbe(JSC::ExecState&amp; state, const Inspector::ScriptBreakpointAction&amp; action, unsigned /*batchId*/, unsigned sampleId, JSC::JSValue)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(batchId);
-    ASSERT(exec);
-
-    appendRecord(TimelineRecordFactory::createProbeSampleData(action, sampleId), TimelineRecordType::ProbeSample, false, frameFromExecState(exec));
</del><ins>+    appendRecord(TimelineRecordFactory::createProbeSampleData(action, sampleId), TimelineRecordType::ProbeSample, false, frameFromExecState(&amp;state));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Inspector::Protocol::Timeline::EventType toProtocol(TimelineRecordType type)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorTimelineAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -95,11 +95,11 @@
</span><span class="cx">     InspectorTimelineAgent(WebAgentContext&amp;, InspectorPageAgent*);
</span><span class="cx">     virtual ~InspectorTimelineAgent();
</span><span class="cx"> 
</span><del>-    void didCreateFrontendAndBackend(Inspector::FrontendRouter*, Inspector::BackendDispatcher*) override;
-    void willDestroyFrontendAndBackend(Inspector::DisconnectReason) override;
</del><ins>+    void didCreateFrontendAndBackend(Inspector::FrontendRouter*, Inspector::BackendDispatcher*) final;
+    void willDestroyFrontendAndBackend(Inspector::DisconnectReason) final;
</ins><span class="cx"> 
</span><del>-    void start(ErrorString&amp;, const int* maxCallStackDepth = nullptr) override;
-    void stop(ErrorString&amp;) override;
</del><ins>+    void start(ErrorString&amp;, const int* maxCallStackDepth = nullptr) final;
+    void stop(ErrorString&amp;) final;
</ins><span class="cx"> 
</span><span class="cx">     int id() const { return m_id; }
</span><span class="cx"> 
</span><span class="lines">@@ -138,18 +138,17 @@
</span><span class="cx">     void time(Frame&amp;, const String&amp;);
</span><span class="cx">     void timeEnd(Frame&amp;, const String&amp;);
</span><span class="cx"> 
</span><del>-protected:
</del><ins>+private:
</ins><span class="cx">     // ScriptDebugListener
</span><del>-    void didParseSource(JSC::SourceID, const Script&amp;) override { }
-    void failedToParseSource(const String&amp;, const String&amp;, int, int, const String&amp;) override { }
-    void didPause(JSC::ExecState*, const Deprecated::ScriptValue&amp;, const Deprecated::ScriptValue&amp;) override { }
-    void didContinue() override { }
</del><ins>+    void didParseSource(JSC::SourceID, const Script&amp;) final { }
+    void failedToParseSource(const String&amp;, const String&amp;, int, int, const String&amp;) final { }
+    void didPause(JSC::ExecState&amp;, JSC::JSValue, JSC::JSValue) final { }
+    void didContinue() final { }
</ins><span class="cx"> 
</span><del>-    void breakpointActionLog(JSC::ExecState*, const String&amp;) override { }
-    void breakpointActionSound(int) override { }
-    void breakpointActionProbe(JSC::ExecState*, const Inspector::ScriptBreakpointAction&amp;, unsigned batchId, unsigned sampleId, const Deprecated::ScriptValue&amp; result) override;
</del><ins>+    void breakpointActionLog(JSC::ExecState&amp;, const String&amp;) final { }
+    void breakpointActionSound(int) final { }
+    void breakpointActionProbe(JSC::ExecState&amp;, const Inspector::ScriptBreakpointAction&amp;, unsigned batchId, unsigned sampleId, JSC::JSValue result) final;
</ins><span class="cx"> 
</span><del>-private:
</del><span class="cx">     friend class TimelineRecordStack;
</span><span class="cx"> 
</span><span class="cx">     struct TimelineRecordEntry {
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageConsoleAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageConsoleAgent.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageConsoleAgent.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/PageConsoleAgent.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> class InspectableNode final : public CommandLineAPIHost::InspectableObject {
</span><span class="cx"> public:
</span><span class="cx">     explicit InspectableNode(Node* node) : m_node(node) { }
</span><del>-    Deprecated::ScriptValue get(JSC::ExecState* state) override
</del><ins>+    JSC::JSValue get(JSC::ExecState&amp; state) final
</ins><span class="cx">     {
</span><span class="cx">         return InspectorDOMAgent::nodeAsScriptValue(state, m_node.get());
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -103,9 +103,9 @@
</span><span class="cx">     PageConsoleClient::unmute();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageDebuggerAgent::breakpointActionLog(JSC::ExecState* exec, const String&amp; message)
</del><ins>+void PageDebuggerAgent::breakpointActionLog(JSC::ExecState&amp; state, const String&amp; message)
</ins><span class="cx"> {
</span><del>-    m_pageAgent-&gt;page().console().addMessage(MessageSource::JS, MessageLevel::Log, message, createScriptCallStack(exec, ScriptCallStack::maxCallStackSizeToCapture));
</del><ins>+    m_pageAgent-&gt;page().console().addMessage(MessageSource::JS, MessageLevel::Log, message, createScriptCallStack(&amp;state, ScriptCallStack::maxCallStackSizeToCapture));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InjectedScript PageDebuggerAgent::injectedScriptForEval(ErrorString&amp; errorString, const int* executionContextId)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageDebuggerAgent.h (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageDebuggerAgent.h        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebCore/inspector/PageDebuggerAgent.h        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -63,10 +63,10 @@
</span><span class="cx">     void muteConsole() override;
</span><span class="cx">     void unmuteConsole() override;
</span><span class="cx"> 
</span><del>-    void breakpointActionLog(JSC::ExecState*, const String&amp;) override;
</del><ins>+    void breakpointActionLog(JSC::ExecState&amp;, const String&amp;) final;
</ins><span class="cx"> 
</span><span class="cx">     Inspector::InjectedScript injectedScriptForEval(ErrorString&amp;, const int* executionContextId) override;
</span><del>-    void setOverlayMessage(ErrorString&amp;, const String*) override;
</del><ins>+    void setOverlayMessage(ErrorString&amp;, const String*) final;
</ins><span class="cx"> 
</span><span class="cx">     Page&amp; m_page;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit/mac/ChangeLog        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2016-04-15  Darin Adler  &lt;darin@apple.com&gt;
+
+        Reduce use of Deprecated::ScriptXXX classes
+        https://bugs.webkit.org/show_bug.cgi?id=156632
+
+        Reviewed by Alex Christensen.
+
+        * WebView/WebFrame.mm:
+        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Use references instead
+        of pointers.
+        (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): Updated
+        since return value is a JSValue.
+        * WebView/WebView.mm:
+        (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
+
</ins><span class="cx"> 2016-04-14  Brent Fulgham  &lt;bfulgham@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Make &lt;a download&gt; a runtime enabled option
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebFramemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebFrame.mm (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebFrame.mm        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit/mac/WebView/WebFrame.mm        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -681,7 +681,7 @@
</span><span class="cx">     JSC::JSLockHolder jscLock(exec);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    JSC::JSValue result = _private-&gt;coreFrame-&gt;script().executeScript(string, forceUserGesture).jsValue();
</del><ins>+    JSC::JSValue result = _private-&gt;coreFrame-&gt;script().executeScript(string, forceUserGesture);
</ins><span class="cx"> 
</span><span class="cx">     if (!_private-&gt;coreFrame) // In case the script removed our frame from the page.
</span><span class="cx">         return @&quot;&quot;;
</span><span class="lines">@@ -2107,7 +2107,7 @@
</span><span class="cx">     ASSERT(frame-&gt;document());
</span><span class="cx">     RetainPtr&lt;WebFrame&gt; webFrame(kit(frame)); // Running arbitrary JavaScript can destroy the frame.
</span><span class="cx"> 
</span><del>-    JSC::JSValue result = frame-&gt;script().executeScriptInWorld(*core(world), string, true).jsValue();
</del><ins>+    JSC::JSValue result = frame-&gt;script().executeScriptInWorld(*core(world), string, true);
</ins><span class="cx"> 
</span><span class="cx">     if (!webFrame-&gt;_private-&gt;coreFrame) // In case the script removed our frame from the page.
</span><span class="cx">         return @&quot;&quot;;
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebView.mm        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -6921,7 +6921,7 @@
</span><span class="cx">         return nil;
</span><span class="cx">     if (!coreFrame-&gt;document())
</span><span class="cx">         return nil;
</span><del>-    JSC::JSValue result = coreFrame-&gt;script().executeScript(script, true).jsValue();
</del><ins>+    JSC::JSValue result = coreFrame-&gt;script().executeScript(script, true);
</ins><span class="cx">     if (!result) // FIXME: pass errors
</span><span class="cx">         return 0;
</span><span class="cx">     JSLockHolder lock(coreFrame-&gt;script().globalObject(mainThreadNormalWorld())-&gt;globalExec());
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit/win/ChangeLog        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2016-04-15  Darin Adler  &lt;darin@apple.com&gt;
+
+        Reduce use of Deprecated::ScriptXXX classes
+        https://bugs.webkit.org/show_bug.cgi?id=156632
+
+        Reviewed by Alex Christensen.
+
+        * Plugins/PluginView.cpp:
+        (WebCore::PluginView::performRequest): Use JSValue.
+        * WebFrame.cpp:
+        (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): Ditto.
+        * WebView.cpp:
+        (WebView::stringByEvaluatingJavaScriptFromString): Ditto.
+
</ins><span class="cx"> 2016-04-11  Darin Adler  &lt;darin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove UsePointersEvenForNonNullableObjectArguments from HTMLSelectElement
</span></span></pre></div>
<a id="trunkSourceWebKitwinPluginsPluginViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Plugins/PluginView.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Plugins/PluginView.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit/win/Plugins/PluginView.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -439,15 +439,17 @@
</span><span class="cx">     
</span><span class="cx">     // Executing a script can cause the plugin view to be destroyed, so we keep a reference to it.
</span><span class="cx">     RefPtr&lt;PluginView&gt; protector(this);
</span><del>-    Deprecated::ScriptValue result = m_parentFrame-&gt;script().executeScript(jsString, request-&gt;shouldAllowPopups());
</del><ins>+    auto result = m_parentFrame-&gt;script().executeScript(jsString, request-&gt;shouldAllowPopups());
</ins><span class="cx"> 
</span><span class="cx">     if (targetFrameName.isNull()) {
</span><del>-        String resultString;
-
-        JSC::ExecState* scriptState = m_parentFrame-&gt;script().globalObject(pluginWorld())-&gt;globalExec();
</del><span class="cx">         CString cstr;
</span><del>-        if (result.getString(scriptState, resultString))
-            cstr = resultString.utf8();
</del><ins>+        {
+            JSC::ExecState&amp; state = *m_parentFrame-&gt;script().globalObject(pluginWorld())-&gt;globalExec();
+            JSC::JSLockHolder lock(&amp;state);
+            String resultString;
+            if (result &amp;&amp; result.getString(&amp;state, resultString))
+                cstr = resultString.utf8();
+        }
</ins><span class="cx"> 
</span><span class="cx">         RefPtr&lt;PluginStream&gt; stream = PluginStream::create(this, m_parentFrame.get(), request-&gt;frameLoadRequest().resourceRequest(), request-&gt;sendNotification(), request-&gt;notifyData(), plugin()-&gt;pluginFuncs(), instance(), m_plugin-&gt;quirks());
</span><span class="cx">         m_streams.add(stream);
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebFrame.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebFrame.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit/win/WebFrame.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -2006,7 +2006,7 @@
</span><span class="cx">     // Get the frame frome the global object we've settled on.
</span><span class="cx">     Frame* frame = anyWorldGlobalObject-&gt;wrapped().frame();
</span><span class="cx">     ASSERT(frame-&gt;document());
</span><del>-    JSValue result = frame-&gt;script().executeScriptInWorld(world-&gt;world(), string, true).jsValue();
</del><ins>+    JSValue result = frame-&gt;script().executeScriptInWorld(world-&gt;world(), string, true);
</ins><span class="cx"> 
</span><span class="cx">     if (!frame) // In case the script removed our frame from the page.
</span><span class="cx">         return S_OK;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebView.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebView.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit/win/WebView.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -3505,7 +3505,7 @@
</span><span class="cx">     if (!coreFrame)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><del>-    JSC::JSValue scriptExecutionResult = coreFrame-&gt;script().executeScript(WTF::String(script), true).jsValue();
</del><ins>+    auto scriptExecutionResult = coreFrame-&gt;script().executeScript(WTF::String(script), true);
</ins><span class="cx">     if (!scriptExecutionResult)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     else if (scriptExecutionResult.isString()) {
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit2/ChangeLog        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2016-04-15  Darin Adler  &lt;darin@apple.com&gt;
+
+        Reduce use of Deprecated::ScriptXXX classes
+        https://bugs.webkit.org/show_bug.cgi?id=156632
+
+        Reviewed by Alex Christensen.
+
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::performJavaScriptURLRequest): Use JSValue.
+        * WebProcess/WebPage/WebInspectorUI.cpp:
+        (WebKit::WebInspectorUI::windowObjectCleared): Use references.
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::runJavaScriptInMainFrame): Use JSValue.
+
</ins><span class="cx"> 2016-04-15  Jer Noble  &lt;jer.noble@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION( r199603): Pandora crashes WebKit in WebPlaybackSessionManager::removeClientForContext
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsPluginViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -1266,8 +1266,11 @@
</span><span class="cx">     // Evaluate the JavaScript code. Note that running JavaScript here could cause the plug-in to be destroyed, so we
</span><span class="cx">     // grab references to the plug-in here.
</span><span class="cx">     RefPtr&lt;Plugin&gt; plugin = m_plugin;
</span><del>-    Deprecated::ScriptValue result = frame-&gt;script().executeScript(jsString, request-&gt;allowPopups());
</del><ins>+    auto result = frame-&gt;script().executeScript(jsString, request-&gt;allowPopups());
</ins><span class="cx"> 
</span><ins>+    if (!result)
+        return;
+
</ins><span class="cx">     // Check if evaluating the JavaScript destroyed the plug-in.
</span><span class="cx">     if (!plugin-&gt;controller())
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebInspectorUIcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx">         m_frontendHost-&gt;disconnectClient();
</span><span class="cx"> 
</span><span class="cx">     m_frontendHost = InspectorFrontendHost::create(this, m_page.corePage());
</span><del>-    ScriptGlobalObject::set(execStateFromPage(mainThreadNormalWorld(), m_page.corePage()), ASCIILiteral(&quot;InspectorFrontendHost&quot;), m_frontendHost.get());
</del><ins>+    ScriptGlobalObject::set(*execStateFromPage(mainThreadNormalWorld(), m_page.corePage()), ASCIILiteral(&quot;InspectorFrontendHost&quot;), *m_frontendHost);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebInspectorUI::frontendLoaded()
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (199618 => 199619)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2016-04-16 01:47:46 UTC (rev 199618)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2016-04-16 02:25:56 UTC (rev 199619)
</span><span class="lines">@@ -2656,7 +2656,7 @@
</span><span class="cx">     JSLockHolder lock(JSDOMWindow::commonVM());
</span><span class="cx">     bool hadException = true;
</span><span class="cx">     ExceptionDetails details;
</span><del>-    if (JSValue resultValue = m_mainFrame-&gt;coreFrame()-&gt;script().executeScript(script, true, &amp;details).jsValue()) {
</del><ins>+    if (JSValue resultValue = m_mainFrame-&gt;coreFrame()-&gt;script().executeScript(script, true, &amp;details)) {
</ins><span class="cx">         hadException = false;
</span><span class="cx">         serializedResultValue = SerializedScriptValue::create(m_mainFrame-&gt;jsContext(),
</span><span class="cx">             toRef(m_mainFrame-&gt;coreFrame()-&gt;script().globalObject(mainThreadNormalWorld())-&gt;globalExec(), resultValue), nullptr);
</span></span></pre>
</div>
</div>

</body>
</html>