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

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

<h3>Log Message</h3>
<pre>Revert - Add _WKIconLoadingDelegate SPI
https://bugs.webkit.org/show_bug.cgi?id=164894

Unreviewed rollout due to performance regression.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::implicitClose):
* html/LinkIconCollector.cpp:
(WebCore::iconSize):
(WebCore::compareIcons):
* html/LinkIconCollector.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startIconLoading): Deleted.
(WebCore::DocumentLoader::didGetLoadDecisionForIcon): Deleted.
(WebCore::DocumentLoader::finishedLoadingIcon): Deleted.
* loader/DocumentLoader.h:
* loader/FrameLoaderClient.h:
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::IconLoader):
(WebCore::IconLoader::startLoading):
(WebCore::IconLoader::notifyFinished):
* loader/icon/IconLoader.h:
* platform/LinkIcon.h: Removed.

Source/WebKit2:

* PlatformMac.cmake:
* UIProcess/API/APIIconLoadingClient.h: Removed.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _iconLoadingDelegate]): Deleted.
(-[WKWebView _setIconLoadingDelegate:]): Deleted.
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/Cocoa/_WKIconLoadingDelegate.h: Removed.
* UIProcess/API/Cocoa/_WKLinkIconParameters.h: Removed.
* UIProcess/API/Cocoa/_WKLinkIconParameters.mm: Removed.
* UIProcess/API/Cocoa/_WKLinkIconParametersInternal.h: Removed.
* UIProcess/Cocoa/IconLoadingDelegate.h: Removed.
* UIProcess/Cocoa/IconLoadingDelegate.mm: Removed.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setIconLoadingClient): Deleted.
(WebKit::WebPageProxy::getLoadDecisionForIcon): Deleted.
(WebKit::WebPageProxy::finishedLoadingIcon): Deleted.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::iconLoadingClient): Deleted.
* UIProcess/WebPageProxy.messages.in:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::useIconLoadingClient): Deleted.
(WebKit::WebFrameLoaderClient::getLoadDecisionForIcon): Deleted.
(WebKit::WebFrameLoaderClient::finishedLoadingIcon): Deleted.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebKit::WebFrameLoaderClient::setUseIconLoadingClient): Deleted.
(): Deleted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didGetLoadDecisionForIcon): Deleted.
(WebKit::WebPage::setUseIconLoadingClient): Deleted.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlLinkIconCollectorcpp">trunk/Source/WebCore/html/LinkIconCollector.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlLinkIconCollectorh">trunk/Source/WebCore/html/LinkIconCollector.h</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoadercpp">trunk/Source/WebCore/loader/DocumentLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoaderh">trunk/Source/WebCore/loader/DocumentLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderClienth">trunk/Source/WebCore/loader/FrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebCoreloadericonIconLoadercpp">trunk/Source/WebCore/loader/icon/IconLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadericonIconLoaderh">trunk/Source/WebCore/loader/icon/IconLoader.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2PlatformMaccmake">trunk/Source/WebKit2/PlatformMac.cmake</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewPrivateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxyh">trunk/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxymessagesin">trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClienth">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPageh">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagemessagesin">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformLinkIconh">trunk/Source/WebCore/platform/LinkIcon.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIAPIIconLoadingClienth">trunk/Source/WebKit2/UIProcess/API/APIIconLoadingClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoa_WKIconLoadingDelegateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKIconLoadingDelegate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoa_WKLinkIconParametersh">trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParameters.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoa_WKLinkIconParametersmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParameters.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoa_WKLinkIconParametersInternalh">trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParametersInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaIconLoadingDelegateh">trunk/Source/WebKit2/UIProcess/Cocoa/IconLoadingDelegate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaIconLoadingDelegatemm">trunk/Source/WebKit2/UIProcess/Cocoa/IconLoadingDelegate.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/ChangeLog        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1,3 +1,30 @@
</span><ins>+2016-12-09  Gavin Barraclough  &lt;barraclough@apple.com&gt;
+
+        Revert - Add _WKIconLoadingDelegate SPI
+        https://bugs.webkit.org/show_bug.cgi?id=164894
+
+        Unreviewed rollout due to performance regression.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * dom/Document.cpp:
+        (WebCore::Document::implicitClose):
+        * html/LinkIconCollector.cpp:
+        (WebCore::iconSize):
+        (WebCore::compareIcons):
+        * html/LinkIconCollector.h:
+        * loader/DocumentLoader.cpp:
+        (WebCore::DocumentLoader::startIconLoading): Deleted.
+        (WebCore::DocumentLoader::didGetLoadDecisionForIcon): Deleted.
+        (WebCore::DocumentLoader::finishedLoadingIcon): Deleted.
+        * loader/DocumentLoader.h:
+        * loader/FrameLoaderClient.h:
+        * loader/icon/IconLoader.cpp:
+        (WebCore::IconLoader::IconLoader):
+        (WebCore::IconLoader::startLoading):
+        (WebCore::IconLoader::notifyFinished):
+        * loader/icon/IconLoader.h:
+        * platform/LinkIcon.h: Removed.
+
</ins><span class="cx"> 2016-12-08  Jiewen Tan  &lt;jiewen_tan@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [WebCrypto] Remove NoInterfaceObject attribute from SubtleCrypto Interface
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -2050,7 +2050,6 @@
</span><span class="cx">                 514129981C6976900059E714 /* IDBRequestCompletionEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 514129961C6976150059E714 /* IDBRequestCompletionEvent.cpp */; };
</span><span class="cx">                 514129991C6976900059E714 /* IDBRequestCompletionEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 514129971C6976150059E714 /* IDBRequestCompletionEvent.h */; };
</span><span class="cx">                 5141299B1C6C16740059E714 /* JSIDBIndexCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5141299A1C6C166D0059E714 /* JSIDBIndexCustom.cpp */; };
</span><del>-                5143B2631DDD15200014FAC6 /* LinkIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 5143B2621DDD14900014FAC6 /* LinkIcon.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 5145B1091BC48E2E00E86219 /* IDBResourceIdentifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5145B1071BC4890B00E86219 /* IDBResourceIdentifier.cpp */; };
</span><span class="cx">                 5145B10A1BC48E2E00E86219 /* IDBResourceIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5145B1081BC4890B00E86219 /* IDBResourceIdentifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 5148453E1BB9D07E006A72ED /* IDBError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5148453C1BB9D076006A72ED /* IDBError.cpp */; };
</span><span class="lines">@@ -9273,7 +9272,6 @@
</span><span class="cx">                 514129961C6976150059E714 /* IDBRequestCompletionEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBRequestCompletionEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 514129971C6976150059E714 /* IDBRequestCompletionEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBRequestCompletionEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5141299A1C6C166D0059E714 /* JSIDBIndexCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBIndexCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                5143B2621DDD14900014FAC6 /* LinkIcon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinkIcon.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 5145B1071BC4890B00E86219 /* IDBResourceIdentifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBResourceIdentifier.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5145B1081BC4890B00E86219 /* IDBResourceIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBResourceIdentifier.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 5148453C1BB9D076006A72ED /* IDBError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBError.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -22550,7 +22548,6 @@
</span><span class="cx">                                 BCFF64900EAD15C200C1D6F7 /* LengthSize.h */,
</span><span class="cx">                                 A7AD2F850EC89D07008AB002 /* LinkHash.cpp */,
</span><span class="cx">                                 A7AD2F860EC89D07008AB002 /* LinkHash.h */,
</span><del>-                                5143B2621DDD14900014FAC6 /* LinkIcon.h */,
</del><span class="cx">                                 C046E1AB1208A9FE00BA2CF7 /* LocalizedStrings.cpp */,
</span><span class="cx">                                 935207BD09BD410A00F2038D /* LocalizedStrings.h */,
</span><span class="cx">                                 A8239DFE09B3CF8A00B60641 /* Logging.cpp */,
</span><span class="lines">@@ -27774,7 +27771,6 @@
</span><span class="cx">                                 B22279F40D00BF220071B782 /* SVGFEMergeElement.h in Headers */,
</span><span class="cx">                                 B22279F70D00BF220071B782 /* SVGFEMergeNodeElement.h in Headers */,
</span><span class="cx">                                 84224194107E78A700766A87 /* SVGFEMorphologyElement.h in Headers */,
</span><del>-                                5143B2631DDD15200014FAC6 /* LinkIcon.h in Headers */,
</del><span class="cx">                                 B22279FA0D00BF220071B782 /* SVGFEOffsetElement.h in Headers */,
</span><span class="cx">                                 B22279FD0D00BF220071B782 /* SVGFEPointLightElement.h in Headers */,
</span><span class="cx">                                 B2227A000D00BF220071B782 /* SVGFESpecularLightingElement.h in Headers */,
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/dom/Document.cpp        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -2651,12 +2651,7 @@
</span><span class="cx">     // ramifications, and we need to decide what is the Right Thing To Do(tm)
</span><span class="cx">     Frame* f = frame();
</span><span class="cx">     if (f) {
</span><del>-        if (f-&gt;loader().client().useIconLoadingClient()) {
-            if (auto* documentLoader = loader())
-                documentLoader-&gt;startIconLoading();
-        } else
-            f-&gt;loader().icon().startLoader();
-
</del><ins>+        f-&gt;loader().icon().startLoader();
</ins><span class="cx">         f-&gt;animation().startAnimationsIfNotSuspended(this);
</span><span class="cx"> 
</span><span class="cx">         // FIXME: We shouldn't be dispatching pending events globally on all Documents here.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlLinkIconCollectorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/LinkIconCollector.cpp (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/LinkIconCollector.cpp        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/html/LinkIconCollector.cpp        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> const unsigned defaultTouchIconWidth = 60;
</span><span class="cx"> 
</span><del>-static unsigned iconSize(const LinkIcon&amp; icon)
</del><ins>+static unsigned iconSize(const LinkIconCollector::Icon&amp; icon)
</ins><span class="cx"> {
</span><span class="cx">     if (icon.size)
</span><span class="cx">         return *icon.size;
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static int compareIcons(const LinkIcon&amp; a, const LinkIcon&amp; b)
</del><ins>+static int compareIcons(const LinkIconCollector::Icon&amp; a, const LinkIconCollector::Icon&amp; b)
</ins><span class="cx"> {
</span><span class="cx">     // Apple Touch icons always come first.
</span><span class="cx">     if (a.type == LinkIconType::Favicon &amp;&amp; b.type != LinkIconType::Favicon)
</span><span class="lines">@@ -72,13 +72,13 @@
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-auto LinkIconCollector::iconsOfTypes(OptionSet&lt;LinkIconType&gt; iconTypes) -&gt; Vector&lt;LinkIcon&gt;
</del><ins>+auto LinkIconCollector::iconsOfTypes(OptionSet&lt;LinkIconType&gt; iconTypes) -&gt; Vector&lt;Icon&gt;
</ins><span class="cx"> {
</span><span class="cx">     auto* head = m_document.head();
</span><span class="cx">     if (!head)
</span><span class="cx">         return { };
</span><span class="cx"> 
</span><del>-    Vector&lt;LinkIcon&gt; icons;
</del><ins>+    Vector&lt;Icon&gt; icons;
</ins><span class="cx"> 
</span><span class="cx">     for (auto&amp; linkElement : childrenOfType&lt;HTMLLinkElement&gt;(*head)) {
</span><span class="cx">         if (!linkElement.iconType())
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">                 iconSize = size;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        icons.append({ url, iconType, linkElement.type(), iconSize });
</del><ins>+        icons.append({ url, iconType, iconSize });
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     std::sort(icons.begin(), icons.end(), [](auto&amp; a, auto&amp; b) {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlLinkIconCollectorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/LinkIconCollector.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/LinkIconCollector.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/html/LinkIconCollector.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -25,8 +25,9 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><del>-#include &quot;LinkIcon.h&quot;
</del><ins>+#include &quot;URL.h&quot;
</ins><span class="cx"> #include &lt;wtf/OptionSet.h&gt;
</span><ins>+#include &lt;wtf/Optional.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,8 +41,15 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT Vector&lt;LinkIcon&gt; iconsOfTypes(OptionSet&lt;LinkIconType&gt;);
</del><ins>+    struct Icon {
+        URL url;
</ins><span class="cx"> 
</span><ins>+        LinkIconType type;
+        std::optional&lt;unsigned&gt; size;
+    };
+
+    WEBCORE_EXPORT Vector&lt;Icon&gt; iconsOfTypes(OptionSet&lt;LinkIconType&gt;);
+
</ins><span class="cx"> private:
</span><span class="cx">     Document&amp; m_document;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.cpp        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;DocumentParser.h&quot;
</span><span class="cx"> #include &quot;DocumentWriter.h&quot;
</span><del>-#include &quot;ElementChildIterator.h&quot;
</del><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;ExtensionStyleSheets.h&quot;
</span><span class="lines">@@ -54,10 +53,7 @@
</span><span class="cx"> #include &quot;HTTPHeaderNames.h&quot;
</span><span class="cx"> #include &quot;HistoryItem.h&quot;
</span><span class="cx"> #include &quot;IconController.h&quot;
</span><del>-#include &quot;IconLoader.h&quot;
</del><span class="cx"> #include &quot;InspectorInstrumentation.h&quot;
</span><del>-#include &quot;LinkIconCollector.h&quot;
-#include &quot;LinkIconType.h&quot;
</del><span class="cx"> #include &quot;Logging.h&quot;
</span><span class="cx"> #include &quot;MainFrame.h&quot;
</span><span class="cx"> #include &quot;MemoryCache.h&quot;
</span><span class="lines">@@ -1706,46 +1702,6 @@
</span><span class="cx">     iconDatabase().iconDataForIconURL(urlString, m_iconDataCallback);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentLoader::startIconLoading()
-{
-    ASSERT(m_frame-&gt;loader().client().useIconLoadingClient());
-
-    static uint64_t nextIconCallbackID = 1;
-
-    auto* document = this-&gt;document();
-    if (!document)
-        return;
-
-    Vector&lt;LinkIcon&gt; icons = LinkIconCollector { *document }.iconsOfTypes({ LinkIconType::Favicon, LinkIconType::TouchIcon, LinkIconType::TouchPrecomposedIcon });
-
-    if (icons.isEmpty())
-        icons.append({ m_frame-&gt;document()-&gt;completeURL(ASCIILiteral(&quot;/favicon.ico&quot;)), LinkIconType::Favicon, String(), std::nullopt });
-
-    for (auto&amp; icon : icons) {
-        auto result = m_iconsPendingLoadDecision.add(nextIconCallbackID++, icon);
-        m_frame-&gt;loader().client().getLoadDecisionForIcon(icon, result.iterator-&gt;key);
-    }
-}
-
-void DocumentLoader::didGetLoadDecisionForIcon(bool decision, uint64_t loadIdentifier, uint64_t newCallbackID)
-{
-    auto icon = m_iconsPendingLoadDecision.take(loadIdentifier);
-    if (!decision || icon.url.isEmpty() || !m_frame)
-        return;
-
-    auto iconLoader = std::make_unique&lt;IconLoader&gt;(*this, icon.url);
-    iconLoader-&gt;startLoading();
-    m_iconLoaders.set(WTFMove(iconLoader), newCallbackID);
-}
-
-void DocumentLoader::finishedLoadingIcon(IconLoader&amp; loader, SharedBuffer* buffer)
-{
-    auto loadIdentifier = m_iconLoaders.take(&amp;loader);
-    ASSERT(loadIdentifier);
-
-    m_frame-&gt;loader().client().finishedLoadingIcon(loadIdentifier, buffer);
-}
-
</del><span class="cx"> void DocumentLoader::dispatchOnloadEvents()
</span><span class="cx"> {
</span><span class="cx">     m_wasOnloadDispatched = true;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/loader/DocumentLoader.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #include &quot;CachedResourceHandle.h&quot;
</span><span class="cx"> #include &quot;DocumentWriter.h&quot;
</span><span class="cx"> #include &quot;IconDatabaseBase.h&quot;
</span><del>-#include &quot;LinkIcon.h&quot;
</del><span class="cx"> #include &quot;LoadTiming.h&quot;
</span><span class="cx"> #include &quot;NavigationAction.h&quot;
</span><span class="cx"> #include &quot;ResourceError.h&quot;
</span><span class="lines">@@ -72,7 +71,6 @@
</span><span class="cx"> class FormState;
</span><span class="cx"> class Frame;
</span><span class="cx"> class FrameLoader;
</span><del>-class IconLoader;
</del><span class="cx"> class Page;
</span><span class="cx"> class ResourceLoader;
</span><span class="cx"> class SharedBuffer;
</span><span class="lines">@@ -291,10 +289,6 @@
</span><span class="cx"> 
</span><span class="cx">     bool isAlwaysOnLoggingAllowed() const;
</span><span class="cx"> 
</span><del>-    void startIconLoading();
-    WEBCORE_EXPORT void didGetLoadDecisionForIcon(bool decision, uint64_t loadIdentifier, uint64_t newCallbackID);
-    void finishedLoadingIcon(IconLoader&amp;, SharedBuffer*);
-
</del><span class="cx"> protected:
</span><span class="cx">     WEBCORE_EXPORT DocumentLoader(const ResourceRequest&amp;, const SubstituteData&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -447,14 +441,9 @@
</span><span class="cx">     bool m_waitingForContentPolicy { false };
</span><span class="cx">     bool m_waitingForNavigationPolicy { false };
</span><span class="cx"> 
</span><del>-    // For IconDatabase-style loads
</del><span class="cx">     RefPtr&lt;IconLoadDecisionCallback&gt; m_iconLoadDecisionCallback;
</span><span class="cx">     RefPtr&lt;IconDataCallback&gt; m_iconDataCallback;
</span><span class="cx"> 
</span><del>-    // For IconLoadingClient-style loads
-    HashMap&lt;uint64_t, LinkIcon&gt; m_iconsPendingLoadDecision;
-    HashMap&lt;std::unique_ptr&lt;IconLoader&gt;, uint64_t&gt; m_iconLoaders;
-
</del><span class="cx">     bool m_subresourceLoadersArePageCacheAcceptable;
</span><span class="cx">     ShouldOpenExternalURLsPolicy m_shouldOpenExternalURLsPolicy { ShouldOpenExternalURLsPolicy::ShouldNotAllow };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoaderClient.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoaderClient.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/loader/FrameLoaderClient.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;FrameLoaderTypes.h&quot;
</span><span class="cx"> #include &quot;LayoutMilestones.h&quot;
</span><del>-#include &quot;LinkIcon.h&quot;
</del><span class="cx"> #include &quot;ResourceLoadPriority.h&quot;
</span><span class="cx"> #include &lt;functional&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="lines">@@ -355,10 +354,6 @@
</span><span class="cx">     virtual void prefetchDNS(const String&amp;) = 0;
</span><span class="cx"> 
</span><span class="cx">     virtual void didRestoreScrollPosition() { }
</span><del>-
-    virtual bool useIconLoadingClient() { return false; }
-    virtual void getLoadDecisionForIcon(const LinkIcon&amp;, uint64_t) { }
-    virtual void finishedLoadingIcon(uint64_t, SharedBuffer*) { }
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreloadericonIconLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/icon/IconLoader.cpp (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/icon/IconLoader.cpp        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/loader/icon/IconLoader.cpp        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -44,17 +44,10 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> IconLoader::IconLoader(Frame&amp; frame)
</span><del>-    : m_frame(&amp;frame)
-    , m_url(frame.loader().icon().url())
</del><ins>+    : m_frame(frame)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IconLoader::IconLoader(DocumentLoader&amp; documentLoader, const URL&amp; url)
-    : m_documentLoader(&amp;documentLoader)
-    , m_url(url)
-{
-}
-
</del><span class="cx"> IconLoader::~IconLoader()
</span><span class="cx"> {
</span><span class="cx">     stopLoading();
</span><span class="lines">@@ -62,18 +55,10 @@
</span><span class="cx"> 
</span><span class="cx"> void IconLoader::startLoading()
</span><span class="cx"> {
</span><del>-    ASSERT(m_frame || m_documentLoader);
-
-    if (m_resource)
</del><ins>+    if (m_resource || !m_frame.document())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (m_frame &amp;&amp; !m_frame-&gt;document())
-        return;
-
-    if (m_documentLoader &amp;&amp; !m_documentLoader-&gt;frame())
-        return;
-
-    ResourceRequest resourceRequest(m_url);
</del><ins>+    ResourceRequest resourceRequest(m_frame.loader().icon().url());
</ins><span class="cx">     resourceRequest.setPriority(ResourceLoadPriority::Low);
</span><span class="cx"> 
</span><span class="cx">     // ContentSecurityPolicyImposition::DoPolicyCheck is a placeholder value. It does not affect the request since Content Security Policy does not apply to raw resources.
</span><span class="lines">@@ -81,12 +66,11 @@
</span><span class="cx"> 
</span><span class="cx">     request.setInitiator(cachedResourceRequestInitiators().icon);
</span><span class="cx"> 
</span><del>-    auto* frame = m_frame ? m_frame : m_documentLoader-&gt;frame();
-    m_resource = frame-&gt;document()-&gt;cachedResourceLoader().requestRawResource(WTFMove(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><del>-        LOG_ERROR(&quot;Failed to start load for icon at url %s&quot;, frame-&gt;loader().icon().url().string().ascii().data());
</del><ins>+        LOG_ERROR(&quot;Failed to start load for icon at url %s&quot;, m_frame.loader().icon().url().string().ascii().data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void IconLoader::stopLoading()
</span><span class="lines">@@ -116,19 +100,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     LOG(IconDatabase, &quot;IconLoader::finishLoading() - Committing iconURL %s to database&quot;, m_resource-&gt;url().string().ascii().data());
</span><del>-
-    if (m_frame) {
-        m_frame-&gt;loader().icon().commitToDatabase(m_resource-&gt;url());
-
-        // Setting the icon data only after committing to the database ensures that the data is
-        // kept in memory (so it does not have to be read from the database asynchronously), since
-        // there is a page URL referencing it.
-        iconDatabase().setIconDataForIconURL(data, m_resource-&gt;url().string());
-        m_frame-&gt;loader().client().dispatchDidReceiveIcon();
-
-    } else
-        m_documentLoader-&gt;finishedLoadingIcon(*this, data);
-
</del><ins>+    m_frame.loader().icon().commitToDatabase(m_resource-&gt;url());
+    // Setting the icon data only after committing to the database ensures that the data is
+    // kept in memory (so it does not have to be read from the database asynchronously), since
+    // there is a page URL referencing it.
+    iconDatabase().setIconDataForIconURL(data, m_resource-&gt;url().string());
+    m_frame.loader().client().dispatchDidReceiveIcon();
</ins><span class="cx">     stopLoading();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadericonIconLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/icon/IconLoader.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/icon/IconLoader.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/loader/icon/IconLoader.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CachedRawResourceClient.h&quot;
</span><span class="cx"> #include &quot;CachedResourceHandle.h&quot;
</span><del>-#include &quot;URL.h&quot;
</del><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -34,7 +33,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class CachedRawResource;
</span><del>-class DocumentLoader;
</del><span class="cx"> class Frame;
</span><span class="cx"> 
</span><span class="cx"> class IconLoader final : private CachedRawResourceClient {
</span><span class="lines">@@ -41,7 +39,6 @@
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(IconLoader); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="cx">     explicit IconLoader(Frame&amp;);
</span><del>-    IconLoader(DocumentLoader&amp;, const URL&amp;);
</del><span class="cx">     virtual ~IconLoader();
</span><span class="cx"> 
</span><span class="cx">     void startLoading();
</span><span class="lines">@@ -50,9 +47,7 @@
</span><span class="cx"> private:
</span><span class="cx">     void notifyFinished(CachedResource&amp;) final;
</span><span class="cx"> 
</span><del>-    Frame* m_frame { nullptr };
-    DocumentLoader* m_documentLoader { nullptr };
-    URL m_url;
</del><ins>+    Frame&amp; m_frame;
</ins><span class="cx">     CachedResourceHandle&lt;CachedRawResource&gt; m_resource;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformLinkIconh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/LinkIcon.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/LinkIcon.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebCore/platform/LinkIcon.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1,70 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * 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 &quot;LinkIconType.h&quot;
-#include &quot;URL.h&quot;
-#include &lt;wtf/Optional.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace WebCore {
-
-struct LinkIcon {
-    URL url;
-    LinkIconType type;
-    String mimeType;
-    std::optional&lt;unsigned&gt; size;
-
-    template&lt;class Encoder&gt; void encode(Encoder&amp;) const;
-    template&lt;class Decoder&gt; static bool decode(Decoder&amp;, LinkIcon&amp;);
-};
-
-template&lt;class Encoder&gt;
-void LinkIcon::encode(Encoder&amp; encoder) const
-{
-    encoder &lt;&lt; url &lt;&lt; mimeType &lt;&lt; size;
-    encoder.encodeEnum(type);
-}
-
-template&lt;class Decoder&gt;
-bool LinkIcon::decode(Decoder&amp; decoder, LinkIcon&amp; result)
-{
-    if (!decoder.decode(result.url))
-        return false;
-
-    if (!decoder.decode(result.mimeType))
-        return false;
-
-    if (!decoder.decode(result.size))
-        return false;
-
-    if (!decoder.decodeEnum(result.type))
-        return false;
-
-    return true;
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/ChangeLog        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1,3 +1,44 @@
</span><ins>+2016-12-09  Gavin Barraclough  &lt;barraclough@apple.com&gt;
+
+        Revert - Add _WKIconLoadingDelegate SPI
+        https://bugs.webkit.org/show_bug.cgi?id=164894
+
+        Unreviewed rollout due to performance regression.
+
+        * PlatformMac.cmake:
+        * UIProcess/API/APIIconLoadingClient.h: Removed.
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _initializeWithConfiguration:]):
+        (-[WKWebView _iconLoadingDelegate]): Deleted.
+        (-[WKWebView _setIconLoadingDelegate:]): Deleted.
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        * UIProcess/API/Cocoa/_WKIconLoadingDelegate.h: Removed.
+        * UIProcess/API/Cocoa/_WKLinkIconParameters.h: Removed.
+        * UIProcess/API/Cocoa/_WKLinkIconParameters.mm: Removed.
+        * UIProcess/API/Cocoa/_WKLinkIconParametersInternal.h: Removed.
+        * UIProcess/Cocoa/IconLoadingDelegate.h: Removed.
+        * UIProcess/Cocoa/IconLoadingDelegate.mm: Removed.
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::setIconLoadingClient): Deleted.
+        (WebKit::WebPageProxy::getLoadDecisionForIcon): Deleted.
+        (WebKit::WebPageProxy::finishedLoadingIcon): Deleted.
+        * UIProcess/WebPageProxy.h:
+        (WebKit::WebPageProxy::iconLoadingClient): Deleted.
+        * UIProcess/WebPageProxy.messages.in:
+        * WebKit2.xcodeproj/project.pbxproj:
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::useIconLoadingClient): Deleted.
+        (WebKit::WebFrameLoaderClient::getLoadDecisionForIcon): Deleted.
+        (WebKit::WebFrameLoaderClient::finishedLoadingIcon): Deleted.
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+        (WebKit::WebFrameLoaderClient::setUseIconLoadingClient): Deleted.
+        (): Deleted.
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::didGetLoadDecisionForIcon): Deleted.
+        (WebKit::WebPage::setUseIconLoadingClient): Deleted.
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+
</ins><span class="cx"> 2016-12-08  Keith Rollin  &lt;krollin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Move FileHandle to WebCore FileHandle.h
</span></span></pre></div>
<a id="trunkSourceWebKit2PlatformMaccmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/PlatformMac.cmake (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/PlatformMac.cmake        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/PlatformMac.cmake        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -209,7 +209,6 @@
</span><span class="cx">     UIProcess/API/Cocoa/_WKElementAction.mm
</span><span class="cx">     UIProcess/API/Cocoa/_WKErrorRecoveryAttempting.mm
</span><span class="cx">     UIProcess/API/Cocoa/_WKExperimentalFeature.mm
</span><del>-    UIProcess/API/Cocoa/_WKLinkIconParameters.mm
</del><span class="cx">     UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm
</span><span class="cx">     UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm
</span><span class="cx">     UIProcess/API/Cocoa/_WKSessionState.mm
</span><span class="lines">@@ -233,7 +232,6 @@
</span><span class="cx">     UIProcess/Cocoa/DownloadClient.mm
</span><span class="cx">     UIProcess/Cocoa/FindClient.mm
</span><span class="cx">     UIProcess/Cocoa/FullscreenClient.mm
</span><del>-    UIProcess/Cocoa/IconLoadingDelegate.mm
</del><span class="cx">     UIProcess/Cocoa/NavigationState.mm
</span><span class="cx">     UIProcess/Cocoa/RemoteLayerTreeScrollingPerformanceData.mm
</span><span class="cx">     UIProcess/Cocoa/SessionStateCoding.mm
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIAPIIconLoadingClienth"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/APIIconLoadingClient.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/APIIconLoadingClient.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/API/APIIconLoadingClient.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1,47 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * 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 &quot;GenericCallback.h&quot;
-#include &lt;WebCore/LinkIcon.h&gt;
-#include &lt;wtf/Function.h&gt;
-
-namespace IPC {
-class DataReference;
-}
-
-namespace API {
-
-class IconLoadingClient {
-public:
-    virtual ~IconLoadingClient() { }
-
-    virtual void getLoadDecisionForIcon(const WebCore::LinkIcon&amp;, Function&lt;void (std::function&lt;void (API::Data*, WebKit::CallbackBase::Error)&gt;)&gt;&amp;&amp; completionHandler) {
-        completionHandler(nullptr);
-    }
-};
-
-} // namespace API
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -35,7 +35,6 @@
</span><span class="cx"> #import &quot;DiagnosticLoggingClient.h&quot;
</span><span class="cx"> #import &quot;FindClient.h&quot;
</span><span class="cx"> #import &quot;FullscreenClient.h&quot;
</span><del>-#import &quot;IconLoadingDelegate.h&quot;
</del><span class="cx"> #import &quot;LegacySessionStateCoding.h&quot;
</span><span class="cx"> #import &quot;Logging.h&quot;
</span><span class="cx"> #import &quot;NavigationState.h&quot;
</span><span class="lines">@@ -196,7 +195,6 @@
</span><span class="cx"> @implementation WKWebView {
</span><span class="cx">     std::unique_ptr&lt;WebKit::NavigationState&gt; _navigationState;
</span><span class="cx">     std::unique_ptr&lt;WebKit::UIDelegate&gt; _uiDelegate;
</span><del>-    std::unique_ptr&lt;WebKit::IconLoadingDelegate&gt; _iconLoadingDelegate;
</del><span class="cx"> 
</span><span class="cx">     _WKRenderingProgressEvents _observedRenderingProgressEvents;
</span><span class="cx"> 
</span><span class="lines">@@ -570,8 +568,6 @@
</span><span class="cx">     _page-&gt;setFindClient(std::make_unique&lt;WebKit::FindClient&gt;(self));
</span><span class="cx">     _page-&gt;setDiagnosticLoggingClient(std::make_unique&lt;WebKit::DiagnosticLoggingClient&gt;(self));
</span><span class="cx"> 
</span><del>-    _iconLoadingDelegate = std::make_unique&lt;WebKit::IconLoadingDelegate&gt;(self);
-
</del><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><span class="cx">     _page-&gt;setFullscreenClient(std::make_unique&lt;WebKit::FullscreenClient&gt;(self));
</span><span class="cx"> #endif
</span><span class="lines">@@ -686,17 +682,6 @@
</span><span class="cx">     _uiDelegate-&gt;setDelegate(UIDelegate);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (id &lt;_WKIconLoadingDelegate&gt;)_iconLoadingDelegate
-{
-    return _iconLoadingDelegate-&gt;delegate().autorelease();
-}
-
-- (void)_setIconLoadingDelegate:(id&lt;_WKIconLoadingDelegate&gt;)iconLoadingDelegate
-{
-    _page-&gt;setIconLoadingClient(_iconLoadingDelegate-&gt;createIconLoadingClient());
-    _iconLoadingDelegate-&gt;setDelegate(iconLoadingDelegate);
-}
-
</del><span class="cx"> - (WKNavigation *)loadRequest:(NSURLRequest *)request
</span><span class="cx"> {
</span><span class="cx">     auto navigation = _page-&gt;loadRequest(request);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -56,7 +56,6 @@
</span><span class="cx"> @class WKBrowsingContextHandle;
</span><span class="cx"> @class _WKFrameHandle;
</span><span class="cx"> @class _WKHitTestResult;
</span><del>-@class _WKIconLoadingDelegate;
</del><span class="cx"> @class _WKRemoteObjectRegistry;
</span><span class="cx"> @class _WKSessionState;
</span><span class="cx"> @class _WKWebViewPrintFormatter;
</span><span class="lines">@@ -64,7 +63,6 @@
</span><span class="cx"> @protocol WKHistoryDelegatePrivate;
</span><span class="cx"> @protocol _WKDiagnosticLoggingDelegate;
</span><span class="cx"> @protocol _WKFindDelegate;
</span><del>-@protocol _WKIconLoadingDelegate;
</del><span class="cx"> @protocol _WKInputDelegate;
</span><span class="cx"> @protocol _WKFullscreenDelegate;
</span><span class="cx"> 
</span><span class="lines">@@ -77,7 +75,6 @@
</span><span class="cx"> @property (nonatomic, setter=_setObservedRenderingProgressEvents:) _WKRenderingProgressEvents _observedRenderingProgressEvents;
</span><span class="cx"> 
</span><span class="cx"> @property (nonatomic, weak, setter=_setHistoryDelegate:) id &lt;WKHistoryDelegatePrivate&gt; _historyDelegate;
</span><del>-@property (nonatomic, weak, setter=_setIconLoadingDelegate:) id &lt;_WKIconLoadingDelegate&gt; _iconLoadingDelegate;
</del><span class="cx"> 
</span><span class="cx"> @property (nonatomic, readonly) NSURL *_unreachableURL;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoa_WKIconLoadingDelegateh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKIconLoadingDelegate.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKIconLoadingDelegate.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKIconLoadingDelegate.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1,43 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * 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.
- */
-
-#import &lt;WebKit/WKFoundation.h&gt;
-
-#if WK_API_ENABLED
-
-NS_ASSUME_NONNULL_BEGIN
-
-@class _WKLinkIconParameters;
-
-@protocol _WKIconLoadingDelegate &lt;NSObject&gt;
-@optional
-
-- (void)webView:(WKWebView *)webView shouldLoadIconWithParameters:(_WKLinkIconParameters *)parameters completionHandler:(void (^)(void (^)(NSData*)))completionHandler;
-
-@end
-
-NS_ASSUME_NONNULL_END
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoa_WKLinkIconParametersh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParameters.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParameters.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParameters.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1,47 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * 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.
- */
-
-#import &lt;WebKit/WKFoundation.h&gt;
-
-#if WK_API_ENABLED
-
-#import &lt;Foundation/Foundation.h&gt;
-
-typedef NS_ENUM(NSInteger, WKLinkIconType) {
-    WKLinkIconTypeFavicon,
-    WKLinkIconTypeTouchIcon,
-    WKLinkIconTypeTouchPrecomposedIcon,
-};
-
-@interface _WKLinkIconParameters : NSObject
-
-@property (nonatomic, readonly, copy) NSURL *url;
-@property (nonatomic, readonly) WKLinkIconType iconType;
-@property (nonatomic, readonly, copy) NSString *mimeType;
-@property (nonatomic, readonly, copy) NSNumber *size;
-
-@end
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoa_WKLinkIconParametersmm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParameters.mm (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParameters.mm        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParameters.mm        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1,88 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * 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.
- */
-
-#import &quot;config.h&quot;
-#import &quot;_WKLinkIconParametersInternal.h&quot;
-
-#if WK_API_ENABLED
-
-#import &lt;WebCore/LinkIcon.h&gt;
-
-@implementation _WKLinkIconParameters {
-    RetainPtr&lt;NSURL&gt; _url;
-    WKLinkIconType _iconType;
-    RetainPtr&lt;NSString&gt; _mimeType;
-    RetainPtr&lt;NSNumber&gt; _size;
-}
-
-- (instancetype)_initWithLinkIcon:(const WebCore::LinkIcon&amp;)linkIcon
-{
-    if (!(self = [super init]))
-        return nil;
-
-    _url = adoptNS([(NSURL *)linkIcon.url copy]);
-    _mimeType = adoptNS([(NSString *)linkIcon.mimeType copy]);
-
-    if (linkIcon.size)
-        _size = adoptNS([[NSNumber alloc] initWithUnsignedInt:linkIcon.size.value()]);
-
-    switch (linkIcon.type) {
-    case WebCore::LinkIconType::Favicon:
-        _iconType = WKLinkIconTypeFavicon;
-        break;
-    case WebCore::LinkIconType::TouchIcon:
-        _iconType = WKLinkIconTypeTouchIcon;
-        break;
-    case WebCore::LinkIconType::TouchPrecomposedIcon:
-        _iconType = WKLinkIconTypeTouchPrecomposedIcon;
-        break;
-    }
-
-    return self;
-}
-
-- (NSURL *)url
-{
-    return _url.get();
-}
-
-- (NSString *)mimeType
-{
-    return _mimeType.get();
-}
-
-- (NSNumber *)size
-{
-    return _size.get();
-}
-
-- (WKLinkIconType)iconType
-{
-    return _iconType;
-}
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoa_WKLinkIconParametersInternalh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParametersInternal.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParametersInternal.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKLinkIconParametersInternal.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1,40 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * 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.
- */
-
-#import &quot;_WKLinkIconParameters.h&quot;
-
-#if WK_API_ENABLED
-
-namespace WebCore {
-struct LinkIcon;
-}
-
-@interface _WKLinkIconParameters ()
-
-- (instancetype)_initWithLinkIcon:(const WebCore::LinkIcon&amp;)linkIcon;
-
-@end
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaIconLoadingDelegateh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/Cocoa/IconLoadingDelegate.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/IconLoadingDelegate.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/IconLoadingDelegate.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1,73 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * 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
-
-#import &quot;WKFoundation.h&quot;
-
-#if WK_API_ENABLED
-
-#import &quot;APIIconLoadingClient.h&quot;
-#import &quot;WeakObjCPtr.h&quot;
-#import &lt;wtf/RetainPtr.h&gt;
-
-@class WKWebView;
-@protocol _WKIconLoadingDelegate;
-
-namespace WebKit {
-
-class IconLoadingDelegate {
-public:
-    explicit IconLoadingDelegate(WKWebView *);
-    ~IconLoadingDelegate();
-
-    std::unique_ptr&lt;API::IconLoadingClient&gt; createIconLoadingClient();
-
-    RetainPtr&lt;id &lt;_WKIconLoadingDelegate&gt; &gt; delegate();
-    void setDelegate(id &lt;_WKIconLoadingDelegate&gt;);
-
-private:
-    class IconLoadingClient : public API::IconLoadingClient {
-    public:
-        explicit IconLoadingClient(IconLoadingDelegate&amp;);
-        ~IconLoadingClient();
-
-    private:
-        void getLoadDecisionForIcon(const WebCore::LinkIcon&amp;, Function&lt;void (std::function&lt;void (API::Data*, WebKit::CallbackBase::Error)&gt;)&gt;&amp;&amp; completionHandler) override;
-
-        IconLoadingDelegate&amp; m_iconLoadingDelegate;
-    };
-
-    WKWebView *m_webView;
-    WeakObjCPtr&lt;id &lt;_WKIconLoadingDelegate&gt; &gt; m_delegate;
-
-    struct {
-        bool webViewShouldLoadIconWithParametersCompletionHandler : 1;
-    } m_delegateMethods;
-};
-
-} // namespace WebKit
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaIconLoadingDelegatemm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/Cocoa/IconLoadingDelegate.mm (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/IconLoadingDelegate.mm        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/IconLoadingDelegate.mm        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1,104 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * 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.
- */
-
-#import &quot;config.h&quot;
-#import &quot;IconLoadingDelegate.h&quot;
-
-#if WK_API_ENABLED
-
-#include &quot;WKNSData.h&quot;
-#include &quot;_WKIconLoadingDelegate.h&quot;
-#include &quot;_WKLinkIconParametersInternal.h&quot;
-
-namespace WebKit {
-
-IconLoadingDelegate::IconLoadingDelegate(WKWebView *webView)
-    : m_webView(webView)
-{
-}
-
-IconLoadingDelegate::~IconLoadingDelegate()
-{
-}
-
-std::unique_ptr&lt;API::IconLoadingClient&gt; IconLoadingDelegate::createIconLoadingClient()
-{
-    return std::make_unique&lt;IconLoadingClient&gt;(*this);
-}
-
-RetainPtr&lt;id &lt;_WKIconLoadingDelegate&gt; &gt; IconLoadingDelegate::delegate()
-{
-    return m_delegate.get();
-}
-
-void IconLoadingDelegate::setDelegate(id &lt;_WKIconLoadingDelegate&gt; delegate)
-{
-    m_delegate = delegate;
-
-    m_delegateMethods.webViewShouldLoadIconWithParametersCompletionHandler = [delegate respondsToSelector:@selector(webView:shouldLoadIconWithParameters:completionHandler:)];
-}
-
-IconLoadingDelegate::IconLoadingClient::IconLoadingClient(IconLoadingDelegate&amp; iconLoadingDelegate)
-    : m_iconLoadingDelegate(iconLoadingDelegate)
-{
-}
-
-IconLoadingDelegate::IconLoadingClient::~IconLoadingClient()
-{
-}
-
-typedef void (^IconLoadCompletionHandler)(NSData*);
-
-void IconLoadingDelegate::IconLoadingClient::getLoadDecisionForIcon(const WebCore::LinkIcon&amp; linkIcon, Function&lt;void (std::function&lt;void (API::Data*, WebKit::CallbackBase::Error)&gt;)&gt;&amp;&amp; completionHandler)
-{
-    if (!m_iconLoadingDelegate.m_delegateMethods.webViewShouldLoadIconWithParametersCompletionHandler) {
-        completionHandler(nullptr);
-        return;
-    }
-
-    auto delegate = m_iconLoadingDelegate.m_delegate.get();
-    if (!delegate) {
-        completionHandler(nullptr);
-        return;
-    }
-
-    RetainPtr&lt;_WKLinkIconParameters&gt; parameters = adoptNS([[_WKLinkIconParameters alloc] _initWithLinkIcon:linkIcon]);
-
-    [delegate webView:m_iconLoadingDelegate.m_webView shouldLoadIconWithParameters:parameters.get() completionHandler:^void (IconLoadCompletionHandler loadCompletionHandler) {
-        if (loadCompletionHandler) {
-            completionHandler([loadCompletionHandler = Block_copy(loadCompletionHandler)](API::Data* data, WebKit::CallbackBase::Error error) {
-                if (error != CallbackBase::Error::None || !data)
-                    loadCompletionHandler(nil);
-                else
-                    loadCompletionHandler(wrapper(*data));
-            });
-        } else
-            completionHandler(nullptr);
-    }];
-}
-
-} // namespace WebKit
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #include &quot;APIGeometry.h&quot;
</span><span class="cx"> #include &quot;APIHistoryClient.h&quot;
</span><span class="cx"> #include &quot;APIHitTestResult.h&quot;
</span><del>-#include &quot;APIIconLoadingClient.h&quot;
</del><span class="cx"> #include &quot;APILegacyContextHistoryClient.h&quot;
</span><span class="cx"> #include &quot;APILoaderClient.h&quot;
</span><span class="cx"> #include &quot;APINavigation.h&quot;
</span><span class="lines">@@ -628,20 +627,6 @@
</span><span class="cx">     setCanRunModal(m_uiClient-&gt;canRunModal());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPageProxy::setIconLoadingClient(std::unique_ptr&lt;API::IconLoadingClient&gt; iconLoadingClient)
-{
-    bool hasClient = iconLoadingClient.get();
-    if (!iconLoadingClient)
-        m_iconLoadingClient = std::make_unique&lt;API::IconLoadingClient&gt;();
-    else
-        m_iconLoadingClient = WTFMove(iconLoadingClient);
-
-    if (!isValid())
-        return;
-
-    m_process-&gt;send(Messages::WebPage::SetUseIconLoadingClient(hasClient), m_pageID);
-}
-
</del><span class="cx"> void WebPageProxy::setFindClient(std::unique_ptr&lt;API::FindClient&gt; findClient)
</span><span class="cx"> {
</span><span class="cx">     if (!findClient) {
</span><span class="lines">@@ -6688,30 +6673,6 @@
</span><span class="cx">     m_pageClient.didRestoreScrollPosition();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPageProxy::getLoadDecisionForIcon(const WebCore::LinkIcon&amp; icon, uint64_t loadIdentifier)
-{
-    if (!m_iconLoadingClient)
-        return;
-
-    m_iconLoadingClient-&gt;getLoadDecisionForIcon(icon, [this, protectedThis = Ref&lt;WebPageProxy&gt;(*this), loadIdentifier](std::function&lt;void (API::Data*, CallbackBase::Error)&gt; callbackFunction) {
-        if (!isValid()) {
-            if (callbackFunction)
-                callbackFunction(nullptr, CallbackBase::Error::Unknown);
-            return;
-        }
-
-        bool decision = (bool)callbackFunction;
-        uint64_t newCallbackIdentifier = decision ? m_callbacks.put(WTFMove(callbackFunction), m_process-&gt;throttler().backgroundActivityToken()) : 0;
-
-        m_process-&gt;send(Messages::WebPage::DidGetLoadDecisionForIcon(decision, loadIdentifier, newCallbackIdentifier), m_pageID);
-    });
-}
-
-void WebPageProxy::finishedLoadingIcon(uint64_t callbackIdentifier, const IPC::DataReference&amp; data)
-{
-    dataCallback(data, callbackIdentifier);
-}
-
</del><span class="cx"> void WebPageProxy::setResourceCachingDisabled(bool disabled)
</span><span class="cx"> {
</span><span class="cx">     if (m_isResourceCachingDisabled == disabled)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -130,7 +130,6 @@
</span><span class="cx"> class FormClient;
</span><span class="cx"> class FullscreenClient;
</span><span class="cx"> class HistoryClient;
</span><del>-class IconLoadingClient;
</del><span class="cx"> class LoaderClient;
</span><span class="cx"> class Navigation;
</span><span class="cx"> class NavigationClient;
</span><span class="lines">@@ -369,9 +368,6 @@
</span><span class="cx">     API::UIClient&amp; uiClient() { return *m_uiClient; }
</span><span class="cx">     void setUIClient(std::unique_ptr&lt;API::UIClient&gt;);
</span><span class="cx"> 
</span><del>-    API::IconLoadingClient&amp; iconLoadingClient() { return *m_iconLoadingClient; }
-    void setIconLoadingClient(std::unique_ptr&lt;API::IconLoadingClient&gt;);
-
</del><span class="cx">     void initializeWebPage();
</span><span class="cx"> 
</span><span class="cx">     void close();
</span><span class="lines">@@ -1145,9 +1141,6 @@
</span><span class="cx"> 
</span><span class="cx">     void didRestoreScrollPosition();
</span><span class="cx"> 
</span><del>-    void getLoadDecisionForIcon(const WebCore::LinkIcon&amp;, uint64_t callbackID);
-    void finishedLoadingIcon(uint64_t callbackIdentifier, const IPC::DataReference&amp;);
-
</del><span class="cx">     void setFocus(bool focused);
</span><span class="cx">     void setWindowFrame(const WebCore::FloatRect&amp;);
</span><span class="cx">     void getWindowFrame(WebCore::FloatRect&amp;);
</span><span class="lines">@@ -1600,7 +1593,6 @@
</span><span class="cx">     std::unique_ptr&lt;API::PolicyClient&gt; m_policyClient;
</span><span class="cx">     std::unique_ptr&lt;API::NavigationClient&gt; m_navigationClient;
</span><span class="cx">     std::unique_ptr&lt;API::HistoryClient&gt; m_historyClient;
</span><del>-    std::unique_ptr&lt;API::IconLoadingClient&gt; m_iconLoadingClient;
</del><span class="cx">     std::unique_ptr&lt;API::FormClient&gt; m_formClient;
</span><span class="cx">     std::unique_ptr&lt;API::UIClient&gt; m_uiClient;
</span><span class="cx">     std::unique_ptr&lt;API::FindClient&gt; m_findClient;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -478,9 +478,6 @@
</span><span class="cx"> 
</span><span class="cx">     DidRestoreScrollPosition()
</span><span class="cx"> 
</span><del>-    GetLoadDecisionForIcon(struct WebCore::LinkIcon icon, uint64_t callbackID)
-    FinishedLoadingIcon(uint64_t callbackIdentifier, IPC::DataReference data);
-
</del><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx">     DidHandleAcceptedCandidate()
</span><span class="cx">     HandleActiveNowPlayingSessionInfoResponse(bool hasActiveSession, String title, double duration, double elapsedTime)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -893,9 +893,6 @@
</span><span class="cx">                 5106D7C418BDBE73000AB166 /* ContextMenuContextData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5106D7C018BDBE73000AB166 /* ContextMenuContextData.h */; };
</span><span class="cx">                 510AFFB916542048001BA05E /* WebResourceLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510AFFB716542048001BA05E /* WebResourceLoader.cpp */; };
</span><span class="cx">                 510AFFBA16542048001BA05E /* WebResourceLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 510AFFB816542048001BA05E /* WebResourceLoader.h */; };
</span><del>-                510F59101DDE296900412FF5 /* _WKIconLoadingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5143B25E1DDCDFD10014FAC6 /* _WKIconLoadingDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                510F59111DDE297000412FF5 /* _WKLinkIconParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 51C0C9791DDD78540032CAD3 /* _WKLinkIconParameters.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                510F59121DDE297700412FF5 /* _WKLinkIconParameters.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51C0C97A1DDD78540032CAD3 /* _WKLinkIconParameters.mm */; };
</del><span class="cx">                 510FBB9A1288C95E00AFFDF4 /* WebContextMenuItemData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510FBB981288C95E00AFFDF4 /* WebContextMenuItemData.cpp */; };
</span><span class="cx">                 510FBB9B1288C95E00AFFDF4 /* WebContextMenuItemData.h in Headers */ = {isa = PBXBuildFile; fileRef = 510FBB991288C95E00AFFDF4 /* WebContextMenuItemData.h */; };
</span><span class="cx">                 5110AE0C133C16CB0072717A /* WKIconDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5110AE0A133C16CB0072717A /* WKIconDatabase.cpp */; };
</span><span class="lines">@@ -1011,8 +1008,6 @@
</span><span class="cx">                 51ACBBA1127A8F2C00D203B9 /* WebContextMenuProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51ACBB9F127A8F2C00D203B9 /* WebContextMenuProxyMac.mm */; };
</span><span class="cx">                 51B15A8413843A3900321AD8 /* EnvironmentUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51B15A8213843A3900321AD8 /* EnvironmentUtilities.cpp */; };
</span><span class="cx">                 51B15A8513843A3900321AD8 /* EnvironmentUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 51B15A8313843A3900321AD8 /* EnvironmentUtilities.h */; };
</span><del>-                51C0C9741DDD76000032CAD3 /* IconLoadingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 51C0C9721DDD74F00032CAD3 /* IconLoadingDelegate.h */; };
-                51C0C9751DDD76030032CAD3 /* IconLoadingDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51C0C9731DDD74F00032CAD3 /* IconLoadingDelegate.mm */; };
</del><span class="cx">                 51CD1C5D1B3493AF00142CA5 /* WKSecurityOriginRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51CD1C591B3493A900142CA5 /* WKSecurityOriginRef.cpp */; };
</span><span class="cx">                 51CD1C5E1B3493B400142CA5 /* WKSecurityOriginRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CD1C5A1B3493A900142CA5 /* WKSecurityOriginRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51CD1C651B34B9D400142CA5 /* WKSecurityOrigin.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CD1C5F1B34B9C900142CA5 /* WKSecurityOrigin.h */; settings = {ATTRIBUTES = (Public, ); }; };
</span><span class="lines">@@ -3064,8 +3059,6 @@
</span><span class="cx">                 513E462C1AD837560016234A /* WKSharingServicePickerDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKSharingServicePickerDelegate.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 514129911C6428100059E714 /* WebIDBConnectionToServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIDBConnectionToServer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 514129921C6428100059E714 /* WebIDBConnectionToServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIDBConnectionToServer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                5143B25E1DDCDFD10014FAC6 /* _WKIconLoadingDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKIconLoadingDelegate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                5143B2611DDD0DA00014FAC6 /* APIIconLoadingClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIIconLoadingClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 514BDED216C98EDD00E4E25E /* StatisticsRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StatisticsRequest.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 514D9F5519119D35000063A7 /* ServicesController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServicesController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 514D9F5619119D35000063A7 /* ServicesController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ServicesController.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -3135,11 +3128,6 @@
</span><span class="cx">                 51ACC9351628064800342550 /* NetworkProcessMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkProcessMessages.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51B15A8213843A3900321AD8 /* EnvironmentUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EnvironmentUtilities.cpp; path = unix/EnvironmentUtilities.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51B15A8313843A3900321AD8 /* EnvironmentUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnvironmentUtilities.h; path = unix/EnvironmentUtilities.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                51C0C9721DDD74F00032CAD3 /* IconLoadingDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IconLoadingDelegate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                51C0C9731DDD74F00032CAD3 /* IconLoadingDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = IconLoadingDelegate.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
-                51C0C9791DDD78540032CAD3 /* _WKLinkIconParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKLinkIconParameters.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                51C0C97A1DDD78540032CAD3 /* _WKLinkIconParameters.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = _WKLinkIconParameters.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
-                51C0C97B1DDD78540032CAD3 /* _WKLinkIconParametersInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKLinkIconParametersInternal.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 51CD1C591B3493A900142CA5 /* WKSecurityOriginRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKSecurityOriginRef.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51CD1C5A1B3493A900142CA5 /* WKSecurityOriginRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSecurityOriginRef.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 51CD1C5F1B34B9C900142CA5 /* WKSecurityOrigin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSecurityOrigin.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -4902,8 +4890,6 @@
</span><span class="cx">                                 00B9661718E25AE100CE1F88 /* FindClient.mm */,
</span><span class="cx">                                 CD78E1121DB7D7ED0014A2DE /* FullscreenClient.mm */,
</span><span class="cx">                                 CD78E1131DB7D7ED0014A2DE /* FullscreenClient.h */,
</span><del>-                                51C0C9721DDD74F00032CAD3 /* IconLoadingDelegate.h */,
-                                51C0C9731DDD74F00032CAD3 /* IconLoadingDelegate.mm */,
</del><span class="cx">                                 0F0C365918C0555800F607D7 /* LayerRepresentation.h */,
</span><span class="cx">                                 1ABC3DF41899E437004F0626 /* NavigationState.h */,
</span><span class="cx">                                 1ABC3DF31899E437004F0626 /* NavigationState.mm */,
</span><span class="lines">@@ -5292,12 +5278,8 @@
</span><span class="cx">                                 2E7A94491BBD95C600945547 /* _WKFocusedElementInfo.h */,
</span><span class="cx">                                 37A64E5618F38F4600EB30F1 /* _WKFormInputSession.h */,
</span><span class="cx">                                 CD78E1181DB7E5AD0014A2DE /* _WKFullscreenDelegate.h */,
</span><del>-                                5143B25E1DDCDFD10014FAC6 /* _WKIconLoadingDelegate.h */,
</del><span class="cx">                                 37A64E5418F38E3C00EB30F1 /* _WKInputDelegate.h */,
</span><span class="cx">                                 2D790A9C1AD7050D00AB90B3 /* _WKLayoutMode.h */,
</span><del>-                                51C0C9791DDD78540032CAD3 /* _WKLinkIconParameters.h */,
-                                51C0C97A1DDD78540032CAD3 /* _WKLinkIconParameters.mm */,
-                                51C0C97B1DDD78540032CAD3 /* _WKLinkIconParametersInternal.h */,
</del><span class="cx">                                 9323611D1B015DA800FA9232 /* _WKOverlayScrollbarStyle.h */,
</span><span class="cx">                                 1A43E828188F3CDC009E4D30 /* _WKProcessPoolConfiguration.h */,
</span><span class="cx">                                 1A43E827188F3CDC009E4D30 /* _WKProcessPoolConfiguration.mm */,
</span><span class="lines">@@ -6413,7 +6395,6 @@
</span><span class="cx">                                 93A88B431BC8828C00ABA5C2 /* APIHitTestResult.h */,
</span><span class="cx">                                 7CE4D2061A46775700C7F152 /* APILegacyContextHistoryClient.h */,
</span><span class="cx">                                 1A2464F21891E45100234C5B /* APILoaderClient.h */,
</span><del>-                                5143B2611DDD0DA00014FAC6 /* APIIconLoadingClient.h */,
</del><span class="cx">                                 7CD3A4801A5D02FA009623B8 /* APINavigation.cpp */,
</span><span class="cx">                                 7CD3A4811A5D02FA009623B8 /* APINavigation.h */,
</span><span class="cx">                                 2DF9EEEA1A7836EE00B6CFBE /* APINavigationAction.h */,
</span><span class="lines">@@ -7983,7 +7964,6 @@
</span><span class="cx">                                 1A7865BA16CAC71500ACE83A /* PluginProcessConnectionManagerMessages.h in Headers */,
</span><span class="cx">                                 1A2BB6D114117B4D000F35D4 /* PluginProcessConnectionMessages.h in Headers */,
</span><span class="cx">                                 1A2D90D21281C966001EB962 /* PluginProcessCreationParameters.h in Headers */,
</span><del>-                                510F59101DDE296900412FF5 /* _WKIconLoadingDelegate.h in Headers */,
</del><span class="cx">                                 1A0EC603124A9F2C007EF4A5 /* PluginProcessManager.h in Headers */,
</span><span class="cx">                                 1A0EC6C0124BBD9B007EF4A5 /* PluginProcessMessages.h in Headers */,
</span><span class="cx">                                 1A0EC75E124BC7B2007EF4A5 /* PluginProcessProxy.h in Headers */,
</span><span class="lines">@@ -8070,7 +8050,6 @@
</span><span class="cx">                                 4A3CC18D19B0641900D14AEF /* UserMediaPermissionRequestProxy.h in Headers */,
</span><span class="cx">                                 E4E864931B16750700C82F40 /* VersionChecks.h in Headers */,
</span><span class="cx">                                 2D125C5E1857EA05003BA3CB /* ViewGestureController.h in Headers */,
</span><del>-                                510F59111DDE297000412FF5 /* _WKLinkIconParameters.h in Headers */,
</del><span class="cx">                                 2D1B5D5E185869C8006C6596 /* ViewGestureControllerMessages.h in Headers */,
</span><span class="cx">                                 2D819BA21862800E001F03D1 /* ViewGestureGeometryCollectorMessages.h in Headers */,
</span><span class="cx">                                 2D6CD119189058A500E5A4A0 /* ViewSnapshotStore.h in Headers */,
</span><span class="lines">@@ -8437,7 +8416,6 @@
</span><span class="cx">                                 1AA13212191D5924009C1489 /* WKNavigationResponsePrivate.h in Headers */,
</span><span class="cx">                                 2D3A65DF1A7C3A7D00CAC637 /* WKNavigationResponseRef.h in Headers */,
</span><span class="cx">                                 318BE17914743E6F00A8FBB2 /* WKNotification.h in Headers */,
</span><del>-                                51C0C9741DDD76000032CAD3 /* IconLoadingDelegate.h in Headers */,
</del><span class="cx">                                 318BE17114743DB100A8FBB2 /* WKNotificationManager.h in Headers */,
</span><span class="cx">                                 31A2EC74148D59CA00810D71 /* WKNotificationPermissionRequest.h in Headers */,
</span><span class="cx">                                 312C0C4A146DDC8A0016C911 /* WKNotificationProvider.h in Headers */,
</span><span class="lines">@@ -9679,7 +9657,6 @@
</span><span class="cx">                                 BC1BE1E112D54A410004A228 /* WebGeolocationClient.cpp in Sources */,
</span><span class="cx">                                 BC0E5FE612D697160012A72A /* WebGeolocationManager.cpp in Sources */,
</span><span class="cx">                                 BC0E606112D6BA910012A72A /* WebGeolocationManagerMessageReceiver.cpp in Sources */,
</span><del>-                                510F59121DDE297700412FF5 /* _WKLinkIconParameters.mm in Sources */,
</del><span class="cx">                                 BC54CACC12D64291005C67B0 /* WebGeolocationManagerProxy.cpp in Sources */,
</span><span class="cx">                                 BC0E618212D6CB1D0012A72A /* WebGeolocationManagerProxyMessageReceiver.cpp in Sources */,
</span><span class="cx">                                 BC0E607412D6BC200012A72A /* WebGeolocationPosition.cpp in Sources */,
</span><span class="lines">@@ -9776,7 +9753,6 @@
</span><span class="cx">                                 BCD59800112B57BE00EC8C23 /* WebPreferences.cpp in Sources */,
</span><span class="cx">                                 7C85FD7F19341665000177C4 /* WebPreferencesKeys.cpp in Sources */,
</span><span class="cx">                                 BC84EB1812A7100C0083F2DA /* WebPreferencesMac.mm in Sources */,
</span><del>-                                51C0C9751DDD76030032CAD3 /* IconLoadingDelegate.mm in Sources */,
</del><span class="cx">                                 BCD598AD112B7FDF00EC8C23 /* WebPreferencesStore.cpp in Sources */,
</span><span class="cx">                                 BC111AE4112F5C2600337BAB /* WebProcess.cpp in Sources */,
</span><span class="cx">                                 7C6E70FB18B2DC7A00F24E2E /* WebProcessCocoa.mm in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -1755,25 +1755,4 @@
</span><span class="cx">     webPage-&gt;didRestoreScrollPosition();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebFrameLoaderClient::useIconLoadingClient()
-{
-    return m_useIconLoadingClient;
-}
-
-void WebFrameLoaderClient::getLoadDecisionForIcon(const LinkIcon&amp; icon, uint64_t callbackID)
-{
-    if (WebPage* webPage { m_frame-&gt;page() })
-        webPage-&gt;send(Messages::WebPageProxy::GetLoadDecisionForIcon(icon, callbackID));
-}
-
-void WebFrameLoaderClient::finishedLoadingIcon(uint64_t loadIdentifier, SharedBuffer* data)
-{
-    if (WebPage* webPage { m_frame-&gt;page() }) {
-        if (data)
-            webPage-&gt;send(Messages::WebPageProxy::FinishedLoadingIcon(loadIdentifier, { reinterpret_cast&lt;const uint8_t*&gt;(data-&gt;data()), data-&gt;size() }));
-        else
-            webPage-&gt;send(Messages::WebPageProxy::FinishedLoadingIcon(loadIdentifier, { nullptr, 0 }));
-    }
-}
-
</del><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -46,8 +46,6 @@
</span><span class="cx"> 
</span><span class="cx">     bool frameHasCustomContentProvider() const { return m_frameHasCustomContentProvider; }
</span><span class="cx"> 
</span><del>-    void setUseIconLoadingClient(bool useIconLoadingClient) { m_useIconLoadingClient = useIconLoadingClient; }
-
</del><span class="cx"> private:
</span><span class="cx">     void frameLoaderDestroyed() override;
</span><span class="cx"> 
</span><span class="lines">@@ -257,10 +255,6 @@
</span><span class="cx"> 
</span><span class="cx">     void didRestoreScrollPosition() override;
</span><span class="cx"> 
</span><del>-    bool useIconLoadingClient() override;
-    void getLoadDecisionForIcon(const WebCore::LinkIcon&amp;, uint64_t callbackID) override;
-    void finishedLoadingIcon(uint64_t loadIdentifier, WebCore::SharedBuffer*) override;
-
</del><span class="cx">     WebFrame* m_frame;
</span><span class="cx">     RefPtr&lt;PluginView&gt; m_pluginView;
</span><span class="cx">     bool m_hasSentResponseToPluginView;
</span><span class="lines">@@ -267,7 +261,6 @@
</span><span class="cx">     bool m_didCompletePageTransition;
</span><span class="cx">     bool m_frameHasCustomContentProvider;
</span><span class="cx">     bool m_frameCameFromPageCache;
</span><del>-    bool m_useIconLoadingClient { false };
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> // As long as EmptyFrameLoaderClient exists in WebCore, this can return 0.
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -5651,15 +5651,4 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void WebPage::didGetLoadDecisionForIcon(bool decision, uint64_t loadIdentifier, uint64_t newCallbackID)
-{
-    if (auto* documentLoader = corePage()-&gt;mainFrame().loader().documentLoader())
-        documentLoader-&gt;didGetLoadDecisionForIcon(decision, loadIdentifier, newCallbackID);
-}
-
-void WebPage::setUseIconLoadingClient(bool useIconLoadingClient)
-{
-    static_cast&lt;WebFrameLoaderClient&amp;&gt;(corePage()-&gt;mainFrame().loader().client()).setUseIconLoadingClient(useIconLoadingClient);
-}
-
</del><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -971,9 +971,6 @@
</span><span class="cx">     void didLosePointerLock();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    void didGetLoadDecisionForIcon(bool decision, uint64_t loadIdentifier, uint64_t newCallbackID);
-    void setUseIconLoadingClient(bool);
-
</del><span class="cx"> private:
</span><span class="cx">     WebPage(uint64_t pageID, const WebPageCreationParameters&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagemessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (209598 => 209599)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2016-12-09 07:45:56 UTC (rev 209598)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2016-12-09 08:08:41 UTC (rev 209599)
</span><span class="lines">@@ -448,9 +448,6 @@
</span><span class="cx"> 
</span><span class="cx">     SetUserInterfaceLayoutDirection(uint32_t direction)
</span><span class="cx"> 
</span><del>-    DidGetLoadDecisionForIcon(bool decision, uint64_t loadIdentifier, uint64_t newCallbackID)
-    SetUseIconLoadingClient(bool useIconLoadingClient)
-
</del><span class="cx"> #if ENABLE(GAMEPAD)
</span><span class="cx">     GamepadActivity(Vector&lt;WebKit::GamepadData&gt; gamepadDatas)
</span><span class="cx"> #endif
</span></span></pre>
</div>
</div>

</body>
</html>