<!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>[199642] 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/199642">199642</a></dd>
<dt>Author</dt> <dd>darin@apple.com</dd>
<dt>Date</dt> <dd>2016-04-17 11:39:13 -0700 (Sun, 17 Apr 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove more uses of Deprecated::ScriptXXX
https://bugs.webkit.org/show_bug.cgi?id=156660

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

* bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptCallArgumentHandler::appendArgument): Deleted
unneeded overloads that take a ScriptObject and ScriptValue.
* bindings/ScriptFunctionCall.h: Ditto.

* bindings/ScriptObject.h: Added operator so this can change
itself into a JSObject*. Helps while phasing this class out.

* bindings/ScriptValue.h: Export toInspectorValue so it can be
used in WebCore.

* inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::createInjectedScript): Changed
return value from Deprecated::ScriptObject to JSObject*.
(Inspector::InjectedScriptManager::injectedScriptFor): Updated for
the return value change above.
* inspector/InjectedScriptManager.h: Ditto.

Source/WebCore:

* Modules/mediacontrols/MediaControlsHost.h: Removed unneeded include.

* Modules/plugins/PluginReplacement.h: Removed unneeded include.
Changed argument to installReplacement into a reference. Changed return
value for creation function from PassRefPtr to Ref.

* Modules/plugins/QuickTimePluginReplacement.h: Removed unneeded includes and
forward declarations. Marked class final. Made almost everything private.

* Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::create): Changed to return Ref.
(WebCore::QuickTimePluginReplacement::installReplacement): Changed to take
a reference.

* Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::create): Changed to return Ref.
(WebCore::YouTubePluginReplacement::installReplacement): Changed to take
a reference.

* Modules/plugins/YouTubePluginReplacement.h: Removed unneeded includes and
forward declarations. Marked class final. Changed return type of create.

* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didReceiveBinaryData): Removed local variable so the
MessageEvent::create function gets a Ref&amp;&amp; instead of a RefPtr without having
to add explicit WTFMove.

* bindings/js/DOMRequestState.h: Removed code that set m_exec twice.

* bindings/js/Dictionary.h: Reformatted function templates to use a single
line so they are easier to look at.
(WebCore::Dictionary::getEventListener): Rewrote this so it no longer uses
a Deprecated::ScriptValue and also make it a little more compact and terse.

* bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::JSCommandLineAPIHost::inspect): Rewrote to use JSValue instead of
Deprecated::ScriptValue. Considerably more efficient.

* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data): Streamlined to use Deprecated::ScriptValue
a little bit less.

* bindings/js/JSNodeCustom.cpp: Moved include here from header.
* bindings/js/JSNodeCustom.h: Moved include from here to cpp file.

* bindings/js/JSPopStateEventCustom.cpp:
(WebCore::JSPopStateEvent::state): Updated for changes to return value of the
state() and serializedState functions.

* bindings/js/ScriptState.h: Removed the ScriptState typedef.

* bindings/js/SerializedScriptValue.cpp: Moved include here from header.
* bindings/js/SerializedScriptValue.h: Moved include from here to cpp file.

* css/FontFace.cpp:
(WebCore::FontFace::create): Changed argument to JSValue instead of ScriptValue.
* css/FontFace.h: Ditto.

* dom/MessageEvent.cpp: Moved create functions in here from header file.
Removed some unused ones including one that took a Deprecated::ScriptValue.
* dom/MessageEvent.h: Streamlined create functions, removing unused functions,
unused arguments, and unused default values for arguments. Also moved them all
into the cpp file instead of inlining them. Also changed the return type of
dataAsScriptValue to JSValue.

* dom/NodeFilterCondition.h: Removed unneeded include. Tweaked formatting.

* dom/PopStateEvent.h: Changed return value of state to be a JSValue and of
serializedState to be a raw pointer, not a PassRefPtr.

* dom/Traversal.h: Removed unneeded include. Removed unnecessary use of
unsigned long instead of unsigned. Fixed indentation.

* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Pass reference.

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener): Pass JSValue instead
of constructing a Deprecated::ScriptValue.

* inspector/InspectorFrontendHost.cpp:
(WebCore::FrontendMenuProvider::disconnect): Initialize without explicitly
mentioning the Deprecated::ScriptObject type.

* inspector/InspectorIndexedDBAgent.cpp: Removed unneeded include.

* inspector/InspectorInstrumentation.h: Removed unneeded include and also
declaration of two non-existent functions.

* page/DOMWindow.cpp:
(WebCore::PostMessageTimer::PostMessageTimer): Tweaked types a little bit to
match what is used in MessageEvent now.
(WebCore::PostMessageTimer::event): Streamlined a bit and changed type to
reference.
(WebCore::DOMWindow::postMessage): Updated for changes above.
(WebCore::DOMWindow::postMessageTimerFired): Ditto.

* page/EventSource.cpp:
(WebCore::EventSource::createMessageEvent): Removed now-unneeded
&quot;false, false&quot; from MessageEvent::create function call.

* page/csp/ContentSecurityPolicy.h: Removed unneeded include.

* page/csp/ContentSecurityPolicyDirectiveList.h: Removed unneeded
include and also unneeded non-copyable, since the class has a reference as
a data member and so is automatically non-copyable.

* testing/Internals.cpp:
(WebCore::Internals::description): Changed to take JSValue.
(WebCore::Internals::parserMetaData): Ditto.
(WebCore::Internals::serializeObject): Removed unnecessary copying of vector.
(WebCore::Internals::isFromCurrentWorld): Changed to take JSValue.
(WebCore::Internals::isReadableStreamDisturbed): Changed to not rely on the
ScriptState typedef and call it JSC::ExecState.

