<!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>[195524] 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/195524">195524</a></dd>
<dt>Author</dt> <dd>gyuyoung.kim@webkit.org</dd>
<dt>Date</dt> <dd>2016-01-24 22:13:09 -0800 (Sun, 24 Jan 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Reduce PassRefPtr uses in dom - 4
https://bugs.webkit.org/show_bug.cgi?id=153270

Reviewed by Darin Adler.

As a step to remove PassRefPtr uses, this patch reduces the uses in WebCore/dom.

Source/WebCore:

* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
* dom/DeviceMotionData.cpp:
(WebCore::DeviceMotionData::create):
(WebCore::DeviceMotionData::DeviceMotionData):
* dom/DeviceMotionData.h:
* dom/Document.cpp:
(WebCore::Document::setBodyOrFrameset):
(WebCore::Document::setFocusedElement):
(WebCore::Document::setDecoder):
(WebCore::Document::pushCurrentScript):
* dom/Document.h:
* dom/Event.cpp:
(WebCore::Event::cloneFor):
* dom/Event.h:
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::cloneFor):
* dom/MouseEvent.h:
* dom/NodeIterator.cpp:
(WebCore::NodeIterator::NodePointer::NodePointer):
(WebCore::NodeIterator::NodeIterator):
* dom/NodeIterator.h:
(WebCore::NodeIterator::create):
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
* platform/ios/DeviceMotionClientIOS.mm:
(WebCore::DeviceMotionClientIOS::motionChanged):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):

Source/WebKit/win:

* Plugins/PluginView.cpp:
(WebCore::PluginView::focusPluginElement):

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::focusPluginElement):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDeviceMotionEventCustomcpp">trunk/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDeviceMotionDatacpp">trunk/Source/WebCore/dom/DeviceMotionData.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDeviceMotionDatah">trunk/Source/WebCore/dom/DeviceMotionData.h</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumenth">trunk/Source/WebCore/dom/Document.h</a></li>
<li><a href="#trunkSourceWebCoredomEventcpp">trunk/Source/WebCore/dom/Event.cpp</a></li>
<li><a href="#trunkSourceWebCoredomEventh">trunk/Source/WebCore/dom/Event.h</a></li>
<li><a href="#trunkSourceWebCoredomMouseEventcpp">trunk/Source/WebCore/dom/MouseEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomMouseEventh">trunk/Source/WebCore/dom/MouseEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomNodeIteratorcpp">trunk/Source/WebCore/dom/NodeIterator.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodeIteratorh">trunk/Source/WebCore/dom/NodeIterator.h</a></li>
<li><a href="#trunkSourceWebCorehtmlRadioInputTypecpp">trunk/Source/WebCore/html/RadioInputType.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformiosDeviceMotionClientIOSmm">trunk/Source/WebCore/platform/ios/DeviceMotionClientIOS.mm</a></li>
<li><a href="#trunkSourceWebCorexmlXSLTProcessorcpp">trunk/Source/WebCore/xml/XSLTProcessor.cpp</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsPluginViewcpp">trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/ChangeLog        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -1,3 +1,42 @@
</span><ins>+2016-01-24  Gyuyoung Kim  &lt;gyuyoung.kim@webkit.org&gt;
+
+        Reduce PassRefPtr uses in dom - 4
+        https://bugs.webkit.org/show_bug.cgi?id=153270
+
+        Reviewed by Darin Adler.
+
+        As a step to remove PassRefPtr uses, this patch reduces the uses in WebCore/dom.
+
+        * bindings/js/JSDeviceMotionEventCustom.cpp:
+        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
+        * dom/DeviceMotionData.cpp:
+        (WebCore::DeviceMotionData::create):
+        (WebCore::DeviceMotionData::DeviceMotionData):
+        * dom/DeviceMotionData.h:
+        * dom/Document.cpp:
+        (WebCore::Document::setBodyOrFrameset):
+        (WebCore::Document::setFocusedElement):
+        (WebCore::Document::setDecoder):
+        (WebCore::Document::pushCurrentScript):
+        * dom/Document.h:
+        * dom/Event.cpp:
+        (WebCore::Event::cloneFor):
+        * dom/Event.h:
+        * dom/MouseEvent.cpp:
+        (WebCore::MouseEvent::cloneFor):
+        * dom/MouseEvent.h:
+        * dom/NodeIterator.cpp:
+        (WebCore::NodeIterator::NodePointer::NodePointer):
+        (WebCore::NodeIterator::NodeIterator):
+        * dom/NodeIterator.h:
+        (WebCore::NodeIterator::create):
+        * html/RadioInputType.cpp:
+        (WebCore::RadioInputType::handleKeydownEvent):
+        * platform/ios/DeviceMotionClientIOS.mm:
+        (WebCore::DeviceMotionClientIOS::motionChanged):
+        * xml/XSLTProcessor.cpp:
+        (WebCore::XSLTProcessor::createDocumentFromSource):
+
</ins><span class="cx"> 2016-01-24  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Font Loading] General cleanup
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDeviceMotionEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -188,8 +188,8 @@
</span><span class="cx"> 
</span><span class="cx">     bool intervalProvided = !state.argument(6).isUndefinedOrNull();
</span><span class="cx">     double interval = state.argument(6).toNumber(&amp;state);
</span><del>-    RefPtr&lt;DeviceMotionData&gt; deviceMotionData = DeviceMotionData::create(acceleration, accelerationIncludingGravity, rotationRate, intervalProvided, interval);
-    wrapped().initDeviceMotionEvent(type, bubbles, cancelable, deviceMotionData.get());
</del><ins>+    auto deviceMotionData = DeviceMotionData::create(WTFMove(acceleration), WTFMove(accelerationIncludingGravity), WTFMove(rotationRate), intervalProvided, interval);
+    wrapped().initDeviceMotionEvent(type, bubbles, cancelable, deviceMotionData.ptr());
</ins><span class="cx">     return jsUndefined();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomDeviceMotionDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DeviceMotionData.cpp (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DeviceMotionData.cpp        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/dom/DeviceMotionData.cpp        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -68,10 +68,9 @@
</span><span class="cx">     return adoptRef(*new DeviceMotionData);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;DeviceMotionData&gt; DeviceMotionData::create(PassRefPtr&lt;Acceleration&gt; acceleration, PassRefPtr&lt;Acceleration&gt; accelerationIncludingGravity,
-                                               PassRefPtr&lt;RotationRate&gt; rotationRate, bool canProvideInterval, double interval)
</del><ins>+Ref&lt;DeviceMotionData&gt; DeviceMotionData::create(RefPtr&lt;Acceleration&gt;&amp;&amp; acceleration, RefPtr&lt;Acceleration&gt;&amp;&amp; accelerationIncludingGravity, RefPtr&lt;RotationRate&gt;&amp;&amp; rotationRate, bool canProvideInterval, double interval)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new DeviceMotionData(acceleration, accelerationIncludingGravity, rotationRate, canProvideInterval, interval));
</del><ins>+    return adoptRef(*new DeviceMotionData(WTFMove(acceleration), WTFMove(accelerationIncludingGravity), WTFMove(rotationRate), canProvideInterval, interval));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> DeviceMotionData::DeviceMotionData()
</span><span class="lines">@@ -80,11 +79,10 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-DeviceMotionData::DeviceMotionData(PassRefPtr&lt;Acceleration&gt; acceleration, PassRefPtr&lt;Acceleration&gt; accelerationIncludingGravity,
-                                   PassRefPtr&lt;RotationRate&gt; rotationRate, bool canProvideInterval, double interval)
-    : m_acceleration(acceleration)
-    , m_accelerationIncludingGravity(accelerationIncludingGravity)
-    , m_rotationRate(rotationRate)
</del><ins>+DeviceMotionData::DeviceMotionData(RefPtr&lt;Acceleration&gt;&amp;&amp; acceleration, RefPtr&lt;Acceleration&gt;&amp;&amp; accelerationIncludingGravity, RefPtr&lt;RotationRate&gt;&amp;&amp; rotationRate, bool canProvideInterval, double interval)
+    : m_acceleration(WTFMove(acceleration))
+    , m_accelerationIncludingGravity(WTFMove(accelerationIncludingGravity))
+    , m_rotationRate(WTFMove(rotationRate))
</ins><span class="cx">     , m_canProvideInterval(canProvideInterval)
</span><span class="cx">     , m_interval(interval)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoredomDeviceMotionDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DeviceMotionData.h (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DeviceMotionData.h        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/dom/DeviceMotionData.h        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #ifndef DeviceMotionData_h
</span><span class="cx"> #define DeviceMotionData_h
</span><span class="cx"> 
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -83,8 +82,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT static Ref&lt;DeviceMotionData&gt; create();
</span><del>-    WEBCORE_EXPORT static Ref&lt;DeviceMotionData&gt; create(PassRefPtr&lt;Acceleration&gt;, PassRefPtr&lt;Acceleration&gt; accelerationIncludingGravity,
-                                        PassRefPtr&lt;RotationRate&gt; rotationRate, bool canProvideInterval, double interval);
</del><ins>+    WEBCORE_EXPORT static Ref&lt;DeviceMotionData&gt; create(RefPtr&lt;Acceleration&gt;&amp;&amp;, RefPtr&lt;Acceleration&gt;&amp;&amp; accelerationIncludingGravity, RefPtr&lt;RotationRate&gt;&amp;&amp;, bool canProvideInterval, double interval);
</ins><span class="cx"> 
</span><span class="cx">     const Acceleration* acceleration() const { return m_acceleration.get(); }
</span><span class="cx">     const Acceleration* accelerationIncludingGravity() const { return m_accelerationIncludingGravity.get(); }
</span><span class="lines">@@ -94,8 +92,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     DeviceMotionData();
</span><del>-    DeviceMotionData(PassRefPtr&lt;Acceleration&gt; acceleration, PassRefPtr&lt;Acceleration&gt; accelerationIncludingGravity,
-                     PassRefPtr&lt;RotationRate&gt; rotationRate, bool canProvideInterval, double interval);
</del><ins>+    DeviceMotionData(RefPtr&lt;Acceleration&gt;&amp;&amp;, RefPtr&lt;Acceleration&gt;&amp;&amp; accelerationIncludingGravity, RefPtr&lt;RotationRate&gt;&amp;&amp;, bool canProvideInterval, double interval);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Acceleration&gt; m_acceleration;
</span><span class="cx">     RefPtr&lt;Acceleration&gt; m_accelerationIncludingGravity;
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/dom/Document.cpp        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -2586,10 +2586,8 @@
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Document::setBodyOrFrameset(PassRefPtr&lt;HTMLElement&gt; prpNewBody, ExceptionCode&amp; ec)
</del><ins>+void Document::setBodyOrFrameset(RefPtr&lt;HTMLElement&gt;&amp;&amp; newBody, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;HTMLElement&gt; newBody = prpNewBody;
-
</del><span class="cx">     // FIXME: This does not support setting a &lt;frameset&gt; Element, only a &lt;body&gt;. This does
</span><span class="cx">     // not match the HTML specification:
</span><span class="cx">     // https://html.spec.whatwg.org/multipage/dom.html#dom-document-body
</span><span class="lines">@@ -3764,10 +3762,9 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-bool Document::setFocusedElement(PassRefPtr&lt;Element&gt; prpNewFocusedElement, FocusDirection direction)
</del><ins>+bool Document::setFocusedElement(Element* element, FocusDirection direction)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Element&gt; newFocusedElement = prpNewFocusedElement;
-
</del><ins>+    RefPtr&lt;Element&gt; newFocusedElement = element;
</ins><span class="cx">     // Make sure newFocusedElement is actually in this document
</span><span class="cx">     if (newFocusedElement &amp;&amp; (&amp;newFocusedElement-&gt;document() != this))
</span><span class="cx">         return true;
</span><span class="lines">@@ -4572,9 +4569,9 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Document::setDecoder(PassRefPtr&lt;TextResourceDecoder&gt; decoder)
</del><ins>+void Document::setDecoder(RefPtr&lt;TextResourceDecoder&gt;&amp;&amp; decoder)
</ins><span class="cx"> {
</span><del>-    m_decoder = decoder;
</del><ins>+    m_decoder = WTFMove(decoder);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> URL Document::completeURL(const String&amp; url, const URL&amp; baseURLOverride) const
</span><span class="lines">@@ -4841,7 +4838,7 @@
</span><span class="cx">     return command(this, commandName).value();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Document::pushCurrentScript(PassRefPtr&lt;HTMLScriptElement&gt; newCurrentScript)
</del><ins>+void Document::pushCurrentScript(HTMLScriptElement* newCurrentScript)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(newCurrentScript);
</span><span class="cx">     m_currentScriptStack.append(newCurrentScript);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/dom/Document.h        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -733,7 +733,7 @@
</span><span class="cx">     String selectedStylesheetSet() const;
</span><span class="cx">     void setSelectedStylesheetSet(const String&amp;);
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT bool setFocusedElement(PassRefPtr&lt;Element&gt;, FocusDirection = FocusDirectionNone);
</del><ins>+    WEBCORE_EXPORT bool setFocusedElement(Element*, FocusDirection = FocusDirectionNone);
</ins><span class="cx">     Element* focusedElement() const { return m_focusedElement.get(); }
</span><span class="cx">     UserActionElementSet&amp; userActionElements()  { return m_userActionElements; }
</span><span class="cx">     const UserActionElementSet&amp; userActionElements() const { return m_userActionElements; }
</span><span class="lines">@@ -924,7 +924,7 @@
</span><span class="cx"> 
</span><span class="cx">     HTMLBodyElement* body() const;
</span><span class="cx">     WEBCORE_EXPORT HTMLElement* bodyOrFrameset() const;
</span><del>-    void setBodyOrFrameset(PassRefPtr&lt;HTMLElement&gt;, ExceptionCode&amp;);
</del><ins>+    void setBodyOrFrameset(RefPtr&lt;HTMLElement&gt;&amp;&amp;, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">     Location* location() const;
</span><span class="cx"> 
</span><span class="lines">@@ -957,7 +957,7 @@
</span><span class="cx">     JSModuleLoader* moduleLoader() { return m_moduleLoader.get(); }
</span><span class="cx"> 
</span><span class="cx">     HTMLScriptElement* currentScript() const { return !m_currentScriptStack.isEmpty() ? m_currentScriptStack.last().get() : nullptr; }
</span><del>-    void pushCurrentScript(PassRefPtr&lt;HTMLScriptElement&gt;);
</del><ins>+    void pushCurrentScript(HTMLScriptElement*);
</ins><span class="cx">     void popCurrentScript();
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(XSLT)
</span><span class="lines">@@ -1056,7 +1056,7 @@
</span><span class="cx">     WEBCORE_EXPORT void setShouldCreateRenderers(bool);
</span><span class="cx">     bool shouldCreateRenderers();
</span><span class="cx"> 
</span><del>-    void setDecoder(PassRefPtr&lt;TextResourceDecoder&gt;);
</del><ins>+    void setDecoder(RefPtr&lt;TextResourceDecoder&gt;&amp;&amp;);
</ins><span class="cx">     TextResourceDecoder* decoder() const { return m_decoder.get(); }
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT String displayStringModifiedByEncoding(const String&amp;) const;
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Event.cpp (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Event.cpp        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/dom/Event.cpp        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -157,7 +157,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Event&gt; Event::cloneFor(HTMLIFrameElement*) const
</del><ins>+Ref&lt;Event&gt; Event::cloneFor(HTMLIFrameElement*) const
</ins><span class="cx"> {
</span><span class="cx">     return Event::create(type(), bubbles(), cancelable());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Event.h (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Event.h        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/dom/Event.h        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool isBeingDispatched() const { return eventPhase(); }
</span><span class="cx"> 
</span><del>-    virtual PassRefPtr&lt;Event&gt; cloneFor(HTMLIFrameElement*) const;
</del><ins>+    virtual Ref&lt;Event&gt; cloneFor(HTMLIFrameElement*) const;
</ins><span class="cx"> 
</span><span class="cx">     virtual EventTarget* relatedTarget() const { return nullptr; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomMouseEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MouseEvent.cpp (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MouseEvent.cpp        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/dom/MouseEvent.cpp        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -237,10 +237,10 @@
</span><span class="cx">     return iframe-&gt;offsetTop() - frameView-&gt;scrollY() + innerClientY;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Event&gt; MouseEvent::cloneFor(HTMLIFrameElement* iframe) const
</del><ins>+Ref&lt;Event&gt; MouseEvent::cloneFor(HTMLIFrameElement* iframe) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(iframe);
</span><del>-    RefPtr&lt;MouseEvent&gt; clonedMouseEvent = MouseEvent::create();
</del><ins>+    Ref&lt;MouseEvent&gt; clonedMouseEvent = MouseEvent::create();
</ins><span class="cx">     Frame* frame = iframe-&gt;document().frame();
</span><span class="cx">     FrameView* frameView = frame ? frame-&gt;view() : nullptr;
</span><span class="cx">     clonedMouseEvent-&gt;initMouseEvent(type(), bubbles(), cancelable(),
</span><span class="lines">@@ -253,7 +253,7 @@
</span><span class="cx">         // Nullifies relatedTarget.
</span><span class="cx">         0);
</span><span class="cx">     clonedMouseEvent-&gt;setForce(force());
</span><del>-    return clonedMouseEvent.release();
</del><ins>+    return WTFMove(clonedMouseEvent);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;SimulatedMouseEvent&gt; SimulatedMouseEvent::create(const AtomicString&amp; eventType, AbstractView* view, PassRefPtr&lt;Event&gt; underlyingEvent, Element* target)
</span></span></pre></div>
<a id="trunkSourceWebCoredomMouseEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MouseEvent.h (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MouseEvent.h        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/dom/MouseEvent.h        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual int which() const override;
</span><span class="cx"> 
</span><del>-    virtual PassRefPtr&lt;Event&gt; cloneFor(HTMLIFrameElement*) const override;
</del><ins>+    virtual Ref&lt;Event&gt; cloneFor(HTMLIFrameElement*) const override;
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     MouseEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, double timestamp, AbstractView*,
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeIterator.cpp (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeIterator.cpp        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/dom/NodeIterator.cpp        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-NodeIterator::NodePointer::NodePointer(PassRefPtr&lt;Node&gt; n, bool b)
</del><ins>+NodeIterator::NodePointer::NodePointer(Node* n, bool b)
</ins><span class="cx">     : node(n)
</span><span class="cx">     , isPointerBeforeNode(b)
</span><span class="cx"> {
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">     return node;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-NodeIterator::NodeIterator(PassRefPtr&lt;Node&gt; rootNode, unsigned long whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp; filter)
</del><ins>+NodeIterator::NodeIterator(Node* rootNode, unsigned long whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp; filter)
</ins><span class="cx">     : NodeIteratorBase(*rootNode, whatToShow, WTFMove(filter))
</span><span class="cx">     , m_referenceNode(root(), true)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeIteratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeIterator.h (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeIterator.h        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/dom/NodeIterator.h        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx">     class NodeIterator : public ScriptWrappable, public RefCounted&lt;NodeIterator&gt;, public NodeIteratorBase {
</span><span class="cx">     public:
</span><del>-        static Ref&lt;NodeIterator&gt; create(PassRefPtr&lt;Node&gt; rootNode, unsigned long whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp; filter)
</del><ins>+        static Ref&lt;NodeIterator&gt; create(Node* rootNode, unsigned long whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp; filter)
</ins><span class="cx">         {
</span><span class="cx">             return adoptRef(*new NodeIterator(rootNode, whatToShow, WTFMove(filter)));
</span><span class="cx">         }
</span><span class="lines">@@ -54,13 +54,13 @@
</span><span class="cx">         void nodeWillBeRemoved(Node&amp;);
</span><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        NodeIterator(PassRefPtr&lt;Node&gt;, unsigned long whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp;);
</del><ins>+        NodeIterator(Node*, unsigned long whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">         struct NodePointer {
</span><span class="cx">             RefPtr&lt;Node&gt; node;
</span><span class="cx">             bool isPointerBeforeNode;
</span><span class="cx">             NodePointer();
</span><del>-            NodePointer(PassRefPtr&lt;Node&gt;, bool);
</del><ins>+            NodePointer(Node*, bool);
</ins><span class="cx">             void clear();
</span><span class="cx">             bool moveToNext(Node* root);
</span><span class="cx">             bool moveToPrevious(Node* root);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlRadioInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/RadioInputType.cpp (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/RadioInputType.cpp        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/html/RadioInputType.cpp        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">         if (inputElement-&gt;form() != element().form())
</span><span class="cx">             break;
</span><span class="cx">         if (inputElement-&gt;isRadioButton() &amp;&amp; inputElement-&gt;name() == element().name() &amp;&amp; inputElement-&gt;isFocusable()) {
</span><del>-            element().document().setFocusedElement(inputElement);
</del><ins>+            element().document().setFocusedElement(inputElement.get());
</ins><span class="cx">             inputElement-&gt;dispatchSimulatedClick(event, SendNoEvents, DoNotShowPressedLook);
</span><span class="cx">             event-&gt;setDefaultHandled();
</span><span class="cx">             return;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosDeviceMotionClientIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/DeviceMotionClientIOS.mm (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/DeviceMotionClientIOS.mm        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/platform/ios/DeviceMotionClientIOS.mm        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx">     }
</span><span class="cx"> #endif // PLATFORM(IOS_SIMULATOR)
</span><span class="cx"> 
</span><del>-    m_currentDeviceMotionData = DeviceMotionData::create(acceleration, accelerationIncludingGravity, rotationRate, true, kMotionUpdateInterval);
</del><ins>+    m_currentDeviceMotionData = DeviceMotionData::create(WTFMove(acceleration), WTFMove(accelerationIncludingGravity), WTFMove(rotationRate), true, kMotionUpdateInterval);
</ins><span class="cx">     m_controller-&gt;didChangeDeviceMotion(m_currentDeviceMotionData.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXSLTProcessorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XSLTProcessor.cpp (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XSLTProcessor.cpp        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebCore/xml/XSLTProcessor.cpp        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;TextResourceDecoder&gt; decoder = TextResourceDecoder::create(sourceMIMEType);
</span><span class="cx">     decoder-&gt;setEncoding(sourceEncoding.isEmpty() ? UTF8Encoding() : TextEncoding(sourceEncoding), TextResourceDecoder::EncodingFromXMLHeader);
</span><del>-    result-&gt;setDecoder(decoder.release());
</del><ins>+    result-&gt;setDecoder(WTFMove(decoder));
</ins><span class="cx"> 
</span><span class="cx">     result-&gt;setContent(documentSource);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebKit/win/ChangeLog        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2016-01-24  Gyuyoung Kim  &lt;gyuyoung.kim@webkit.org&gt;
+
+        Reduce PassRefPtr uses in dom - 4
+        https://bugs.webkit.org/show_bug.cgi?id=153270
+
+        Reviewed by Darin Adler.
+
+        As a step to remove PassRefPtr uses, this patch reduces the uses in WebCore/dom.
+
+        * Plugins/PluginView.cpp:
+        (WebCore::PluginView::focusPluginElement):
+
</ins><span class="cx"> 2016-01-17  Ada Chan  &lt;adachan@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add a mode parameter to MediaControllerInterface::supportsFullscreen() and ChromeClient::supportsVideoFullscreen().
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebKit2/ChangeLog        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2016-01-24  Gyuyoung Kim  &lt;gyuyoung.kim@webkit.org&gt;
+
+        Reduce PassRefPtr uses in dom - 4
+        https://bugs.webkit.org/show_bug.cgi?id=153270
+
+        Reviewed by Darin Adler.
+
+        As a step to remove PassRefPtr uses, this patch reduces the uses in WebCore/dom.
+
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::focusPluginElement):
+
</ins><span class="cx"> 2016-01-23  Alex Christensen  &lt;achristensen@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         CMake build fix after r195494.
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsPluginViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (195523 => 195524)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2016-01-25 05:23:49 UTC (rev 195523)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2016-01-25 06:13:09 UTC (rev 195524)
</span><span class="lines">@@ -1151,7 +1151,7 @@
</span><span class="cx">     if (Page* page = frame()-&gt;page())
</span><span class="cx">         page-&gt;focusController().setFocusedElement(m_pluginElement.get(), frame());
</span><span class="cx">     else
</span><del>-        frame()-&gt;document()-&gt;setFocusedElement(m_pluginElement);
</del><ins>+        frame()-&gt;document()-&gt;setFocusedElement(m_pluginElement.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PluginView::pendingURLRequestsTimerFired()
</span></span></pre>
</div>
</div>

</body>
</html>