<!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>[195450] 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/195450">195450</a></dd>
<dt>Author</dt> <dd>youenn.fablet@crf.canon.fr</dd>
<dt>Date</dt> <dd>2016-01-22 06:51:16 -0800 (Fri, 22 Jan 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove PassRefPtr from ResourceRequest and FormData
https://bugs.webkit.org/show_bug.cgi?id=153229

Reviewed by Chris Dumez.

Source/WebCore:

Covered by existing tests.

Making ResourceRequest::setHTTPBody take a RefPtr&lt;FormData&gt;&amp;&amp;.
Moving FormData from PassRefPtr to RefPtr.

* html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::didBlockScript):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::populateFrameLoadRequest):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::loadDifferentDocumentItem):
* loader/PingLoader.cpp:
(WebCore::PingLoader::sendViolationReport):
* loader/PingLoader.h:
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):
* platform/network/FormData.cpp:
(WebCore::FormData::create):
(WebCore::FormData::createMultiPart):
(WebCore::FormData::copy):
(WebCore::FormData::deepCopy):
(WebCore::FormData::resolveBlobReferences):
* platform/network/FormData.h:
(WebCore::FormData::decode):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::adopt):
(WebCore::ResourceRequestBase::setHTTPBody):
* platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::setHTTPBody):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::setHTTPBody):
* platform/network/cf/FormDataStreamCFNet.h:
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::getFormElementsCount):
* platform/network/mac/FormDataStreamMac.h:
* platform/network/mac/FormDataStreamMac.mm:
(WebCore::setHTTPBody):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):

Source/WebKit/win:

* WebMutableURLRequest.cpp:
(WebMutableURLRequest::setHTTPBody):

Source/WebKit2:

* NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::decode):
* NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::Entry):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreloaderFormSubmissioncpp">trunk/Source/WebCore/loader/FormSubmission.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderPingLoadercpp">trunk/Source/WebCore/loader/PingLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderPingLoaderh">trunk/Source/WebCore/loader/PingLoader.h</a></li>
<li><a href="#trunkSourceWebCorepageContentSecurityPolicycpp">trunk/Source/WebCore/page/ContentSecurityPolicy.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkFormDatacpp">trunk/Source/WebCore/platform/network/FormData.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkFormDatah">trunk/Source/WebCore/platform/network/FormData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceRequestBasecpp">trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceRequestBaseh">trunk/Source/WebCore/platform/network/ResourceRequestBase.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfFormDataStreamCFNetcpp">trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfFormDataStreamCFNeth">trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfResourceRequestCFNetcpp">trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcocoaResourceRequestCocoamm">trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlResourceHandleManagercpp">trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacFormDataStreamMach">trunk/Source/WebCore/platform/network/mac/FormDataStreamMac.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacFormDataStreamMacmm">trunk/Source/WebCore/platform/network/mac/FormDataStreamMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworksoupResourceHandleSoupcpp">trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestcpp">trunk/Source/WebCore/xml/XMLHttpRequest.cpp</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinWebMutableURLRequestcpp">trunk/Source/WebKit/win/WebMutableURLRequest.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessNetworkResourceLoadParameterscpp">trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadParameters.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/ChangeLog        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -1,3 +1,58 @@
</span><ins>+2016-01-22  Youenn Fablet  &lt;youenn.fablet@crf.canon.fr&gt;
+
+        Remove PassRefPtr from ResourceRequest and FormData
+        https://bugs.webkit.org/show_bug.cgi?id=153229
+
+        Reviewed by Chris Dumez.
+
+        Covered by existing tests.
+
+        Making ResourceRequest::setHTTPBody take a RefPtr&lt;FormData&gt;&amp;&amp;.
+        Moving FormData from PassRefPtr to RefPtr.
+
+        * html/parser/XSSAuditorDelegate.cpp:
+        (WebCore::XSSAuditorDelegate::didBlockScript):
+        * loader/FormSubmission.cpp:
+        (WebCore::FormSubmission::populateFrameLoadRequest):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::loadPostRequest):
+        (WebCore::FrameLoader::loadDifferentDocumentItem):
+        * loader/PingLoader.cpp:
+        (WebCore::PingLoader::sendViolationReport):
+        * loader/PingLoader.h:
+        * page/ContentSecurityPolicy.cpp:
+        (WebCore::ContentSecurityPolicy::reportViolation):
+        * platform/network/FormData.cpp:
+        (WebCore::FormData::create):
+        (WebCore::FormData::createMultiPart):
+        (WebCore::FormData::copy):
+        (WebCore::FormData::deepCopy):
+        (WebCore::FormData::resolveBlobReferences):
+        * platform/network/FormData.h:
+        (WebCore::FormData::decode):
+        * platform/network/ResourceRequestBase.cpp:
+        (WebCore::ResourceRequestBase::adopt):
+        (WebCore::ResourceRequestBase::setHTTPBody):
+        * platform/network/ResourceRequestBase.h:
+        (WebCore::ResourceRequestBase::setHTTPBody):
+        * platform/network/cf/FormDataStreamCFNet.cpp:
+        (WebCore::setHTTPBody):
+        * platform/network/cf/FormDataStreamCFNet.h:
+        * platform/network/cf/ResourceRequestCFNet.cpp:
+        (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
+        (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
+        * platform/network/cocoa/ResourceRequestCocoa.mm:
+        (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
+        * platform/network/curl/ResourceHandleManager.cpp:
+        (WebCore::getFormElementsCount):
+        * platform/network/mac/FormDataStreamMac.h:
+        * platform/network/mac/FormDataStreamMac.mm:
+        (WebCore::setHTTPBody):
+        * platform/network/soup/ResourceHandleSoup.cpp:
+        (WebCore::doRedirect):
+        * xml/XMLHttpRequest.cpp:
+        (WebCore::XMLHttpRequest::createRequest):
+
</ins><span class="cx"> 2016-01-22  Csaba Osztrogonác  &lt;ossy@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix the !ENABLE(INDEXED_DATABASE) build after r195443
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFormSubmissioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FormSubmission.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FormSubmission.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/loader/FormSubmission.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -258,7 +258,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (m_method == FormSubmission::PostMethod) {
</span><span class="cx">         frameRequest.resourceRequest().setHTTPMethod(&quot;POST&quot;);
</span><del>-        frameRequest.resourceRequest().setHTTPBody(m_formData);
</del><ins>+        frameRequest.resourceRequest().setHTTPBody(m_formData.copyRef());
</ins><span class="cx"> 
</span><span class="cx">         // construct some user headers if necessary
</span><span class="cx">         if (m_boundary.isEmpty())
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -2654,7 +2654,6 @@
</span><span class="cx"> 
</span><span class="cx">     const ResourceRequest&amp; inRequest = request.resourceRequest();
</span><span class="cx">     const URL&amp; url = inRequest.url();
</span><del>-    RefPtr&lt;FormData&gt; formData = inRequest.httpBody();
</del><span class="cx">     const String&amp; contentType = inRequest.httpContentType();
</span><span class="cx">     String origin = inRequest.httpOrigin();
</span><span class="cx"> 
</span><span class="lines">@@ -2664,7 +2663,7 @@
</span><span class="cx">         workingResourceRequest.setHTTPReferrer(referrer);
</span><span class="cx">     workingResourceRequest.setHTTPOrigin(origin);
</span><span class="cx">     workingResourceRequest.setHTTPMethod(&quot;POST&quot;);
</span><del>-    workingResourceRequest.setHTTPBody(formData);
</del><ins>+    workingResourceRequest.setHTTPBody(inRequest.httpBody());
</ins><span class="cx">     workingResourceRequest.setHTTPContentType(contentType);
</span><span class="cx">     addExtraFieldsToRequest(workingResourceRequest, loadType, true);
</span><span class="cx"> 
</span><span class="lines">@@ -3299,7 +3298,7 @@
</span><span class="cx">         formData-&gt;generateFiles(m_frame.document());
</span><span class="cx"> 
</span><span class="cx">         request.setHTTPMethod(&quot;POST&quot;);
</span><del>-        request.setHTTPBody(formData);
</del><ins>+        request.setHTTPBody(WTFMove(formData));
</ins><span class="cx">         request.setHTTPContentType(item.formContentType());
</span><span class="cx">         RefPtr&lt;SecurityOrigin&gt; securityOrigin = SecurityOrigin::createFromString(item.referrer());
</span><span class="cx">         addHTTPOriginIfNeeded(request, securityOrigin-&gt;toString());
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderPingLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/PingLoader.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/PingLoader.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/loader/PingLoader.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx">     startPingLoad(frame, request);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PingLoader::sendViolationReport(Frame&amp; frame, const URL&amp; reportURL, PassRefPtr&lt;FormData&gt; report)
</del><ins>+void PingLoader::sendViolationReport(Frame&amp; frame, const URL&amp; reportURL, RefPtr&lt;FormData&gt;&amp;&amp; report)
</ins><span class="cx"> {
</span><span class="cx">     ResourceRequest request(reportURL);
</span><span class="cx"> 
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx"> 
</span><span class="cx">     request.setHTTPMethod(&quot;POST&quot;);
</span><span class="cx">     request.setHTTPContentType(&quot;application/json&quot;);
</span><del>-    request.setHTTPBody(report);
</del><ins>+    request.setHTTPBody(WTFMove(report));
</ins><span class="cx"> 
</span><span class="cx">     bool removeCookies = true;
</span><span class="cx">     if (Document* document = frame.document()) {
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderPingLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/PingLoader.h (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/PingLoader.h        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/loader/PingLoader.h        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> #ifndef PingLoader_h
</span><span class="cx"> #define PingLoader_h
</span><span class="cx"> 
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><ins>+#include &lt;wtf/RefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> public:
</span><span class="cx">     static void loadImage(Frame&amp;, const URL&amp;);
</span><span class="cx">     static void sendPing(Frame&amp;, const URL&amp; pingURL, const URL&amp; destinationURL);
</span><del>-    static void sendViolationReport(Frame&amp;, const URL&amp; reportURL, PassRefPtr&lt;FormData&gt; report);
</del><ins>+    static void sendViolationReport(Frame&amp;, const URL&amp; reportURL, RefPtr&lt;FormData&gt;&amp;&amp; report);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     static void startPingLoad(Frame&amp;, ResourceRequest&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorepageContentSecurityPolicycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ContentSecurityPolicy.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ContentSecurityPolicy.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/page/ContentSecurityPolicy.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -1672,7 +1672,7 @@
</span><span class="cx">     RefPtr&lt;FormData&gt; report = FormData::create(reportObject-&gt;toJSONString().utf8());
</span><span class="cx"> 
</span><span class="cx">     for (const auto&amp; url : reportURIs)
</span><del>-        PingLoader::sendViolationReport(*frame, url, report);
</del><ins>+        PingLoader::sendViolationReport(*frame, url, report.copyRef());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ContentSecurityPolicy::reportUnsupportedDirective(const String&amp; name) const
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkFormDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/FormData.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/FormData.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/FormData.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -70,54 +70,54 @@
</span><span class="cx">     removeGeneratedFilesIfNeeded();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;FormData&gt; FormData::create()
</del><ins>+Ref&lt;FormData&gt; FormData::create()
</ins><span class="cx"> {
</span><del>-    return adoptRef(new FormData);
</del><ins>+    return adoptRef(*new FormData);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;FormData&gt; FormData::create(const void* data, size_t size)
</del><ins>+Ref&lt;FormData&gt; FormData::create(const void* data, size_t size)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;FormData&gt; result = create();
</del><ins>+    Ref&lt;FormData&gt; result = create();
</ins><span class="cx">     result-&gt;appendData(data, size);
</span><del>-    return result.release();
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;FormData&gt; FormData::create(const CString&amp; string)
</del><ins>+Ref&lt;FormData&gt; FormData::create(const CString&amp; string)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;FormData&gt; result = create();
</del><ins>+    Ref&lt;FormData&gt; result = create();
</ins><span class="cx">     result-&gt;appendData(string.data(), string.length());
</span><del>-    return result.release();
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;FormData&gt; FormData::create(const Vector&lt;char&gt;&amp; vector)
</del><ins>+Ref&lt;FormData&gt; FormData::create(const Vector&lt;char&gt;&amp; vector)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;FormData&gt; result = create();
</del><ins>+    Ref&lt;FormData&gt; result = create();
</ins><span class="cx">     result-&gt;appendData(vector.data(), vector.size());
</span><del>-    return result.release();
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;FormData&gt; FormData::create(const FormDataList&amp; list, const TextEncoding&amp; encoding, EncodingType encodingType)
</del><ins>+Ref&lt;FormData&gt; FormData::create(const FormDataList&amp; list, const TextEncoding&amp; encoding, EncodingType encodingType)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;FormData&gt; result = create();
</del><ins>+    Ref&lt;FormData&gt; result = create();
</ins><span class="cx">     result-&gt;appendKeyValuePairItems(list, encoding, false, 0, encodingType);
</span><del>-    return result.release();
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;FormData&gt; FormData::createMultiPart(const FormDataList&amp; list, const TextEncoding&amp; encoding, Document* document)
</del><ins>+Ref&lt;FormData&gt; FormData::createMultiPart(const FormDataList&amp; list, const TextEncoding&amp; encoding, Document* document)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;FormData&gt; result = create();
</del><ins>+    Ref&lt;FormData&gt; result = create();
</ins><span class="cx">     result-&gt;appendKeyValuePairItems(list, encoding, true, document);
</span><del>-    return result.release();
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;FormData&gt; FormData::copy() const
</del><ins>+Ref&lt;FormData&gt; FormData::copy() const
</ins><span class="cx"> {
</span><del>-    return adoptRef(new FormData(*this));
</del><ins>+    return adoptRef(*new FormData(*this));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;FormData&gt; FormData::deepCopy() const
</del><ins>+Ref&lt;FormData&gt; FormData::deepCopy() const
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;FormData&gt; formData(create());
</del><ins>+    Ref&lt;FormData&gt; formData(create());
</ins><span class="cx"> 
</span><span class="cx">     formData-&gt;m_alwaysStream = m_alwaysStream;
</span><span class="cx"> 
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    return formData.release();
</del><ins>+    return formData;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FormData::appendData(const void* data, size_t size)
</span><span class="lines">@@ -302,7 +302,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;FormData&gt; FormData::resolveBlobReferences()
</del><ins>+Ref&lt;FormData&gt; FormData::resolveBlobReferences()
</ins><span class="cx"> {
</span><span class="cx">     // First check if any blobs needs to be resolved, or we can take the fast path.
</span><span class="cx">     bool hasBlob = false;
</span><span class="lines">@@ -316,10 +316,10 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!hasBlob)
</span><del>-        return this;
</del><ins>+        return *this;
</ins><span class="cx"> 
</span><span class="cx">     // Create a copy to append the result into.
</span><del>-    RefPtr&lt;FormData&gt; newFormData = FormData::create();
</del><ins>+    Ref&lt;FormData&gt; newFormData = FormData::create();
</ins><span class="cx">     newFormData-&gt;setAlwaysStream(alwaysStream());
</span><span class="cx">     newFormData-&gt;setIdentifier(identifier());
</span><span class="cx">     it = elements().begin();
</span><span class="lines">@@ -330,11 +330,11 @@
</span><span class="cx">         else if (element.m_type == FormDataElement::Type::EncodedFile)
</span><span class="cx">             newFormData-&gt;appendFileRange(element.m_filename, element.m_fileStart, element.m_fileLength, element.m_expectedFileModificationTime, element.m_shouldGenerateFile);
</span><span class="cx">         else if (element.m_type == FormDataElement::Type::EncodedBlob)
</span><del>-            appendBlobResolved(newFormData.get(), element.m_url);
</del><ins>+            appendBlobResolved(newFormData.ptr(), element.m_url);
</ins><span class="cx">         else
</span><span class="cx">             ASSERT_NOT_REACHED();
</span><span class="cx">     }
</span><del>-    return newFormData.release();
</del><ins>+    return newFormData;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FormData::generateFiles(Document* document)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkFormDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/FormData.h (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/FormData.h        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/FormData.h        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -194,23 +194,23 @@
</span><span class="cx">         MultipartFormData // for multipart/form-data
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT static PassRefPtr&lt;FormData&gt; create();
-    WEBCORE_EXPORT static PassRefPtr&lt;FormData&gt; create(const void*, size_t);
-    static PassRefPtr&lt;FormData&gt; create(const CString&amp;);
-    static PassRefPtr&lt;FormData&gt; create(const Vector&lt;char&gt;&amp;);
-    static PassRefPtr&lt;FormData&gt; create(const FormDataList&amp;, const TextEncoding&amp;, EncodingType = FormURLEncoded);
-    static PassRefPtr&lt;FormData&gt; createMultiPart(const FormDataList&amp;, const TextEncoding&amp;, Document*);
</del><ins>+    WEBCORE_EXPORT static Ref&lt;FormData&gt; create();
+    WEBCORE_EXPORT static Ref&lt;FormData&gt; create(const void*, size_t);
+    static Ref&lt;FormData&gt; create(const CString&amp;);
+    static Ref&lt;FormData&gt; create(const Vector&lt;char&gt;&amp;);
+    static Ref&lt;FormData&gt; create(const FormDataList&amp;, const TextEncoding&amp;, EncodingType = FormURLEncoded);
+    static Ref&lt;FormData&gt; createMultiPart(const FormDataList&amp;, const TextEncoding&amp;, Document*);
</ins><span class="cx">     WEBCORE_EXPORT ~FormData();
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Both these functions perform a deep copy of m_elements, but differ in handling of other data members.
</span><span class="cx">     // How much of that is intentional? We need better names that explain the difference.
</span><del>-    PassRefPtr&lt;FormData&gt; copy() const;
-    PassRefPtr&lt;FormData&gt; deepCopy() const;
</del><ins>+    Ref&lt;FormData&gt; copy() const;
+    Ref&lt;FormData&gt; deepCopy() const;
</ins><span class="cx"> 
</span><span class="cx">     template&lt;typename Encoder&gt;
</span><span class="cx">     void encode(Encoder&amp;) const;
</span><span class="cx">     template&lt;typename Decoder&gt;
</span><del>-    static PassRefPtr&lt;FormData&gt; decode(Decoder&amp;);
</del><ins>+    static RefPtr&lt;FormData&gt; decode(Decoder&amp;);
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void appendData(const void* data, size_t);
</span><span class="cx">     void appendFile(const String&amp; filePath, bool shouldGenerateFile = false);
</span><span class="lines">@@ -223,7 +223,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Resolve all blob references so we only have file and data.
</span><span class="cx">     // If the FormData has no blob references to resolve, this is returned.
</span><del>-    PassRefPtr&lt;FormData&gt; resolveBlobReferences();
</del><ins>+    Ref&lt;FormData&gt; resolveBlobReferences();
</ins><span class="cx"> 
</span><span class="cx">     bool isEmpty() const { return m_elements.isEmpty(); }
</span><span class="cx">     const Vector&lt;FormDataElement&gt;&amp; elements() const { return m_elements; }
</span><span class="lines">@@ -289,7 +289,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename Decoder&gt;
</span><del>-PassRefPtr&lt;FormData&gt; FormData::decode(Decoder&amp; decoder)
</del><ins>+RefPtr&lt;FormData&gt; FormData::decode(Decoder&amp; decoder)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;FormData&gt; data = FormData::create();
</span><span class="cx"> 
</span><span class="lines">@@ -305,7 +305,7 @@
</span><span class="cx">     if (!decoder.decode(data-&gt;m_identifier))
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    return data.release();
</del><ins>+    return data;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceRequestBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">         ASSERT(encodingCount &lt;= 3);
</span><span class="cx">         request-&gt;setResponseContentDispositionEncodingFallbackArray(encoding1, encoding2, encoding3);
</span><span class="cx">     }
</span><del>-    request-&gt;setHTTPBody(data-&gt;httpBody);
</del><ins>+    request-&gt;setHTTPBody(data-&gt;httpBody.copyRef());
</ins><span class="cx">     request-&gt;setAllowCookies(data-&gt;allowCookies);
</span><span class="cx">     request-&gt;doPlatformAdopt(WTFMove(data));
</span><span class="cx">     return request;
</span><span class="lines">@@ -413,11 +413,11 @@
</span><span class="cx">     return m_httpBody.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceRequestBase::setHTTPBody(PassRefPtr&lt;FormData&gt; httpBody)
</del><ins>+void ResourceRequestBase::setHTTPBody(RefPtr&lt;FormData&gt;&amp;&amp; httpBody)
</ins><span class="cx"> {
</span><span class="cx">     updateResourceRequest();
</span><span class="cx"> 
</span><del>-    m_httpBody = httpBody;
</del><ins>+    m_httpBody = WTFMove(httpBody);
</ins><span class="cx"> 
</span><span class="cx">     m_resourceRequestBodyUpdated = true;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceRequestBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.h (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceRequestBase.h        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/ResourceRequestBase.h        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -121,8 +121,8 @@
</span><span class="cx">         WEBCORE_EXPORT void setResponseContentDispositionEncodingFallbackArray(const String&amp; encoding1, const String&amp; encoding2 = String(), const String&amp; encoding3 = String());
</span><span class="cx"> 
</span><span class="cx">         WEBCORE_EXPORT FormData* httpBody() const;
</span><del>-        WEBCORE_EXPORT void setHTTPBody(PassRefPtr&lt;FormData&gt; httpBody);
-        
</del><ins>+        WEBCORE_EXPORT void setHTTPBody(RefPtr&lt;FormData&gt;&amp;&amp;);
+
</ins><span class="cx">         bool allowCookies() const;
</span><span class="cx">         void setAllowCookies(bool allowCookies);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcfFormDataStreamCFNetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -348,10 +348,8 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void setHTTPBody(CFMutableURLRequestRef request, PassRefPtr&lt;FormData&gt; prpFormData)
</del><ins>+void setHTTPBody(CFMutableURLRequestRef request, FormData* formData)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;FormData&gt; formData = prpFormData;
-
</del><span class="cx">     if (!formData)
</span><span class="cx">         return;
</span><span class="cx">         
</span><span class="lines">@@ -367,13 +365,14 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    formData = formData-&gt;resolveBlobReferences();
-    count = formData-&gt;elements().size();
</del><span class="cx"> 
</span><ins>+    Ref&lt;FormData&gt; newFormData = formData-&gt;resolveBlobReferences();
+    count = newFormData-&gt;elements().size();
+
</ins><span class="cx">     // Precompute the content length so NSURLConnection doesn't use chunked mode.
</span><span class="cx">     unsigned long long length = 0;
</span><span class="cx">     for (size_t i = 0; i &lt; count; ++i) {
</span><del>-        const FormDataElement&amp; element = formData-&gt;elements()[i];
</del><ins>+        const FormDataElement&amp; element = newFormData-&gt;elements()[i];
</ins><span class="cx">         if (element.m_type == FormDataElement::Type::Data)
</span><span class="cx">             length += element.m_data.size();
</span><span class="cx">         else {
</span><span class="lines">@@ -391,7 +390,7 @@
</span><span class="cx">     // Create and set the stream.
</span><span class="cx"> 
</span><span class="cx">     // Pass the length along with the formData so it does not have to be recomputed.
</span><del>-    FormCreationContext formContext = { formData.release(), length };
</del><ins>+    FormCreationContext formContext = {WTFMove(newFormData), length};
</ins><span class="cx"> 
</span><span class="cx">     CFReadStreamCallBacksV1 callBacks = { 1, formCreate, formFinalize, 0, formOpen, 0, formRead, 0, formCanRead, formClose, formCopyProperty, 0, 0, formSchedule, formUnschedule
</span><span class="cx">     };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcfFormDataStreamCFNeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.h (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.h        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.h        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> 
</span><span class="cx"> class FormData;
</span><span class="cx"> 
</span><del>-void setHTTPBody(CFMutableURLRequestRef, PassRefPtr&lt;FormData&gt;);
</del><ins>+void setHTTPBody(CFMutableURLRequestRef, FormData*);
</ins><span class="cx"> 
</span><span class="cx"> FormData* httpBodyFromStream(CFReadStreamRef);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcfResourceRequestCFNetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -204,7 +204,7 @@
</span><span class="cx">     } else
</span><span class="cx">         cfRequest = CFURLRequestCreateMutable(0, url.get(), (CFURLRequestCachePolicy)cachePolicy(), timeoutInterval(), firstPartyForCookies.get());
</span><span class="cx"> 
</span><del>-    RefPtr&lt;FormData&gt; formData = httpBody();
</del><ins>+    FormData* formData = httpBody();
</ins><span class="cx">     if (formData &amp;&amp; !formData-&gt;isEmpty())
</span><span class="cx">         WebCore::setHTTPBody(cfRequest, formData);
</span><span class="cx"> 
</span><span class="lines">@@ -335,7 +335,7 @@
</span><span class="cx">     *this = delegateProvidedRequest;
</span><span class="cx"> 
</span><span class="cx">     setPriority(oldPriority);
</span><del>-    setHTTPBody(oldHTTPBody.release());
</del><ins>+    setHTTPBody(WTFMove(oldHTTPBody));
</ins><span class="cx">     setHiddenFromInspector(isHiddenFromInspector);
</span><span class="cx">     setRequester(oldRequester);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcocoaResourceRequestCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -190,7 +190,7 @@
</span><span class="cx">     else
</span><span class="cx">         nsRequest = [[NSMutableURLRequest alloc] initWithURL:url()];
</span><span class="cx"> 
</span><del>-    RefPtr&lt;FormData&gt; formData = httpBody();
</del><ins>+    FormData* formData = httpBody();
</ins><span class="cx">     if (formData &amp;&amp; !formData-&gt;isEmpty())
</span><span class="cx">         WebCore::setHTTPBody(nsRequest, formData);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcurlResourceHandleManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -763,9 +763,10 @@
</span><span class="cx"> 
</span><span class="cx">     // Resolve the blob elements so the formData can correctly report it's size.
</span><span class="cx">     formData = formData-&gt;resolveBlobReferences();
</span><del>-    job-&gt;firstRequest().setHTTPBody(formData);
</del><ins>+    size_t size = formData-&gt;elements().size();
+    job-&gt;firstRequest().setHTTPBody(WTFMove(formData));
</ins><span class="cx"> 
</span><del>-    return formData-&gt;elements().size();
</del><ins>+    return size;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static void setupFormData(ResourceHandle* job, CURLoption sizeOption, struct curl_slist** headers)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkmacFormDataStreamMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/mac/FormDataStreamMac.h (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/mac/FormDataStreamMac.h        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/mac/FormDataStreamMac.h        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> 
</span><span class="cx">     class FormData;
</span><span class="cx"> 
</span><del>-    void setHTTPBody(NSMutableURLRequest *, PassRefPtr&lt;FormData&gt;);
</del><ins>+    void setHTTPBody(NSMutableURLRequest *, FormData*);
</ins><span class="cx">     FormData* httpBodyFromStream(NSInputStream *);
</span><span class="cx"> 
</span><span class="cx">     CFStringRef formDataStreamLengthPropertyName();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkmacFormDataStreamMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/mac/FormDataStreamMac.mm (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/mac/FormDataStreamMac.mm        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/mac/FormDataStreamMac.mm        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> 
</span><span class="cx"> #import &quot;FormData.h&quot;
</span><span class="cx"> #import &quot;FormDataStreamCFNet.h&quot;
</span><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> @interface NSURLRequest (WebNSURLRequestDetails)
</span><span class="cx"> - (CFURLRequestRef)_CFURLRequest;
</span><span class="lines">@@ -41,9 +40,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-void setHTTPBody(NSMutableURLRequest *request, PassRefPtr&lt;FormData&gt; prpFormData)
</del><ins>+void setHTTPBody(NSMutableURLRequest *request, FormData* formData)
</ins><span class="cx"> {
</span><del>-    setHTTPBody(const_cast&lt;CFMutableURLRequestRef&gt;([request _CFURLRequest]), prpFormData);
</del><ins>+    setHTTPBody(const_cast&lt;CFMutableURLRequestRef&gt;([request _CFURLRequest]), formData);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> FormData* httpBodyFromStream(NSInputStream *stream)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworksoupResourceHandleSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -506,7 +506,7 @@
</span><span class="cx">         // or if current redirection says so
</span><span class="cx">         if (message-&gt;method == SOUP_METHOD_GET || shouldRedirectAsGET(message, newURL, crossOrigin)) {
</span><span class="cx">             newRequest.setHTTPMethod(&quot;GET&quot;);
</span><del>-            newRequest.setHTTPBody(0);
</del><ins>+            newRequest.setHTTPBody(nullptr);
</ins><span class="cx">             newRequest.clearHTTPContentType();
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -743,7 +743,7 @@
</span><span class="cx">     if (m_requestEntityBody) {
</span><span class="cx">         ASSERT(m_method != &quot;GET&quot;);
</span><span class="cx">         ASSERT(m_method != &quot;HEAD&quot;);
</span><del>-        request.setHTTPBody(m_requestEntityBody.release());
</del><ins>+        request.setHTTPBody(WTFMove(m_requestEntityBody));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!m_requestHeaders.isEmpty())
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebKit/win/ChangeLog        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2016-01-22  Youenn Fablet  &lt;youenn.fablet@crf.canon.fr&gt;
+
+        Remove PassRefPtr from ResourceRequest and FormData
+        https://bugs.webkit.org/show_bug.cgi?id=153229
+
+        Reviewed by Chris Dumez.
+
+        * WebMutableURLRequest.cpp:
+        (WebMutableURLRequest::setHTTPBody):
+
</ins><span class="cx"> 2016-01-15  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove GraphicsContext::drawConvexPolygon() and GraphicsContext::clipConvexPolygon()
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebMutableURLRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebMutableURLRequest.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebMutableURLRequest.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebKit/win/WebMutableURLRequest.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -307,7 +307,7 @@
</span><span class="cx">     if (FAILED(data-&gt;Read(formData, stat.cbSize.LowPart, &amp;bytesRead)))
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    m_request.setHTTPBody(httpBody);
</del><ins>+    m_request.setHTTPBody(WTFMove(httpBody));
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebKit2/ChangeLog        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2016-01-22  Youenn Fablet  &lt;youenn.fablet@crf.canon.fr&gt;
+
+        Remove PassRefPtr from ResourceRequest and FormData
+        https://bugs.webkit.org/show_bug.cgi?id=153229
+
+        Reviewed by Chris Dumez.
+
+        * NetworkProcess/NetworkResourceLoadParameters.cpp:
+        (WebKit::NetworkResourceLoadParameters::decode):
+        * NetworkProcess/cache/NetworkCacheEntry.cpp:
+        (WebKit::NetworkCache::Entry::Entry):
+
</ins><span class="cx"> 2016-01-21  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION (r168244): Content in horizontal-bt page is offset such that only the end is viewable and there is a white gap at the top
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessNetworkResourceLoadParameterscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadParameters.cpp (195449 => 195450)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadParameters.cpp        2016-01-22 11:06:05 UTC (rev 195449)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadParameters.cpp        2016-01-22 14:51:16 UTC (rev 195450)
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx">         RefPtr&lt;FormData&gt; formData = FormData::decode(decoder);
</span><span class="cx">         if (!formData)
</span><span class="cx">             return false;
</span><del>-        result.request.setHTTPBody(formData.release());
</del><ins>+        result.request.setHTTPBody(WTFMove(formData));
</ins><span class="cx"> 
</span><span class="cx">         SandboxExtension::HandleArray requestBodySandboxExtensionHandles;
</span><span class="cx">         if (!decoder.decode(requestBodySandboxExtensionHandles))
</span></span></pre>
</div>
</div>

</body>
</html>