* testing/Internals.h: Removed unneeded includes. Removed unneeded and
inappropriate use of ASSERT_NO_EXCEPTION.</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="#trunkSourceJavaScriptCorebindingsScriptObjecth">trunk/Source/JavaScriptCore/bindings/ScriptObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebindingsScriptValueh">trunk/Source/JavaScriptCore/bindings/ScriptValue.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScriptManagercpp">trunk/Source/JavaScriptCore/inspector/InjectedScriptManager.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScriptManagerh">trunk/Source/JavaScriptCore/inspector/InjectedScriptManager.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesmediacontrolsMediaControlsHosth">trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsPluginReplacementh">trunk/Source/WebCore/Modules/plugins/PluginReplacement.h</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsQuickTimePluginReplacementh">trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.h</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsQuickTimePluginReplacementmm">trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsYouTubePluginReplacementcpp">trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsYouTubePluginReplacementh">trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketcpp">trunk/Source/WebCore/Modules/websockets/WebSocket.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsDOMRequestStateh">trunk/Source/WebCore/bindings/js/DOMRequestState.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsDictionaryh">trunk/Source/WebCore/bindings/js/Dictionary.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCommandLineAPIHostCustomcpp">trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMessageEventCustomcpp">trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSNodeCustomh">trunk/Source/WebCore/bindings/js/JSNodeCustom.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSPopStateEventCustomcpp">trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScriptStateh">trunk/Source/WebCore/bindings/js/ScriptState.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsSerializedScriptValuecpp">trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsSerializedScriptValueh">trunk/Source/WebCore/bindings/js/SerializedScriptValue.h</a></li>
<li><a href="#trunkSourceWebCorecssFontFacecpp">trunk/Source/WebCore/css/FontFace.cpp</a></li>
<li><a href="#trunkSourceWebCorecssFontFaceh">trunk/Source/WebCore/css/FontFace.h</a></li>
<li><a href="#trunkSourceWebCoredomMessageEventcpp">trunk/Source/WebCore/dom/MessageEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomMessageEventh">trunk/Source/WebCore/dom/MessageEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomNodeFilterConditionh">trunk/Source/WebCore/dom/NodeFilterCondition.h</a></li>
<li><a href="#trunkSourceWebCoredomPopStateEventh">trunk/Source/WebCore/dom/PopStateEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomTraversalcpp">trunk/Source/WebCore/dom/Traversal.cpp</a></li>
<li><a href="#trunkSourceWebCoredomTraversalh">trunk/Source/WebCore/dom/Traversal.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLPlugInElementcpp">trunk/Source/WebCore/html/HTMLPlugInElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorFrontendHostcpp">trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorIndexedDBAgentcpp">trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationh">trunk/Source/WebCore/inspector/InspectorInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowcpp">trunk/Source/WebCore/page/DOMWindow.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventSourcecpp">trunk/Source/WebCore/page/EventSource.cpp</a></li>
<li><a href="#trunkSourceWebCorepagecspContentSecurityPolicyh">trunk/Source/WebCore/page/csp/ContentSecurityPolicy.h</a></li>
<li><a href="#trunkSourceWebCorepagecspContentSecurityPolicyDirectiveListh">trunk/Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsh">trunk/Source/WebCore/testing/Internals.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2016-04-17  Darin Adler  &lt;darin@apple.com&gt;
+
+        Remove more uses of Deprecated::ScriptXXX
+        https://bugs.webkit.org/show_bug.cgi?id=156660
+
+        Reviewed by Antti Koivisto.
+
+        * bindings/ScriptFunctionCall.cpp:
+        (Deprecated::ScriptCallArgumentHandler::appendArgument): Deleted
+        unneeded overloads that take a ScriptObject and ScriptValue.
+        * bindings/ScriptFunctionCall.h: Ditto.
+
+        * bindings/ScriptObject.h: Added operator so this can change
+        itself into a JSObject*. Helps while phasing this class out.
+
+        * bindings/ScriptValue.h: Export toInspectorValue so it can be
+        used in WebCore.
+
+        * inspector/InjectedScriptManager.cpp:
+        (Inspector::InjectedScriptManager::createInjectedScript): Changed
+        return value from Deprecated::ScriptObject to JSObject*.
+        (Inspector::InjectedScriptManager::injectedScriptFor): Updated for
+        the return value change above.
+        * inspector/InjectedScriptManager.h: Ditto.
+
</ins><span class="cx"> 2016-04-16  Benjamin Poulain  &lt;bpoulain@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         [JSC] DFG should support relational comparisons of Number and Other
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptFunctionCallcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -41,15 +41,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Deprecated {
</span><span class="cx"> 
</span><del>-void ScriptCallArgumentHandler::appendArgument(const Deprecated::ScriptObject&amp; argument)
-{
-    if (argument.scriptState() != m_exec) {
-        ASSERT_NOT_REACHED();
-        return;
-    }
-    m_arguments.append(argument.jsObject());
-}
-
</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></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptFunctionCallh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/JavaScriptCore/bindings/ScriptFunctionCall.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -46,8 +46,6 @@
</span><span class="cx"> public:
</span><span class="cx">     ScriptCallArgumentHandler(JSC::ExecState* state) : m_exec(state) { }
</span><span class="cx"> 
</span><del>-    void appendArgument(const ScriptObject&amp;);
-    void appendArgument(const ScriptValue&amp;);
</del><span class="cx">     void appendArgument(const char*);
</span><span class="cx">     void appendArgument(const String&amp;);
</span><span class="cx">     void appendArgument(JSC::JSValue);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptObject.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptObject.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/JavaScriptCore/bindings/ScriptObject.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -29,8 +29,7 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef ScriptObject_h
-#define ScriptObject_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;JSObject.h&quot;
</span><span class="cx"> #include &quot;ScriptValue.h&quot;
</span><span class="lines">@@ -41,15 +40,15 @@
</span><span class="cx"> public:
</span><span class="cx">     JS_EXPORT_PRIVATE ScriptObject(JSC::ExecState*, JSC::JSObject*);
</span><span class="cx">     JS_EXPORT_PRIVATE ScriptObject(JSC::ExecState*, const ScriptValue&amp;);
</span><del>-    ScriptObject() : m_scriptState(nullptr) { }
</del><ins>+    ScriptObject() { }
</ins><span class="cx"> 
</span><ins>+    operator JSC::JSObject*() const { return jsObject(); }
+
</ins><span class="cx">     JSC::JSObject* jsObject() const { return asObject(jsValue()); }
</span><span class="cx">     JSC::ExecState* scriptState() const { return m_scriptState; }
</span><span class="cx"> 
</span><del>-protected:
-    JSC::ExecState* m_scriptState;
</del><ins>+private:
+    JSC::ExecState* m_scriptState { nullptr };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace Deprecated
</span><del>-
-#endif // ScriptObject_h
</del></span></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptValue.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptValue.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/JavaScriptCore/bindings/ScriptValue.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorValue;
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorValue&gt; toInspectorValue(JSC::ExecState&amp;, JSC::JSValue);
</del><ins>+JS_EXPORT_PRIVATE RefPtr&lt;InspectorValue&gt; toInspectorValue(JSC::ExecState&amp;, JSC::JSValue);
</ins><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScriptManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScriptManager.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScriptManager.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScriptManager.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">     return StringImpl::createWithoutCopying(InjectedScriptSource_js, sizeof(InjectedScriptSource_js));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Deprecated::ScriptObject InjectedScriptManager::createInjectedScript(const String&amp; source, ExecState* scriptState, int id)
</del><ins>+JSC::JSObject* InjectedScriptManager::createInjectedScript(const String&amp; source, ExecState* scriptState, int id)
</ins><span class="cx"> {
</span><span class="cx">     JSLockHolder lock(scriptState);
</span><span class="cx"> 
</span><span class="lines">@@ -143,12 +143,12 @@
</span><span class="cx">     InspectorEvaluateHandler evaluateHandler = m_environment.evaluateHandler();
</span><span class="cx">     JSValue functionValue = evaluateHandler(scriptState, sourceCode, globalThisValue, evaluationException);
</span><span class="cx">     if (evaluationException)
</span><del>-        return Deprecated::ScriptObject();
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     CallData callData;
</span><span class="cx">     CallType callType = getCallData(functionValue, callData);
</span><span class="cx">     if (callType == CallType::None)
</span><del>-        return Deprecated::ScriptObject();
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     MarkedArgumentBuffer args;
</span><span class="cx">     args.append(m_injectedScriptHost-&gt;wrapper(scriptState, globalObject));
</span><span class="lines">@@ -157,10 +157,7 @@
</span><span class="cx"> 
</span><span class="cx">     JSValue result = JSC::call(scriptState, functionValue, callType, callData, globalThisValue, args);
</span><span class="cx">     scriptState-&gt;clearException();
</span><del>-    if (result.isObject())
-        return Deprecated::ScriptObject(scriptState, result.getObject());
-
-    return Deprecated::ScriptObject();
</del><ins>+    return result.getObject();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InjectedScript InjectedScriptManager::injectedScriptFor(ExecState* inspectedExecState)
</span><span class="lines">@@ -176,14 +173,14 @@
</span><span class="cx">         return InjectedScript();
</span><span class="cx"> 
</span><span class="cx">     int id = injectedScriptIdFor(inspectedExecState);
</span><del>-    Deprecated::ScriptObject injectedScriptObject = createInjectedScript(injectedScriptSource(), inspectedExecState, id);
-    if (injectedScriptObject.scriptState() != inspectedExecState) {
</del><ins>+    auto injectedScriptObject = createInjectedScript(injectedScriptSource(), inspectedExecState, id);
+    if (!injectedScriptObject) {
</ins><span class="cx">         WTFLogAlways(&quot;Failed to parse/execute InjectedScriptSource.js!&quot;);
</span><span class="cx">         WTFLogAlways(&quot;%s\n&quot;, injectedScriptSource().ascii().data());
</span><span class="cx">         RELEASE_ASSERT_NOT_REACHED();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    InjectedScript result(injectedScriptObject, &amp;m_environment);
</del><ins>+    InjectedScript result({ inspectedExecState, injectedScriptObject }, &amp;m_environment);
</ins><span class="cx">     m_idToInjectedScript.set(id, result);
</span><span class="cx">     didCreateInjectedScript(result);
</span><span class="cx">     return result;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScriptManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScriptManager.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScriptManager.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScriptManager.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     String injectedScriptSource();
</span><del>-    Deprecated::ScriptObject createInjectedScript(const String&amp; source, JSC::ExecState*, int id);
</del><ins>+    JSC::JSObject* createInjectedScript(const String&amp; source, JSC::ExecState*, int id);
</ins><span class="cx"> 
</span><span class="cx">     InspectorEnvironment&amp; m_environment;
</span><span class="cx">     RefPtr&lt;InjectedScriptHost&gt; m_injectedScriptHost;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/ChangeLog        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -1,3 +1,128 @@
</span><ins>+2016-04-17  Darin Adler  &lt;darin@apple.com&gt;
+
+        Remove more uses of Deprecated::ScriptXXX
+        https://bugs.webkit.org/show_bug.cgi?id=156660
+
+        Reviewed by Antti Koivisto.
+
+        * Modules/mediacontrols/MediaControlsHost.h: Removed unneeded include.
+
+        * Modules/plugins/PluginReplacement.h: Removed unneeded include.
+        Changed argument to installReplacement into a reference. Changed return
+        value for creation function from PassRefPtr to Ref.
+
+        * Modules/plugins/QuickTimePluginReplacement.h: Removed unneeded includes and
+        forward declarations. Marked class final. Made almost everything private.
+
+        * Modules/plugins/QuickTimePluginReplacement.mm:
+        (WebCore::QuickTimePluginReplacement::create): Changed to return Ref.
+        (WebCore::QuickTimePluginReplacement::installReplacement): Changed to take
+        a reference.
+
+        * Modules/plugins/YouTubePluginReplacement.cpp:
+        (WebCore::YouTubePluginReplacement::create): Changed to return Ref.
+        (WebCore::YouTubePluginReplacement::installReplacement): Changed to take
+        a reference.
+
+        * Modules/plugins/YouTubePluginReplacement.h: Removed unneeded includes and
+        forward declarations. Marked class final. Changed return type of create.
+
+        * Modules/websockets/WebSocket.cpp:
+        (WebCore::WebSocket::didReceiveBinaryData): Removed local variable so the
+        MessageEvent::create function gets a Ref&amp;&amp; instead of a RefPtr without having
+        to add explicit WTFMove.
+
+        * bindings/js/DOMRequestState.h: Removed code that set m_exec twice.
+
+        * bindings/js/Dictionary.h: Reformatted function templates to use a single
+        line so they are easier to look at.
+        (WebCore::Dictionary::getEventListener): Rewrote this so it no longer uses
+        a Deprecated::ScriptValue and also make it a little more compact and terse.
+
+        * bindings/js/JSCommandLineAPIHostCustom.cpp:
+        (WebCore::JSCommandLineAPIHost::inspect): Rewrote to use JSValue instead of
+        Deprecated::ScriptValue. Considerably more efficient.
+
+        * bindings/js/JSMessageEventCustom.cpp:
+        (WebCore::JSMessageEvent::data): Streamlined to use Deprecated::ScriptValue
+        a little bit less.
+
+        * bindings/js/JSNodeCustom.cpp: Moved include here from header.
+        * bindings/js/JSNodeCustom.h: Moved include from here to cpp file.
+
+        * bindings/js/JSPopStateEventCustom.cpp:
+        (WebCore::JSPopStateEvent::state): Updated for changes to return value of the
+        state() and serializedState functions.
+
+        * bindings/js/ScriptState.h: Removed the ScriptState typedef.
+
+        * bindings/js/SerializedScriptValue.cpp: Moved include here from header.
+        * bindings/js/SerializedScriptValue.h: Moved include from here to cpp file.
+
+        * css/FontFace.cpp:
+        (WebCore::FontFace::create): Changed argument to JSValue instead of ScriptValue.
+        * css/FontFace.h: Ditto.
+
+        * dom/MessageEvent.cpp: Moved create functions in here from header file.
+        Removed some unused ones including one that took a Deprecated::ScriptValue.
+        * dom/MessageEvent.h: Streamlined create functions, removing unused functions,
+        unused arguments, and unused default values for arguments. Also moved them all
+        into the cpp file instead of inlining them. Also changed the return type of
+        dataAsScriptValue to JSValue.
+
+        * dom/NodeFilterCondition.h: Removed unneeded include. Tweaked formatting.
+
+        * dom/PopStateEvent.h: Changed return value of state to be a JSValue and of
+        serializedState to be a raw pointer, not a PassRefPtr.
+
+        * dom/Traversal.h: Removed unneeded include. Removed unnecessary use of
+        unsigned long instead of unsigned. Fixed indentation.
+
+        * html/HTMLPlugInElement.cpp:
+        (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Pass reference.
+
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::InspectorDOMAgent::buildObjectForEventListener): Pass JSValue instead
+        of constructing a Deprecated::ScriptValue.
+
+        * inspector/InspectorFrontendHost.cpp:
+        (WebCore::FrontendMenuProvider::disconnect): Initialize without explicitly
+        mentioning the Deprecated::ScriptObject type.
+
+        * inspector/InspectorIndexedDBAgent.cpp: Removed unneeded include.
+
+        * inspector/InspectorInstrumentation.h: Removed unneeded include and also
+        declaration of two non-existent functions.
+
+        * page/DOMWindow.cpp:
+        (WebCore::PostMessageTimer::PostMessageTimer): Tweaked types a little bit to
+        match what is used in MessageEvent now.
+        (WebCore::PostMessageTimer::event): Streamlined a bit and changed type to
+        reference.
+        (WebCore::DOMWindow::postMessage): Updated for changes above.
+        (WebCore::DOMWindow::postMessageTimerFired): Ditto.
+
+        * page/EventSource.cpp:
+        (WebCore::EventSource::createMessageEvent): Removed now-unneeded
+        &quot;false, false&quot; from MessageEvent::create function call.
+
+        * page/csp/ContentSecurityPolicy.h: Removed unneeded include.
+
+        * page/csp/ContentSecurityPolicyDirectiveList.h: Removed unneeded
+        include and also unneeded non-copyable, since the class has a reference as
+        a data member and so is automatically non-copyable.
+
+        * testing/Internals.cpp:
+        (WebCore::Internals::description): Changed to take JSValue.
+        (WebCore::Internals::parserMetaData): Ditto.
+        (WebCore::Internals::serializeObject): Removed unnecessary copying of vector.
+        (WebCore::Internals::isFromCurrentWorld): Changed to take JSValue.
+        (WebCore::Internals::isReadableStreamDisturbed): Changed to not rely on the
+        ScriptState typedef and call it JSC::ExecState.
+
+        * testing/Internals.h: Removed unneeded includes. Removed unneeded and
+        inappropriate use of ASSERT_NO_EXCEPTION.
+
</ins><span class="cx"> 2016-04-17  Youenn Fablet  &lt;youenn.fablet@crf.canon.fr&gt;
</span><span class="cx"> 
</span><span class="cx">         [Fetch API] Consume HTTP data as a ReadableStream
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediacontrolsMediaControlsHosth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -23,12 +23,10 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef MediaControlsHost_h
-#define MediaControlsHost_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(MEDIA_CONTROLS_SCRIPT)
</span><span class="cx"> 
</span><del>-#include &quot;ScriptState.h&quot;
</del><span class="cx"> #include &lt;bindings/ScriptObject.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="lines">@@ -90,5 +88,3 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><del>-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsPluginReplacementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/PluginReplacement.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/PluginReplacement.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/Modules/plugins/PluginReplacement.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -23,11 +23,9 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef PluginReplacement_h
-#define PluginReplacement_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;RenderPtr.h&quot;
</span><del>-#include &lt;wtf/RefCounted.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="lines">@@ -47,17 +45,14 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual ~PluginReplacement() { }
</span><span class="cx"> 
</span><del>-    virtual bool installReplacement(ShadowRoot*) = 0;
-    virtual JSC::JSObject* scriptObject() { return 0; }
</del><ins>+    virtual bool installReplacement(ShadowRoot&amp;) = 0;
+    virtual JSC::JSObject* scriptObject() { return nullptr; }
</ins><span class="cx"> 
</span><span class="cx">     virtual bool willCreateRenderer() { return false; }
</span><span class="cx">     virtual RenderPtr&lt;RenderElement&gt; createElementRenderer(HTMLPlugInElement&amp;, Ref&lt;RenderStyle&gt;&amp;&amp;, const RenderTreePosition&amp;) = 0;
</span><del>-
-protected:
-    PluginReplacement() { }
</del><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef PassRefPtr&lt;PluginReplacement&gt; (*CreatePluginReplacement)(HTMLPlugInElement&amp;, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues);
</del><ins>+typedef Ref&lt;PluginReplacement&gt; (*CreatePluginReplacement)(HTMLPlugInElement&amp;, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues);
</ins><span class="cx"> typedef bool (*PluginReplacementSupportsType)(const String&amp;);
</span><span class="cx"> typedef bool (*PluginReplacementSupportsFileExtension)(const String&amp;);
</span><span class="cx"> typedef bool (*PluginReplacementSupportsURL)(const URL&amp;);
</span><span class="lines">@@ -80,7 +75,7 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;PluginReplacement&gt; create(HTMLPlugInElement&amp; element, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues) const { return m_constructor(element, paramNames, paramValues); }
</del><ins>+    Ref&lt;PluginReplacement&gt; create(HTMLPlugInElement&amp; element, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues) const { return m_constructor(element, paramNames, paramValues); }
</ins><span class="cx">     bool supportsType(const String&amp; mimeType) const { return m_supportsType(mimeType); }
</span><span class="cx">     bool supportsFileExtension(const String&amp; extension) const { return m_supportsFileExtension(extension); }
</span><span class="cx">     bool supportsURL(const URL&amp; url) const { return m_supportsURL(url); }
</span><span class="lines">@@ -95,5 +90,3 @@
</span><span class="cx"> typedef void (*PluginReplacementRegistrar)(const ReplacementPlugin&amp;);
</span><span class="cx"> 
</span><span class="cx"> }
</span><del>-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsQuickTimePluginReplacementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -23,47 +23,39 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef QuickTimePluginReplacement_h
-#define QuickTimePluginReplacement_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;PluginReplacement.h&quot;
</span><del>-#include &quot;ScriptState.h&quot;
-#include &lt;bindings/ScriptObject.h&gt;
-#include &lt;wtf/RefCounted.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class HTMLPlugInElement;
</del><ins>+class DOMWrapperWorld;
</ins><span class="cx"> class HTMLVideoElement;
</span><del>-class RenderElement;
-class RenderStyle;
-class ShadowRoot;
</del><span class="cx"> 
</span><del>-class QuickTimePluginReplacement : public PluginReplacement {
</del><ins>+class QuickTimePluginReplacement final : public PluginReplacement {
</ins><span class="cx"> public:
</span><span class="cx">     static void registerPluginReplacement(PluginReplacementRegistrar);
</span><del>-    static bool supportsMimeType(const String&amp;);
-    static bool supportsFileExtension(const String&amp;);
-    static bool supportsURL(const URL&amp;) { return true; }
-    
-    static PassRefPtr&lt;PluginReplacement&gt; create(HTMLPlugInElement&amp;, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues);
-    ~QuickTimePluginReplacement();
</del><span class="cx"> 
</span><del>-    bool installReplacement(ShadowRoot*) override;
-    JSC::JSObject* scriptObject() override { return m_scriptObject; }
</del><ins>+    virtual ~QuickTimePluginReplacement();
</ins><span class="cx"> 
</span><del>-    bool willCreateRenderer() override { return m_mediaElement; }
-    RenderPtr&lt;RenderElement&gt; createElementRenderer(HTMLPlugInElement&amp;, Ref&lt;RenderStyle&gt;&amp;&amp;, const RenderTreePosition&amp;) override;
-
-    HTMLVideoElement* parentElement() { return m_mediaElement.get(); }
-
</del><span class="cx">     unsigned long long movieSize() const;
</span><span class="cx">     void postEvent(const String&amp;);
</span><span class="cx"> 
</span><ins>+    HTMLVideoElement* parentElement() { return m_mediaElement.get(); }
+
</ins><span class="cx"> private:
</span><span class="cx">     QuickTimePluginReplacement(HTMLPlugInElement&amp;, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues);
</span><ins>+    static Ref&lt;PluginReplacement&gt; create(HTMLPlugInElement&amp;, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues);
+    static bool supportsMimeType(const String&amp;);
+    static bool supportsFileExtension(const String&amp;);
+    static bool supportsURL(const URL&amp;) { return true; }
</ins><span class="cx"> 
</span><ins>+    bool installReplacement(ShadowRoot&amp;) final;
+    JSC::JSObject* scriptObject() final { return m_scriptObject; }
+
+    bool willCreateRenderer() final { return m_mediaElement; }
+    RenderPtr&lt;RenderElement&gt; createElementRenderer(HTMLPlugInElement&amp;, Ref&lt;RenderStyle&gt;&amp;&amp;, const RenderTreePosition&amp;) final;
+
</ins><span class="cx">     bool ensureReplacementScriptInjected();
</span><span class="cx">     DOMWrapperWorld&amp; isolatedWorld();
</span><span class="cx"> 
</span><span class="lines">@@ -71,9 +63,7 @@
</span><span class="cx">     RefPtr&lt;HTMLVideoElement&gt; m_mediaElement;
</span><span class="cx">     const Vector&lt;String&gt; m_names;
</span><span class="cx">     const Vector&lt;String&gt; m_values;
</span><del>-    JSC::JSObject* m_scriptObject;
</del><ins>+    JSC::JSObject* m_scriptObject; // FIXME: Why is it safe to have this pointer here? What keeps it alive during GC?
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span><del>-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsQuickTimePluginReplacementmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -75,9 +75,9 @@
</span><span class="cx">     registrar(ReplacementPlugin(create, supportsMimeType, supportsFileExtension, supportsURL));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;PluginReplacement&gt; QuickTimePluginReplacement::create(HTMLPlugInElement&amp; plugin, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues)
</del><ins>+Ref&lt;PluginReplacement&gt; QuickTimePluginReplacement::create(HTMLPlugInElement&amp; plugin, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new QuickTimePluginReplacement(plugin, paramNames, paramValues));
</del><ins>+    return adoptRef(*new QuickTimePluginReplacement(plugin, paramNames, paramValues));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool QuickTimePluginReplacement::supportsMimeType(const String&amp; mimeType)
</span><span class="lines">@@ -171,7 +171,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool QuickTimePluginReplacement::installReplacement(ShadowRoot* root)
</del><ins>+bool QuickTimePluginReplacement::installReplacement(ShadowRoot&amp; root)
</ins><span class="cx"> {
</span><span class="cx">     if (!ensureReplacementScriptInjected())
</span><span class="cx">         return false;
</span><span class="lines">@@ -197,7 +197,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     JSC::MarkedArgumentBuffer argList;
</span><del>-    argList.append(toJS(exec, globalObject, root));
</del><ins>+    argList.append(toJS(exec, globalObject, &amp;root));
</ins><span class="cx">     argList.append(toJS(exec, globalObject, m_parentElement));
</span><span class="cx">     argList.append(toJS(exec, globalObject, this));
</span><span class="cx">     argList.append(toJS&lt;String&gt;(exec, globalObject, m_names));
</span></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsYouTubePluginReplacementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -43,9 +43,9 @@
</span><span class="cx">     registrar(ReplacementPlugin(create, supportsMimeType, supportsFileExtension, supportsURL));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;PluginReplacement&gt; YouTubePluginReplacement::create(HTMLPlugInElement&amp; plugin, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues)
</del><ins>+Ref&lt;PluginReplacement&gt; YouTubePluginReplacement::create(HTMLPlugInElement&amp; plugin, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new YouTubePluginReplacement(plugin, paramNames, paramValues));
</del><ins>+    return adoptRef(*new YouTubePluginReplacement(plugin, paramNames, paramValues));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool YouTubePluginReplacement::supportsMimeType(const String&amp; mimeType)
</span><span class="lines">@@ -77,11 +77,11 @@
</span><span class="cx">     return m_embedShadowElement-&gt;createElementRenderer(WTFMove(style), insertionPosition);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool YouTubePluginReplacement::installReplacement(ShadowRoot* root)
</del><ins>+bool YouTubePluginReplacement::installReplacement(ShadowRoot&amp; root)
</ins><span class="cx"> {
</span><span class="cx">     m_embedShadowElement = YouTubeEmbedShadowElement::create(m_parentElement-&gt;document());
</span><span class="cx"> 
</span><del>-    root-&gt;appendChild(*m_embedShadowElement);
</del><ins>+    root.appendChild(*m_embedShadowElement);
</ins><span class="cx"> 
</span><span class="cx">     Ref&lt;HTMLIFrameElement&gt; iframeElement = HTMLIFrameElement::create(HTMLNames::iframeTag, m_parentElement-&gt;document());
</span><span class="cx">     if (m_attributes.contains(&quot;width&quot;))
</span></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsYouTubePluginReplacementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -23,24 +23,16 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef YouTubePluginReplacement_h
-#define YouTubePluginReplacement_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;PluginReplacement.h&quot;
</span><del>-
</del><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><del>-#include &lt;wtf/RetainPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class HTMLPlugInElement;
-class HTMLIFrameElement;
-class RenderElement;
-class RenderStyle;
-class ShadowRoot;
</del><span class="cx"> class YouTubeEmbedShadowElement;
</span><span class="cx"> 
</span><del>-class YouTubePluginReplacement : public PluginReplacement {
</del><ins>+class YouTubePluginReplacement final : public PluginReplacement {
</ins><span class="cx"> public:
</span><span class="cx">     static void registerPluginReplacement(PluginReplacementRegistrar);
</span><span class="cx"> 
</span><span class="lines">@@ -48,25 +40,21 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     YouTubePluginReplacement(HTMLPlugInElement&amp;, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues);
</span><del>-
</del><ins>+    static Ref&lt;PluginReplacement&gt; create(HTMLPlugInElement&amp;, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues);
</ins><span class="cx">     static bool supportsMimeType(const String&amp;);
</span><span class="cx">     static bool supportsFileExtension(const String&amp;);
</span><span class="cx">     static bool supportsURL(const URL&amp;);
</span><del>-    
-    static PassRefPtr&lt;PluginReplacement&gt; create(HTMLPlugInElement&amp;, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues);
</del><span class="cx"> 
</span><del>-    bool installReplacement(ShadowRoot*) override;
-    
</del><ins>+    bool installReplacement(ShadowRoot&amp;) final;
+
</ins><span class="cx">     String youTubeURL(const String&amp; rawURL);
</span><del>-    
-    bool willCreateRenderer() override { return m_embedShadowElement; }
-    RenderPtr&lt;RenderElement&gt; createElementRenderer(HTMLPlugInElement&amp;, Ref&lt;RenderStyle&gt;&amp;&amp;, const RenderTreePosition&amp;) override;
-    
</del><ins>+
+    bool willCreateRenderer() final { return m_embedShadowElement; }
+    RenderPtr&lt;RenderElement&gt; createElementRenderer(HTMLPlugInElement&amp;, Ref&lt;RenderStyle&gt;&amp;&amp;, const RenderTreePosition&amp;) final;
+
</ins><span class="cx">     HTMLPlugInElement* m_parentElement;
</span><span class="cx">     RefPtr&lt;YouTubeEmbedShadowElement&gt; m_embedShadowElement;
</span><span class="cx">     KeyValueMap m_attributes;
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span><del>-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocket.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocket.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/Modules/websockets/WebSocket.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -565,13 +565,10 @@
</span><span class="cx"> {
</span><span class="cx">     LOG(Network, &quot;WebSocket %p didReceiveBinaryData() %lu byte binary message&quot;, this, static_cast&lt;unsigned long&gt;(binaryData.size()));
</span><span class="cx">     switch (m_binaryType) {
</span><del>-    case BinaryTypeBlob: {
</del><ins>+    case BinaryTypeBlob:
</ins><span class="cx">         // FIXME: We just received the data from NetworkProcess, and are sending it back. This is inefficient.
</span><del>-        RefPtr&lt;Blob&gt; blob = Blob::create(WTFMove(binaryData), emptyString());
-        dispatchEvent(MessageEvent::create(blob.release(), SecurityOrigin::create(m_url)-&gt;toString()));
</del><ins>+        dispatchEvent(MessageEvent::create(Blob::create(WTFMove(binaryData), emptyString()), SecurityOrigin::create(m_url)-&gt;toString()));
</ins><span class="cx">         break;
</span><del>-    }
-
</del><span class="cx">     case BinaryTypeArrayBuffer:
</span><span class="cx">         dispatchEvent(MessageEvent::create(ArrayBuffer::create(binaryData.data(), binaryData.size()), SecurityOrigin::create(m_url)-&gt;toString()));
</span><span class="cx">         break;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsDOMRequestStateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/DOMRequestState.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/DOMRequestState.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/bindings/js/DOMRequestState.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -25,8 +25,7 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef DOMRequestState_h
-#define DOMRequestState_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;DOMWrapperWorld.h&quot;
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="lines">@@ -41,7 +40,6 @@
</span><span class="cx"> public:
</span><span class="cx">     explicit DOMRequestState(ScriptExecutionContext* scriptExecutionContext)
</span><span class="cx">         : m_scriptExecutionContext(scriptExecutionContext)
</span><del>-        , m_exec(nullptr)
</del><span class="cx">     {
</span><span class="cx">         if (is&lt;Document&gt;(*m_scriptExecutionContext)) {
</span><span class="cx">             Document&amp; document = downcast&lt;Document&gt;(*m_scriptExecutionContext);
</span><span class="lines">@@ -79,4 +77,3 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span><del>-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsDictionaryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/Dictionary.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/Dictionary.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/bindings/js/Dictionary.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -24,8 +24,7 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef Dictionary_h
-#define Dictionary_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;JSDictionary.h&quot;
</span><span class="cx"> #include &quot;JSEventListener.h&quot;
</span><span class="lines">@@ -47,18 +46,13 @@
</span><span class="cx">     Dictionary(JSC::ExecState*, JSC::JSValue);
</span><span class="cx"> 
</span><span class="cx">     // Returns true if a value was found for the provided property.
</span><del>-    template &lt;typename Result&gt;
-    bool get(const char* propertyName, Result&amp;) const;
-    template &lt;typename Result&gt;
-    bool get(const String&amp; propertyName, Result&amp;) const;
</del><ins>+    template&lt;typename Result&gt; bool get(const char* propertyName, Result&amp;) const;
+    template&lt;typename Result&gt; bool get(const String&amp; propertyName, Result&amp;) const;
</ins><span class="cx"> 
</span><del>-    template &lt;typename Result&gt;
-    Optional&lt;Result&gt; get(const char* propertyName) const;
</del><ins>+    template&lt;typename Result&gt; Optional&lt;Result&gt; get(const char* propertyName) const;
</ins><span class="cx"> 
</span><del>-    template &lt;typename T&gt;
-    RefPtr&lt;EventListener&gt; getEventListener(const char* propertyName, T* target) const;
-    template &lt;typename T&gt;
-    RefPtr&lt;EventListener&gt; getEventListener(const String&amp; propertyName, T* target) const;
</del><ins>+    template&lt;typename T&gt; RefPtr&lt;EventListener&gt; getEventListener(const char* propertyName, T* target) const;
+    template&lt;typename T&gt; RefPtr&lt;EventListener&gt; getEventListener(const String&amp; propertyName, T* target) const;
</ins><span class="cx"> 
</span><span class="cx">     bool isObject() const { return m_dictionary.isValid(); }
</span><span class="cx">     bool isUndefinedOrNull() const { return !m_dictionary.isValid(); }
</span><span class="lines">@@ -69,61 +63,40 @@
</span><span class="cx">     JSC::ExecState* execState() const { return m_dictionary.execState(); }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    template &lt;typename T&gt;
-    JSC::JSObject* asJSObject(T*) const;
</del><ins>+    template&lt;typename T&gt; JSC::JSObject* asJSObject(T*) const;
</ins><span class="cx">     
</span><span class="cx">     JSDictionary m_dictionary;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-template &lt;typename Result&gt;
-bool Dictionary::get(const char* propertyName, Result&amp; result) const
</del><ins>+template&lt;typename Result&gt; bool Dictionary::get(const char* propertyName, Result&amp; result) const
</ins><span class="cx"> {
</span><del>-    if (!m_dictionary.isValid())
-        return false;
-    
-    return m_dictionary.get(propertyName, result);
</del><ins>+    return m_dictionary.isValid() &amp;&amp; m_dictionary.get(propertyName, result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-template &lt;typename Result&gt;
-bool Dictionary::get(const String&amp; propertyName, Result&amp; result) const
</del><ins>+template&lt;typename Result&gt; bool Dictionary::get(const String&amp; propertyName, Result&amp; result) const
</ins><span class="cx"> {
</span><span class="cx">     return get(propertyName.utf8().data(), result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-template&lt;typename Result&gt;
-Optional&lt;Result&gt; Dictionary::get(const char* propertyName) const
</del><ins>+template&lt;typename Result&gt; Optional&lt;Result&gt; Dictionary::get(const char* propertyName) const
</ins><span class="cx"> {
</span><span class="cx">     Result result;
</span><del>-
</del><span class="cx">     if (!get(propertyName, result))
</span><span class="cx">         return Nullopt;
</span><del>-
</del><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-template &lt;typename T&gt;
-RefPtr&lt;EventListener&gt; Dictionary::getEventListener(const char* propertyName, T* target) const
</del><ins>+template&lt;typename T&gt; RefPtr&lt;EventListener&gt; Dictionary::getEventListener(const char* propertyName, T* target) const
</ins><span class="cx"> {
</span><del>-    if (!m_dictionary.isValid())
</del><ins>+    JSC::JSValue eventListener;
+    if (!get(propertyName, eventListener) || !eventListener || !eventListener.isObject())
</ins><span class="cx">         return nullptr;
</span><del>-
-    Deprecated::ScriptValue eventListener;
-    if (!m_dictionary.tryGetProperty(propertyName, eventListener))
-        return nullptr;
-    if (eventListener.hasNoValue())
-        return nullptr;
-    if (!eventListener.isObject())
-        return nullptr;
-
-    return JSEventListener::create(asObject(eventListener.jsValue()), asJSObject(target), true, currentWorld(m_dictionary.execState()));
</del><ins>+    return JSEventListener::create(asObject(eventListener), asJSObject(target), true, currentWorld(execState()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-template &lt;typename T&gt;
-RefPtr&lt;EventListener&gt; Dictionary::getEventListener(const String&amp; propertyName, T* target) const
</del><ins>+template&lt;typename T&gt; RefPtr&lt;EventListener&gt; Dictionary::getEventListener(const String&amp; propertyName, T* target) const
</ins><span class="cx"> {
</span><span class="cx">     return getEventListener(propertyName.utf8().data(), target);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span><del>-
-#endif // Dictionary_h
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCommandLineAPIHostCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/bindings/js/JSCommandLineAPIHostCustom.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -122,12 +122,10 @@
</span><span class="cx"> 
</span><span class="cx"> JSValue JSCommandLineAPIHost::inspect(ExecState&amp; state)
</span><span class="cx"> {
</span><del>-    if (state.argumentCount() &gt;= 2) {
-        Deprecated::ScriptValue object(state.vm(), state.uncheckedArgument(0));
-        Deprecated::ScriptValue hints(state.vm(), state.uncheckedArgument(1));
-        wrapped().inspectImpl(object.toInspectorValue(&amp;state), hints.toInspectorValue(&amp;state));
-    }
-
</del><ins>+    if (state.argumentCount() &lt; 2)
+        return jsUndefined();
+    wrapped().inspectImpl(Inspector::toInspectorValue(state, state.uncheckedArgument(0)),
+        Inspector::toInspectorValue(state, state.uncheckedArgument(1)));
</ins><span class="cx">     return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMessageEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -57,11 +57,10 @@
</span><span class="cx">     JSValue result;
</span><span class="cx">     switch (event.dataType()) {
</span><span class="cx">     case MessageEvent::DataTypeScriptValue: {
</span><del>-        Deprecated::ScriptValue scriptValue = event.dataAsScriptValue();
-        if (scriptValue.hasNoValue())
</del><ins>+        JSValue dataValue = event.dataAsScriptValue();
+        if (!dataValue)
</ins><span class="cx">             result = jsNull();
</span><span class="cx">         else {
</span><del>-            JSValue dataValue = scriptValue.jsValue();
</del><span class="cx">             // We need to make sure MessageEvents do not leak objects in their state property across isolated DOM worlds.
</span><span class="cx">             // Ideally, we would check that the worlds have different privileges but that's not possible yet.
</span><span class="cx">             if (dataValue.isObject() &amp;&amp; &amp;worldForDOMObject(dataValue.getObject()) != &amp;currentWorld(&amp;state)) {
</span><span class="lines">@@ -120,7 +119,7 @@
</span><span class="cx">         if (state.hadException())
</span><span class="cx">             return jsUndefined();
</span><span class="cx">     }
</span><del>-    Deprecated::ScriptValue dataArg = Deprecated::ScriptValue(state.vm(), state.argument(3));
</del><ins>+    Deprecated::ScriptValue dataArg(state.vm(), state.argument(3));
</ins><span class="cx">     if (state.hadException())
</span><span class="cx">         return jsUndefined();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -61,6 +61,7 @@
</span><span class="cx"> #include &quot;ProcessingInstruction.h&quot;
</span><span class="cx"> #include &quot;RegisteredEventListener.h&quot;
</span><span class="cx"> #include &quot;SVGElement.h&quot;
</span><ins>+#include &quot;ScriptState.h&quot;
</ins><span class="cx"> #include &quot;ShadowRoot.h&quot;
</span><span class="cx"> #include &quot;StyleSheet.h&quot;
</span><span class="cx"> #include &quot;StyledElement.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSNodeCustomh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSNodeCustom.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSNodeCustom.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/bindings/js/JSNodeCustom.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -23,12 +23,10 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef JSNodeCustom_h
-#define JSNodeCustom_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;JSDOMBinding.h&quot;
</span><span class="cx"> #include &quot;JSNode.h&quot;
</span><del>-#include &quot;ScriptState.h&quot;
</del><span class="cx"> #include &quot;ShadowRoot.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -91,5 +89,3 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // JSDOMNodeCustom_h
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSPopStateEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -58,17 +58,15 @@
</span><span class="cx"> 
</span><span class="cx">     PopStateEvent&amp; event = wrapped();
</span><span class="cx"> 
</span><del>-    if (!event.state().hasNoValue()) {
</del><ins>+    if (auto eventState = event.state()) {
</ins><span class="cx">         // We need to make sure a PopStateEvent does not leak objects in its state property across isolated DOM worlds.
</span><span class="cx">         // Ideally, we would check that the worlds have different privileges but that's not possible yet.
</span><del>-        JSValue eventState = event.state().jsValue();
</del><span class="cx">         if (eventState.isObject() &amp;&amp; &amp;worldForDOMObject(eventState.getObject()) != &amp;currentWorld(&amp;state)) {
</span><del>-            if (RefPtr&lt;SerializedScriptValue&gt; serializedValue = event.trySerializeState(&amp;state))
</del><ins>+            if (auto serializedValue = event.trySerializeState(&amp;state))
</ins><span class="cx">                 eventState = serializedValue-&gt;deserialize(&amp;state, globalObject(), nullptr);
</span><span class="cx">             else
</span><span class="cx">                 eventState = jsNull();
</span><span class="cx">         }
</span><del>-        
</del><span class="cx">         return cacheState(state, this, eventState);
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="lines">@@ -82,7 +80,7 @@
</span><span class="cx">     // The current history state object might've changed in the meantime, so we need to take care
</span><span class="cx">     // of using the correct one, and always share the same deserialization with history.state.
</span><span class="cx"> 
</span><del>-    bool isSameState = history-&gt;isSameAsCurrentState(event.serializedState().get());
</del><ins>+    bool isSameState = history-&gt;isSameAsCurrentState(event.serializedState());
</ins><span class="cx">     JSValue result;
</span><span class="cx"> 
</span><span class="cx">     if (isSameState) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScriptStateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/ScriptState.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScriptState.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/bindings/js/ScriptState.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -29,14 +29,14 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef ScriptState_h
-#define ScriptState_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> class ExecState;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><ins>+
</ins><span class="cx"> class DOMWindow;
</span><span class="cx"> class DOMWrapperWorld;
</span><span class="cx"> class Frame;
</span><span class="lines">@@ -45,12 +45,6 @@
</span><span class="cx"> class ScriptExecutionContext;
</span><span class="cx"> class WorkerGlobalScope;
</span><span class="cx"> 
</span><del>-// The idea is to expose &quot;state-like&quot; methods (hadException, and any other
-// methods where ExecState just dips into vm) of JSC::ExecState as a
-// separate abstraction.
-// For now, the separation is purely by convention.
-typedef JSC::ExecState ScriptState;
-
</del><span class="cx"> DOMWindow* domWindowFromExecState(JSC::ExecState*);
</span><span class="cx"> Frame* frameFromExecState(JSC::ExecState*);
</span><span class="cx"> ScriptExecutionContext* scriptExecutionContextFromExecState(JSC::ExecState*);
</span><span class="lines">@@ -62,5 +56,3 @@
</span><span class="cx"> JSC::ExecState* execStateFromWorkerGlobalScope(WorkerGlobalScope*);
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // ScriptState_h
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsSerializedScriptValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -49,6 +49,7 @@
</span><span class="cx"> #include &quot;JSMessagePort.h&quot;
</span><span class="cx"> #include &quot;JSNavigator.h&quot;
</span><span class="cx"> #include &quot;ScriptExecutionContext.h&quot;
</span><ins>+#include &quot;ScriptState.h&quot;
</ins><span class="cx"> #include &quot;SharedBuffer.h&quot;
</span><span class="cx"> #include &quot;WebCoreJSClientData.h&quot;
</span><span class="cx"> #include &lt;limits&gt;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsSerializedScriptValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -24,10 +24,8 @@
</span><span class="cx">  *
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef SerializedScriptValue_h
-#define SerializedScriptValue_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><del>-#include &quot;ScriptState.h&quot;
</del><span class="cx"> #include &lt;bindings/ScriptValue.h&gt;
</span><span class="cx"> #include &lt;heap/Strong.h&gt;
</span><span class="cx"> #include &lt;runtime/ArrayBuffer.h&gt;
</span><span class="lines">@@ -115,5 +113,3 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span><del>-
-#endif // SerializedScriptValue_h
</del></span></pre></div>
<a id="trunkSourceWebCorecssFontFacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/FontFace.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/FontFace.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/css/FontFace.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">     return result.isNull() ? Nullopt : Optional&lt;String&gt;(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;FontFace&gt; FontFace::create(JSC::ExecState&amp; execState, ScriptExecutionContext&amp; context, const String&amp; family, const Deprecated::ScriptValue&amp; source, const Dictionary&amp; descriptors, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;FontFace&gt; FontFace::create(JSC::ExecState&amp; execState, ScriptExecutionContext&amp; context, const String&amp; family, JSC::JSValue source, const Dictionary&amp; descriptors, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     if (!context.isDocument()) {
</span><span class="cx">         ec = TypeError;
</span><span class="lines">@@ -66,20 +66,19 @@
</span><span class="cx"> 
</span><span class="cx">     Ref&lt;FontFace&gt; result = adoptRef(*new FontFace(execState, downcast&lt;Document&gt;(context).fontSelector()));
</span><span class="cx"> 
</span><ins>+    ec = 0;
</ins><span class="cx">     result-&gt;setFamily(family, ec);
</span><span class="cx">     if (ec)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    if (source.jsValue().isString()) {
-        String sourceString = source.jsValue().toString(&amp;execState)-&gt;value(&amp;execState);
</del><ins>+    if (source.isString()) {
+        String sourceString = source.toString(&amp;execState)-&gt;value(&amp;execState);
</ins><span class="cx">         auto value = FontFace::parseString(sourceString, CSSPropertySrc);
</span><del>-        if (is&lt;CSSValueList&gt;(value.get())) {
-            CSSValueList&amp; srcList = downcast&lt;CSSValueList&gt;(*value);
-            CSSFontFace::appendSources(result-&gt;backing(), srcList, &amp;downcast&lt;Document&gt;(context), false);
-        } else {
</del><ins>+        if (!is&lt;CSSValueList&gt;(value.get())) {
</ins><span class="cx">             ec = SYNTAX_ERR;
</span><span class="cx">             return nullptr;
</span><span class="cx">         }
</span><ins>+        CSSFontFace::appendSources(result-&gt;backing(), downcast&lt;CSSValueList&gt;(*value), &amp;downcast&lt;Document&gt;(context), false);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (auto style = valueFromDictionary(descriptors, &quot;style&quot;))
</span></span></pre></div>
<a id="trunkSourceWebCorecssFontFaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/FontFace.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/FontFace.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/css/FontFace.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> 
</span><span class="cx"> class FontFace final : public RefCounted&lt;FontFace&gt;, public CSSFontFace::Client {
</span><span class="cx"> public:
</span><del>-    static RefPtr&lt;FontFace&gt; create(JSC::ExecState&amp;, ScriptExecutionContext&amp;, const String&amp; family, const Deprecated::ScriptValue&amp; source, const Dictionary&amp; descriptors, ExceptionCode&amp;);
</del><ins>+    static RefPtr&lt;FontFace&gt; create(JSC::ExecState&amp;, ScriptExecutionContext&amp;, const String&amp; family, JSC::JSValue source, const Dictionary&amp; descriptors, ExceptionCode&amp;);
</ins><span class="cx">     static Ref&lt;FontFace&gt; create(JSC::ExecState&amp;, CSSFontFace&amp;);
</span><span class="cx">     virtual ~FontFace();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessageEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessageEvent.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessageEvent.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/dom/MessageEvent.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -28,6 +28,8 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;MessageEvent.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;Blob.h&quot;
+#include &quot;DOMWindow.h&quot;
</ins><span class="cx"> #include &lt;runtime/JSCInlines.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -37,12 +39,12 @@
</span><span class="cx">     return !source || source-&gt;toDOMWindow() || source-&gt;isMessagePort();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-MessageEvent::MessageEvent()
</del><ins>+inline MessageEvent::MessageEvent()
</ins><span class="cx">     : m_dataType(DataTypeScriptValue)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-MessageEvent::MessageEvent(const AtomicString&amp; type, const MessageEventInit&amp; initializer)
</del><ins>+inline MessageEvent::MessageEvent(const AtomicString&amp; type, const MessageEventInit&amp; initializer)
</ins><span class="cx">     : Event(type, initializer)
</span><span class="cx">     , m_dataType(DataTypeScriptValue)
</span><span class="cx">     , m_dataAsScriptValue(initializer.data)
</span><span class="lines">@@ -53,40 +55,28 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-MessageEvent::MessageEvent(const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, std::unique_ptr&lt;MessagePortArray&gt; ports)
</del><ins>+inline MessageEvent::MessageEvent(RefPtr&lt;SerializedScriptValue&gt;&amp;&amp; data, const String&amp; origin, const String&amp; lastEventId, EventTarget* source, std::unique_ptr&lt;MessagePortArray&gt; ports)
</ins><span class="cx">     : Event(eventNames().messageEvent, false, false)
</span><del>-    , m_dataType(DataTypeScriptValue)
-    , m_dataAsScriptValue(data)
-    , m_origin(origin)
-    , m_lastEventId(lastEventId)
-    , m_source(source)
-    , m_ports(WTFMove(ports))
-{
-    ASSERT(isValidSource(m_source.get()));
-}
-
-MessageEvent::MessageEvent(PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, std::unique_ptr&lt;MessagePortArray&gt; ports)
-    : Event(eventNames().messageEvent, false, false)
</del><span class="cx">     , m_dataType(DataTypeSerializedScriptValue)
</span><del>-    , m_dataAsSerializedScriptValue(data)
</del><ins>+    , m_dataAsSerializedScriptValue(WTFMove(data))
</ins><span class="cx">     , m_origin(origin)
</span><span class="cx">     , m_lastEventId(lastEventId)
</span><span class="cx">     , m_source(source)
</span><span class="cx">     , m_ports(WTFMove(ports))
</span><span class="cx"> {
</span><del>-    ASSERT(isValidSource(m_source.get()));
</del><ins>+    ASSERT(isValidSource(source));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-MessageEvent::MessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId)
-    : Event(type, canBubble, cancelable)
</del><ins>+inline MessageEvent::MessageEvent(const AtomicString&amp; type, RefPtr&lt;SerializedScriptValue&gt;&amp;&amp; data, const String&amp; origin, const String&amp; lastEventId)
+    : Event(type, false, false)
</ins><span class="cx">     , m_dataType(DataTypeSerializedScriptValue)
</span><del>-    , m_dataAsSerializedScriptValue(data)
</del><ins>+    , m_dataAsSerializedScriptValue(WTFMove(data))
</ins><span class="cx">     , m_origin(origin)
</span><span class="cx">     , m_lastEventId(lastEventId)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-MessageEvent::MessageEvent(const String&amp; data, const String&amp; origin)
</del><ins>+inline MessageEvent::MessageEvent(const String&amp; data, const String&amp; origin)
</ins><span class="cx">     : Event(eventNames().messageEvent, false, false)
</span><span class="cx">     , m_dataType(DataTypeString)
</span><span class="cx">     , m_dataAsString(data)
</span><span class="lines">@@ -94,15 +84,15 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-MessageEvent::MessageEvent(PassRefPtr&lt;Blob&gt; data, const String&amp; origin)
</del><ins>+inline MessageEvent::MessageEvent(Ref&lt;Blob&gt;&amp;&amp; data, const String&amp; origin)
</ins><span class="cx">     : Event(eventNames().messageEvent, false, false)
</span><span class="cx">     , m_dataType(DataTypeBlob)
</span><del>-    , m_dataAsBlob(data)
</del><ins>+    , m_dataAsBlob(WTFMove(data))
</ins><span class="cx">     , m_origin(origin)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-MessageEvent::MessageEvent(Ref&lt;ArrayBuffer&gt;&amp;&amp; data, const String&amp; origin)
</del><ins>+inline MessageEvent::MessageEvent(Ref&lt;ArrayBuffer&gt;&amp;&amp; data, const String&amp; origin)
</ins><span class="cx">     : Event(eventNames().messageEvent, false, false)
</span><span class="cx">     , m_dataType(DataTypeArrayBuffer)
</span><span class="cx">     , m_dataAsArrayBuffer(WTFMove(data))
</span><span class="lines">@@ -110,6 +100,41 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref&lt;MessageEvent&gt; MessageEvent::create(std::unique_ptr&lt;MessagePortArray&gt; ports, RefPtr&lt;SerializedScriptValue&gt;&amp;&amp; data, const String&amp; origin, const String&amp; lastEventId, EventTarget* source)
+{
+    return adoptRef(*new MessageEvent(WTFMove(data), origin, lastEventId, source, WTFMove(ports)));
+}
+
+Ref&lt;MessageEvent&gt; MessageEvent::create(const AtomicString&amp; type, RefPtr&lt;SerializedScriptValue&gt;&amp;&amp; data, const String&amp; origin, const String&amp; lastEventId)
+{
+    return adoptRef(*new MessageEvent(type, WTFMove(data), origin, lastEventId));
+}
+
+Ref&lt;MessageEvent&gt; MessageEvent::create(const String&amp; data, const String&amp; origin)
+{
+    return adoptRef(*new MessageEvent(data, origin));
+}
+
+Ref&lt;MessageEvent&gt; MessageEvent::create(Ref&lt;Blob&gt;&amp;&amp; data, const String&amp; origin)
+{
+    return adoptRef(*new MessageEvent(WTFMove(data), origin));
+}
+
+Ref&lt;MessageEvent&gt; MessageEvent::create(Ref&lt;ArrayBuffer&gt;&amp;&amp; data, const String&amp; origin)
+{
+    return adoptRef(*new MessageEvent(WTFMove(data), origin));
+}
+
+Ref&lt;MessageEvent&gt; MessageEvent::createForBindings()
+{
+    return adoptRef(*new MessageEvent);
+}
+
+Ref&lt;MessageEvent&gt; MessageEvent::createForBindings(const AtomicString&amp; type, const MessageEventInit&amp; initializer)
+{
+    return adoptRef(*new MessageEvent(type, initializer));
+}
+
</ins><span class="cx"> MessageEvent::~MessageEvent()
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessageEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessageEvent.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessageEvent.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/dom/MessageEvent.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -25,21 +25,16 @@
</span><span class="cx">  *
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef MessageEvent_h
-#define MessageEvent_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><del>-#include &quot;Blob.h&quot;
-#include &quot;DOMWindow.h&quot;
</del><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;MessagePort.h&quot;
</span><span class="cx"> #include &quot;SerializedScriptValue.h&quot;
</span><span class="cx"> #include &lt;bindings/ScriptValue.h&gt;
</span><del>-#include &lt;memory&gt;
-#include &lt;runtime/ArrayBuffer.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class EventTarget;
</del><ins>+class Blob;
</ins><span class="cx"> 
</span><span class="cx"> struct MessageEventInit : public EventInit {
</span><span class="cx">     Deprecated::ScriptValue data;
</span><span class="lines">@@ -51,38 +46,13 @@
</span><span class="cx"> 
</span><span class="cx"> class MessageEvent final : public Event {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;MessageEvent&gt; create(std::unique_ptr&lt;MessagePortArray&gt; ports, const Deprecated::ScriptValue&amp; data = Deprecated::ScriptValue(), const String&amp; origin = String(), const String&amp; lastEventId = String(), PassRefPtr&lt;EventTarget&gt; source = nullptr)
-    {
-        return adoptRef(*new MessageEvent(data, origin, lastEventId, source, WTFMove(ports)));
-    }
-    static Ref&lt;MessageEvent&gt; create(std::unique_ptr&lt;MessagePortArray&gt; ports, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin = String(), const String&amp; lastEventId = String(), PassRefPtr&lt;EventTarget&gt; source = nullptr)
-    {
-        return adoptRef(*new MessageEvent(data, origin, lastEventId, source, WTFMove(ports)));
-    }
-    static Ref&lt;MessageEvent&gt; create(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId)
-    {
-        return adoptRef(*new MessageEvent(type, canBubble, cancelable, data, origin, lastEventId));
-    }
-    static Ref&lt;MessageEvent&gt; create(const String&amp; data, const String&amp; origin = String())
-    {
-        return adoptRef(*new MessageEvent(data, origin));
-    }
-    static Ref&lt;MessageEvent&gt; create(PassRefPtr&lt;Blob&gt; data, const String&amp; origin = String())
-    {
-        return adoptRef(*new MessageEvent(data, origin));
-    }
-    static Ref&lt;MessageEvent&gt; create(Ref&lt;ArrayBuffer&gt;&amp;&amp; data, const String&amp; origin = String())
-    {
-        return adoptRef(*new MessageEvent(WTFMove(data), origin));
-    }
-    static Ref&lt;MessageEvent&gt; createForBindings()
-    {
-        return adoptRef(*new MessageEvent);
-    }
-    static Ref&lt;MessageEvent&gt; createForBindings(const AtomicString&amp; type, const MessageEventInit&amp; initializer)
-    {
-        return adoptRef(*new MessageEvent(type, initializer));
-    }
</del><ins>+    static Ref&lt;MessageEvent&gt; create(std::unique_ptr&lt;MessagePortArray&gt;, RefPtr&lt;SerializedScriptValue&gt;&amp;&amp;, const String&amp; origin = { }, const String&amp; lastEventId = { }, EventTarget* source = nullptr);
+    static Ref&lt;MessageEvent&gt; create(const AtomicString&amp; type, RefPtr&lt;SerializedScriptValue&gt;&amp;&amp;, const String&amp; origin, const String&amp; lastEventId);
+    static Ref&lt;MessageEvent&gt; create(const String&amp; data, const String&amp; origin = { });
+    static Ref&lt;MessageEvent&gt; create(Ref&lt;Blob&gt;&amp;&amp; data, const String&amp; origin);
+    static Ref&lt;MessageEvent&gt; create(Ref&lt;ArrayBuffer&gt;&amp;&amp; data, const String&amp; origin = { });
+    static Ref&lt;MessageEvent&gt; createForBindings();
+    static Ref&lt;MessageEvent&gt; createForBindings(const AtomicString&amp; type, const MessageEventInit&amp;);
</ins><span class="cx">     virtual ~MessageEvent();
</span><span class="cx"> 
</span><span class="cx">     void initMessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, DOMWindow* source, std::unique_ptr&lt;MessagePortArray&gt;);
</span><span class="lines">@@ -110,7 +80,7 @@
</span><span class="cx">         DataTypeArrayBuffer
</span><span class="cx">     };
</span><span class="cx">     DataType dataType() const { return m_dataType; }
</span><del>-    const Deprecated::ScriptValue&amp; dataAsScriptValue() const { ASSERT(m_dataType == DataTypeScriptValue); return m_dataAsScriptValue; }
</del><ins>+    JSC::JSValue dataAsScriptValue() const { ASSERT(m_dataType == DataTypeScriptValue); return m_dataAsScriptValue; }
</ins><span class="cx">     PassRefPtr&lt;SerializedScriptValue&gt; dataAsSerializedScriptValue() const { ASSERT(m_dataType == DataTypeSerializedScriptValue); return m_dataAsSerializedScriptValue; }
</span><span class="cx">     String dataAsString() const { ASSERT(m_dataType == DataTypeString); return m_dataAsString; }
</span><span class="cx">     Blob* dataAsBlob() const { ASSERT(m_dataType == DataTypeBlob); return m_dataAsBlob.get(); }
</span><span class="lines">@@ -121,14 +91,12 @@
</span><span class="cx"> private:
</span><span class="cx">     MessageEvent();
</span><span class="cx">     MessageEvent(const AtomicString&amp;, const MessageEventInit&amp;);
</span><del>-    MessageEvent(const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, std::unique_ptr&lt;MessagePortArray&gt;);
-    MessageEvent(PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, std::unique_ptr&lt;MessagePortArray&gt;);
-    MessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId);
</del><ins>+    MessageEvent(RefPtr&lt;SerializedScriptValue&gt;&amp;&amp; data, const String&amp; origin, const String&amp; lastEventId, EventTarget* source, std::unique_ptr&lt;MessagePortArray&gt;);
+    MessageEvent(const AtomicString&amp; type, RefPtr&lt;SerializedScriptValue&gt;&amp;&amp; data, const String&amp; origin, const String&amp; lastEventId);
+    MessageEvent(const String&amp; data, const String&amp; origin);
+    MessageEvent(Ref&lt;Blob&gt;&amp;&amp; data, const String&amp; origin);
+    MessageEvent(Ref&lt;ArrayBuffer&gt;&amp;&amp; data, const String&amp; origin);
</ins><span class="cx"> 
</span><del>-    explicit MessageEvent(const String&amp; data, const String&amp; origin);
-    explicit MessageEvent(PassRefPtr&lt;Blob&gt; data, const String&amp; origin);
-    explicit MessageEvent(Ref&lt;ArrayBuffer&gt;&amp;&amp; data, const String&amp; origin);
-
</del><span class="cx">     DataType m_dataType;
</span><span class="cx">     Deprecated::ScriptValue m_dataAsScriptValue;
</span><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; m_dataAsSerializedScriptValue;
</span><span class="lines">@@ -143,5 +111,3 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // MessageEvent_h
</del></span></pre></div>
<a id="trunkSourceWebCoredomNodeFilterConditionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeFilterCondition.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeFilterCondition.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/dom/NodeFilterCondition.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -22,29 +22,23 @@
</span><span class="cx">  *
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef NodeFilterCondition_h
-#define NodeFilterCondition_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><del>-#include &quot;ScriptState.h&quot;
</del><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><del>-
</del><span class="cx"> class SlotVisitor;
</span><del>-
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-    class Node;
</del><ins>+class Node;
</ins><span class="cx"> 
</span><del>-    class NodeFilterCondition : public RefCounted&lt;NodeFilterCondition&gt; {
-    public:
-        virtual ~NodeFilterCondition() { }
-        virtual short acceptNode(Node*) const = 0;
-        virtual void visitAggregate(JSC::SlotVisitor&amp;) { }
-    };
</del><ins>+class NodeFilterCondition : public RefCounted&lt;NodeFilterCondition&gt; {
+public:
+    virtual ~NodeFilterCondition() { }
+    virtual short acceptNode(Node*) const = 0;
+    virtual void visitAggregate(JSC::SlotVisitor&amp;) { }
+};
</ins><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // NodeFilterCondition_h
</del></span></pre></div>
<a id="trunkSourceWebCoredomPopStateEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PopStateEvent.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PopStateEvent.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/dom/PopStateEvent.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -24,33 +24,31 @@
</span><span class="cx">  *
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef PopStateEvent_h
-#define PopStateEvent_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;Event.h&quot;
</span><del>-#include &quot;SerializedScriptValue.h&quot;
</del><span class="cx"> #include &lt;bindings/ScriptValue.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+class History;
+class SerializedScriptValue;
+
</ins><span class="cx"> struct PopStateEventInit : public EventInit {
</span><span class="cx">     Deprecated::ScriptValue state;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class History;
-class SerializedScriptValue;
-
</del><span class="cx"> class PopStateEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     virtual ~PopStateEvent();
</span><span class="cx">     static Ref&lt;PopStateEvent&gt; create(RefPtr&lt;SerializedScriptValue&gt;&amp;&amp;, PassRefPtr&lt;History&gt;);
</span><span class="cx">     static Ref&lt;PopStateEvent&gt; createForBindings(const AtomicString&amp;, const PopStateEventInit&amp;);
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;SerializedScriptValue&gt; serializedState() const { ASSERT(m_serializedState); return m_serializedState; }
-    
</del><ins>+    JSC::JSValue state() const { return m_state; }
+    SerializedScriptValue* serializedState() const { return m_serializedState.get(); }
+
</ins><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; trySerializeState(JSC::ExecState*);
</span><span class="cx">     
</span><del>-    const Deprecated::ScriptValue&amp; state() const { return m_state; }
</del><span class="cx">     History* history() const { return m_history.get(); }
</span><span class="cx"> 
</span><span class="cx">     EventInterface eventInterface() const override;
</span><span class="lines">@@ -66,5 +64,3 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // PopStateEvent_h
</del></span></pre></div>
<a id="trunkSourceWebCoredomTraversalcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Traversal.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Traversal.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/dom/Traversal.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-NodeIteratorBase::NodeIteratorBase(Node&amp; rootNode, unsigned long whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp; nodeFilter)
</del><ins>+NodeIteratorBase::NodeIteratorBase(Node&amp; rootNode, unsigned whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp; nodeFilter)
</ins><span class="cx">     : m_root(&amp;rootNode)
</span><span class="cx">     , m_whatToShow(whatToShow)
</span><span class="cx">     , m_filter(WTFMove(nodeFilter))
</span></span></pre></div>
<a id="trunkSourceWebCoredomTraversalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Traversal.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Traversal.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/dom/Traversal.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -22,34 +22,30 @@
</span><span class="cx">  *
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef Traversal_h
-#define Traversal_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><del>-#include &quot;ScriptState.h&quot;
</del><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-    class Node;
-    class NodeFilter;
</del><ins>+class Node;
+class NodeFilter;
</ins><span class="cx"> 
</span><del>-    class NodeIteratorBase {
-    public:
-        Node* root() const { return m_root.get(); }
-        unsigned long whatToShow() const { return m_whatToShow; }
-        NodeFilter* filter() const { return m_filter.get(); }
-        bool expandEntityReferences() const { return false; }
</del><ins>+class NodeIteratorBase {
+public:
+    Node* root() const { return m_root.get(); }
+    unsigned whatToShow() const { return m_whatToShow; }
+    NodeFilter* filter() const { return m_filter.get(); }
+    bool expandEntityReferences() const { return false; }
</ins><span class="cx"> 
</span><del>-    protected:
-        NodeIteratorBase(Node&amp;, unsigned long whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp;);
-        short acceptNode(Node*) const;
</del><ins>+protected:
+    NodeIteratorBase(Node&amp;, unsigned whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp;);
+    short acceptNode(Node*) const;
</ins><span class="cx"> 
</span><del>-    private:
-        RefPtr&lt;Node&gt; m_root;
-        unsigned long m_whatToShow;
-        RefPtr&lt;NodeFilter&gt; m_filter;
-    };
</del><ins>+private:
+    RefPtr&lt;Node&gt; m_root;
+    unsigned m_whatToShow;
+    RefPtr&lt;NodeFilter&gt; m_filter;
+};
</ins><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // Traversal_h
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLPlugInElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLPlugInElement.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLPlugInElement.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/html/HTMLPlugInElement.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -327,7 +327,7 @@
</span><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     root-&gt;setResetStyleInheritance(true);
</span><del>-    if (m_pluginReplacement-&gt;installReplacement(root)) {
</del><ins>+    if (m_pluginReplacement-&gt;installReplacement(*root)) {
</ins><span class="cx">         setDisplayState(DisplayingPluginReplacement);
</span><span class="cx">         setNeedsStyleRecalc(ReconstructRenderTree);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -1496,7 +1496,7 @@
</span><span class="cx">     if (objectGroupId &amp;&amp; handler &amp;&amp; state) {
</span><span class="cx">         InjectedScript injectedScript = m_injectedScriptManager.injectedScriptFor(state);
</span><span class="cx">         if (!injectedScript.hasNoValue())
</span><del>-            value-&gt;setHandler(injectedScript.wrapObject(Deprecated::ScriptValue(state-&gt;vm(), handler), *objectGroupId));
</del><ins>+            value-&gt;setHandler(injectedScript.wrapObject(handler, *objectGroupId));
</ins><span class="cx">     }
</span><span class="cx">     if (!scriptID.isNull()) {
</span><span class="cx">         auto location = Inspector::Protocol::Debugger::Location::create()
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorFrontendHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">     
</span><span class="cx">     void disconnect()
</span><span class="cx">     {
</span><del>-        m_frontendApiObject = Deprecated::ScriptObject();
</del><ins>+        m_frontendApiObject = { };
</ins><span class="cx">         m_frontendHost = nullptr;
</span><span class="cx">     }
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorIndexedDBAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -58,6 +58,7 @@
</span><span class="cx"> #include &quot;IDBTransaction.h&quot;
</span><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><ins>+#include &quot;ScriptState.h&quot;
</ins><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="cx"> #include &lt;inspector/InjectedScript.h&gt;
</span><span class="cx"> #include &lt;inspector/InjectedScriptManager.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -29,8 +29,7 @@
</span><span class="cx"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx"> */
</span><span class="cx"> 
</span><del>-#ifndef InspectorInstrumentation_h
-#define InspectorInstrumentation_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;CSSSelector.h&quot;
</span><span class="cx"> #include &quot;Element.h&quot;
</span><span class="lines">@@ -41,7 +40,6 @@
</span><span class="cx"> #include &quot;MemoryPressureHandler.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;ScriptExecutionContext.h&quot;
</span><del>-#include &quot;ScriptState.h&quot;
</del><span class="cx"> #include &quot;StorageArea.h&quot;
</span><span class="cx"> #include &quot;WebSocketFrame.h&quot;
</span><span class="cx"> #include &lt;runtime/ConsoleTypes.h&gt;
</span><span class="lines">@@ -255,11 +253,6 @@
</span><span class="cx">     static void didReceiveWebSocketFrameError(Document*, unsigned long identifier, const String&amp; errorMessage);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    static Deprecated::ScriptObject wrapCanvas2DRenderingContextForInstrumentation(Document*, const Deprecated::ScriptObject&amp;);
-#if ENABLE(WEBGL)
-    static Deprecated::ScriptObject wrapWebGLRenderingContextForInstrumentation(Document*, const Deprecated::ScriptObject&amp;);
-#endif
-
</del><span class="cx"> #if ENABLE(RESOURCE_USAGE)
</span><span class="cx">     static void didHandleMemoryPressure(Page&amp;, Critical);
</span><span class="cx"> #endif
</span><span class="lines">@@ -1292,5 +1285,3 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // !defined(InspectorInstrumentation_h)
</del></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindow.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/page/DOMWindow.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -144,21 +144,20 @@
</span><span class="cx"> 
</span><span class="cx"> class PostMessageTimer : public TimerBase {
</span><span class="cx"> public:
</span><del>-    PostMessageTimer(DOMWindow* window, PassRefPtr&lt;SerializedScriptValue&gt; message, const String&amp; sourceOrigin, PassRefPtr&lt;DOMWindow&gt; source, std::unique_ptr&lt;MessagePortChannelArray&gt; channels, SecurityOrigin* targetOrigin, PassRefPtr&lt;ScriptCallStack&gt; stackTrace)
</del><ins>+    PostMessageTimer(DOMWindow&amp; window, PassRefPtr&lt;SerializedScriptValue&gt; message, const String&amp; sourceOrigin, DOMWindow&amp; source, std::unique_ptr&lt;MessagePortChannelArray&gt; channels, RefPtr&lt;SecurityOrigin&gt;&amp;&amp; targetOrigin, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; stackTrace)
</ins><span class="cx">         : m_window(window)
</span><span class="cx">         , m_message(message)
</span><span class="cx">         , m_origin(sourceOrigin)
</span><span class="cx">         , m_source(source)
</span><span class="cx">         , m_channels(WTFMove(channels))
</span><del>-        , m_targetOrigin(targetOrigin)
</del><ins>+        , m_targetOrigin(WTFMove(targetOrigin))
</ins><span class="cx">         , m_stackTrace(stackTrace)
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Ref&lt;MessageEvent&gt; event(ScriptExecutionContext* context)
</del><ins>+    Ref&lt;MessageEvent&gt; event(ScriptExecutionContext&amp; context)
</ins><span class="cx">     {
</span><del>-        std::unique_ptr&lt;MessagePortArray&gt; messagePorts = MessagePort::entanglePorts(*context, WTFMove(m_channels));
-        return MessageEvent::create(WTFMove(messagePorts), m_message, m_origin, String(), m_source);
</del><ins>+        return MessageEvent::create(MessagePort::entanglePorts(context, WTFMove(m_channels)), WTFMove(m_message), m_origin, { }, m_source.ptr());
</ins><span class="cx">     }
</span><span class="cx">     SecurityOrigin* targetOrigin() const { return m_targetOrigin.get(); }
</span><span class="cx">     ScriptCallStack* stackTrace() const { return m_stackTrace.get(); }
</span><span class="lines">@@ -171,10 +170,10 @@
</span><span class="cx">         m_window-&gt;postMessageTimerFired(*timer);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;DOMWindow&gt; m_window;
</del><ins>+    Ref&lt;DOMWindow&gt; m_window;
</ins><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; m_message;
</span><span class="cx">     String m_origin;
</span><del>-    RefPtr&lt;DOMWindow&gt; m_source;
</del><ins>+    Ref&lt;DOMWindow&gt; m_source;
</ins><span class="cx">     std::unique_ptr&lt;MessagePortChannelArray&gt; m_channels;
</span><span class="cx">     RefPtr&lt;SecurityOrigin&gt; m_targetOrigin;
</span><span class="cx">     RefPtr&lt;ScriptCallStack&gt; m_stackTrace;
</span><span class="lines">@@ -899,7 +898,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    std::unique_ptr&lt;MessagePortChannelArray&gt; channels = MessagePort::disentanglePorts(ports, ec);
</del><ins>+    auto channels = MessagePort::disentanglePorts(ports, ec);
</ins><span class="cx">     if (ec)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -915,7 +914,7 @@
</span><span class="cx">         stackTrace = createScriptCallStack(JSMainThreadExecState::currentState(), ScriptCallStack::maxCallStackSizeToCapture);
</span><span class="cx"> 
</span><span class="cx">     // Schedule the message.
</span><del>-    PostMessageTimer* timer = new PostMessageTimer(this, message, sourceOrigin, &amp;source, WTFMove(channels), target.get(), stackTrace.release());
</del><ins>+    PostMessageTimer* timer = new PostMessageTimer(*this, message, sourceOrigin, source, WTFMove(channels), WTFMove(target), WTFMove(stackTrace));
</ins><span class="cx">     timer-&gt;startOneShot(0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -924,7 +923,7 @@
</span><span class="cx">     if (!document() || !isCurrentlyDisplayedInFrame())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    dispatchMessageEventWithOriginCheck(timer.targetOrigin(), timer.event(document()), timer.stackTrace());
</del><ins>+    dispatchMessageEventWithOriginCheck(timer.targetOrigin(), timer.event(*document()), timer.stackTrace());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void DOMWindow::dispatchMessageEventWithOriginCheck(SecurityOrigin* intendedTargetOrigin, Event&amp; event, PassRefPtr&lt;ScriptCallStack&gt; stackTrace)
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventSource.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventSource.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/page/EventSource.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -413,7 +413,7 @@
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;MessageEvent&gt; EventSource::createMessageEvent()
</span><span class="cx"> {
</span><del>-    return MessageEvent::create(m_eventName.isEmpty() ? eventNames().messageEvent : AtomicString(m_eventName), false, false, SerializedScriptValue::create(String::adopt(m_data)), m_eventStreamOrigin, m_lastEventId);
</del><ins>+    return MessageEvent::create(m_eventName.isEmpty() ? eventNames().messageEvent : AtomicString(m_eventName), SerializedScriptValue::create(String::adopt(m_data)), m_eventStreamOrigin, m_lastEventId);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorepagecspContentSecurityPolicyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/csp/ContentSecurityPolicy.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/csp/ContentSecurityPolicy.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/page/csp/ContentSecurityPolicy.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -24,15 +24,17 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef ContentSecurityPolicy_h
-#define ContentSecurityPolicy_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;ContentSecurityPolicyResponseHeaders.h&quot;
</span><del>-#include &quot;ScriptState.h&quot;
</del><span class="cx"> #include &lt;wtf/OptionSet.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> #include &lt;wtf/text/TextPosition.h&gt;
</span><span class="cx"> 
</span><ins>+namespace JSC {
+class ExecState;
+}
+
</ins><span class="cx"> namespace WTF {
</span><span class="cx"> class OrdinalNumber;
</span><span class="cx"> }
</span><span class="lines">@@ -43,6 +45,7 @@
</span><span class="cx"> class ContentSecurityPolicyDirectiveList;
</span><span class="cx"> class ContentSecurityPolicySource;
</span><span class="cx"> class DOMStringList;
</span><ins>+class Frame;
</ins><span class="cx"> class JSDOMWindowShell;
</span><span class="cx"> class ScriptExecutionContext;
</span><span class="cx"> class SecurityOrigin;
</span><span class="lines">@@ -184,5 +187,3 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span><del>-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorepagecspContentSecurityPolicyDirectiveListh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -24,21 +24,20 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef ContentSecurityPolicyDirectiveList_h
-#define ContentSecurityPolicyDirectiveList_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;ContentSecurityPolicy.h&quot;
</span><span class="cx"> #include &quot;ContentSecurityPolicyHash.h&quot;
</span><span class="cx"> #include &quot;ContentSecurityPolicyMediaListDirective.h&quot;
</span><span class="cx"> #include &quot;ContentSecurityPolicySourceListDirective.h&quot;
</span><span class="cx"> #include &quot;URL.h&quot;
</span><del>-#include &lt;wtf/Noncopyable.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+class Frame;
+
</ins><span class="cx"> class ContentSecurityPolicyDirectiveList {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><del>-    WTF_MAKE_NONCOPYABLE(ContentSecurityPolicyDirectiveList)
</del><span class="cx"> public:
</span><span class="cx">     static std::unique_ptr&lt;ContentSecurityPolicyDirectiveList&gt; create(ContentSecurityPolicy&amp;, const String&amp;, ContentSecurityPolicyHeaderType, ContentSecurityPolicy::PolicyFrom);
</span><span class="cx">     ContentSecurityPolicyDirectiveList(ContentSecurityPolicy&amp;, ContentSecurityPolicyHeaderType);
</span><span class="lines">@@ -125,5 +124,3 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif /* ContentSecurityPolicyDirectiveList_h */
</del></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/testing/Internals.cpp        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -505,9 +505,9 @@
</span><span class="cx">     return styleChangeTypeToString(node.styleChangeType());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String Internals::description(Deprecated::ScriptValue value)
</del><ins>+String Internals::description(JSC::JSValue value)
</ins><span class="cx"> {
</span><del>-    return toString(value.jsValue());
</del><ins>+    return toString(value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool Internals::isPreloaded(const String&amp; url)
</span><span class="lines">@@ -1491,11 +1491,10 @@
</span><span class="cx">     mutable CodeBlock* m_codeBlock;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-String Internals::parserMetaData(Deprecated::ScriptValue value)
</del><ins>+String Internals::parserMetaData(JSC::JSValue code)
</ins><span class="cx"> {
</span><span class="cx">     JSC::VM&amp; vm = contextDocument()-&gt;vm();
</span><span class="cx">     JSC::ExecState* exec = vm.topCallFrame;
</span><del>-    JSC::JSValue code = value.jsValue();
</del><span class="cx">     ScriptExecutable* executable;
</span><span class="cx"> 
</span><span class="cx">     if (!code || code.isNull() || code.isUndefined()) {
</span><span class="lines">@@ -2525,7 +2524,7 @@
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;ArrayBuffer&gt; Internals::serializeObject(PassRefPtr&lt;SerializedScriptValue&gt; value) const
</span><span class="cx"> {
</span><del>-    Vector&lt;uint8_t&gt; bytes = value-&gt;data();
</del><ins>+    auto&amp; bytes = value-&gt;data();
</ins><span class="cx">     return ArrayBuffer::create(bytes.data(), bytes.size());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2536,14 +2535,11 @@
</span><span class="cx">     return SerializedScriptValue::adopt(WTFMove(bytes));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool Internals::isFromCurrentWorld(Deprecated::ScriptValue value) const
</del><ins>+bool Internals::isFromCurrentWorld(JSC::JSValue value) const
</ins><span class="cx"> {
</span><del>-    ASSERT(!value.hasNoValue());
-    
-    JSC::ExecState* exec = contextDocument()-&gt;vm().topCallFrame;
-    if (!value.isObject() || &amp;worldForDOMObject(value.jsValue().getObject()) == &amp;currentWorld(exec))
-        return true;
-    return false;
</del><ins>+    ASSERT(value);
+    JSC::ExecState&amp; state = *contextDocument()-&gt;vm().topCallFrame;
+    return !value.isObject() || &amp;worldForDOMObject(asObject(value)) == &amp;currentWorld(&amp;state);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Internals::setUsesOverlayScrollbars(bool enabled)
</span><span class="lines">@@ -3281,7 +3277,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(STREAMS_API)
</span><span class="cx"> 
</span><del>-bool Internals::isReadableStreamDisturbed(ScriptState&amp; state, JSValue stream)
</del><ins>+bool Internals::isReadableStreamDisturbed(JSC::ExecState&amp; state, JSValue stream)
</ins><span class="cx"> {
</span><span class="cx">     JSGlobalObject* globalObject = state.vmEntryGlobalObject();
</span><span class="cx">     JSVMClientData* clientData = static_cast&lt;JSVMClientData*&gt;(state.vm().clientData);
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.h (199641 => 199642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.h        2016-04-17 18:04:20 UTC (rev 199641)
+++ trunk/Source/WebCore/testing/Internals.h        2016-04-17 18:39:13 UTC (rev 199642)
</span><span class="lines">@@ -24,20 +24,12 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef Internals_h
-#define Internals_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;CSSComputedStyleDeclaration.h&quot;
</span><span class="cx"> #include &quot;ContextDestructionObserver.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
-#include &quot;NodeList.h&quot;
</del><span class="cx"> #include &quot;PageConsoleClient.h&quot;
</span><del>-#include &quot;ScriptState.h&quot;
-#include &lt;bindings/ScriptValue.h&gt;
-#include &lt;runtime/ArrayBuffer.h&gt;
</del><span class="cx"> #include &lt;runtime/Float32Array.h&gt;
</span><del>-#include &lt;wtf/RefCounted.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -65,6 +57,7 @@
</span><span class="cx"> class MockContentFilterSettings;
</span><span class="cx"> class MockPageOverlay;
</span><span class="cx"> class Node;
</span><ins>+class NodeList;
</ins><span class="cx"> class Page;
</span><span class="cx"> class Range;
</span><span class="cx"> class RenderedDocumentMarker;
</span><span class="lines">@@ -77,7 +70,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef int ExceptionCode;
</span><span class="cx"> 
</span><del>-class Internals : public RefCounted&lt;Internals&gt;, public ContextDestructionObserver {
</del><ins>+class Internals final : public RefCounted&lt;Internals&gt;, private ContextDestructionObserver {
</ins><span class="cx"> public:
</span><span class="cx">     static Ref&lt;Internals&gt; create(Document&amp;);
</span><span class="cx">     virtual ~Internals();
</span><span class="lines">@@ -90,7 +83,7 @@
</span><span class="cx">     String address(Node&amp;);
</span><span class="cx">     bool nodeNeedsStyleRecalc(Node&amp;);
</span><span class="cx">     String styleChangeType(Node&amp;);
</span><del>-    String description(Deprecated::ScriptValue);
</del><ins>+    String description(JSC::JSValue);
</ins><span class="cx"> 
</span><span class="cx">     bool isPreloaded(const String&amp; url);
</span><span class="cx">     bool isLoadingFromMemoryCache(const String&amp; url);
</span><span class="lines">@@ -208,7 +201,7 @@
</span><span class="cx">     RefPtr&lt;NodeList&gt; nodesFromRect(Document&amp;, int x, int y, unsigned topPadding, unsigned rightPadding,
</span><span class="cx">         unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent, bool allowChildFrameContent, ExceptionCode&amp;) const;
</span><span class="cx"> 
</span><del>-    String parserMetaData(Deprecated::ScriptValue = Deprecated::ScriptValue());
</del><ins>+    String parserMetaData(JSC::JSValue = { });
</ins><span class="cx"> 
</span><span class="cx">     void updateEditorUINowIfScheduled();
</span><span class="cx"> 
</span><span class="lines">@@ -291,8 +284,8 @@
</span><span class="cx">     Vector&lt;String&gt; shortcutIconURLs() const;
</span><span class="cx"> 
</span><span class="cx">     int numberOfPages(float pageWidthInPixels = 800, float pageHeightInPixels = 600);
</span><del>-    String pageProperty(String, int, ExceptionCode&amp; = ASSERT_NO_EXCEPTION) const;
-    String pageSizeAndMarginsInPixels(int, int, int, int, int, int, int, ExceptionCode&amp; = ASSERT_NO_EXCEPTION) const;
</del><ins>+    String pageProperty(String, int, ExceptionCode&amp;) const;
+    String pageSizeAndMarginsInPixels(int, int, int, int, int, int, int, ExceptionCode&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     void setPageScaleFactor(float scaleFactor, int x, int y, ExceptionCode&amp;);
</span><span class="cx">     void setPageZoomFactor(float zoomFactor, ExceptionCode&amp;);
</span><span class="lines">@@ -344,7 +337,7 @@
</span><span class="cx">     RefPtr&lt;ArrayBuffer&gt; serializeObject(PassRefPtr&lt;SerializedScriptValue&gt;) const;
</span><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; deserializeBuffer(ArrayBuffer&amp;) const;
</span><span class="cx"> 
</span><del>-    bool isFromCurrentWorld(Deprecated::ScriptValue) const;
</del><ins>+    bool isFromCurrentWorld(JSC::JSValue) const;
</ins><span class="cx"> 
</span><span class="cx">     void setUsesOverlayScrollbars(bool);
</span><span class="cx">     void setUsesMockScrollAnimator(bool);
</span><span class="lines">@@ -472,7 +465,7 @@
</span><span class="cx">     void setResourceLoadStatisticsEnabled(bool);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(STREAMS_API)
</span><del>-    bool isReadableStreamDisturbed(ScriptState&amp;, JSC::JSValue);
</del><ins>+    bool isReadableStreamDisturbed(JSC::ExecState&amp;, JSC::JSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     String composedTreeAsText(Node&amp;);
</span><span class="lines">@@ -490,5 +483,3 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif
</del></span></pre>
</div>
</div>

</body>
</html>