<!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>[206016] trunk/Source/WebCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/206016">206016</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2016-09-16 01:56:54 -0700 (Fri, 16 Sep 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>CachedResource should efficiently construct its ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=161609

Patch by Youenn Fablet &lt;youenn@apple.com&gt; on 2016-09-16
Reviewed by Sam Weinig.

Covered by existing tests.

Making CachedResourceLoader take a CachedResourceRequest&amp;&amp; when being asked to load resources.
Making CachedResource et al take a CachedResourceRequest&amp;&amp; as constructor parameter.

CachedResource now sets its options at construction time instead of load time.
This may change some specific behaviors, for instance when loading manually images.

Made some refactoring when both the resource and request are needed, for ResourceTimingInformation.
Made local copies of some CachedResourceRequest fields so that we do not need it after being WTFMoved.
Some of these properties may be put outside CachedResourceRequest in a later refactoring step.

* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::cachedFont):
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::loadBestFitImage):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::loadImage):
* css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::requestStyleSheet):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestScriptWithCache):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* html/parser/HTMLResourcePreloader.cpp:
(WebCore::HTMLResourcePreloader::preload):
* loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::startPreflight):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
* loader/LinkLoader.cpp:
(WebCore::LinkLoader::preloadIfNeeded):
(WebCore::LinkLoader::loadLink):
* loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::requestResource):
* loader/ResourceTimingInformation.cpp:
(WebCore::ResourceTimingInformation::storeResourceTimingInitiatorInformation):
* loader/ResourceTimingInformation.h:
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::load):
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
* loader/cache/CachedCSSStyleSheet.h:
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::load):
(WebCore::CachedFont::beginLoadIfNeeded):
* loader/cache/CachedFont.h:
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
(WebCore::CachedImage::load):
* loader/cache/CachedImage.h:
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::CachedRawResource):
* loader/cache/CachedRawResource.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::load):
(WebCore::CachedResource::loadFrom):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::resourceRequest):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestFont):
(WebCore::CachedResourceLoader::requestTextTrack):
(WebCore::CachedResourceLoader::requestCSSStyleSheet):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestScript):
(WebCore::CachedResourceLoader::requestXSLStyleSheet):
(WebCore::CachedResourceLoader::requestSVGDocument):
(WebCore::CachedResourceLoader::requestLinkResource):
(WebCore::CachedResourceLoader::requestMedia):
(WebCore::CachedResourceLoader::requestRawResource):
(WebCore::CachedResourceLoader::requestMainResource):
(WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest):
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
(WebCore::CachedResourceLoader::preload):
(WebCore::CachedResourceLoader::checkForPendingPreloads):
(WebCore::CachedResourceLoader::requestPreload):
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedSVGDocument.cpp:
(WebCore::CachedSVGDocument::CachedSVGDocument):
* loader/cache/CachedSVGDocument.h:
* loader/cache/CachedSVGDocumentReference.cpp:
(WebCore::CachedSVGDocumentReference::load):
* loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::CachedSVGFont):
* loader/cache/CachedSVGFont.h:
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
* loader/cache/CachedScript.h:
* loader/cache/CachedTextTrack.cpp:
(WebCore::CachedTextTrack::CachedTextTrack):
* loader/cache/CachedTextTrack.h:
* loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
(WebCore::CachedXSLStyleSheet::didAddClient):
* loader/cache/CachedXSLStyleSheet.h:
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
* platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
(WebCore::WebCoreAVCFResourceLoader::startLoading):
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::requestImageResource):
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::loadFont):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::updateExternalDocument):
* xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::loadSheet):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSFontFaceSrcValuecpp">trunk/Source/WebCore/css/CSSFontFaceSrcValue.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSImageSetValuecpp">trunk/Source/WebCore/css/CSSImageSetValue.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSImageValuecpp">trunk/Source/WebCore/css/CSSImageValue.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStyleRuleImportcpp">trunk/Source/WebCore/css/StyleRuleImport.cpp</a></li>
<li><a href="#trunkSourceWebCoredomProcessingInstructioncpp">trunk/Source/WebCore/dom/ProcessingInstruction.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptElementcpp">trunk/Source/WebCore/dom/ScriptElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLLinkElementcpp">trunk/Source/WebCore/html/HTMLLinkElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLResourcePreloadercpp">trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderCrossOriginPreflightCheckercpp">trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoadercpp">trunk/Source/WebCore/loader/DocumentLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentThreadableLoadercpp">trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderImageLoadercpp">trunk/Source/WebCore/loader/ImageLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderLinkLoadercpp">trunk/Source/WebCore/loader/LinkLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderMediaResourceLoadercpp">trunk/Source/WebCore/loader/MediaResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceTimingInformationcpp">trunk/Source/WebCore/loader/ResourceTimingInformation.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceTimingInformationh">trunk/Source/WebCore/loader/ResourceTimingInformation.h</a></li>
<li><a href="#trunkSourceWebCoreloaderTextTrackLoadercpp">trunk/Source/WebCore/loader/TextTrackLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedCSSStyleSheetcpp">trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedCSSStyleSheeth">trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedFontcpp">trunk/Source/WebCore/loader/cache/CachedFont.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedFonth">trunk/Source/WebCore/loader/cache/CachedFont.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedImagecpp">trunk/Source/WebCore/loader/cache/CachedImage.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedImageh">trunk/Source/WebCore/loader/cache/CachedImage.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedRawResourcecpp">trunk/Source/WebCore/loader/cache/CachedRawResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedRawResourceh">trunk/Source/WebCore/loader/cache/CachedRawResource.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourcecpp">trunk/Source/WebCore/loader/cache/CachedResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceh">trunk/Source/WebCore/loader/cache/CachedResource.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceLoadercpp">trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceLoaderh">trunk/Source/WebCore/loader/cache/CachedResourceLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGDocumentcpp">trunk/Source/WebCore/loader/cache/CachedSVGDocument.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGDocumenth">trunk/Source/WebCore/loader/cache/CachedSVGDocument.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGDocumentReferencecpp">trunk/Source/WebCore/loader/cache/CachedSVGDocumentReference.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGFontcpp">trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGFonth">trunk/Source/WebCore/loader/cache/CachedSVGFont.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedScriptcpp">trunk/Source/WebCore/loader/cache/CachedScript.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedScripth">trunk/Source/WebCore/loader/cache/CachedScript.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedTextTrackcpp">trunk/Source/WebCore/loader/cache/CachedTextTrack.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedTextTrackh">trunk/Source/WebCore/loader/cache/CachedTextTrack.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedXSLStyleSheetcpp">trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedXSLStyleSheeth">trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.h</a></li>
<li><a href="#trunkSourceWebCoreloadericonIconLoadercpp">trunk/Source/WebCore/loader/icon/IconLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationcfWebCoreAVCFResourceLoadercpp">trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcWebCoreAVFResourceLoadermm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEImageElementcpp">trunk/Source/WebCore/svg/SVGFEImageElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFontFaceUriElementcpp">trunk/Source/WebCore/svg/SVGFontFaceUriElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGUseElementcpp">trunk/Source/WebCore/svg/SVGUseElement.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXSLImportRulecpp">trunk/Source/WebCore/xml/XSLImportRule.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/ChangeLog        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -1,5 +1,136 @@
</span><span class="cx"> 2016-09-16  Youenn Fablet  &lt;youenn@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        CachedResource should efficiently construct its ResourceRequest
+        https://bugs.webkit.org/show_bug.cgi?id=161609
+
+        Reviewed by Sam Weinig.
+
+        Covered by existing tests.
+
+        Making CachedResourceLoader take a CachedResourceRequest&amp;&amp; when being asked to load resources.
+        Making CachedResource et al take a CachedResourceRequest&amp;&amp; as constructor parameter.
+
+        CachedResource now sets its options at construction time instead of load time.
+        This may change some specific behaviors, for instance when loading manually images.
+
+        Made some refactoring when both the resource and request are needed, for ResourceTimingInformation.
+        Made local copies of some CachedResourceRequest fields so that we do not need it after being WTFMoved.
+        Some of these properties may be put outside CachedResourceRequest in a later refactoring step.
+
+        * css/CSSFontFaceSrcValue.cpp:
+        (WebCore::CSSFontFaceSrcValue::cachedFont):
+        * css/CSSImageSetValue.cpp:
+        (WebCore::CSSImageSetValue::loadBestFitImage):
+        * css/CSSImageValue.cpp:
+        (WebCore::CSSImageValue::loadImage):
+        * css/StyleRuleImport.cpp:
+        (WebCore::StyleRuleImport::requestStyleSheet):
+        * dom/ProcessingInstruction.cpp:
+        (WebCore::ProcessingInstruction::checkStyleSheet):
+        * dom/ScriptElement.cpp:
+        (WebCore::ScriptElement::requestScriptWithCache):
+        * html/HTMLLinkElement.cpp:
+        (WebCore::HTMLLinkElement::process):
+        * html/parser/HTMLResourcePreloader.cpp:
+        (WebCore::HTMLResourcePreloader::preload):
+        * loader/CrossOriginPreflightChecker.cpp:
+        (WebCore::CrossOriginPreflightChecker::startPreflight):
+        * loader/DocumentLoader.cpp:
+        (WebCore::DocumentLoader::startLoadingMainResource):
+        * loader/DocumentThreadableLoader.cpp:
+        (WebCore::DocumentThreadableLoader::loadRequest):
+        * loader/ImageLoader.cpp:
+        (WebCore::ImageLoader::updateFromElement):
+        * loader/LinkLoader.cpp:
+        (WebCore::LinkLoader::preloadIfNeeded):
+        (WebCore::LinkLoader::loadLink):
+        * loader/MediaResourceLoader.cpp:
+        (WebCore::MediaResourceLoader::requestResource):
+        * loader/ResourceTimingInformation.cpp:
+        (WebCore::ResourceTimingInformation::storeResourceTimingInitiatorInformation):
+        * loader/ResourceTimingInformation.h:
+        * loader/TextTrackLoader.cpp:
+        (WebCore::TextTrackLoader::load):
+        * loader/cache/CachedCSSStyleSheet.cpp:
+        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
+        * loader/cache/CachedCSSStyleSheet.h:
+        * loader/cache/CachedFont.cpp:
+        (WebCore::CachedFont::CachedFont):
+        (WebCore::CachedFont::load):
+        (WebCore::CachedFont::beginLoadIfNeeded):
+        * loader/cache/CachedFont.h:
+        * loader/cache/CachedImage.cpp:
+        (WebCore::CachedImage::CachedImage):
+        (WebCore::CachedImage::load):
+        * loader/cache/CachedImage.h:
+        * loader/cache/CachedRawResource.cpp:
+        (WebCore::CachedRawResource::CachedRawResource):
+        * loader/cache/CachedRawResource.h:
+        * loader/cache/CachedResource.cpp:
+        (WebCore::CachedResource::CachedResource):
+        (WebCore::CachedResource::load):
+        (WebCore::CachedResource::loadFrom):
+        * loader/cache/CachedResource.h:
+        (WebCore::CachedResource::resourceRequest):
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::createResource):
+        (WebCore::CachedResourceLoader::requestImage):
+        (WebCore::CachedResourceLoader::requestFont):
+        (WebCore::CachedResourceLoader::requestTextTrack):
+        (WebCore::CachedResourceLoader::requestCSSStyleSheet):
+        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
+        (WebCore::CachedResourceLoader::requestScript):
+        (WebCore::CachedResourceLoader::requestXSLStyleSheet):
+        (WebCore::CachedResourceLoader::requestSVGDocument):
+        (WebCore::CachedResourceLoader::requestLinkResource):
+        (WebCore::CachedResourceLoader::requestMedia):
+        (WebCore::CachedResourceLoader::requestRawResource):
+        (WebCore::CachedResourceLoader::requestMainResource):
+        (WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest):
+        (WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest):
+        (WebCore::CachedResourceLoader::requestResource):
+        (WebCore::CachedResourceLoader::revalidateResource):
+        (WebCore::CachedResourceLoader::loadResource):
+        (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
+        (WebCore::CachedResourceLoader::preload):
+        (WebCore::CachedResourceLoader::checkForPendingPreloads):
+        (WebCore::CachedResourceLoader::requestPreload):
+        * loader/cache/CachedResourceLoader.h:
+        * loader/cache/CachedSVGDocument.cpp:
+        (WebCore::CachedSVGDocument::CachedSVGDocument):
+        * loader/cache/CachedSVGDocument.h:
+        * loader/cache/CachedSVGDocumentReference.cpp:
+        (WebCore::CachedSVGDocumentReference::load):
+        * loader/cache/CachedSVGFont.cpp:
+        (WebCore::CachedSVGFont::CachedSVGFont):
+        * loader/cache/CachedSVGFont.h:
+        * loader/cache/CachedScript.cpp:
+        (WebCore::CachedScript::CachedScript):
+        * loader/cache/CachedScript.h:
+        * loader/cache/CachedTextTrack.cpp:
+        (WebCore::CachedTextTrack::CachedTextTrack):
+        * loader/cache/CachedTextTrack.h:
+        * loader/cache/CachedXSLStyleSheet.cpp:
+        (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
+        (WebCore::CachedXSLStyleSheet::didAddClient):
+        * loader/cache/CachedXSLStyleSheet.h:
+        * loader/icon/IconLoader.cpp:
+        (WebCore::IconLoader::startLoading):
+        * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
+        (WebCore::WebCoreAVCFResourceLoader::startLoading):
+        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
+        (WebCore::WebCoreAVFResourceLoader::startLoading):
+        * svg/SVGFEImageElement.cpp:
+        (WebCore::SVGFEImageElement::requestImageResource):
+        * svg/SVGFontFaceUriElement.cpp:
+        (WebCore::SVGFontFaceUriElement::loadFont):
+        * svg/SVGUseElement.cpp:
+        (WebCore::SVGUseElement::updateExternalDocument):
+        * xml/XSLImportRule.cpp:
+        (WebCore::XSLImportRule::loadSheet):
+
+2016-09-16  Youenn Fablet  &lt;youenn@apple.com&gt;
+
</ins><span class="cx">         [Fetch API] Headers should be combine with ',' and not ', '
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=161736
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFontFaceSrcValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFontFaceSrcValue.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFontFaceSrcValue.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/css/CSSFontFaceSrcValue.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx"> 
</span><span class="cx">     CachedResourceRequest request(ResourceRequest(document-&gt;completeURL(m_resource)), options);
</span><span class="cx">     request.setInitiator(cachedResourceRequestInitiators().css);
</span><del>-    m_cachedFont = document-&gt;cachedResourceLoader().requestFont(request, isSVG);
</del><ins>+    m_cachedFont = document-&gt;cachedResourceLoader().requestFont(WTFMove(request), isSVG);
</ins><span class="cx">     return m_cachedFont.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSImageSetValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSImageSetValue.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSImageSetValue.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/css/CSSImageSetValue.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> {
</span><span class="cx">     Document* document = loader.document();
</span><span class="cx">     updateDeviceScaleFactor(*document);
</span><del>-    
</del><ins>+
</ins><span class="cx">     if (!m_accessedBestFitImage) {
</span><span class="cx">         m_accessedBestFitImage = true;
</span><span class="cx"> 
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">             ASSERT(document-&gt;securityOrigin());
</span><span class="cx">             updateRequestForAccessControl(request.mutableResourceRequest(), *document-&gt;securityOrigin(), options.allowCredentials);
</span><span class="cx">         }
</span><del>-        m_cachedImage = loader.requestImage(request);
</del><ins>+        m_cachedImage = loader.requestImage(WTFMove(request));
</ins><span class="cx">         m_bestFitImageScaleFactor = image.scaleFactor;
</span><span class="cx">     }
</span><span class="cx">     return { m_cachedImage.get(), m_bestFitImageScaleFactor };
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSImageValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSImageValue.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSImageValue.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/css/CSSImageValue.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">             ASSERT(loader.document()-&gt;securityOrigin());
</span><span class="cx">             updateRequestForAccessControl(request.mutableResourceRequest(), *loader.document()-&gt;securityOrigin(), options.allowCredentials);
</span><span class="cx">         }
</span><del>-        m_cachedImage = loader.requestImage(request);
</del><ins>+        m_cachedImage = loader.requestImage(WTFMove(request));
</ins><span class="cx">     }
</span><span class="cx">     return m_cachedImage.get();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleRuleImportcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleRuleImport.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleRuleImport.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/css/StyleRuleImport.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -119,10 +119,11 @@
</span><span class="cx">     request.setInitiator(cachedResourceRequestInitiators().css);
</span><span class="cx">     if (m_cachedSheet)
</span><span class="cx">         m_cachedSheet-&gt;removeClient(&amp;m_styleSheetClient);
</span><del>-    if (m_parentStyleSheet-&gt;isUserStyleSheet())
-        m_cachedSheet = document-&gt;cachedResourceLoader().requestUserCSSStyleSheet(request);
-    else
-        m_cachedSheet = document-&gt;cachedResourceLoader().requestCSSStyleSheet(request);
</del><ins>+    if (m_parentStyleSheet-&gt;isUserStyleSheet()) {
+        request.setOptions(ResourceLoaderOptions(DoNotSendCallbacks, SniffContent, BufferData, AllowStoredCredentials, ClientCredentialPolicy::MayAskClientForCredentials, FetchOptions::Credentials::Include, SkipSecurityCheck, FetchOptions::Mode::NoCors, DoNotIncludeCertificateInfo, ContentSecurityPolicyImposition::SkipPolicyCheck, DefersLoadingPolicy::AllowDefersLoading, CachingPolicy::AllowCaching));
+        m_cachedSheet = document-&gt;cachedResourceLoader().requestUserCSSStyleSheet(WTFMove(request));
+    } else
+        m_cachedSheet = document-&gt;cachedResourceLoader().requestCSSStyleSheet(WTFMove(request));
</ins><span class="cx">     if (m_cachedSheet) {
</span><span class="cx">         // if the import rule is issued dynamically, the sheet may be
</span><span class="cx">         // removed from the pending sheet count, so let the doc know
</span></span></pre></div>
<a id="trunkSourceWebCoredomProcessingInstructioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ProcessingInstruction.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ProcessingInstruction.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/dom/ProcessingInstruction.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -129,18 +129,18 @@
</span><span class="cx">                 m_cachedSheet-&gt;removeClient(this);
</span><span class="cx">                 m_cachedSheet = nullptr;
</span><span class="cx">             }
</span><del>-            
</del><ins>+
</ins><span class="cx">             String url = document().completeURL(href).string();
</span><span class="cx">             if (!dispatchBeforeLoadEvent(url))
</span><span class="cx">                 return;
</span><del>-            
</del><ins>+
</ins><span class="cx">             m_loading = true;
</span><span class="cx">             document().authorStyleSheets().addPendingSheet();
</span><del>-            
</del><ins>+
</ins><span class="cx">             CachedResourceRequest request(ResourceRequest(document().completeURL(href)));
</span><span class="cx"> #if ENABLE(XSLT)
</span><span class="cx">             if (m_isXSL)
</span><del>-                m_cachedSheet = document().cachedResourceLoader().requestXSLStyleSheet(request);
</del><ins>+                m_cachedSheet = document().cachedResourceLoader().requestXSLStyleSheet(WTFMove(request));
</ins><span class="cx">             else
</span><span class="cx"> #endif
</span><span class="cx">             {
</span><span class="lines">@@ -149,7 +149,7 @@
</span><span class="cx">                     charset = document().charset();
</span><span class="cx">                 request.setCharset(charset);
</span><span class="cx"> 
</span><del>-                m_cachedSheet = document().cachedResourceLoader().requestCSSStyleSheet(request);
</del><ins>+                m_cachedSheet = document().cachedResourceLoader().requestCSSStyleSheet(WTFMove(request));
</ins><span class="cx">             }
</span><span class="cx">             if (m_cachedSheet)
</span><span class="cx">                 m_cachedSheet-&gt;addClient(this);
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptElement.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptElement.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/dom/ScriptElement.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -293,7 +293,7 @@
</span><span class="cx">     request.setCharset(scriptCharset());
</span><span class="cx">     request.setInitiator(&amp;element());
</span><span class="cx"> 
</span><del>-    return m_element.document().cachedResourceLoader().requestScript(request);
</del><ins>+    return m_element.document().cachedResourceLoader().requestScript(WTFMove(request));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScriptElement::executeScript(const ScriptSourceCode&amp; sourceCode)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLLinkElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLLinkElement.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLLinkElement.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/html/HTMLLinkElement.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -271,7 +271,7 @@
</span><span class="cx">         }
</span><span class="cx">         request.setAsPotentiallyCrossOrigin(crossOrigin(), document());
</span><span class="cx"> 
</span><del>-        m_cachedSheet = document().cachedResourceLoader().requestCSSStyleSheet(request);
</del><ins>+        m_cachedSheet = document().cachedResourceLoader().requestCSSStyleSheet(WTFMove(request));
</ins><span class="cx"> 
</span><span class="cx">         if (m_cachedSheet)
</span><span class="cx">             m_cachedSheet-&gt;addClient(this);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLResourcePreloadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -68,8 +68,7 @@
</span><span class="cx">     if (!preload-&gt;media().isEmpty() &amp;&amp; !mediaAttributeMatches(m_document, &amp;m_document.renderView()-&gt;style(), preload-&gt;media()))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    CachedResourceRequest request = preload-&gt;resourceRequest(m_document);
-    m_document.cachedResourceLoader().preload(preload-&gt;resourceType(), request, preload-&gt;charset(), CachedResourceLoader::ImplicitPreload);
</del><ins>+    m_document.cachedResourceLoader().preload(preload-&gt;resourceType(), preload-&gt;resourceRequest(m_document), CachedResourceLoader::ImplicitPreload);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderCrossOriginPreflightCheckercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">         preflightRequest.mutableResourceRequest().setHTTPReferrer(m_loader.referrer());
</span><span class="cx"> 
</span><span class="cx">     ASSERT(!m_resource);
</span><del>-    m_resource = m_loader.document().cachedResourceLoader().requestRawResource(preflightRequest);
</del><ins>+    m_resource = m_loader.document().cachedResourceLoader().requestRawResource(WTFMove(preflightRequest));
</ins><span class="cx">     if (m_resource)
</span><span class="cx">         m_resource-&gt;addClient(this);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -1510,8 +1510,7 @@
</span><span class="cx">     request.makeUnconditional();
</span><span class="cx"> 
</span><span class="cx">     static NeverDestroyed&lt;ResourceLoaderOptions&gt; mainResourceLoadOptions(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, ClientCredentialPolicy::MayAskClientForCredentials, FetchOptions::Credentials::Include, SkipSecurityCheck, FetchOptions::Mode::NoCors, IncludeCertificateInfo, ContentSecurityPolicyImposition::DoPolicyCheck, DefersLoadingPolicy::AllowDefersLoading, CachingPolicy::AllowCaching);
</span><del>-    CachedResourceRequest cachedResourceRequest(ResourceRequest(request), mainResourceLoadOptions);
-    m_mainResource = m_cachedResourceLoader-&gt;requestMainResource(cachedResourceRequest);
</del><ins>+    m_mainResource = m_cachedResourceLoader-&gt;requestMainResource(CachedResourceRequest(ResourceRequest(request), mainResourceLoadOptions));
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(CONTENT_EXTENSIONS)
</span><span class="cx">     if (m_mainResource &amp;&amp; m_mainResource-&gt;errorOccurred() &amp;&amp; m_frame-&gt;page() &amp;&amp; m_mainResource-&gt;resourceError().domain() == ContentExtensions::WebKitContentBlockerDomain) {
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentThreadableLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -372,12 +372,14 @@
</span><span class="cx">         newRequest.mutableResourceRequest().setAllowCookies(m_options.allowCredentials == AllowStoredCredentials);
</span><span class="cx"> 
</span><span class="cx">         ASSERT(!m_resource);
</span><del>-        m_resource = m_document.cachedResourceLoader().requestRawResource(newRequest);
</del><ins>+        // We create an URL here as the request will be moved in requestRawResource
+        URL requestUrl = newRequest.resourceRequest().url();
+        m_resource = m_document.cachedResourceLoader().requestRawResource(WTFMove(newRequest));
</ins><span class="cx">         if (m_resource)
</span><span class="cx">             m_resource-&gt;addClient(this);
</span><span class="cx">         else {
</span><span class="cx">             // FIXME: Since we receive a synchronous error, this is probably due to some AccessControl checks. We should try to retrieve the actual error.
</span><del>-            m_client-&gt;didFail(ResourceError(String(), 0, newRequest.resourceRequest().url(), String(), ResourceError::Type::AccessControl));
</del><ins>+            m_client-&gt;didFail(ResourceError(String(), 0, requestUrl, String(), ResourceError::Type::AccessControl));
</ins><span class="cx">         }
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderImageLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ImageLoader.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ImageLoader.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/ImageLoader.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -185,7 +185,7 @@
</span><span class="cx">         if (m_loadManually) {
</span><span class="cx">             bool autoLoadOtherImages = document.cachedResourceLoader().autoLoadImages();
</span><span class="cx">             document.cachedResourceLoader().setAutoLoadImages(false);
</span><del>-            newImage = new CachedImage(request.resourceRequest(), m_element.document().page()-&gt;sessionID());
</del><ins>+            newImage = new CachedImage(WTFMove(request), m_element.document().page()-&gt;sessionID());
</ins><span class="cx">             newImage-&gt;setStatus(CachedResource::Pending);
</span><span class="cx">             newImage-&gt;setLoading(true);
</span><span class="cx">             newImage-&gt;setOwningCachedResourceLoader(&amp;document.cachedResourceLoader());
</span><span class="lines">@@ -192,7 +192,7 @@
</span><span class="cx">             document.cachedResourceLoader().m_documentResources.set(newImage-&gt;url(), newImage.get());
</span><span class="cx">             document.cachedResourceLoader().setAutoLoadImages(autoLoadOtherImages);
</span><span class="cx">         } else
</span><del>-            newImage = document.cachedResourceLoader().requestImage(request);
</del><ins>+            newImage = document.cachedResourceLoader().requestImage(WTFMove(request));
</ins><span class="cx"> 
</span><span class="cx">         // If we do not have an image here, it means that a cross-site
</span><span class="cx">         // violation occurred, or that the image was blocked via Content
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderLinkLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/LinkLoader.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/LinkLoader.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/LinkLoader.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -163,7 +163,7 @@
</span><span class="cx"> 
</span><span class="cx">     linkRequest.setAsPotentiallyCrossOrigin(crossOriginMode, document);
</span><span class="cx">     linkRequest.setForPreload(true);
</span><del>-    CachedResourceHandle&lt;CachedResource&gt; cachedLinkResource = document.cachedResourceLoader().preload(type.value(), linkRequest, emptyString(), CachedResourceLoader::ExplicitPreload);
</del><ins>+    CachedResourceHandle&lt;CachedResource&gt; cachedLinkResource = document.cachedResourceLoader().preload(type.value(), WTFMove(linkRequest), CachedResourceLoader::ExplicitPreload);
</ins><span class="cx"> 
</span><span class="cx">     if (cachedLinkResource)
</span><span class="cx">         m_preloadResourceClient = createLinkPreloadResourceClient(*cachedLinkResource, *this, type.value());
</span><span class="lines">@@ -195,13 +195,12 @@
</span><span class="cx">             priority = ResourceLoadPriority::Low;
</span><span class="cx">             type = CachedResource::LinkSubresource;
</span><span class="cx">         }
</span><del>-        CachedResourceRequest linkRequest(ResourceRequest(document.completeURL(href)), priority);
</del><span class="cx"> 
</span><span class="cx">         if (m_cachedLinkResource) {
</span><span class="cx">             m_cachedLinkResource-&gt;removeClient(this);
</span><span class="cx">             m_cachedLinkResource = nullptr;
</span><span class="cx">         }
</span><del>-        m_cachedLinkResource = document.cachedResourceLoader().requestLinkResource(type, linkRequest);
</del><ins>+        m_cachedLinkResource = document.cachedResourceLoader().requestLinkResource(type, CachedResourceRequest(ResourceRequest(document.completeURL(href)), priority));
</ins><span class="cx">         if (m_cachedLinkResource)
</span><span class="cx">             m_cachedLinkResource-&gt;addClient(this);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderMediaResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/MediaResourceLoader.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/MediaResourceLoader.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/MediaResourceLoader.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx">         cacheRequest.mutableResourceRequest().makeUnconditional();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    CachedResourceHandle&lt;CachedRawResource&gt; resource = m_document-&gt;cachedResourceLoader().requestMedia(cacheRequest);
</del><ins>+    CachedResourceHandle&lt;CachedRawResource&gt; resource = m_document-&gt;cachedResourceLoader().requestMedia(WTFMove(cacheRequest));
</ins><span class="cx">     if (!resource)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceTimingInformationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceTimingInformation.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceTimingInformation.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/ResourceTimingInformation.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceTimingInformation::storeResourceTimingInitiatorInformation(const CachedResourceHandle&lt;CachedResource&gt;&amp; resource, const CachedResourceRequest&amp; request, Frame* frame)
</del><ins>+void ResourceTimingInformation::storeResourceTimingInitiatorInformation(const CachedResourceHandle&lt;CachedResource&gt;&amp; resource, const AtomicString&amp; initiatorName, Frame* frame)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled());
</span><span class="cx">     ASSERT(resource.get());
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx">             m_initiatorMap.add(resource.get(), info);
</span><span class="cx">         }
</span><span class="cx">     } else {
</span><del>-        InitiatorInfo info = { request.initiatorName(), monotonicallyIncreasingTime(), NotYetAdded };
</del><ins>+        InitiatorInfo info = { initiatorName, monotonicallyIncreasingTime(), NotYetAdded };
</ins><span class="cx">         m_initiatorMap.add(resource.get(), info);
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceTimingInformationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceTimingInformation.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceTimingInformation.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/ResourceTimingInformation.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> public:
</span><span class="cx"> 
</span><span class="cx">     void addResourceTiming(CachedResource*, Document&amp;, const LoadTiming&amp;);
</span><del>-    void storeResourceTimingInitiatorInformation(const CachedResourceHandle&lt;CachedResource&gt;&amp;, const CachedResourceRequest&amp;, Frame*);
</del><ins>+    void storeResourceTimingInitiatorInformation(const CachedResourceHandle&lt;CachedResource&gt;&amp;, const AtomicString&amp;, Frame*);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     enum AlreadyAdded { NotYetAdded, Added };
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderTextTrackLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/TextTrackLoader.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/TextTrackLoader.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/TextTrackLoader.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -157,7 +157,7 @@
</span><span class="cx">     CachedResourceRequest cueRequest(ResourceRequest(document-&gt;completeURL(url)), options);
</span><span class="cx">     cueRequest.setAsPotentiallyCrossOrigin(crossOriginMode, *document);
</span><span class="cx"> 
</span><del>-    m_resource = document-&gt;cachedResourceLoader().requestTextTrack(cueRequest);
</del><ins>+    m_resource = document-&gt;cachedResourceLoader().requestTextTrack(WTFMove(cueRequest));
</ins><span class="cx">     if (!m_resource)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedCSSStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSStyleSheet.h&quot;
</span><span class="cx"> #include &quot;CachedResourceClientWalker.h&quot;
</span><ins>+#include &quot;CachedResourceRequest.h&quot;
</ins><span class="cx"> #include &quot;CachedStyleSheetClient.h&quot;
</span><span class="cx"> #include &quot;HTTPHeaderNames.h&quot;
</span><span class="cx"> #include &quot;HTTPParsers.h&quot;
</span><span class="lines">@@ -40,9 +41,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-CachedCSSStyleSheet::CachedCSSStyleSheet(const ResourceRequest&amp; resourceRequest, const String&amp; charset, SessionID sessionID)
-    : CachedResource(resourceRequest, CSSStyleSheet, sessionID)
-    , m_decoder(TextResourceDecoder::create(&quot;text/css&quot;, charset))
</del><ins>+CachedCSSStyleSheet::CachedCSSStyleSheet(CachedResourceRequest&amp;&amp; request, SessionID sessionID)
+    : CachedResource(WTFMove(request), CSSStyleSheet, sessionID)
+    , m_decoder(TextResourceDecoder::create(&quot;text/css&quot;, request.charset()))
</ins><span class="cx"> {
</span><span class="cx">     // Prefer text/css but accept any type (dell.com serves a stylesheet
</span><span class="cx">     // as text/html; see &lt;http://bugs.webkit.org/show_bug.cgi?id=11451&gt;).
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedCSSStyleSheeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx">     class CachedCSSStyleSheet final : public CachedResource {
</span><span class="cx">     public:
</span><del>-        CachedCSSStyleSheet(const ResourceRequest&amp;, const String&amp; charset, SessionID);
</del><ins>+        CachedCSSStyleSheet(CachedResourceRequest&amp;&amp;, SessionID);
</ins><span class="cx">         virtual ~CachedCSSStyleSheet();
</span><span class="cx"> 
</span><span class="cx">         enum class MIMETypeCheck { Strict, Lax };
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedFont.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedFont.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedFont.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -42,8 +42,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-CachedFont::CachedFont(const ResourceRequest&amp; resourceRequest, SessionID sessionID, Type type)
-    : CachedResource(resourceRequest, type, sessionID)
</del><ins>+CachedFont::CachedFont(CachedResourceRequest&amp;&amp; request, SessionID sessionID, Type type)
+    : CachedResource(WTFMove(request), type, sessionID)
</ins><span class="cx">     , m_loadInitiated(false)
</span><span class="cx">     , m_hasCreatedFontDataWrappingResource(false)
</span><span class="cx"> {
</span><span class="lines">@@ -53,11 +53,10 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedFont::load(CachedResourceLoader&amp;, const ResourceLoaderOptions&amp; options)
</del><ins>+void CachedFont::load(CachedResourceLoader&amp;)
</ins><span class="cx"> {
</span><span class="cx">     // Don't load the file yet.  Wait for an access before triggering the load.
</span><span class="cx">     setLoading(true);
</span><del>-    m_options = options;
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CachedFont::didAddClient(CachedResourceClient* client)
</span><span class="lines">@@ -79,7 +78,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!m_loadInitiated) {
</span><span class="cx">         m_loadInitiated = true;
</span><del>-        CachedResource::load(loader, m_options);
</del><ins>+        CachedResource::load(loader);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedFonth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedFont.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedFont.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedFont.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx"> class CachedFont : public CachedResource {
</span><span class="cx"> public:
</span><del>-    CachedFont(const ResourceRequest&amp;, SessionID, Type = FontResource);
</del><ins>+    CachedFont(CachedResourceRequest&amp;&amp;, SessionID, Type = FontResource);
</ins><span class="cx">     virtual ~CachedFont();
</span><span class="cx"> 
</span><span class="cx">     void beginLoadIfNeeded(CachedResourceLoader&amp;);
</span><span class="lines">@@ -50,7 +50,6 @@
</span><span class="cx">     bool stillNeedsLoad() const override { return !m_loadInitiated; }
</span><span class="cx"> 
</span><span class="cx">     virtual bool ensureCustomFontData(const AtomicString&amp; remoteURI);
</span><del>-
</del><span class="cx">     static std::unique_ptr&lt;FontCustomPlatformData&gt; createCustomFontData(SharedBuffer&amp;, bool&amp; wrapping);
</span><span class="cx">     static FontPlatformData platformDataFromCustomData(FontCustomPlatformData&amp;, const FontDescription&amp;, bool bold, bool italic, const FontFeatureSettings&amp;, const FontVariantSettings&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -65,7 +64,7 @@
</span><span class="cx">     void checkNotify() override;
</span><span class="cx">     bool mayTryReplaceEncodedData() const override;
</span><span class="cx"> 
</span><del>-    void load(CachedResourceLoader&amp;, const ResourceLoaderOptions&amp;) override;
</del><ins>+    void load(CachedResourceLoader&amp;) override;
</ins><span class="cx"> 
</span><span class="cx">     void didAddClient(CachedResourceClient*) override;
</span><span class="cx">     void finishLoading(SharedBuffer*) override;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedImage.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedImage.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedImage.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -56,8 +56,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-CachedImage::CachedImage(const ResourceRequest&amp; resourceRequest, SessionID sessionID)
-    : CachedResource(resourceRequest, ImageResource, sessionID)
</del><ins>+CachedImage::CachedImage(CachedResourceRequest&amp;&amp; request, SessionID sessionID)
+    : CachedResource(WTFMove(request), ImageResource, sessionID)
</ins><span class="cx">     , m_image(nullptr)
</span><span class="cx">     , m_isManuallyCached(false)
</span><span class="cx">     , m_shouldPaintBrokenImage(true)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CachedImage::CachedImage(Image* image, SessionID sessionID)
</span><del>-    : CachedResource(ResourceRequest(), ImageResource, sessionID)
</del><ins>+    : CachedResource(CachedResourceRequest(ResourceRequest()), ImageResource, sessionID)
</ins><span class="cx">     , m_image(image)
</span><span class="cx">     , m_isManuallyCached(false)
</span><span class="cx">     , m_shouldPaintBrokenImage(true)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CachedImage::CachedImage(const URL&amp; url, Image* image, SessionID sessionID)
</span><del>-    : CachedResource(ResourceRequest(url), ImageResource, sessionID)
</del><ins>+    : CachedResource(CachedResourceRequest(ResourceRequest(url)), ImageResource, sessionID)
</ins><span class="cx">     , m_image(image)
</span><span class="cx">     , m_isManuallyCached(false)
</span><span class="cx">     , m_shouldPaintBrokenImage(true)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CachedImage::CachedImage(const URL&amp; url, Image* image, CachedImage::CacheBehaviorType type, SessionID sessionID)
</span><del>-    : CachedResource(ResourceRequest(url), ImageResource, sessionID)
</del><ins>+    : CachedResource(CachedResourceRequest(ResourceRequest(url)), ImageResource, sessionID)
</ins><span class="cx">     , m_image(image)
</span><span class="cx">     , m_isManuallyCached(type == CachedImage::ManuallyCached)
</span><span class="cx">     , m_shouldPaintBrokenImage(true)
</span><span class="lines">@@ -106,10 +106,10 @@
</span><span class="cx">     clearImage();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedImage::load(CachedResourceLoader&amp; cachedResourceLoader, const ResourceLoaderOptions&amp; options)
</del><ins>+void CachedImage::load(CachedResourceLoader&amp; loader)
</ins><span class="cx"> {
</span><del>-    if (cachedResourceLoader.shouldPerformImageLoad(url()))
-        CachedResource::load(cachedResourceLoader, options);
</del><ins>+    if (loader.shouldPerformImageLoad(url()))
+        CachedResource::load(loader);
</ins><span class="cx">     else
</span><span class="cx">         setLoading(false);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedImage.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedImage.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedImage.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> public:
</span><span class="cx">     enum CacheBehaviorType { AutomaticallyCached, ManuallyCached };
</span><span class="cx"> 
</span><del>-    CachedImage(const ResourceRequest&amp;, SessionID);
</del><ins>+    CachedImage(CachedResourceRequest&amp;&amp;, SessionID);
</ins><span class="cx">     CachedImage(Image*, SessionID);
</span><span class="cx">     CachedImage(const URL&amp;, Image*, SessionID);
</span><span class="cx">     CachedImage(const URL&amp;, Image*, CacheBehaviorType, SessionID);
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     bool currentFrameKnownToBeOpaque(const RenderElement*);
</span><span class="cx"> 
</span><span class="cx">     std::pair&lt;Image*, float&gt; brokenImage(float deviceScaleFactor) const; // Returns an image and the image's resolution scale factor.
</span><del>-    bool willPaintBrokenImage() const; 
</del><ins>+    bool willPaintBrokenImage() const;
</ins><span class="cx"> 
</span><span class="cx">     bool canRender(const RenderElement* renderer, float multiplier) { return !errorOccurred() &amp;&amp; !imageSizeForRenderer(renderer, multiplier).isEmpty(); }
</span><span class="cx"> 
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool isManuallyCached() const { return m_isManuallyCached; }
</span><span class="cx">     RevalidationDecision makeRevalidationDecision(CachePolicy) const override;
</span><del>-    void load(CachedResourceLoader&amp;, const ResourceLoaderOptions&amp;) override;
</del><ins>+    void load(CachedResourceLoader&amp;) override;
</ins><span class="cx"> 
</span><span class="cx">     bool isOriginClean(SecurityOrigin*);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedRawResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedRawResource.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedRawResource.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedRawResource.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -36,8 +36,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-CachedRawResource::CachedRawResource(ResourceRequest&amp; resourceRequest, Type type, SessionID sessionID)
-    : CachedResource(resourceRequest, type, sessionID)
</del><ins>+CachedRawResource::CachedRawResource(CachedResourceRequest&amp;&amp; request, Type type, SessionID sessionID)
+    : CachedResource(WTFMove(request), type, sessionID)
</ins><span class="cx">     , m_identifier(0)
</span><span class="cx">     , m_allowEncodedDataReplacement(true)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedRawResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedRawResource.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedRawResource.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedRawResource.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> class CachedRawResource final : public CachedResource {
</span><span class="cx"> public:
</span><del>-    CachedRawResource(ResourceRequest&amp;, Type, SessionID);
</del><ins>+    CachedRawResource(CachedResourceRequest&amp;&amp;, Type, SessionID);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: AssociatedURLLoader shouldn't be a DocumentThreadableLoader and therefore shouldn't
</span><span class="cx">     // use CachedRawResource. However, it is, and it needs to be able to defer loading.
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">     virtual void setDefersLoading(bool);
</span><span class="cx"> 
</span><span class="cx">     virtual void setDataBufferingPolicy(DataBufferingPolicy);
</span><del>-    
</del><ins>+
</ins><span class="cx">     // FIXME: This is exposed for the InpsectorInstrumentation for preflights in DocumentThreadableLoader. It's also really lame.
</span><span class="cx">     unsigned long identifier() const { return m_identifier; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResource.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -112,8 +112,9 @@
</span><span class="cx"> 
</span><span class="cx"> DEFINE_DEBUG_ONLY_GLOBAL(RefCountedLeakCounter, cachedResourceLeakCounter, (&quot;CachedResource&quot;));
</span><span class="cx"> 
</span><del>-CachedResource::CachedResource(const ResourceRequest&amp; request, Type type, SessionID sessionID)
-    : m_resourceRequest(request)
</del><ins>+CachedResource::CachedResource(CachedResourceRequest&amp;&amp; request, Type type, SessionID sessionID)
+    : m_resourceRequest(WTFMove(request.mutableResourceRequest()))
+    , m_options(request.options())
</ins><span class="cx">     , m_decodedDataDeletionTimer(*this, &amp;CachedResource::destroyDecodedData, deadDecodedDataDeletionIntervalForResourceType(type))
</span><span class="cx">     , m_sessionID(sessionID)
</span><span class="cx">     , m_loadPriority(defaultPriorityForResourceType(type))
</span><span class="lines">@@ -259,7 +260,7 @@
</span><span class="cx">     addAdditionalRequestHeaders(loader);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedResource::load(CachedResourceLoader&amp; cachedResourceLoader, const ResourceLoaderOptions&amp; options)
</del><ins>+void CachedResource::load(CachedResourceLoader&amp; cachedResourceLoader)
</ins><span class="cx"> {
</span><span class="cx">     if (!cachedResourceLoader.frame()) {
</span><span class="cx">         failBeforeStarting();
</span><span class="lines">@@ -279,12 +280,11 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     FrameLoader&amp; frameLoader = frame.loader();
</span><del>-    if (options.securityCheck == DoSecurityCheck &amp;&amp; (frameLoader.state() == FrameStateProvisional || !frameLoader.activeDocumentLoader() || frameLoader.activeDocumentLoader()-&gt;isStopping())) {
</del><ins>+    if (m_options.securityCheck == DoSecurityCheck &amp;&amp; (frameLoader.state() == FrameStateProvisional || !frameLoader.activeDocumentLoader() || frameLoader.activeDocumentLoader()-&gt;isStopping())) {
</ins><span class="cx">         failBeforeStarting();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_options = options;
</del><span class="cx">     m_loading = true;
</span><span class="cx"> 
</span><span class="cx"> #if USE(QUICK_LOOK)
</span><span class="lines">@@ -335,7 +335,7 @@
</span><span class="cx">         m_fragmentIdentifierForRequest = String();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_loader = platformStrategies()-&gt;loaderStrategy()-&gt;loadResource(frame, *this, request, options);
</del><ins>+    m_loader = platformStrategies()-&gt;loaderStrategy()-&gt;loadResource(frame, *this, request, m_options);
</ins><span class="cx">     if (!m_loader) {
</span><span class="cx">         failBeforeStarting();
</span><span class="cx">         return;
</span><span class="lines">@@ -344,16 +344,15 @@
</span><span class="cx">     m_status = Pending;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedResource::loadFrom(const CachedResource&amp; resource, const ResourceLoaderOptions&amp; options, CachedResourceLoader&amp; cachedResourceLoader)
</del><ins>+void CachedResource::loadFrom(const CachedResource&amp; resource, CachedResourceLoader&amp; cachedResourceLoader)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(url() == resource.url());
</span><span class="cx">     ASSERT(type() == resource.type());
</span><span class="cx">     ASSERT(resource.status() == Status::Cached);
</span><span class="cx"> 
</span><del>-    m_options = options;
</del><span class="cx">     computeOrigin(cachedResourceLoader);
</span><span class="cx"> 
</span><del>-    if (isCrossOrigin() &amp;&amp; options.mode == FetchOptions::Mode::Cors) {
</del><ins>+    if (isCrossOrigin() &amp;&amp; m_options.mode == FetchOptions::Mode::Cors) {
</ins><span class="cx">         ASSERT(m_origin);
</span><span class="cx">         String errorMessage;
</span><span class="cx">         if (!WebCore::passesAccessControlCheck(resource.response(), m_options.allowCredentials, *m_origin, errorMessage)) {
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResource.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResource.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedResource.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -46,6 +46,7 @@
</span><span class="cx"> class CachedResourceClient;
</span><span class="cx"> class CachedResourceHandleBase;
</span><span class="cx"> class CachedResourceLoader;
</span><ins>+class CachedResourceRequest;
</ins><span class="cx"> class InspectorResource;
</span><span class="cx"> class SecurityOrigin;
</span><span class="cx"> class SharedBuffer;
</span><span class="lines">@@ -93,10 +94,10 @@
</span><span class="cx">         DecodeError
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    CachedResource(const ResourceRequest&amp;, Type, SessionID);
</del><ins>+    CachedResource(CachedResourceRequest&amp;&amp;, Type, SessionID);
</ins><span class="cx">     virtual ~CachedResource();
</span><span class="cx"> 
</span><del>-    virtual void load(CachedResourceLoader&amp;, const ResourceLoaderOptions&amp;);
</del><ins>+    virtual void load(CachedResourceLoader&amp;);
</ins><span class="cx"> 
</span><span class="cx">     virtual void setEncoding(const String&amp;) { }
</span><span class="cx">     virtual String encoding() const { return String(); }
</span><span class="lines">@@ -111,6 +112,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual bool shouldIgnoreHTTPStatusCodeErrors() const { return false; }
</span><span class="cx"> 
</span><ins>+    const ResourceRequest&amp; resourceRequest() const { return m_resourceRequest; }
</ins><span class="cx">     ResourceRequest&amp; resourceRequest() { return m_resourceRequest; }
</span><span class="cx">     const URL&amp; url() const { return m_resourceRequest.url();}
</span><span class="cx"> #if ENABLE(CACHE_PARTITIONING)
</span><span class="lines">@@ -209,7 +211,7 @@
</span><span class="cx">     bool isClean() const;
</span><span class="cx">     ResourceResponse::Tainting responseTainting() const { return m_responseTainting; }
</span><span class="cx"> 
</span><del>-    void loadFrom(const CachedResource&amp;, const ResourceLoaderOptions&amp;, CachedResourceLoader&amp;);
</del><ins>+    void loadFrom(const CachedResource&amp;, CachedResourceLoader&amp;);
</ins><span class="cx"> 
</span><span class="cx">     SecurityOrigin* origin() const { return m_origin.get(); }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -82,40 +82,40 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static CachedResource* createResource(CachedResource::Type type, ResourceRequest&amp; request, const String&amp; charset, SessionID sessionID)
</del><ins>+static CachedResource* createResource(CachedResource::Type type, CachedResourceRequest&amp;&amp; request, SessionID sessionID)
</ins><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><span class="cx">     case CachedResource::ImageResource:
</span><del>-        return new CachedImage(request, sessionID);
</del><ins>+        return new CachedImage(WTFMove(request), sessionID);
</ins><span class="cx">     case CachedResource::CSSStyleSheet:
</span><del>-        return new CachedCSSStyleSheet(request, charset, sessionID);
</del><ins>+        return new CachedCSSStyleSheet(WTFMove(request), sessionID);
</ins><span class="cx">     case CachedResource::Script:
</span><del>-        return new CachedScript(request, charset, sessionID);
</del><ins>+        return new CachedScript(WTFMove(request), sessionID);
</ins><span class="cx">     case CachedResource::SVGDocumentResource:
</span><del>-        return new CachedSVGDocument(request, sessionID);
</del><ins>+        return new CachedSVGDocument(WTFMove(request), sessionID);
</ins><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx">     case CachedResource::SVGFontResource:
</span><del>-        return new CachedSVGFont(request, sessionID);
</del><ins>+        return new CachedSVGFont(WTFMove(request), sessionID);
</ins><span class="cx"> #endif
</span><span class="cx">     case CachedResource::FontResource:
</span><del>-        return new CachedFont(request, sessionID);
</del><ins>+        return new CachedFont(WTFMove(request), sessionID);
</ins><span class="cx">     case CachedResource::MediaResource:
</span><span class="cx">     case CachedResource::RawResource:
</span><span class="cx">     case CachedResource::MainResource:
</span><del>-        return new CachedRawResource(request, type, sessionID);
</del><ins>+        return new CachedRawResource(WTFMove(request), type, sessionID);
</ins><span class="cx"> #if ENABLE(XSLT)
</span><span class="cx">     case CachedResource::XSLStyleSheet:
</span><del>-        return new CachedXSLStyleSheet(request, sessionID);
</del><ins>+        return new CachedXSLStyleSheet(WTFMove(request), sessionID);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(LINK_PREFETCH)
</span><span class="cx">     case CachedResource::LinkPrefetch:
</span><del>-        return new CachedResource(request, CachedResource::LinkPrefetch, sessionID);
</del><ins>+        return new CachedResource(WTFMove(request), CachedResource::LinkPrefetch, sessionID);
</ins><span class="cx">     case CachedResource::LinkSubresource:
</span><del>-        return new CachedResource(request, CachedResource::LinkSubresource, sessionID);
</del><ins>+        return new CachedResource(WTFMove(request), CachedResource::LinkSubresource, sessionID);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx">     case CachedResource::TextTrackResource:
</span><del>-        return new CachedTextTrack(request, sessionID);
</del><ins>+        return new CachedTextTrack(WTFMove(request), sessionID);
</ins><span class="cx"> #endif
</span><span class="cx">     }
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="lines">@@ -174,7 +174,7 @@
</span><span class="cx">     return sessionID;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedImage&gt; CachedResourceLoader::requestImage(CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedImage&gt; CachedResourceLoader::requestImage(CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><span class="cx">     if (Frame* frame = this-&gt;frame()) {
</span><span class="cx">         if (frame-&gt;loader().pageDismissalEventBeingDispatched() != FrameLoader::PageDismissalType::None) {
</span><span class="lines">@@ -186,35 +186,35 @@
</span><span class="cx">             return nullptr;
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    
</del><ins>+
</ins><span class="cx">     request.setDefer(clientDefersImage(request.resourceRequest().url()) ? CachedResourceRequest::DeferredByClient : CachedResourceRequest::NoDefer);
</span><del>-    return downcast&lt;CachedImage&gt;(requestResource(CachedResource::ImageResource, request).get());
</del><ins>+    return downcast&lt;CachedImage&gt;(requestResource(CachedResource::ImageResource, WTFMove(request)).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedFont&gt; CachedResourceLoader::requestFont(CachedResourceRequest&amp; request, bool isSVG)
</del><ins>+CachedResourceHandle&lt;CachedFont&gt; CachedResourceLoader::requestFont(CachedResourceRequest&amp;&amp; request, bool isSVG)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx">     if (isSVG)
</span><del>-        return downcast&lt;CachedSVGFont&gt;(requestResource(CachedResource::SVGFontResource, request).get());
</del><ins>+        return downcast&lt;CachedSVGFont&gt;(requestResource(CachedResource::SVGFontResource, WTFMove(request)).get());
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(isSVG);
</span><span class="cx"> #endif
</span><del>-    return downcast&lt;CachedFont&gt;(requestResource(CachedResource::FontResource, request).get());
</del><ins>+    return downcast&lt;CachedFont&gt;(requestResource(CachedResource::FontResource, WTFMove(request)).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><del>-CachedResourceHandle&lt;CachedTextTrack&gt; CachedResourceLoader::requestTextTrack(CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedTextTrack&gt; CachedResourceLoader::requestTextTrack(CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;CachedTextTrack&gt;(requestResource(CachedResource::TextTrackResource, request).get());
</del><ins>+    return downcast&lt;CachedTextTrack&gt;(requestResource(CachedResource::TextTrackResource, WTFMove(request)).get());
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedCSSStyleSheet&gt; CachedResourceLoader::requestCSSStyleSheet(CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedCSSStyleSheet&gt; CachedResourceLoader::requestCSSStyleSheet(CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;CachedCSSStyleSheet&gt;(requestResource(CachedResource::CSSStyleSheet, request).get());
</del><ins>+    return downcast&lt;CachedCSSStyleSheet&gt;(requestResource(CachedResource::CSSStyleSheet, WTFMove(request)).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedCSSStyleSheet&gt; CachedResourceLoader::requestUserCSSStyleSheet(CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedCSSStyleSheet&gt; CachedResourceLoader::requestUserCSSStyleSheet(CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><span class="cx">     URL url = MemoryCache::removeFragmentIdentifierIfNeeded(request.resourceRequest().url());
</span><span class="cx"> 
</span><span class="lines">@@ -234,56 +234,55 @@
</span><span class="cx">     if (url.string() != request.resourceRequest().url())
</span><span class="cx">         request.mutableResourceRequest().setURL(url);
</span><span class="cx"> 
</span><del>-    CachedResourceHandle&lt;CachedCSSStyleSheet&gt; userSheet = new CachedCSSStyleSheet(request.resourceRequest(), request.charset(), sessionID());
</del><ins>+    CachedResourceHandle&lt;CachedCSSStyleSheet&gt; userSheet = new CachedCSSStyleSheet(WTFMove(request), sessionID());
</ins><span class="cx"> 
</span><del>-    if (request.allowsCaching())
</del><ins>+    if (userSheet-&gt;allowsCaching())
</ins><span class="cx">         memoryCache.add(*userSheet);
</span><span class="cx">     // FIXME: loadResource calls setOwningCachedResourceLoader() if the resource couldn't be added to cache. Does this function need to call it, too?
</span><span class="cx"> 
</span><del>-    userSheet-&gt;load(*this, ResourceLoaderOptions(DoNotSendCallbacks, SniffContent, BufferData, AllowStoredCredentials, ClientCredentialPolicy::MayAskClientForCredentials, FetchOptions::Credentials::Include, SkipSecurityCheck, FetchOptions::Mode::NoCors, DoNotIncludeCertificateInfo, ContentSecurityPolicyImposition::SkipPolicyCheck, DefersLoadingPolicy::AllowDefersLoading, CachingPolicy::AllowCaching));
-    
</del><ins>+    userSheet-&gt;load(*this);
</ins><span class="cx">     return userSheet;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedScript&gt; CachedResourceLoader::requestScript(CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedScript&gt; CachedResourceLoader::requestScript(CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;CachedScript&gt;(requestResource(CachedResource::Script, request).get());
</del><ins>+    return downcast&lt;CachedScript&gt;(requestResource(CachedResource::Script, WTFMove(request)).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(XSLT)
</span><del>-CachedResourceHandle&lt;CachedXSLStyleSheet&gt; CachedResourceLoader::requestXSLStyleSheet(CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedXSLStyleSheet&gt; CachedResourceLoader::requestXSLStyleSheet(CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;CachedXSLStyleSheet&gt;(requestResource(CachedResource::XSLStyleSheet, request).get());
</del><ins>+    return downcast&lt;CachedXSLStyleSheet&gt;(requestResource(CachedResource::XSLStyleSheet, WTFMove(request)).get());
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedSVGDocument&gt; CachedResourceLoader::requestSVGDocument(CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedSVGDocument&gt; CachedResourceLoader::requestSVGDocument(CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;CachedSVGDocument&gt;(requestResource(CachedResource::SVGDocumentResource, request).get());
</del><ins>+    return downcast&lt;CachedSVGDocument&gt;(requestResource(CachedResource::SVGDocumentResource, WTFMove(request)).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(LINK_PREFETCH)
</span><del>-CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::requestLinkResource(CachedResource::Type type, CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::requestLinkResource(CachedResource::Type type, CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(frame());
</span><span class="cx">     ASSERT(type == CachedResource::LinkPrefetch || type == CachedResource::LinkSubresource);
</span><del>-    return requestResource(type, request);
</del><ins>+    return requestResource(type, WTFMove(request));
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedRawResource&gt; CachedResourceLoader::requestMedia(CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedRawResource&gt; CachedResourceLoader::requestMedia(CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;CachedRawResource&gt;(requestResource(CachedResource::MediaResource, request).get());
</del><ins>+    return downcast&lt;CachedRawResource&gt;(requestResource(CachedResource::MediaResource, WTFMove(request)).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedRawResource&gt; CachedResourceLoader::requestRawResource(CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedRawResource&gt; CachedResourceLoader::requestRawResource(CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;CachedRawResource&gt;(requestResource(CachedResource::RawResource, request).get());
</del><ins>+    return downcast&lt;CachedRawResource&gt;(requestResource(CachedResource::RawResource, WTFMove(request)).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedRawResource&gt; CachedResourceLoader::requestMainResource(CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedRawResource&gt; CachedResourceLoader::requestMainResource(CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;CachedRawResource&gt;(requestResource(CachedResource::MainResource, request).get());
</del><ins>+    return downcast&lt;CachedRawResource&gt;(requestResource(CachedResource::MainResource, WTFMove(request)).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static MixedContentChecker::ContentType contentTypeFromResourceType(CachedResource::Type type)
</span><span class="lines">@@ -539,32 +538,27 @@
</span><span class="cx">     return !newRequest.isNull();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CachedResourceLoader::updateCachedResourceWithCurrentRequest(CachedResourceRequest&amp; request, CachedResourceHandle&lt;CachedResource&gt;&amp; resourceHandle)
</del><ins>+bool CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest(const CachedResource&amp; resource, const CachedResourceRequest&amp; request)
</ins><span class="cx"> {
</span><del>-    ASSERT(resourceHandle);
-
-    CachedResource&amp; resource = *resourceHandle;
-
</del><span class="cx">     // FIXME: We should progressively extend this to other reusable resources
</span><span class="cx">     if (resource.type() != CachedResource::Type::ImageResource &amp;&amp; resource.type() != CachedResource::Type::Script &amp;&amp; resource.type() != CachedResource::Type::TextTrackResource &amp;&amp; resource.type() != CachedResource::Type::CSSStyleSheet)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    bool shouldUpdate = resource.options().mode != request.options().mode || request.resourceRequest().httpOrigin() != resource.resourceRequest().httpOrigin();
</del><ins>+    return resource.options().mode != request.options().mode || request.resourceRequest().httpOrigin() != resource.resourceRequest().httpOrigin();
+}
</ins><span class="cx"> 
</span><del>-    if (!shouldUpdate)
-        return false;
-
</del><ins>+CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::updateCachedResourceWithCurrentRequest(const CachedResource&amp; resource, CachedResourceRequest&amp;&amp; request)
+{
</ins><span class="cx">     // FIXME: For being loaded requests, we currently do not use the same resource, as this may induce errors in the resource response tainting.
</span><span class="cx">     // We should find a way to improve this.
</span><span class="cx">     if (resource.status() != CachedResource::Cached) {
</span><span class="cx">         request.setCachingPolicy(CachingPolicy::DisallowCaching);
</span><del>-        resourceHandle = loadResource(resource.type(), request);
-        return true;
</del><ins>+        return loadResource(resource.type(), WTFMove(request));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    resourceHandle = createResource(resource.type(), request.mutableResourceRequest(), request.charset(), sessionID());
-    resourceHandle-&gt;loadFrom(resource, request.options(), *this);
-    return true;
</del><ins>+    auto resourceHandle = createResource(resource.type(), WTFMove(request), sessionID());
+    resourceHandle-&gt;loadFrom(resource, *this);
+    return resourceHandle;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline void logMemoryCacheResourceRequest(Frame* frame, const String&amp; description, const String&amp; value = String())
</span><span class="lines">@@ -577,15 +571,15 @@
</span><span class="cx">         frame-&gt;page()-&gt;diagnosticLoggingClient().logDiagnosticMessageWithValue(DiagnosticLoggingKeys::resourceRequestKey(), description, value, ShouldSample::Yes);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::requestResource(CachedResource::Type type, CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::requestResource(CachedResource::Type type, CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><span class="cx">     if (Document* document = this-&gt;document())
</span><span class="cx">         document-&gt;contentSecurityPolicy()-&gt;upgradeInsecureRequestIfNeeded(request.mutableResourceRequest(), ContentSecurityPolicy::InsecureRequestType::Load);
</span><del>-    
</del><ins>+
</ins><span class="cx">     URL url = request.resourceRequest().url();
</span><del>-    
</del><ins>+
</ins><span class="cx">     LOG(ResourceLoading, &quot;CachedResourceLoader::requestResource '%s', charset '%s', priority=%d, forPreload=%u&quot;, url.stringCenterEllipsizedToLength().latin1().data(), request.charset().latin1().data(), request.priority() ? static_cast&lt;int&gt;(request.priority().value()) : -1, request.forPreload());
</span><del>-    
</del><ins>+
</ins><span class="cx">     // If only the fragment identifiers differ, it is the same resource.
</span><span class="cx">     url = MemoryCache::removeFragmentIdentifierIfNeeded(url);
</span><span class="cx"> 
</span><span class="lines">@@ -602,7 +596,7 @@
</span><span class="cx">         applyBlockedStatusToRequest(blockedStatus, resourceRequest);
</span><span class="cx">         if (blockedStatus.blockedLoad) {
</span><span class="cx">             if (type == CachedResource::Type::MainResource) {
</span><del>-                auto resource = createResource(type, request.mutableResourceRequest(), request.charset(), sessionID());
</del><ins>+                auto resource = createResource(type, WTFMove(request), sessionID());
</ins><span class="cx">                 ASSERT(resource);
</span><span class="cx">                 resource-&gt;error(CachedResource::Status::LoadError);
</span><span class="cx">                 resource-&gt;setResourceError(ResourceError(ContentExtensions::WebKitContentBlockerDomain, 0, request.resourceRequest().url(), WEB_UI_STRING(&quot;The URL was blocked by a content blocker&quot;, &quot;WebKitErrorBlockedByContentBlocker description&quot;)));
</span><span class="lines">@@ -647,6 +641,12 @@
</span><span class="cx"> 
</span><span class="cx">     logMemoryCacheResourceRequest(frame(), resource ? DiagnosticLoggingKeys::inMemoryCacheKey() : DiagnosticLoggingKeys::notInMemoryCacheKey());
</span><span class="cx"> 
</span><ins>+    // These 3 fields will be used below after request is moved.
+    // FIXME: We can rearrange the code to not require storing all 3 fields.
+    auto forPreload = request.forPreload();
+    auto defer = request.defer();
+    auto priority = request.priority();
+
</ins><span class="cx">     RevalidationPolicy policy = determineRevalidationPolicy(type, request, resource.get());
</span><span class="cx">     switch (policy) {
</span><span class="cx">     case Reload:
</span><span class="lines">@@ -655,19 +655,20 @@
</span><span class="cx">     case Load:
</span><span class="cx">         if (resource)
</span><span class="cx">             logMemoryCacheResourceRequest(frame(), DiagnosticLoggingKeys::inMemoryCacheKey(), DiagnosticLoggingKeys::unusedKey());
</span><del>-        resource = loadResource(type, request);
</del><ins>+        resource = loadResource(type, WTFMove(request));
</ins><span class="cx">         break;
</span><span class="cx">     case Revalidate:
</span><span class="cx">         if (resource)
</span><span class="cx">             logMemoryCacheResourceRequest(frame(), DiagnosticLoggingKeys::inMemoryCacheKey(), DiagnosticLoggingKeys::revalidatingKey());
</span><del>-        resource = revalidateResource(request, resource.get());
</del><ins>+        resource = revalidateResource(WTFMove(request), *resource);
</ins><span class="cx">         break;
</span><span class="cx">     case Use:
</span><del>-        if (updateCachedResourceWithCurrentRequest(request, resource)) {
</del><ins>+        ASSERT(resource);
+        if (shouldUpdateCachedResourceWithCurrentRequest(*resource, request)) {
+            resource = updateCachedResourceWithCurrentRequest(*resource, WTFMove(request));
</ins><span class="cx">             if (resource-&gt;status() != CachedResource::Status::Cached)
</span><span class="cx">                 policy = Load;
</span><span class="cx">         } else {
</span><del>-            ASSERT(policy == Use);
</del><span class="cx">             if (!shouldContinueAfterNotifyingLoadedFromMemoryCache(request, resource.get()))
</span><span class="cx">                 return nullptr;
</span><span class="cx">             logMemoryCacheResourceRequest(frame(), DiagnosticLoggingKeys::inMemoryCacheKey(), DiagnosticLoggingKeys::usedKey());
</span><span class="lines">@@ -677,7 +678,7 @@
</span><span class="cx">                 // FIXME (161170): The networkLoadTiming shouldn't be stored on the ResourceResponse.
</span><span class="cx">                 resource-&gt;response().networkLoadTiming().reset();
</span><span class="cx">                 loadTiming.setResponseEnd(monotonicallyIncreasingTime());
</span><del>-                m_resourceTimingInfo.storeResourceTimingInitiatorInformation(resource, request, frame());
</del><ins>+                m_resourceTimingInfo.storeResourceTimingInitiatorInformation(resource, request.initiatorName(), frame());
</ins><span class="cx">                 m_resourceTimingInfo.addResourceTiming(resource.get(), *document(), loadTiming);
</span><span class="cx">             }
</span><span class="cx"> #endif
</span><span class="lines">@@ -688,16 +689,16 @@
</span><span class="cx">     if (!resource)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    if (!request.forPreload() || policy != Use)
-        resource-&gt;setLoadPriority(request.priority());
</del><ins>+    if (!forPreload || policy != Use)
+        resource-&gt;setLoadPriority(priority);
</ins><span class="cx"> 
</span><del>-    if (!request.forPreload() &amp;&amp; resource-&gt;loader() &amp;&amp; resource-&gt;resourceRequest().ignoreForRequestCount()) {
</del><ins>+    if (!forPreload &amp;&amp; resource-&gt;loader() &amp;&amp; resource-&gt;resourceRequest().ignoreForRequestCount()) {
</ins><span class="cx">         resource-&gt;resourceRequest().setIgnoreForRequestCount(false);
</span><span class="cx">         incrementRequestCount(*resource);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if ((policy != Use || resource-&gt;stillNeedsLoad()) &amp;&amp; CachedResourceRequest::NoDefer == request.defer()) {
-        resource-&gt;load(*this, request.options());
</del><ins>+    if ((policy != Use || resource-&gt;stillNeedsLoad()) &amp;&amp; CachedResourceRequest::NoDefer == defer) {
+        resource-&gt;load(*this);
</ins><span class="cx"> 
</span><span class="cx">         // We don't support immediate loads, but we do support immediate failure.
</span><span class="cx">         if (resource-&gt;errorOccurred()) {
</span><span class="lines">@@ -707,8 +708,8 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (document() &amp;&amp; !document()-&gt;loadEventFinished() &amp;&amp; !request.resourceRequest().url().protocolIsData())
-        m_validatedURLs.add(request.resourceRequest().url());
</del><ins>+    if (document() &amp;&amp; !document()-&gt;loadEventFinished() &amp;&amp; !resource-&gt;resourceRequest().url().protocolIsData())
+        m_validatedURLs.add(resource-&gt;resourceRequest().url());
</ins><span class="cx"> 
</span><span class="cx">     ASSERT(resource-&gt;url() == url.string());
</span><span class="cx">     m_documentResources.set(resource-&gt;url(), resource);
</span><span class="lines">@@ -720,34 +721,34 @@
</span><span class="cx">     m_validatedURLs.clear();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::revalidateResource(const CachedResourceRequest&amp; request, CachedResource* resource)
</del><ins>+CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::revalidateResource(CachedResourceRequest&amp;&amp; request, CachedResource&amp; resource)
</ins><span class="cx"> {
</span><del>-    ASSERT(resource);
-    ASSERT(resource-&gt;inCache());
</del><ins>+    ASSERT(resource.inCache());
</ins><span class="cx">     auto&amp; memoryCache = MemoryCache::singleton();
</span><span class="cx">     ASSERT(!memoryCache.disabled());
</span><del>-    ASSERT(resource-&gt;canUseCacheValidator());
-    ASSERT(!resource-&gt;resourceToRevalidate());
-    ASSERT(resource-&gt;sessionID() == sessionID());
-    ASSERT(resource-&gt;allowsCaching());
</del><ins>+    ASSERT(resource.canUseCacheValidator());
+    ASSERT(!resource.resourceToRevalidate());
+    ASSERT(resource.sessionID() == sessionID());
+    ASSERT(resource.allowsCaching());
</ins><span class="cx"> 
</span><del>-    CachedResourceHandle&lt;CachedResource&gt; newResource = createResource(resource-&gt;type(), resource-&gt;resourceRequest(), resource-&gt;encoding(), resource-&gt;sessionID());
</del><ins>+#if ENABLE(WEB_TIMING)
+    AtomicString initiatorName = request.initiatorName();
+#endif
+    CachedResourceHandle&lt;CachedResource&gt; newResource = createResource(resource.type(), WTFMove(request), resource.sessionID());
</ins><span class="cx"> 
</span><del>-    LOG(ResourceLoading, &quot;Resource %p created to revalidate %p&quot;, newResource.get(), resource);
-    newResource-&gt;setResourceToRevalidate(resource);
-    
-    memoryCache.remove(*resource);
</del><ins>+    LOG(ResourceLoading, &quot;Resource %p created to revalidate %p&quot;, newResource.get(), &amp;resource);
+    newResource-&gt;setResourceToRevalidate(&amp;resource);
+
+    memoryCache.remove(resource);
</ins><span class="cx">     memoryCache.add(*newResource);
</span><span class="cx"> #if ENABLE(WEB_TIMING)
</span><span class="cx">     if (RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled())
</span><del>-        m_resourceTimingInfo.storeResourceTimingInitiatorInformation(newResource, request, frame());
-#else
-    UNUSED_PARAM(request);
</del><ins>+        m_resourceTimingInfo.storeResourceTimingInitiatorInformation(newResource, initiatorName, frame());
</ins><span class="cx"> #endif
</span><span class="cx">     return newResource;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::loadResource(CachedResource::Type type, CachedResourceRequest&amp; request)
</del><ins>+CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::loadResource(CachedResource::Type type, CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><span class="cx">     auto&amp; memoryCache = MemoryCache::singleton();
</span><span class="cx">     ASSERT(!request.allowsCaching() || !memoryCache.resourceForRequest(request.resourceRequest(), sessionID()));
</span><span class="lines">@@ -754,13 +755,16 @@
</span><span class="cx"> 
</span><span class="cx">     LOG(ResourceLoading, &quot;Loading CachedResource for '%s'.&quot;, request.resourceRequest().url().stringCenterEllipsizedToLength().latin1().data());
</span><span class="cx"> 
</span><del>-    CachedResourceHandle&lt;CachedResource&gt; resource = createResource(type, request.mutableResourceRequest(), request.charset(), sessionID());
</del><ins>+#if ENABLE(WEB_TIMING)
+    AtomicString initiatorName = request.initiatorName();
+#endif
+    CachedResourceHandle&lt;CachedResource&gt; resource = createResource(type, WTFMove(request), sessionID());
</ins><span class="cx"> 
</span><del>-    if (request.allowsCaching() &amp;&amp; !memoryCache.add(*resource))
</del><ins>+    if (resource-&gt;allowsCaching() &amp;&amp; !memoryCache.add(*resource))
</ins><span class="cx">         resource-&gt;setOwningCachedResourceLoader(this);
</span><span class="cx"> #if ENABLE(WEB_TIMING)
</span><span class="cx">     if (RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled())
</span><del>-        m_resourceTimingInfo.storeResourceTimingInitiatorInformation(resource, request, frame());
</del><ins>+        m_resourceTimingInfo.storeResourceTimingInitiatorInformation(resource, initiatorName, frame());
</ins><span class="cx"> #endif
</span><span class="cx">     return resource;
</span><span class="cx"> }
</span><span class="lines">@@ -985,7 +989,7 @@
</span><span class="cx"> {
</span><span class="cx">     for (auto&amp; resource : m_documentResources.values()) {
</span><span class="cx">         if (is&lt;CachedImage&gt;(*resource) &amp;&amp; resource-&gt;stillNeedsLoad() &amp;&amp; !clientDefersImage(resource-&gt;url()))
</span><del>-            downcast&lt;CachedImage&gt;(*resource).load(*this, defaultCachedResourceOptions());
</del><ins>+            downcast&lt;CachedImage&gt;(*resource).load(*this);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1095,7 +1099,7 @@
</span><span class="cx">     ASSERT(m_requestCount &gt; -1);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::preload(CachedResource::Type type, CachedResourceRequest&amp; request, const String&amp; charset, PreloadType preloadType)
</del><ins>+CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::preload(CachedResource::Type type, CachedResourceRequest&amp;&amp; request, PreloadType preloadType)
</ins><span class="cx"> {
</span><span class="cx">     // We always preload resources on iOS. See &lt;https://bugs.webkit.org/show_bug.cgi?id=91276&gt;.
</span><span class="cx">     // FIXME: We should consider adding a setting to toggle aggressive preloading behavior as opposed
</span><span class="lines">@@ -1106,7 +1110,7 @@
</span><span class="cx">     if (!hasRendering &amp;&amp; !canBlockParser &amp;&amp; preloadType == ImplicitPreload) {
</span><span class="cx">         // Don't preload subresources that can't block the parser before we have something to draw.
</span><span class="cx">         // This helps prevent preloads from delaying first display when bandwidth is limited.
</span><del>-        PendingPreload pendingPreload = { type, request, charset };
</del><ins>+        PendingPreload pendingPreload = { type, WTFMove(request) };
</ins><span class="cx">         m_pendingPreloads.append(pendingPreload);
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="lines">@@ -1113,10 +1117,10 @@
</span><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(preloadType);
</span><span class="cx"> #endif
</span><del>-    return requestPreload(type, request, charset);
</del><ins>+    return requestPreload(type, WTFMove(request));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedResourceLoader::checkForPendingPreloads() 
</del><ins>+void CachedResourceLoader::checkForPendingPreloads()
</ins><span class="cx"> {
</span><span class="cx">     if (m_pendingPreloads.isEmpty())
</span><span class="cx">         return;
</span><span class="lines">@@ -1133,21 +1137,18 @@
</span><span class="cx">         PendingPreload preload = m_pendingPreloads.takeFirst();
</span><span class="cx">         // Don't request preload if the resource already loaded normally (this will result in double load if the page is being reloaded with cached results ignored).
</span><span class="cx">         if (!cachedResource(preload.m_request.resourceRequest().url()))
</span><del>-            requestPreload(preload.m_type, preload.m_request, preload.m_charset);
</del><ins>+            requestPreload(preload.m_type, WTFMove(preload.m_request));
</ins><span class="cx">     }
</span><span class="cx">     m_pendingPreloads.clear();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::requestPreload(CachedResource::Type type, CachedResourceRequest&amp; request, const String&amp; charset)
</del><ins>+CachedResourceHandle&lt;CachedResource&gt; CachedResourceLoader::requestPreload(CachedResource::Type type, CachedResourceRequest&amp;&amp; request)
</ins><span class="cx"> {
</span><del>-    String encoding;
-    if (type == CachedResource::Script || type == CachedResource::CSSStyleSheet)
-        encoding = charset.isEmpty() ? m_document-&gt;charset() : charset;
-
-    request.setCharset(encoding);
</del><ins>+    if (request.charset().isEmpty() &amp;&amp; (type == CachedResource::Script || type == CachedResource::CSSStyleSheet))
+        request.setCharset(m_document-&gt;charset());
</ins><span class="cx">     request.setForPreload(true);
</span><span class="cx"> 
</span><del>-    CachedResourceHandle&lt;CachedResource&gt; resource = requestResource(type, request);
</del><ins>+    CachedResourceHandle&lt;CachedResource&gt; resource = requestResource(type, WTFMove(request));
</ins><span class="cx">     if (!resource || (m_preloads &amp;&amp; m_preloads-&gt;contains(resource.get())))
</span><span class="cx">         return nullptr;
</span><span class="cx">     // Fonts need special treatment since just creating the resource doesn't trigger a load.
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -72,23 +72,23 @@
</span><span class="cx">     static Ref&lt;CachedResourceLoader&gt; create(DocumentLoader* documentLoader) { return adoptRef(*new CachedResourceLoader(documentLoader)); }
</span><span class="cx">     ~CachedResourceLoader();
</span><span class="cx"> 
</span><del>-    CachedResourceHandle&lt;CachedImage&gt; requestImage(CachedResourceRequest&amp;);
-    CachedResourceHandle&lt;CachedCSSStyleSheet&gt; requestCSSStyleSheet(CachedResourceRequest&amp;);
-    CachedResourceHandle&lt;CachedCSSStyleSheet&gt; requestUserCSSStyleSheet(CachedResourceRequest&amp;);
-    CachedResourceHandle&lt;CachedScript&gt; requestScript(CachedResourceRequest&amp;);
-    CachedResourceHandle&lt;CachedFont&gt; requestFont(CachedResourceRequest&amp;, bool isSVG);
-    CachedResourceHandle&lt;CachedRawResource&gt; requestMedia(CachedResourceRequest&amp;);
-    CachedResourceHandle&lt;CachedRawResource&gt; requestRawResource(CachedResourceRequest&amp;);
-    CachedResourceHandle&lt;CachedRawResource&gt; requestMainResource(CachedResourceRequest&amp;);
-    CachedResourceHandle&lt;CachedSVGDocument&gt; requestSVGDocument(CachedResourceRequest&amp;);
</del><ins>+    CachedResourceHandle&lt;CachedImage&gt; requestImage(CachedResourceRequest&amp;&amp;);
+    CachedResourceHandle&lt;CachedCSSStyleSheet&gt; requestCSSStyleSheet(CachedResourceRequest&amp;&amp;);
+    CachedResourceHandle&lt;CachedCSSStyleSheet&gt; requestUserCSSStyleSheet(CachedResourceRequest&amp;&amp;);
+    CachedResourceHandle&lt;CachedScript&gt; requestScript(CachedResourceRequest&amp;&amp;);
+    CachedResourceHandle&lt;CachedFont&gt; requestFont(CachedResourceRequest&amp;&amp;, bool isSVG);
+    CachedResourceHandle&lt;CachedRawResource&gt; requestMedia(CachedResourceRequest&amp;&amp;);
+    CachedResourceHandle&lt;CachedRawResource&gt; requestRawResource(CachedResourceRequest&amp;&amp;);
+    CachedResourceHandle&lt;CachedRawResource&gt; requestMainResource(CachedResourceRequest&amp;&amp;);
+    CachedResourceHandle&lt;CachedSVGDocument&gt; requestSVGDocument(CachedResourceRequest&amp;&amp;);
</ins><span class="cx"> #if ENABLE(XSLT)
</span><del>-    CachedResourceHandle&lt;CachedXSLStyleSheet&gt; requestXSLStyleSheet(CachedResourceRequest&amp;);
</del><ins>+    CachedResourceHandle&lt;CachedXSLStyleSheet&gt; requestXSLStyleSheet(CachedResourceRequest&amp;&amp;);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(LINK_PREFETCH)
</span><del>-    CachedResourceHandle&lt;CachedResource&gt; requestLinkResource(CachedResource::Type, CachedResourceRequest&amp;);
</del><ins>+    CachedResourceHandle&lt;CachedResource&gt; requestLinkResource(CachedResource::Type, CachedResourceRequest&amp;&amp;);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><del>-    CachedResourceHandle&lt;CachedTextTrack&gt; requestTextTrack(CachedResourceRequest&amp;);
</del><ins>+    CachedResourceHandle&lt;CachedTextTrack&gt; requestTextTrack(CachedResourceRequest&amp;&amp;);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     // Logs an access denied message to the console for the specified URL.
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx"> 
</span><span class="cx">     CachedResource* cachedResource(const String&amp; url) const;
</span><span class="cx">     CachedResource* cachedResource(const URL&amp; url) const;
</span><del>-    
</del><ins>+
</ins><span class="cx">     typedef HashMap&lt;String, CachedResourceHandle&lt;CachedResource&gt;&gt; DocumentResourceMap;
</span><span class="cx">     const DocumentResourceMap&amp; allCachedResources() const { return m_documentResources; }
</span><span class="cx"> 
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">     void clearPreloads();
</span><span class="cx">     void clearPendingPreloads();
</span><span class="cx">     enum PreloadType { ImplicitPreload, ExplicitPreload };
</span><del>-    CachedResourceHandle&lt;CachedResource&gt; preload(CachedResource::Type, CachedResourceRequest&amp;, const String&amp; charset, PreloadType);
</del><ins>+    CachedResourceHandle&lt;CachedResource&gt; preload(CachedResource::Type, CachedResourceRequest&amp;&amp;, PreloadType);
</ins><span class="cx">     void checkForPendingPreloads();
</span><span class="cx">     void printPreloadStats();
</span><span class="cx"> 
</span><span class="lines">@@ -148,15 +148,17 @@
</span><span class="cx"> private:
</span><span class="cx">     explicit CachedResourceLoader(DocumentLoader*);
</span><span class="cx"> 
</span><del>-    CachedResourceHandle&lt;CachedResource&gt; requestResource(CachedResource::Type, CachedResourceRequest&amp;);
-    CachedResourceHandle&lt;CachedResource&gt; revalidateResource(const CachedResourceRequest&amp;, CachedResource*);
-    CachedResourceHandle&lt;CachedResource&gt; loadResource(CachedResource::Type, CachedResourceRequest&amp;);
-    CachedResourceHandle&lt;CachedResource&gt; requestPreload(CachedResource::Type, CachedResourceRequest&amp;, const String&amp; charset);
</del><ins>+    CachedResourceHandle&lt;CachedResource&gt; requestResource(CachedResource::Type, CachedResourceRequest&amp;&amp;);
+    CachedResourceHandle&lt;CachedResource&gt; revalidateResource(CachedResourceRequest&amp;&amp;, CachedResource&amp;);
+    CachedResourceHandle&lt;CachedResource&gt; loadResource(CachedResource::Type, CachedResourceRequest&amp;&amp;);
+    CachedResourceHandle&lt;CachedResource&gt; requestPreload(CachedResource::Type, CachedResourceRequest&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     enum RevalidationPolicy { Use, Revalidate, Reload, Load };
</span><span class="cx">     RevalidationPolicy determineRevalidationPolicy(CachedResource::Type, CachedResourceRequest&amp;, CachedResource* existingResource) const;
</span><span class="cx"> 
</span><del>-    bool updateCachedResourceWithCurrentRequest(CachedResourceRequest&amp;, CachedResourceHandle&lt;CachedResource&gt;&amp;);
</del><ins>+    bool shouldUpdateCachedResourceWithCurrentRequest(const CachedResource&amp;, const CachedResourceRequest&amp;);
+    CachedResourceHandle&lt;CachedResource&gt; updateCachedResourceWithCurrentRequest(const CachedResource&amp;, CachedResourceRequest&amp;&amp;);
+
</ins><span class="cx">     bool shouldContinueAfterNotifyingLoadedFromMemoryCache(const CachedResourceRequest&amp;, CachedResource*);
</span><span class="cx">     bool checkInsecureContent(CachedResource::Type, const URL&amp;) const;
</span><span class="cx"> 
</span><span class="lines">@@ -178,7 +180,6 @@
</span><span class="cx">     struct PendingPreload {
</span><span class="cx">         CachedResource::Type m_type;
</span><span class="cx">         CachedResourceRequest m_request;
</span><del>-        String m_charset;
</del><span class="cx">     };
</span><span class="cx">     Deque&lt;PendingPreload&gt; m_pendingPreloads;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGDocument.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGDocument.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedSVGDocument.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -27,8 +27,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-CachedSVGDocument::CachedSVGDocument(const ResourceRequest&amp; request, SessionID sessionID)
-    : CachedResource(request, SVGDocumentResource, sessionID)
</del><ins>+CachedSVGDocument::CachedSVGDocument(CachedResourceRequest&amp;&amp; request, SessionID sessionID)
+    : CachedResource(WTFMove(request), SVGDocumentResource, sessionID)
</ins><span class="cx">     , m_decoder(TextResourceDecoder::create(&quot;application/xml&quot;))
</span><span class="cx"> {
</span><span class="cx">     setAccept(&quot;image/svg+xml&quot;);
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGDocument.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGDocument.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedSVGDocument.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> class CachedSVGDocument final : public CachedResource {
</span><span class="cx"> public:
</span><del>-    explicit CachedSVGDocument(const ResourceRequest&amp;, SessionID);
</del><ins>+    explicit CachedSVGDocument(CachedResourceRequest&amp;&amp;, SessionID);
</ins><span class="cx">     virtual ~CachedSVGDocument();
</span><span class="cx"> 
</span><span class="cx">     SVGDocument* document() const { return m_document.get(); }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGDocumentReferencecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGDocumentReference.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGDocumentReference.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedSVGDocumentReference.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> 
</span><span class="cx">     CachedResourceRequest request(ResourceRequest(loader.document()-&gt;completeURL(m_url)), options);
</span><span class="cx">     request.setInitiator(cachedResourceRequestInitiators().css);
</span><del>-    m_document = loader.requestSVGDocument(request);
</del><ins>+    m_document = loader.requestSVGDocument(WTFMove(request));
</ins><span class="cx">     if (m_document)
</span><span class="cx">         m_document-&gt;addClient(this);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -42,8 +42,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-CachedSVGFont::CachedSVGFont(const ResourceRequest&amp; resourceRequest, SessionID sessionID)
-    : CachedFont(resourceRequest, sessionID, SVGFontResource)
</del><ins>+CachedSVGFont::CachedSVGFont(CachedResourceRequest&amp;&amp; request, SessionID sessionID)
+    : CachedFont(WTFMove(request), sessionID, SVGFontResource)
</ins><span class="cx">     , m_externalSVGFontElement(nullptr)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGFonth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGFont.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGFont.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedSVGFont.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -36,10 +36,10 @@
</span><span class="cx"> 
</span><span class="cx"> class CachedSVGFont final : public CachedFont {
</span><span class="cx"> public:
</span><del>-    CachedSVGFont(const ResourceRequest&amp;, SessionID);
</del><ins>+    CachedSVGFont(CachedResourceRequest&amp;&amp;, SessionID);
</ins><span class="cx"> 
</span><span class="cx">     bool ensureCustomFontData(const AtomicString&amp; remoteURI) override;
</span><del>-    
</del><ins>+
</ins><span class="cx">     RefPtr&lt;Font&gt; createFont(const FontDescription&amp;, const AtomicString&amp; remoteURI, bool syntheticBold, bool syntheticItalic, const FontFeatureSettings&amp;, const FontVariantSettings&amp;) override;
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedScriptcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedScript.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedScript.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedScript.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CachedResourceClient.h&quot;
</span><span class="cx"> #include &quot;CachedResourceClientWalker.h&quot;
</span><ins>+#include &quot;CachedResourceRequest.h&quot;
</ins><span class="cx"> #include &quot;HTTPHeaderNames.h&quot;
</span><span class="cx"> #include &quot;HTTPParsers.h&quot;
</span><span class="cx"> #include &quot;MIMETypeRegistry.h&quot;
</span><span class="lines">@@ -39,9 +40,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-CachedScript::CachedScript(const ResourceRequest&amp; resourceRequest, const String&amp; charset, SessionID sessionID)
-    : CachedResource(resourceRequest, Script, sessionID)
-    , m_decoder(TextResourceDecoder::create(ASCIILiteral(&quot;application/javascript&quot;), charset))
</del><ins>+CachedScript::CachedScript(CachedResourceRequest&amp;&amp; request, SessionID sessionID)
+    : CachedResource(WTFMove(request), Script, sessionID)
+    , m_decoder(TextResourceDecoder::create(ASCIILiteral(&quot;application/javascript&quot;), request.charset()))
</ins><span class="cx"> {
</span><span class="cx">     // It's javascript we want.
</span><span class="cx">     // But some websites think their scripts are &lt;some wrong mimetype here&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedScripth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedScript.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedScript.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedScript.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> class CachedScript final : public CachedResource {
</span><span class="cx"> public:
</span><del>-    CachedScript(const ResourceRequest&amp;, const String&amp; charset, SessionID);
</del><ins>+    CachedScript(CachedResourceRequest&amp;&amp;, SessionID);
</ins><span class="cx">     virtual ~CachedScript();
</span><span class="cx"> 
</span><span class="cx">     StringView script();
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedTextTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedTextTrack.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedTextTrack.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedTextTrack.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -37,8 +37,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-CachedTextTrack::CachedTextTrack(const ResourceRequest&amp; resourceRequest, SessionID sessionID)
-    : CachedResource(resourceRequest, TextTrackResource, sessionID)
</del><ins>+CachedTextTrack::CachedTextTrack(CachedResourceRequest&amp;&amp; request, SessionID sessionID)
+    : CachedResource(WTFMove(request), TextTrackResource, sessionID)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedTextTrackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedTextTrack.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedTextTrack.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedTextTrack.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> 
</span><span class="cx"> class CachedTextTrack final : public CachedResource {
</span><span class="cx"> public:
</span><del>-    CachedTextTrack(const ResourceRequest&amp;, SessionID);
</del><ins>+    CachedTextTrack(CachedResourceRequest&amp;&amp;, SessionID);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     bool mayTryReplaceEncodedData() const override { return true; }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedXSLStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -36,8 +36,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(XSLT)
</span><span class="cx"> 
</span><del>-CachedXSLStyleSheet::CachedXSLStyleSheet(const ResourceRequest&amp; resourceRequest, SessionID sessionID)
-    : CachedResource(resourceRequest, XSLStyleSheet, sessionID)
</del><ins>+CachedXSLStyleSheet::CachedXSLStyleSheet(CachedResourceRequest&amp;&amp; request, SessionID sessionID)
+    : CachedResource(WTFMove(request), XSLStyleSheet, sessionID)
</ins><span class="cx">     , m_decoder(TextResourceDecoder::create(&quot;text/xsl&quot;))
</span><span class="cx"> {
</span><span class="cx">     // It's XML we want.
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CachedXSLStyleSheet::didAddClient(CachedResourceClient* c)
</span><del>-{  
</del><ins>+{
</ins><span class="cx">     ASSERT(c-&gt;resourceClientType() == CachedStyleSheetClient::expectedType());
</span><span class="cx">     if (!isLoading())
</span><span class="cx">         static_cast&lt;CachedStyleSheetClient*&gt;(c)-&gt;setXSLStyleSheet(m_resourceRequest.url(), m_response.url(), m_sheet);
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedXSLStyleSheeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.h (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.h        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.h        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> class CachedXSLStyleSheet final : public CachedResource {
</span><span class="cx"> public:
</span><del>-    CachedXSLStyleSheet(const ResourceRequest&amp;, SessionID);
</del><ins>+    CachedXSLStyleSheet(CachedResourceRequest&amp;&amp;, SessionID);
</ins><span class="cx">     virtual ~CachedXSLStyleSheet();
</span><span class="cx"> 
</span><span class="cx">     const String&amp; sheet() const { return m_sheet; }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadericonIconLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/icon/IconLoader.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/icon/IconLoader.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/loader/icon/IconLoader.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">     request.mutableResourceRequest().setPriority(ResourceLoadPriority::Low);
</span><span class="cx">     request.setInitiator(cachedResourceRequestInitiators().icon);
</span><span class="cx"> 
</span><del>-    m_resource = m_frame.document()-&gt;cachedResourceLoader().requestRawResource(request);
</del><ins>+    m_resource = m_frame.document()-&gt;cachedResourceLoader().requestRawResource(WTFMove(request));
</ins><span class="cx">     if (m_resource)
</span><span class="cx">         m_resource-&gt;addClient(this);
</span><span class="cx">     else
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationcfWebCoreAVCFResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx"> 
</span><span class="cx">     request.mutableResourceRequest().setPriority(ResourceLoadPriority::Low);
</span><span class="cx">     CachedResourceLoader* loader = m_parent-&gt;player()-&gt;cachedResourceLoader();
</span><del>-    m_resource = loader ? loader-&gt;requestRawResource(request) : 0;
</del><ins>+    m_resource = loader ? loader-&gt;requestRawResource(WTFMove(request)) : 0;
</ins><span class="cx">     if (m_resource)
</span><span class="cx">         m_resource-&gt;addClient(this);
</span><span class="cx">     else {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcWebCoreAVFResourceLoadermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     CachedResourceRequest request(nsRequest, ResourceLoaderOptions(SendCallbacks, DoNotSniffContent, BufferData, DoNotAllowStoredCredentials, ClientCredentialPolicy::CannotAskClientForCredentials, FetchOptions::Credentials::Omit, DoSecurityCheck, FetchOptions::Mode::NoCors, DoNotIncludeCertificateInfo, ContentSecurityPolicyImposition::DoPolicyCheck, DefersLoadingPolicy::AllowDefersLoading, CachingPolicy::DisallowCaching));
</span><span class="cx">     request.mutableResourceRequest().setPriority(ResourceLoadPriority::Low);
</span><span class="cx">     if (auto* loader = m_parent-&gt;player()-&gt;cachedResourceLoader())
</span><del>-        m_resource = loader-&gt;requestMedia(request);
</del><ins>+        m_resource = loader-&gt;requestMedia(WTFMove(request));
</ins><span class="cx"> 
</span><span class="cx">     if (m_resource)
</span><span class="cx">         m_resource-&gt;addClient(this);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEImageElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEImageElement.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEImageElement.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/svg/SVGFEImageElement.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx"> 
</span><span class="cx">     CachedResourceRequest request(ResourceRequest(document().completeURL(href())), options);
</span><span class="cx">     request.setInitiator(this);
</span><del>-    m_cachedImage = document().cachedResourceLoader().requestImage(request);
</del><ins>+    m_cachedImage = document().cachedResourceLoader().requestImage(WTFMove(request));
</ins><span class="cx"> 
</span><span class="cx">     if (m_cachedImage)
</span><span class="cx">         m_cachedImage-&gt;addClient(this);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFontFaceUriElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFontFaceUriElement.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFontFaceUriElement.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/svg/SVGFontFaceUriElement.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx">         CachedResourceLoader&amp; cachedResourceLoader = document().cachedResourceLoader();
</span><span class="cx">         CachedResourceRequest request(ResourceRequest(document().completeURL(href)), options);
</span><span class="cx">         request.setInitiator(this);
</span><del>-        m_cachedFont = cachedResourceLoader.requestFont(request, isSVGFontTarget(*this));
</del><ins>+        m_cachedFont = cachedResourceLoader.requestFont(WTFMove(request), isSVGFontTarget(*this));
</ins><span class="cx">         if (m_cachedFont) {
</span><span class="cx">             m_cachedFont-&gt;addClient(this);
</span><span class="cx">             m_cachedFont-&gt;beginLoadIfNeeded(cachedResourceLoader);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGUseElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGUseElement.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGUseElement.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/svg/SVGUseElement.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -573,7 +573,7 @@
</span><span class="cx"> 
</span><span class="cx">         CachedResourceRequest request { ResourceRequest { externalDocumentURL }, options };
</span><span class="cx">         request.setInitiator(this);
</span><del>-        m_externalDocument = document().cachedResourceLoader().requestSVGDocument(request);
</del><ins>+        m_externalDocument = document().cachedResourceLoader().requestSVGDocument(WTFMove(request));
</ins><span class="cx">         if (m_externalDocument)
</span><span class="cx">             m_externalDocument-&gt;addClient(this);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXSLImportRulecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XSLImportRule.cpp (206015 => 206016)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XSLImportRule.cpp        2016-09-16 08:47:08 UTC (rev 206015)
+++ trunk/Source/WebCore/xml/XSLImportRule.cpp        2016-09-16 08:56:54 UTC (rev 206016)
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">     if (!parentSheet-&gt;baseURL().isNull())
</span><span class="cx">         // use parent styleheet's URL as the base URL
</span><span class="cx">         absHref = URL(parentSheet-&gt;baseURL(), m_strHref).string();
</span><del>-    
</del><ins>+
</ins><span class="cx">     // Check for a cycle in our import chain.  If we encounter a stylesheet
</span><span class="cx">     // in our parent chain with the same URL, then just bail.
</span><span class="cx">     for (XSLStyleSheet* parentSheet = parentStyleSheet(); parentSheet; parentSheet = parentSheet-&gt;parentStyleSheet()) {
</span><span class="lines">@@ -97,15 +97,14 @@
</span><span class="cx">         if (absHref == parentSheet-&gt;baseURL().string())
</span><span class="cx">             return;
</span><span class="cx">     }
</span><del>-    
-    CachedResourceRequest request(ResourceRequest(cachedResourceLoader-&gt;document()-&gt;completeURL(absHref)));
</del><ins>+
</ins><span class="cx">     if (m_cachedSheet)
</span><span class="cx">         m_cachedSheet-&gt;removeClient(this);
</span><del>-    m_cachedSheet = cachedResourceLoader-&gt;requestXSLStyleSheet(request);
-    
</del><ins>+    m_cachedSheet = cachedResourceLoader-&gt;requestXSLStyleSheet(CachedResourceRequest(ResourceRequest(cachedResourceLoader-&gt;document()-&gt;completeURL(absHref))));
+
</ins><span class="cx">     if (m_cachedSheet) {
</span><span class="cx">         m_cachedSheet-&gt;addClient(this);
</span><del>-        
</del><ins>+
</ins><span class="cx">         // If the imported sheet is in the cache, then setXSLStyleSheet gets called,
</span><span class="cx">         // and the sheet even gets parsed (via parseString).  In this case we have
</span><span class="cx">         // loaded (even if our subresources haven't), so if we have a stylesheet after
</span></span></pre>
</div>
</div>

</body>
</html>