<!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>[244428] trunk</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/244428">244428</a></dd>
<dt>Author</dt> <dd>sroberts@apple.com</dd>
<dt>Date</dt> <dd>2019-04-18 09:44:18 -0700 (Thu, 18 Apr 2019)</dd>
</dl>
<h3>Log Message</h3>
<pre>Unreviewed manual rollout of <a href="http://trac.webkit.org/projects/webkit/changeset/244248">r244248</a> and <a href="http://trac.webkit.org/projects/webkit/changeset/244409">r244409</a>
Causing assertion failures on Mac WK2 Debug builds
https://bugs.webkit.org/show_bug.cgi?id=195623
Source/WebCore:
* loader/LinkLoader.cpp:
(WebCore::LinkLoader::prefetchIfNeeded):
* loader/ResourceLoadInfo.cpp:
(WebCore::toResourceType):
* loader/ResourceLoadInfo.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
Source/WebKit:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::lowMemoryHandler):
* NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::prefetchCache): Deleted.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveBuffer):
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
(WebKit::NetworkResourceLoader::isCrossOriginPrefetch const): Deleted.
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/cache/PrefetchCache.cpp: Removed.
* NetworkProcess/cache/PrefetchCache.h: Removed.
* Shared/WebPreferences.yaml:
* Sources.txt:
* WebKit.xcodeproj/project.pbxproj:
LayoutTests:
* http/tests/cache/link-prefetch-main-resource-expected.txt: Removed.
* http/tests/cache/link-prefetch-main-resource-iframe-expected.txt: Removed.
* http/tests/cache/link-prefetch-main-resource-iframe.html: Removed.
* http/tests/cache/link-prefetch-main-resource.html: Removed.
* http/tests/cache/resources/prefetched-main-resource-iframe.php: Removed.
* http/tests/cache/resources/prefetched-main-resource.php: Removed.
* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk1TestExpectations">trunk/LayoutTests/platform/mac-wk1/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformwinTestExpectations">trunk/LayoutTests/platform/win/TestExpectations</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreloaderLinkLoadercpp">trunk/Source/WebCore/loader/LinkLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoadInfocpp">trunk/Source/WebCore/loader/ResourceLoadInfo.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoadInfoh">trunk/Source/WebCore/loader/ResourceLoadInfo.h</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoadercpp">trunk/Source/WebCore/loader/ResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceLoadercpp">trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkProcesscpp">trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkProcessh">trunk/Source/WebKit/NetworkProcess/NetworkProcess.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkResourceLoadercpp">trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkResourceLoaderh">trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h</a></li>
<li><a href="#trunkSourceWebKitSharedWebPreferencesyaml">trunk/Source/WebKit/Shared/WebPreferences.yaml</a></li>
<li><a href="#trunkSourceWebKitSourcestxt">trunk/Source/WebKit/Sources.txt</a></li>
<li><a href="#trunkSourceWebKitWebKitxcodeprojprojectpbxproj">trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestshttptestscachelinkprefetchmainresourceexpectedtxt">trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestscachelinkprefetchmainresourceiframeexpectedtxt">trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-iframe-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestscachelinkprefetchmainresourceiframehtml">trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-iframe.html</a></li>
<li><a href="#trunkLayoutTestshttptestscachelinkprefetchmainresourcehtml">trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource.html</a></li>
<li><a href="#trunkLayoutTestshttptestscacheresourcesprefetchedmainresourceiframephp">trunk/LayoutTests/http/tests/cache/resources/prefetched-main-resource-iframe.php</a></li>
<li><a href="#trunkLayoutTestshttptestscacheresourcesprefetchedmainresourcephp">trunk/LayoutTests/http/tests/cache/resources/prefetched-main-resource.php</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscachePrefetchCachecpp">trunk/Source/WebKit/NetworkProcess/cache/PrefetchCache.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscachePrefetchCacheh">trunk/Source/WebKit/NetworkProcess/cache/PrefetchCache.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/LayoutTests/ChangeLog 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2019-04-18 Shawn Roberts <sroberts@apple.com>
+
+ Unreviewed manual rollout of r244248 and r244409
+ Causing assertion failures on Mac WK2 Debug builds
+ https://bugs.webkit.org/show_bug.cgi?id=195623
+
+ * http/tests/cache/link-prefetch-main-resource-expected.txt: Removed.
+ * http/tests/cache/link-prefetch-main-resource-iframe-expected.txt: Removed.
+ * http/tests/cache/link-prefetch-main-resource-iframe.html: Removed.
+ * http/tests/cache/link-prefetch-main-resource.html: Removed.
+ * http/tests/cache/resources/prefetched-main-resource-iframe.php: Removed.
+ * http/tests/cache/resources/prefetched-main-resource.php: Removed.
+ * platform/mac-wk1/TestExpectations:
+ * platform/win/TestExpectations:
+
</ins><span class="cx"> 2019-04-18 Antoine Quint <graouts@apple.com>
</span><span class="cx">
</span><span class="cx"> [Mac] Unreviewed test gardening.
</span></span></pre></div>
<a id="trunkLayoutTestshttptestscachelinkprefetchmainresourceexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-expected.txt (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-expected.txt 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-expected.txt 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1 +0,0 @@
</span><del>-PASS
</del></span></pre></div>
<a id="trunkLayoutTestshttptestscachelinkprefetchmainresourceiframeexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-iframe-expected.txt (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-iframe-expected.txt 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-iframe-expected.txt 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1,2 +0,0 @@
</span><del>-PASS
-
</del></span></pre></div>
<a id="trunkLayoutTestshttptestscachelinkprefetchmainresourceiframehtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-iframe.html (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-iframe.html 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource-iframe.html 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1,38 +0,0 @@
</span><del>-<html>
-<body>
-<div id="result"></div>
-<script>
-
-if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-}
-
-function done()
-{
- testRunner.notifyDone();
-}
-
-function iframeLoadFinished()
-{
- if (window.testRunner)
- setTimeout(done, 0);
-}
-
-function loadAfterPrefetch()
-{
- var newIframe = document.createElement("iframe");
- newIframe.src = "http://localhost:8000/cache/resources/prefetched-main-resource-iframe.php";
- newIframe.onload = iframeLoadFinished;
- document.body.appendChild(newIframe);
-}
-
-window.onmessage = function(message)
-{
- document.getElementById('result').textContent = message.data;
-}
-
-</script>
-<link rel="prefetch" href="http://localhost:8000/cache/resources/prefetched-main-resource-iframe.php" onload="setTimeout(loadAfterPrefetch, 0);">
-</body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestshttptestscachelinkprefetchmainresourcehtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource.html (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource.html 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/LayoutTests/http/tests/cache/link-prefetch-main-resource.html 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<html>
-<script>
-if (window.testRunner) {
- testRunner.waitUntilDone();
- testRunner.dumpAsText();
-}
-
-function loadAfterPrefetch()
-{
- window.location.assign('http://localhost:8000/cache/resources/prefetched-main-resource.php');
-}
-</script>
-<body>
-<link rel="prefetch" href="http://localhost:8000/cache/resources/prefetched-main-resource.php" onload="loadAfterPrefetch();">
-</body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestshttptestscacheresourcesprefetchedmainresourceiframephp"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/cache/resources/prefetched-main-resource-iframe.php (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/cache/resources/prefetched-main-resource-iframe.php 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/LayoutTests/http/tests/cache/resources/prefetched-main-resource-iframe.php 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-<?php
-if ($_SERVER["HTTP_PURPOSE"] == "prefetch") {
- header('Cache-Control: max-age=3600');
- header("Access-Control-Allow-Origin: http://127.0.0.1:8000");
-
- echo "<script>";
- echo "parent.window.postMessage('FAIL', '*');";
- echo "</script>";
-
- exit();
-}
-
-header("Access-Control-Allow-Origin: http://127.0.0.1:8000");
-
-echo "<script>";
-echo "parent.window.postMessage('PASS', '*');";
-echo "</script>";
-?>
</del></span></pre></div>
<a id="trunkLayoutTestshttptestscacheresourcesprefetchedmainresourcephp"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/cache/resources/prefetched-main-resource.php (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/cache/resources/prefetched-main-resource.php 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/LayoutTests/http/tests/cache/resources/prefetched-main-resource.php 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1,21 +0,0 @@
</span><del>-<?php
-header('Cache-Control: max-age=3600');
-?>
-<!DOCTYPE html>
-<html>
-<body>
-<script>
-
-if (window.testRunner)
- testRunner.notifyDone();
-
-</script>
-<?php
-if ($_SERVER["HTTP_PURPOSE"] == "prefetch") {
- print('PASS');
-} else {
- print('FAIL');
-}
-?>
-</body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk1TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk1/TestExpectations 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -708,7 +708,4 @@
</span><span class="cx">
</span><span class="cx"> webkit.org/b/196502 media/video-background-tab-playback.html [ Pass Failure ]
</span><span class="cx">
</span><del>-webkit.org/b/195623 http/tests/cache/link-prefetch-main-resource.html [ Skip ]
-webkit.org/b/195623 http/tests/cache/link-prefetch-main-resource-iframe.html [ Skip ]
-
-webkit.org/b/196915 [ Debug ] inspector/timeline/timeline-recording.html [ Pass Failure ]
</del><ins>+webkit.org/b/196915 [ Debug ] inspector/timeline/timeline-recording.html [ Pass Failure ]
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/TestExpectations (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/TestExpectations 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/LayoutTests/platform/win/TestExpectations 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -4331,7 +4331,4 @@
</span><span class="cx"> webkit.org/b/196869 legacy-animation-engine/animations/animation-multiple-callbacks-timestamp.html [ Failure ]
</span><span class="cx"> webkit.org/b/196869 imported/mozilla/css-animations/test_animation-currenttime.html [ Failure ]
</span><span class="cx">
</span><del>-webkit.org/b/195623 http/tests/cache/link-prefetch-main-resource.html [ Skip ]
-webkit.org/b/195623 http/tests/cache/link-prefetch-main-resource-iframe.html [ Skip ]
-
</del><span class="cx"> webkit.org/b/194450 storage/indexeddb/modern/gc-closes-database-private.html [ Skip ]
</span><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebCore/ChangeLog 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2019-04-18 Shawn Roberts <sroberts@apple.com>
+
+ Unreviewed manual rollout of r244248 and r244409
+ Causing assertion failures on Mac WK2 Debug builds
+ https://bugs.webkit.org/show_bug.cgi?id=195623
+
+ * loader/LinkLoader.cpp:
+ (WebCore::LinkLoader::prefetchIfNeeded):
+ * loader/ResourceLoadInfo.cpp:
+ (WebCore::toResourceType):
+ * loader/ResourceLoadInfo.h:
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::willSendRequestInternal):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::requestResource):
+
</ins><span class="cx"> 2019-04-18 Antti Koivisto <antti@apple.com>
</span><span class="cx">
</span><span class="cx"> Tile update problems in iframe after scrolling page too soon after load
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderLinkLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/LinkLoader.cpp (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/LinkLoader.cpp 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebCore/loader/LinkLoader.cpp 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -276,17 +276,8 @@
</span><span class="cx"> m_cachedLinkResource->removeClient(*this);
</span><span class="cx"> m_cachedLinkResource = nullptr;
</span><span class="cx"> }
</span><del>- // FIXME: Add further prefetch restrictions/limitations:
- // - third-party iframes cannot trigger prefetches
- // - Number of prefetches of a given page is limited (to 1 maybe?)
</del><span class="cx"> ResourceLoaderOptions options = CachedResourceLoader::defaultCachedResourceOptions();
</span><span class="cx"> options.contentSecurityPolicyImposition = ContentSecurityPolicyImposition::SkipPolicyCheck;
</span><del>- options.certificateInfoPolicy = CertificateInfoPolicy::IncludeCertificateInfo;
- options.credentials = FetchOptions::Credentials::SameOrigin;
- options.redirect = FetchOptions::Redirect::Manual;
- options.mode = FetchOptions::Mode::Navigate;
- options.serviceWorkersMode = ServiceWorkersMode::None;
- options.cachingPolicy = CachingPolicy::DisallowCaching;
</del><span class="cx"> m_cachedLinkResource = document.cachedResourceLoader().requestLinkResource(type, CachedResourceRequest(ResourceRequest(document.completeURL(href)), options, priority)).value_or(nullptr);
</span><span class="cx"> if (m_cachedLinkResource)
</span><span class="cx"> m_cachedLinkResource->addClient(*this);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoadInfocpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoadInfo.cpp (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoadInfo.cpp 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebCore/loader/ResourceLoadInfo.cpp 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -68,7 +68,8 @@
</span><span class="cx"> return ResourceType::Media;
</span><span class="cx"> #endif
</span><span class="cx"> case CachedResource::Type::LinkPrefetch:
</span><del>- return ResourceType::Prefetch;
</del><ins>+ ASSERT_NOT_REACHED();
+ break;
</ins><span class="cx"> #if ENABLE(APPLICATION_MANIFEST)
</span><span class="cx"> case CachedResource::Type::ApplicationManifest:
</span><span class="cx"> return ResourceType::Raw;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoadInfoh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoadInfo.h (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoadInfo.h 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebCore/loader/ResourceLoadInfo.h 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -42,9 +42,8 @@
</span><span class="cx"> Media = 0x0080,
</span><span class="cx"> PlugInStream = 0x0100,
</span><span class="cx"> Popup = 0x0200,
</span><del>- Prefetch = 0x0400,
</del><span class="cx"> };
</span><del>-const uint16_t ResourceTypeMask = 0x07FF;
</del><ins>+const uint16_t ResourceTypeMask = 0x03FF;
</ins><span class="cx">
</span><span class="cx"> enum class LoadType : uint16_t {
</span><span class="cx"> Invalid = 0x0000,
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoader.cpp (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoader.cpp 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebCore/loader/ResourceLoader.cpp 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -342,7 +342,7 @@
</span><span class="cx">
</span><span class="cx"> ASSERT(!m_reachedTerminalState);
</span><span class="cx"> #if ENABLE(CONTENT_EXTENSIONS)
</span><del>- ASSERT(m_resourceType != ResourceType::Invalid || m_resourceType == ResourceType::Prefetch);
</del><ins>+ ASSERT(m_resourceType != ResourceType::Invalid);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> // We need a resource identifier for all requests, even if FrameLoader is never going to see it (such as with CORS preflight requests).
</span><span class="lines">@@ -353,7 +353,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(CONTENT_EXTENSIONS)
</span><del>- if (!redirectResponse.isNull() && frameLoader() && m_resourceType != ResourceType::Prefetch) {
</del><ins>+ if (!redirectResponse.isNull() && frameLoader()) {
</ins><span class="cx"> Page* page = frameLoader()->frame().page();
</span><span class="cx"> if (page && m_documentLoader) {
</span><span class="cx"> auto results = page->userContentProvider().processContentRuleListsForLoad(request.url(), m_resourceType, *m_documentLoader);
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -806,7 +806,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(CONTENT_EXTENSIONS)
</span><del>- if (frame() && frame()->page() && m_documentLoader && type != CachedResource::Type::LinkPrefetch) {
</del><ins>+ if (frame() && frame()->page() && m_documentLoader) {
</ins><span class="cx"> const auto& resourceRequest = request.resourceRequest();
</span><span class="cx"> auto* page = frame()->page();
</span><span class="cx"> auto results = page->userContentProvider().processContentRuleListsForLoad(resourceRequest.url(), toResourceType(type), *m_documentLoader);
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebKit/ChangeLog 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1,3 +1,26 @@
</span><ins>+2019-04-18 Shawn Roberts <sroberts@apple.com>
+
+ Unreviewed manual rollout of r244248 and r244409
+ Causing assertion failures on Mac WK2 Debug builds
+ https://bugs.webkit.org/show_bug.cgi?id=195623
+
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::lowMemoryHandler):
+ * NetworkProcess/NetworkProcess.h:
+ (WebKit::NetworkProcess::prefetchCache): Deleted.
+ * NetworkProcess/NetworkResourceLoader.cpp:
+ (WebKit::NetworkResourceLoader::retrieveCacheEntry):
+ (WebKit::NetworkResourceLoader::didReceiveResponse):
+ (WebKit::NetworkResourceLoader::didReceiveBuffer):
+ (WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
+ (WebKit::NetworkResourceLoader::isCrossOriginPrefetch const): Deleted.
+ * NetworkProcess/NetworkResourceLoader.h:
+ * NetworkProcess/cache/PrefetchCache.cpp: Removed.
+ * NetworkProcess/cache/PrefetchCache.h: Removed.
+ * Shared/WebPreferences.yaml:
+ * Sources.txt:
+ * WebKit.xcodeproj/project.pbxproj:
+
</ins><span class="cx"> 2019-04-18 Devin Rousso <drousso@apple.com>
</span><span class="cx">
</span><span class="cx"> Web Inspector: Canvas: enable WebGL2 for inspector page
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -270,8 +270,6 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> WTF::releaseFastMallocFreeMemory();
</span><del>-
- m_prefetchCache.clear();
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void NetworkProcess::initializeNetworkProcess(NetworkProcessCreationParameters&& parameters)
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkProcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include "NetworkBlobRegistry.h"
</span><span class="cx"> #include "NetworkContentRuleListManager.h"
</span><span class="cx"> #include "NetworkHTTPSUpgradeChecker.h"
</span><del>-#include "PrefetchCache.h"
</del><span class="cx"> #include "SandboxExtension.h"
</span><span class="cx"> #include "WebResourceLoadStatisticsStore.h"
</span><span class="cx"> #include "WebsiteData.h"
</span><span class="lines">@@ -333,8 +332,6 @@
</span><span class="cx">
</span><span class="cx"> WebCore::StorageQuotaManager& storageQuotaManager(PAL::SessionID, const WebCore::ClientOrigin&);
</span><span class="cx">
</span><del>- PrefetchCache& prefetchCache() { return m_prefetchCache; }
-
</del><span class="cx"> private:
</span><span class="cx"> void platformInitializeNetworkProcess(const NetworkProcessCreationParameters&);
</span><span class="cx"> std::unique_ptr<WebCore::NetworkStorageSession> platformCreateDefaultStorageSession() const;
</span><span class="lines">@@ -556,8 +553,6 @@
</span><span class="cx"> };
</span><span class="cx"> HashMap<PAL::SessionID, StorageQuotaManagers> m_storageQuotaManagers;
</span><span class="cx"> uint32_t m_downloadMonitorSpeedMultiplier { 1 };
</span><del>-
- PrefetchCache m_prefetchCache;
</del><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -212,10 +212,6 @@
</span><span class="cx"> ASSERT(canUseCache(request));
</span><span class="cx">
</span><span class="cx"> RefPtr<NetworkResourceLoader> loader(this);
</span><del>- if (isMainFrameLoad() && m_parameters.options.mode == FetchOptions::Mode::Navigate) {
- if (auto entry = m_connection->networkProcess().prefetchCache().take(sessionID(), request.url()))
- m_cache->store(request, entry->response, entry->releaseBuffer(), nullptr);
- }
</del><span class="cx"> m_cache->retrieve(request, { m_parameters.webPageID, m_parameters.webFrameID }, [this, loader = WTFMove(loader), request = ResourceRequest { request }](auto entry, auto info) mutable {
</span><span class="cx"> if (loader->hasOneRef()) {
</span><span class="cx"> // The loader has been aborted and is only held alive by this lambda.
</span><span class="lines">@@ -465,9 +461,6 @@
</span><span class="cx"> return completionHandler(PolicyAction::Use);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (isCrossOriginPrefetch(originalRequest()))
- return completionHandler(PolicyAction::Use);
-
</del><span class="cx"> // We wait to receive message NetworkResourceLoader::ContinueDidReceiveResponse before continuing a load for
</span><span class="cx"> // a main resource because the embedding client must decide whether to allow the load.
</span><span class="cx"> bool willWaitForContinueDidReceiveResponse = isMainResource();
</span><span class="lines">@@ -494,8 +487,6 @@
</span><span class="cx"> else
</span><span class="cx"> m_bufferedDataForCache = nullptr;
</span><span class="cx"> }
</span><del>- if (isCrossOriginPrefetch(originalRequest()))
- return;
</del><span class="cx"> // FIXME: At least on OS X Yosemite we always get -1 from the resource handle.
</span><span class="cx"> unsigned encodedDataLength = reportedEncodedDataLength >= 0 ? reportedEncodedDataLength : buffer->size();
</span><span class="cx">
</span><span class="lines">@@ -778,10 +769,6 @@
</span><span class="cx"> if (!m_bufferedDataForCache)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (isCrossOriginPrefetch(originalRequest())) {
- m_connection->networkProcess().prefetchCache().store(sessionID(), m_networkLoad->currentRequest().url(), WTFMove(m_response), WTFMove(m_bufferedDataForCache));
- return;
- }
</del><span class="cx"> m_cache->store(m_networkLoad->currentRequest(), m_response, WTFMove(m_bufferedDataForCache), [loader = makeRef(*this)](auto& mappedBody) mutable {
</span><span class="cx"> #if ENABLE(SHAREABLE_RESOURCE)
</span><span class="cx"> if (mappedBody.shareableResourceHandle.isNull())
</span><span class="lines">@@ -1112,11 +1099,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool NetworkResourceLoader::isCrossOriginPrefetch(const ResourceRequest& request) const
-{
- return request.httpHeaderField(HTTPHeaderName::Purpose) == "prefetch" && !m_parameters.sourceOrigin->canRequest(request.url());
-}
-
</del><span class="cx"> } // namespace WebKit
</span><span class="cx">
</span><span class="cx"> #undef RELEASE_LOG_IF_ALLOWED
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkResourceLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -103,7 +103,6 @@
</span><span class="cx">
</span><span class="cx"> bool isMainResource() const { return m_parameters.request.requester() == WebCore::ResourceRequest::Requester::Main; }
</span><span class="cx"> bool isMainFrameLoad() const { return isMainResource() && m_parameters.frameAncestorOrigins.isEmpty(); }
</span><del>- bool isCrossOriginPrefetch(const WebCore::ResourceRequest&) const;
</del><span class="cx">
</span><span class="cx"> bool isAlwaysOnLoggingAllowed() const;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcesscachePrefetchCachecpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit/NetworkProcess/cache/PrefetchCache.cpp (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/cache/PrefetchCache.cpp 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebKit/NetworkProcess/cache/PrefetchCache.cpp 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1,104 +0,0 @@
</span><del>-/*
- * Copyright (C) 2019 Igalia S.L.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "PrefetchCache.h"
-
-#include <WebCore/HTTPHeaderNames.h>
-#include <wtf/NeverDestroyed.h>
-
-namespace WebKit {
-
-PrefetchCache::Entry::Entry(WebCore::ResourceResponse&& response, RefPtr<WebCore::SharedBuffer>&& buffer)
- : response(WTFMove(response)), buffer(WTFMove(buffer))
-{
-}
-
-PrefetchCache::PrefetchCache()
- : m_expirationTimer(*this, &PrefetchCache::clearExpiredEntries)
-{
-}
-
-PrefetchCache::~PrefetchCache()
-{
-}
-
-void PrefetchCache::clear()
-{
- m_expirationTimer.stop();
- m_sessionExpirationList.clear();
- m_sessionPrefetches.clear();
-}
-
-std::unique_ptr<PrefetchCache::Entry> PrefetchCache::take(PAL::SessionID sessionID, const URL& url)
-{
- auto* resources = sessionPrefetchMap(sessionID);
- if (!resources)
- return nullptr;
- return resources->take(url);
-}
-
-static const Seconds expirationTimeout { 5_s };
-
-void PrefetchCache::store(PAL::SessionID sessionID, const URL& requestUrl, WebCore::ResourceResponse&& response, RefPtr<WebCore::SharedBuffer>&& buffer)
-{
- ASSERT(sessionID.isValid());
- m_sessionPrefetches.ensure(sessionID, [&] {
- return std::make_unique<PrefetchEntriesMap>();
- }).iterator->value->set(requestUrl, std::make_unique<PrefetchCache::Entry>(WTFMove(response), WTFMove(buffer)));
- m_sessionExpirationList.append(std::make_tuple(sessionID, requestUrl, WallTime::now()));
- if (!m_expirationTimer.isActive())
- m_expirationTimer.startOneShot(expirationTimeout);
-}
-
-auto PrefetchCache::sessionPrefetchMap(PAL::SessionID sessionID) const -> PrefetchEntriesMap*
-{
- ASSERT(sessionID.isValid());
- return m_sessionPrefetches.get(sessionID);
-}
-
-void PrefetchCache::clearExpiredEntries()
-{
- PAL::SessionID sessionID;
- URL requestUrl;
- WallTime timestamp;
- auto timeout = WallTime::now();
- while (!m_sessionExpirationList.isEmpty()) {
- std::tie(sessionID, requestUrl, timestamp) = m_sessionExpirationList.first();
- auto* resources = sessionPrefetchMap(sessionID);
- ASSERT(resources);
- ASSERT(resources->contains(requestUrl));
- auto elapsed = timeout - timestamp;
- if (elapsed > expirationTimeout) {
- resources->remove(requestUrl);
- m_sessionExpirationList.removeFirst();
- } else {
- m_expirationTimer.startOneShot(expirationTimeout - elapsed);
- break;
- }
- }
-}
-
-}
</del></span></pre></div>
<a id="trunkSourceWebKitNetworkProcesscachePrefetchCacheh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit/NetworkProcess/cache/PrefetchCache.h (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/cache/PrefetchCache.h 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebKit/NetworkProcess/cache/PrefetchCache.h 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1,74 +0,0 @@
</span><del>-/*
- * Copyright (C) 2019 Igalia S.L.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include <WebCore/ResourceResponse.h>
-#include <WebCore/SharedBuffer.h>
-#include <WebCore/Timer.h>
-#include <wtf/Deque.h>
-#include <wtf/HashMap.h>
-#include <wtf/URLHash.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebKit {
-
-class PrefetchCache {
- WTF_MAKE_NONCOPYABLE(PrefetchCache);
- WTF_MAKE_FAST_ALLOCATED;
-public:
- PrefetchCache();
- ~PrefetchCache();
-
- void clear();
-
- struct Entry {
- Entry(WebCore::ResourceResponse&&, RefPtr<WebCore::SharedBuffer>&&);
-
- RefPtr<WebCore::SharedBuffer> releaseBuffer() { return buffer.releaseNonNull(); }
-
- WebCore::ResourceResponse response;
- RefPtr<WebCore::SharedBuffer> buffer;
- };
-
- std::unique_ptr<Entry> take(PAL::SessionID, const URL&);
- void store(PAL::SessionID, const URL&, WebCore::ResourceResponse&&, RefPtr<WebCore::SharedBuffer>&&);
-
-private:
- void clearExpiredEntries();
-
- using PrefetchEntriesMap = HashMap<URL, std::unique_ptr<Entry>>;
- PrefetchEntriesMap* sessionPrefetchMap(PAL::SessionID) const;
-
- using SessionPrefetchResourceMap = HashMap<PAL::SessionID, std::unique_ptr<PrefetchEntriesMap>>;
- SessionPrefetchResourceMap m_sessionPrefetches;
-
- using SessionPrefetchExpirationList = Deque<std::tuple<PAL::SessionID, URL, WallTime>>;
- SessionPrefetchExpirationList m_sessionExpirationList;
-
- WebCore::Timer m_expirationTimer;
-};
-
-} // namespace WebKit
</del></span></pre></div>
<a id="trunkSourceWebKitSharedWebPreferencesyaml"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Shared/WebPreferences.yaml 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1650,14 +1650,6 @@
</span><span class="cx"> humanReadableName: "Apple Pay Remote UI"
</span><span class="cx"> type: bool
</span><span class="cx">
</span><del>-LinkPrefetchEnabled:
- type: bool
- defaultValue: false
- humanReadableName: "LinkPrefetch"
- humanReadableDescription: "Enable LinkedPrefetch"
- webcoreBinding: RuntimeEnabledFeatures
- category: experimental
-
</del><span class="cx"> # Deprecated
</span><span class="cx">
</span><span class="cx"> ICECandidateFilteringEnabled:
</span></span></pre></div>
<a id="trunkSourceWebKitSourcestxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Sources.txt (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Sources.txt 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebKit/Sources.txt 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -80,7 +80,6 @@
</span><span class="cx"> NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp
</span><span class="cx"> NetworkProcess/cache/NetworkCacheStorage.cpp
</span><span class="cx"> NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp
</span><del>-NetworkProcess/cache/PrefetchCache.cpp
</del><span class="cx">
</span><span class="cx"> NetworkProcess/webrtc/NetworkMDNSRegister.cpp
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (244427 => 244428)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2019-04-18 16:34:21 UTC (rev 244427)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2019-04-18 16:44:18 UTC (rev 244428)
</span><span class="lines">@@ -1333,7 +1333,6 @@
</span><span class="cx"> A78CCDDB193AC9F8005ECC25 /* com.apple.WebKit.Networking.sb in CopyFiles */ = {isa = PBXBuildFile; fileRef = A78CCDD8193AC9E3005ECC25 /* com.apple.WebKit.Networking.sb */; };
</span><span class="cx"> A78CCDDC193AC9FB005ECC25 /* com.apple.WebKit.WebContent.sb in CopyFiles */ = {isa = PBXBuildFile; fileRef = A78CCDD9193AC9E3005ECC25 /* com.apple.WebKit.WebContent.sb */; };
</span><span class="cx"> A7D792D81767CCA300881CBE /* ActivityAssertion.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D792D41767CB0900881CBE /* ActivityAssertion.h */; };
</span><del>- AAB145E6223F931200E489D8 /* PrefetchCache.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB145E4223F931200E489D8 /* PrefetchCache.h */; };
</del><span class="cx"> B62E7312143047B00069EC35 /* WKHitTestResult.h in Headers */ = {isa = PBXBuildFile; fileRef = B62E7311143047B00069EC35 /* WKHitTestResult.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx"> B878B615133428DC006888E9 /* CorrectionPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = B878B613133428DC006888E9 /* CorrectionPanel.h */; };
</span><span class="cx"> BC017D0716260FF4007054F5 /* WKDOMDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = BC017CFF16260FF4007054F5 /* WKDOMDocument.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -3979,8 +3978,6 @@
</span><span class="cx"> A7D792D41767CB0900881CBE /* ActivityAssertion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ActivityAssertion.h; sourceTree = "<group>"; };
</span><span class="cx"> A7D792D51767CB6E00881CBE /* ActivityAssertion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ActivityAssertion.cpp; sourceTree = "<group>"; };
</span><span class="cx"> A7E93CEB192531AA00A1DC48 /* AuxiliaryProcessIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AuxiliaryProcessIOS.mm; path = ios/AuxiliaryProcessIOS.mm; sourceTree = "<group>"; };
</span><del>- AAB145E4223F931200E489D8 /* PrefetchCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefetchCache.h; sourceTree = "<group>"; };
- AAB145E5223F931200E489D8 /* PrefetchCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PrefetchCache.cpp; sourceTree = "<group>"; };
</del><span class="cx"> B396EA5512E0ED2D00F4FEB7 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
</span><span class="cx"> B62E730F143047A60069EC35 /* WKHitTestResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKHitTestResult.cpp; sourceTree = "<group>"; };
</span><span class="cx"> B62E7311143047B00069EC35 /* WKHitTestResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKHitTestResult.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -8943,8 +8940,6 @@
</span><span class="cx"> E4436EC21A0CFDB200EAD204 /* NetworkCacheStorage.h */,
</span><span class="cx"> 8310428A1BD6B66F00A715E4 /* NetworkCacheSubresourcesEntry.cpp */,
</span><span class="cx"> 831042891BD6B66F00A715E4 /* NetworkCacheSubresourcesEntry.h */,
</span><del>- AAB145E5223F931200E489D8 /* PrefetchCache.cpp */,
- AAB145E4223F931200E489D8 /* PrefetchCache.h */,
</del><span class="cx"> );
</span><span class="cx"> path = cache;
</span><span class="cx"> sourceTree = "<group>";
</span><span class="lines">@@ -9422,7 +9417,6 @@
</span><span class="cx"> 7CD622781739D863005BD7FF /* PluginSandboxProfile.h in Headers */,
</span><span class="cx"> 1A6FB7AF11E64B6800DB1371 /* PluginView.h in Headers */,
</span><span class="cx"> 83A0ED351F747CCF003299EB /* PreconnectTask.h in Headers */,
</span><del>- AAB145E6223F931200E489D8 /* PrefetchCache.h in Headers */,
</del><span class="cx"> E1CC1B9012D7EADF00625838 /* PrintInfo.h in Headers */,
</span><span class="cx"> 86F9536518FF58F5001DB2EF /* ProcessAssertion.h in Headers */,
</span><span class="cx"> BC1A7C581136E19C00FB7167 /* ProcessLauncher.h in Headers */,
</span></span></pre>
</div>
</div>
</body>
</html>