<!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>[166096] trunk/Source/WebKit2</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/166096">166096</a></dd>
<dt>Author</dt> <dd>aestes@apple.com</dd>
<dt>Date</dt> <dd>2014-03-21 14:14:46 -0700 (Fri, 21 Mar 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>[Webkit2] Add APIDownloadClient for download support.
https://bugs.webkit.org/show_bug.cgi?id=130484
Add API::DownloadClient to WebContext and get rid of WebDownloadClient.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-03-21
Reviewed by Anders Carlsson.
* UIProcess/API/APIDownloadClient.h: Added.
(API::DownloadClient::~DownloadClient):
(API::DownloadClient::didStart):
(API::DownloadClient::didReceiveAuthenticationChallenge):
(API::DownloadClient::didReceiveResponse):
(API::DownloadClient::didReceiveData):
(API::DownloadClient::shouldDecodeSourceDataOfMIMEType):
(API::DownloadClient::decideDestinationWithSuggestedFilename):
(API::DownloadClient::didCreateDestination):
(API::DownloadClient::didFinish):
(API::DownloadClient::didFail):
(API::DownloadClient::didCancel):
(API::DownloadClient::processDidCrash):
* UIProcess/API/C/WKContext.cpp:
(WKContextSetDownloadClient): Move the original WebDownloadClient methods to a local class
DownloadClient and set up the downloadClient for WebContext.
* UIProcess/Downloads/DownloadProxy.cpp:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::setDownloadClient):
* UIProcess/WebContext.h:
(WebKit::WebContext::downloadClient):
* UIProcess/WebDownloadClient.cpp: Removed.
* UIProcess/WebDownloadClient.h: Removed.
* WebKit2.xcodeproj/project.pbxproj:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2CMakeListstxt">trunk/Source/WebKit2/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2GNUmakefilelistam">trunk/Source/WebKit2/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKContextcpp">trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessDownloadsDownloadProxycpp">trunk/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebContextcpp">trunk/Source/WebKit2/UIProcess/WebContext.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebContexth">trunk/Source/WebKit2/UIProcess/WebContext.h</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2UIProcessAPIAPIDownloadClienth">trunk/Source/WebKit2/UIProcess/API/APIDownloadClient.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2UIProcessWebDownloadClientcpp">trunk/Source/WebKit2/UIProcess/WebDownloadClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebDownloadClienth">trunk/Source/WebKit2/UIProcess/WebDownloadClient.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2CMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/CMakeLists.txt (166095 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/CMakeLists.txt        2014-03-21 20:23:55 UTC (rev 166095)
+++ trunk/Source/WebKit2/CMakeLists.txt        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -315,7 +315,6 @@
</span><span class="cx"> UIProcess/WebCookieManagerProxyClient.cpp
</span><span class="cx"> UIProcess/WebDatabaseManagerProxy.cpp
</span><span class="cx"> UIProcess/WebDatabaseManagerProxyClient.cpp
</span><del>- UIProcess/WebDownloadClient.cpp
</del><span class="cx"> UIProcess/WebEditCommandProxy.cpp
</span><span class="cx"> UIProcess/WebFindClient.cpp
</span><span class="cx"> UIProcess/WebFormClient.cpp
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (166095 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-03-21 20:23:55 UTC (rev 166095)
+++ trunk/Source/WebKit2/ChangeLog        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -1,3 +1,37 @@
</span><ins>+2014-03-21 Yongjun Zhang <yongjun_zhang@apple.com>
+
+ [Webkit2] Add APIDownloadClient for download support.
+ https://bugs.webkit.org/show_bug.cgi?id=130484
+
+ Add API::DownloadClient to WebContext and get rid of WebDownloadClient.
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/APIDownloadClient.h: Added.
+ (API::DownloadClient::~DownloadClient):
+ (API::DownloadClient::didStart):
+ (API::DownloadClient::didReceiveAuthenticationChallenge):
+ (API::DownloadClient::didReceiveResponse):
+ (API::DownloadClient::didReceiveData):
+ (API::DownloadClient::shouldDecodeSourceDataOfMIMEType):
+ (API::DownloadClient::decideDestinationWithSuggestedFilename):
+ (API::DownloadClient::didCreateDestination):
+ (API::DownloadClient::didFinish):
+ (API::DownloadClient::didFail):
+ (API::DownloadClient::didCancel):
+ (API::DownloadClient::processDidCrash):
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetDownloadClient): Move the original WebDownloadClient methods to a local class
+ DownloadClient and set up the downloadClient for WebContext.
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::setDownloadClient):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::downloadClient):
+ * UIProcess/WebDownloadClient.cpp: Removed.
+ * UIProcess/WebDownloadClient.h: Removed.
+ * WebKit2.xcodeproj/project.pbxproj:
+
</ins><span class="cx"> 2014-03-21 Alexey Proskuryakov <ap@apple.com>
</span><span class="cx">
</span><span class="cx"> ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
</span></span></pre></div>
<a id="trunkSourceWebKit2GNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/GNUmakefile.list.am (166095 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/GNUmakefile.list.am        2014-03-21 20:23:55 UTC (rev 166095)
+++ trunk/Source/WebKit2/GNUmakefile.list.am        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -920,8 +920,6 @@
</span><span class="cx">         Source/WebKit2/UIProcess/WebDatabaseManagerProxyClient.h \
</span><span class="cx">         Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp \
</span><span class="cx">         Source/WebKit2/UIProcess/WebDatabaseManagerProxy.h \
</span><del>-        Source/WebKit2/UIProcess/WebDownloadClient.cpp \
-        Source/WebKit2/UIProcess/WebDownloadClient.h \
</del><span class="cx">         Source/WebKit2/UIProcess/WebEditCommandProxy.cpp \
</span><span class="cx">         Source/WebKit2/UIProcess/WebEditCommandProxy.h \
</span><span class="cx">         Source/WebKit2/UIProcess/WebFindClient.cpp \
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIAPIDownloadClienth"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/UIProcess/API/APIDownloadClient.h (0 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/APIDownloadClient.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/APIDownloadClient.h        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -0,0 +1,66 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#ifndef APIDownloadClient_h
+#define APIDownloadClient_h
+
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+class ResourceResponse;
+class ResourceError;
+}
+
+namespace WebKit {
+class AuthenticationChallengeProxy;
+class WebContext;
+class DownloadProxy;
+}
+
+namespace API {
+
+class DownloadClient {
+public:
+ virtual ~DownloadClient() { }
+
+ virtual void didStart(WebKit::WebContext*, WebKit::DownloadProxy*) { }
+ virtual void didReceiveAuthenticationChallenge(WebKit::WebContext*, WebKit::DownloadProxy*, WebKit::AuthenticationChallengeProxy*) { }
+ virtual void didReceiveResponse(WebKit::WebContext*, WebKit::DownloadProxy*, const WebCore::ResourceResponse&) { }
+ virtual void didReceiveData(WebKit::WebContext*, WebKit::DownloadProxy*, uint64_t length) { }
+ virtual bool shouldDecodeSourceDataOfMIMEType(WebKit::WebContext*, WebKit::DownloadProxy*, const WTF::String& mimeType) { return true; }
+ virtual WTF::String decideDestinationWithSuggestedFilename(WebKit::WebContext*, WebKit::DownloadProxy*, const WTF::String& filename, bool& allowOverwrite)
+ {
+ return WTF::String();
+ }
+ virtual void didCreateDestination(WebKit::WebContext*, WebKit::DownloadProxy*, const WTF::String& path) { }
+ virtual void didFinish(WebKit::WebContext*, WebKit::DownloadProxy*) { }
+ virtual void didFail(WebKit::WebContext*, WebKit::DownloadProxy*, const WebCore::ResourceError&) { }
+ virtual void didCancel(WebKit::WebContext*, WebKit::DownloadProxy*) { }
+ virtual void processDidCrash(WebKit::WebContext*, WebKit::DownloadProxy*) { }
+};
+
+} // namespace API
+
+#endif // APIDownloadClient_h
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp (166095 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp        2014-03-21 20:23:55 UTC (rev 166095)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -27,10 +27,12 @@
</span><span class="cx"> #include "WKContextPrivate.h"
</span><span class="cx">
</span><span class="cx"> #include "APIClient.h"
</span><ins>+#include "APIDownloadClient.h"
</ins><span class="cx"> #include "APIHistoryClient.h"
</span><span class="cx"> #include "APINavigationData.h"
</span><span class="cx"> #include "APIURLRequest.h"
</span><span class="cx"> #include "WKAPICast.h"
</span><ins>+#include "WKRetainPtr.h"
</ins><span class="cx"> #include "WebContext.h"
</span><span class="cx"> #include <wtf/PassRefPtr.h>
</span><span class="cx"> #include <wtf/RefPtr.h>
</span><span class="lines">@@ -56,6 +58,9 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> namespace API {
</span><ins>+template<> struct ClientTraits<WKContextDownloadClientBase> {
+ typedef std::tuple<WKContextDownloadClientV0> Versions;
+};
</ins><span class="cx"> template<> struct ClientTraits<WKContextHistoryClientBase> {
</span><span class="cx"> typedef std::tuple<WKContextHistoryClientV0> Versions;
</span><span class="cx"> };
</span><span class="lines">@@ -155,7 +160,105 @@
</span><span class="cx">
</span><span class="cx"> void WKContextSetDownloadClient(WKContextRef contextRef, const WKContextDownloadClientBase* wkClient)
</span><span class="cx"> {
</span><del>- toImpl(contextRef)->initializeDownloadClient(wkClient);
</del><ins>+ class DownloadClient final : public API::Client<WKContextDownloadClientBase>, public API::DownloadClient {
+ public:
+ explicit DownloadClient(const WKContextDownloadClientBase* client)
+ {
+ initialize(client);
+ }
+ private:
+ virtual void didStart(WebContext* webContext, DownloadProxy* downloadProxy) override
+ {
+ if (!m_client.didStart)
+ return;
+
+ m_client.didStart(toAPI(webContext), toAPI(downloadProxy), m_client.base.clientInfo);
+ }
+
+ virtual void didReceiveAuthenticationChallenge(WebContext* webContext, DownloadProxy* downloadProxy, AuthenticationChallengeProxy* authenticationChallengeProxy) override
+ {
+ if (!m_client.didReceiveAuthenticationChallenge)
+ return;
+
+ m_client.didReceiveAuthenticationChallenge(toAPI(webContext), toAPI(downloadProxy), toAPI(authenticationChallengeProxy), m_client.base.clientInfo);
+ }
+
+ virtual void didReceiveResponse(WebContext* webContext, DownloadProxy* downloadProxy, const ResourceResponse& response) override
+ {
+ if (!m_client.didReceiveResponse)
+ return;
+
+ m_client.didReceiveResponse(toAPI(webContext), toAPI(downloadProxy), toAPI(API::URLResponse::create(response).get()), m_client.base.clientInfo);
+ }
+
+ virtual void didReceiveData(WebContext* webContext, DownloadProxy* downloadProxy, uint64_t length) override
+ {
+ if (!m_client.didReceiveData)
+ return;
+
+ m_client.didReceiveData(toAPI(webContext), toAPI(downloadProxy), length, m_client.base.clientInfo);
+ }
+
+ virtual bool shouldDecodeSourceDataOfMIMEType(WebContext* webContext, DownloadProxy* downloadProxy, const String& mimeType) override
+ {
+ if (!m_client.shouldDecodeSourceDataOfMIMEType)
+ return true;
+
+ return m_client.shouldDecodeSourceDataOfMIMEType(toAPI(webContext), toAPI(downloadProxy), toAPI(mimeType.impl()), m_client.base.clientInfo);
+ }
+
+ virtual String decideDestinationWithSuggestedFilename(WebContext* webContext, DownloadProxy* downloadProxy, const String& filename, bool& allowOverwrite) override
+ {
+ if (!m_client.decideDestinationWithSuggestedFilename)
+ return String();
+
+ WKRetainPtr<WKStringRef> destination(AdoptWK, m_client.decideDestinationWithSuggestedFilename(toAPI(webContext), toAPI(downloadProxy), toAPI(filename.impl()), &allowOverwrite, m_client.base.clientInfo));
+ return toWTFString(destination.get());
+ }
+
+ virtual void didCreateDestination(WebContext* webContext, DownloadProxy* downloadProxy, const String& path) override
+ {
+ if (!m_client.didCreateDestination)
+ return;
+
+ m_client.didCreateDestination(toAPI(webContext), toAPI(downloadProxy), toAPI(path.impl()), m_client.base.clientInfo);
+ }
+
+ virtual void didFinish(WebContext* webContext, DownloadProxy* downloadProxy) override
+ {
+ if (!m_client.didFinish)
+ return;
+
+ m_client.didFinish(toAPI(webContext), toAPI(downloadProxy), m_client.base.clientInfo);
+ }
+
+ virtual void didFail(WebContext* webContext, DownloadProxy* downloadProxy, const ResourceError& error) override
+ {
+ if (!m_client.didFail)
+ return;
+
+ m_client.didFail(toAPI(webContext), toAPI(downloadProxy), toAPI(error), m_client.base.clientInfo);
+ }
+
+ virtual void didCancel(WebContext* webContext, DownloadProxy* downloadProxy) override
+ {
+ if (!m_client.didCancel)
+ return;
+
+ m_client.didCancel(toAPI(webContext), toAPI(downloadProxy), m_client.base.clientInfo);
+ }
+
+ virtual void processDidCrash(WebContext* webContext, DownloadProxy* downloadProxy) override
+ {
+ if (!m_client.processDidCrash)
+ return;
+
+ m_client.processDidCrash(toAPI(webContext), toAPI(downloadProxy), m_client.base.clientInfo);
+ }
+
+ };
+
+ toImpl(contextRef)->setDownloadClient(std::make_unique<DownloadClient>(wkClient));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WKContextSetConnectionClient(WKContextRef contextRef, const WKContextConnectionClientBase* wkClient)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessDownloadsDownloadProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp (166095 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp        2014-03-21 20:23:55 UTC (rev 166095)
+++ trunk/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #include "DownloadProxy.h"
</span><span class="cx">
</span><span class="cx"> #include "APIData.h"
</span><ins>+#include "APIDownloadClient.h"
</ins><span class="cx"> #include "AuthenticationChallengeProxy.h"
</span><span class="cx"> #include "DataReference.h"
</span><span class="cx"> #include "DownloadProxyMap.h"
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (166095 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebContext.cpp        2014-03-21 20:23:55 UTC (rev 166095)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #include "WebContext.h"
</span><span class="cx">
</span><span class="cx"> #include "APIArray.h"
</span><ins>+#include "APIDownloadClient.h"
</ins><span class="cx"> #include "APIHistoryClient.h"
</span><span class="cx"> #include "DownloadProxy.h"
</span><span class="cx"> #include "DownloadProxyMessages.h"
</span><span class="lines">@@ -136,6 +137,7 @@
</span><span class="cx"> , m_processWithPageCache(0)
</span><span class="cx"> , m_defaultPageGroup(WebPageGroup::createNonNull())
</span><span class="cx"> , m_injectedBundlePath(injectedBundlePath)
</span><ins>+ , m_downloadClient(std::make_unique<API::DownloadClient>())
</ins><span class="cx"> , m_historyClient(std::make_unique<API::HistoryClient>())
</span><span class="cx"> , m_visitedLinkProvider(VisitedLinkProvider::create())
</span><span class="cx"> , m_visitedLinksPopulated(false)
</span><span class="lines">@@ -282,9 +284,12 @@
</span><span class="cx"> sendToAllProcesses(Messages::WebProcess::SetShouldTrackVisitedLinks(m_historyClient->shouldTrackVisitedLinks()));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebContext::initializeDownloadClient(const WKContextDownloadClientBase* client)
</del><ins>+void WebContext::setDownloadClient(std::unique_ptr<API::DownloadClient> downloadClient)
</ins><span class="cx"> {
</span><del>- m_downloadClient.initialize(client);
</del><ins>+ if (!downloadClient)
+ m_downloadClient = std::make_unique<API::DownloadClient>();
+ else
+ m_downloadClient = std::move(downloadClient);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebContext::setProcessModel(ProcessModel processModel)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (166095 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebContext.h        2014-03-21 20:23:55 UTC (rev 166095)
+++ trunk/Source/WebKit2/UIProcess/WebContext.h        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx"> #include "WebContextClient.h"
</span><span class="cx"> #include "WebContextConnectionClient.h"
</span><span class="cx"> #include "WebContextInjectedBundleClient.h"
</span><del>-#include "WebDownloadClient.h"
</del><span class="cx"> #include "WebProcessProxy.h"
</span><span class="cx"> #include <WebCore/LinkHash.h>
</span><span class="cx"> #include <WebCore/SessionID.h>
</span><span class="lines">@@ -68,6 +67,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> namespace API {
</span><ins>+class DownloadClient;
</ins><span class="cx"> class HistoryClient;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx"> void initializeInjectedBundleClient(const WKContextInjectedBundleClientBase*);
</span><span class="cx"> void initializeConnectionClient(const WKContextConnectionClientBase*);
</span><span class="cx"> void setHistoryClient(std::unique_ptr<API::HistoryClient>);
</span><del>- void initializeDownloadClient(const WKContextDownloadClientBase*);
</del><ins>+ void setDownloadClient(std::unique_ptr<API::DownloadClient>);
</ins><span class="cx">
</span><span class="cx"> void setProcessModel(ProcessModel); // Can only be called when there are no processes running.
</span><span class="cx"> ProcessModel processModel() const { return m_processModel; }
</span><span class="lines">@@ -219,7 +219,7 @@
</span><span class="cx">
</span><span class="cx"> // Downloads.
</span><span class="cx"> DownloadProxy* createDownloadProxy();
</span><del>- WebDownloadClient& downloadClient() { return m_downloadClient; }
</del><ins>+ API::DownloadClient& downloadClient() { return *m_downloadClient; }
</ins><span class="cx">
</span><span class="cx"> API::HistoryClient& historyClient() { return *m_historyClient; }
</span><span class="cx"> WebContextClient& client() { return m_client; }
</span><span class="lines">@@ -446,7 +446,7 @@
</span><span class="cx">
</span><span class="cx"> WebContextClient m_client;
</span><span class="cx"> WebContextConnectionClient m_connectionClient;
</span><del>- WebDownloadClient m_downloadClient;
</del><ins>+ std::unique_ptr<API::DownloadClient> m_downloadClient;
</ins><span class="cx"> std::unique_ptr<API::HistoryClient> m_historyClient;
</span><span class="cx">
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebDownloadClientcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/WebDownloadClient.cpp (166095 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebDownloadClient.cpp        2014-03-21 20:23:55 UTC (rev 166095)
+++ trunk/Source/WebKit2/UIProcess/WebDownloadClient.cpp        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -1,126 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 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.
- */
-
-#include "config.h"
-#include "WebDownloadClient.h"
-
-#include "APIURLResponse.h"
-#include "WKAPICast.h"
-#include "WKRetainPtr.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-void WebDownloadClient::didStart(WebContext* webContext, DownloadProxy* downloadProxy)
-{
- if (!m_client.didStart)
- return;
-
- m_client.didStart(toAPI(webContext), toAPI(downloadProxy), m_client.base.clientInfo);
-}
-
-void WebDownloadClient::didReceiveAuthenticationChallenge(WebContext* webContext, DownloadProxy* downloadProxy, AuthenticationChallengeProxy* authenticationChallengeProxy)
-{
- if (!m_client.didReceiveAuthenticationChallenge)
- return;
-
- m_client.didReceiveAuthenticationChallenge(toAPI(webContext), toAPI(downloadProxy), toAPI(authenticationChallengeProxy), m_client.base.clientInfo);
-}
-
-void WebDownloadClient::didReceiveResponse(WebContext* webContext, DownloadProxy* downloadProxy, const ResourceResponse& response)
-{
- if (!m_client.didReceiveResponse)
- return;
-
- m_client.didReceiveResponse(toAPI(webContext), toAPI(downloadProxy), toAPI(API::URLResponse::create(response).get()), m_client.base.clientInfo);
-}
-
-void WebDownloadClient::didReceiveData(WebContext* webContext, DownloadProxy* downloadProxy, uint64_t length)
-{
- if (!m_client.didReceiveData)
- return;
-
- m_client.didReceiveData(toAPI(webContext), toAPI(downloadProxy), length, m_client.base.clientInfo);
-}
-
-bool WebDownloadClient::shouldDecodeSourceDataOfMIMEType(WebContext* webContext, DownloadProxy* downloadProxy, const String& mimeType)
-{
- if (!m_client.shouldDecodeSourceDataOfMIMEType)
- return true;
-
- return m_client.shouldDecodeSourceDataOfMIMEType(toAPI(webContext), toAPI(downloadProxy), toAPI(mimeType.impl()), m_client.base.clientInfo);
-}
-
-String WebDownloadClient::decideDestinationWithSuggestedFilename(WebContext* webContext, DownloadProxy* downloadProxy, const String& filename, bool& allowOverwrite)
-{
- if (!m_client.decideDestinationWithSuggestedFilename)
- return String();
-
- WKRetainPtr<WKStringRef> destination(AdoptWK, m_client.decideDestinationWithSuggestedFilename(toAPI(webContext), toAPI(downloadProxy), toAPI(filename.impl()), &allowOverwrite, m_client.base.clientInfo));
- return toWTFString(destination.get());
-}
-
-void WebDownloadClient::didCreateDestination(WebContext* webContext, DownloadProxy* downloadProxy, const String& path)
-{
- if (!m_client.didCreateDestination)
- return;
-
- m_client.didCreateDestination(toAPI(webContext), toAPI(downloadProxy), toAPI(path.impl()), m_client.base.clientInfo);
-}
-
-void WebDownloadClient::didFinish(WebContext* webContext, DownloadProxy* downloadProxy)
-{
- if (!m_client.didFinish)
- return;
-
- m_client.didFinish(toAPI(webContext), toAPI(downloadProxy), m_client.base.clientInfo);
-}
-
-void WebDownloadClient::didFail(WebContext* webContext, DownloadProxy* downloadProxy, const ResourceError& error)
-{
- if (!m_client.didFail)
- return;
-
- m_client.didFail(toAPI(webContext), toAPI(downloadProxy), toAPI(error), m_client.base.clientInfo);
-}
-
-void WebDownloadClient::didCancel(WebContext* webContext, DownloadProxy* downloadProxy)
-{
- if (!m_client.didCancel)
- return;
-
- m_client.didCancel(toAPI(webContext), toAPI(downloadProxy), m_client.base.clientInfo);
-}
-
-void WebDownloadClient::processDidCrash(WebContext* webContext, DownloadProxy* downloadProxy)
-{
- if (!m_client.processDidCrash)
- return;
-
- m_client.processDidCrash(toAPI(webContext), toAPI(downloadProxy), m_client.base.clientInfo);
-}
-
-} // namespace WebKit
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebDownloadClienth"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/WebDownloadClient.h (166095 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebDownloadClient.h        2014-03-21 20:23:55 UTC (rev 166095)
+++ trunk/Source/WebKit2/UIProcess/WebDownloadClient.h        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -1,67 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 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.
- */
-
-#ifndef WebDownloadClient_h
-#define WebDownloadClient_h
-
-#include "APIClient.h"
-#include "WKContext.h"
-#include <wtf/Forward.h>
-
-namespace API {
-template<> struct ClientTraits<WKContextDownloadClientBase> {
- typedef std::tuple<WKContextDownloadClientV0> Versions;
-};
-}
-
-namespace WebCore {
- class ResourceError;
- class ResourceResponse;
-}
-
-namespace WebKit {
-
-class AuthenticationChallengeProxy;
-class DownloadProxy;
-class WebContext;
-
-class WebDownloadClient : public API::Client<WKContextDownloadClientBase> {
-public:
- void didStart(WebContext*, DownloadProxy*);
- void didReceiveAuthenticationChallenge(WebContext*, DownloadProxy*, AuthenticationChallengeProxy*);
- void didReceiveResponse(WebContext*, DownloadProxy*, const WebCore::ResourceResponse&);
- void didReceiveData(WebContext*, DownloadProxy*, uint64_t length);
- bool shouldDecodeSourceDataOfMIMEType(WebContext*, DownloadProxy*, const String& mimeType);
- String decideDestinationWithSuggestedFilename(WebContext*, DownloadProxy*, const String& filename, bool& allowOverwrite);
- void didCreateDestination(WebContext*, DownloadProxy*, const String& path);
- void didFinish(WebContext*, DownloadProxy*);
- void didFail(WebContext*, DownloadProxy*, const WebCore::ResourceError&);
- void didCancel(WebContext*, DownloadProxy*);
- void processDidCrash(WebContext*, DownloadProxy*);
-};
-
-} // namespace WebKit
-
-#endif // WebDownloadClient_h
</del></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (166095 => 166096)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-03-21 20:23:55 UTC (rev 166095)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-03-21 21:14:46 UTC (rev 166096)
</span><span class="lines">@@ -330,8 +330,6 @@
</span><span class="cx">                 1AB7D4CB1288AAA700CFD08C /* DownloadProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AB7D4C91288AAA700CFD08C /* DownloadProxy.cpp */; };
</span><span class="cx">                 1AB7D6191288B9D900CFD08C /* DownloadProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AB7D6171288B9D900CFD08C /* DownloadProxyMessageReceiver.cpp */; };
</span><span class="cx">                 1AB7D61A1288B9D900CFD08C /* DownloadProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AB7D6181288B9D900CFD08C /* DownloadProxyMessages.h */; };
</span><del>-                1AB7D72C1288CAAD00CFD08C /* WebDownloadClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AB7D72A1288CAAD00CFD08C /* WebDownloadClient.h */; };
-                1AB7D72D1288CAAD00CFD08C /* WebDownloadClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AB7D72B1288CAAD00CFD08C /* WebDownloadClient.cpp */; };
</del><span class="cx">                 1AB7D78D1288CD9A00CFD08C /* WKDownload.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AB7D78B1288CD9A00CFD08C /* WKDownload.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 1AB7D78E1288CD9A00CFD08C /* WKDownload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AB7D78C1288CD9A00CFD08C /* WKDownload.cpp */; };
</span><span class="cx">                 1AB8A1EC1840080900E9AE69 /* WKPageLoaderClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AB8A1EB1840080900E9AE69 /* WKPageLoaderClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -447,6 +445,7 @@
</span><span class="cx">                 1F7506B61859165700EC0FF7 /* WKWebProcessPlugInNodeHandleInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F0181711858DC1600F92884 /* WKWebProcessPlugInNodeHandleInternal.h */; };
</span><span class="cx">                 1F7506B71859165A00EC0FF7 /* WKWebProcessPlugInHitTestResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F01816E1858DC1600F92884 /* WKWebProcessPlugInHitTestResultInternal.h */; };
</span><span class="cx">                 1F7506B81859165D00EC0FF7 /* WKWebProcessPlugInFrameInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F01816B1858DC1500F92884 /* WKWebProcessPlugInFrameInternal.h */; };
</span><ins>+                1F7D36C118DA513F00D9D659 /* APIDownloadClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F7D36C018DA513F00D9D659 /* APIDownloadClient.h */; };
</ins><span class="cx">                 1F8724B718D7632B0076D4B4 /* WebResourceLoaderIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1F8724B318D7631D0076D4B4 /* WebResourceLoaderIOS.mm */; };
</span><span class="cx">                 1FB00AC7185F76460019142E /* WKWebProcessPlugInPageGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FB00AC4185F76460019142E /* WKWebProcessPlugInPageGroup.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 1FB00AC8185F76460019142E /* WKWebProcessPlugInPageGroup.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1FB00AC5185F76460019142E /* WKWebProcessPlugInPageGroup.mm */; };
</span><span class="lines">@@ -2079,8 +2078,6 @@
</span><span class="cx">                 1AB7D5E91288B8C000CFD08C /* DownloadProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DownloadProxy.messages.in; sourceTree = "<group>"; };
</span><span class="cx">                 1AB7D6171288B9D900CFD08C /* DownloadProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DownloadProxyMessageReceiver.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 1AB7D6181288B9D900CFD08C /* DownloadProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DownloadProxyMessages.h; sourceTree = "<group>"; };
</span><del>-                1AB7D72A1288CAAD00CFD08C /* WebDownloadClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDownloadClient.h; sourceTree = "<group>"; };
-                1AB7D72B1288CAAD00CFD08C /* WebDownloadClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebDownloadClient.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 1AB7D78B1288CD9A00CFD08C /* WKDownload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDownload.h; sourceTree = "<group>"; };
</span><span class="cx">                 1AB7D78C1288CD9A00CFD08C /* WKDownload.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKDownload.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 1AB8A1EB1840080900E9AE69 /* WKPageLoaderClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPageLoaderClient.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -2204,6 +2201,7 @@
</span><span class="cx">                 1F335BBF185B84D8001A201A /* WKWebProcessPlugInLoadDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInLoadDelegate.h; sourceTree = "<group>"; };
</span><span class="cx">                 1F604BA61889FA7400EE0395 /* WKRenderingProgressEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKRenderingProgressEvents.h; sourceTree = "<group>"; };
</span><span class="cx">                 1F604BA71889FA7400EE0395 /* WKRenderingProgressEventsInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKRenderingProgressEventsInternal.h; sourceTree = "<group>"; };
</span><ins>+                1F7D36C018DA513F00D9D659 /* APIDownloadClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIDownloadClient.h; sourceTree = "<group>"; };
</ins><span class="cx">                 1F8724B318D7631D0076D4B4 /* WebResourceLoaderIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebResourceLoaderIOS.mm; path = ios/WebResourceLoaderIOS.mm; sourceTree = "<group>"; };
</span><span class="cx">                 1FB00AC4185F76460019142E /* WKWebProcessPlugInPageGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInPageGroup.h; sourceTree = "<group>"; };
</span><span class="cx">                 1FB00AC5185F76460019142E /* WKWebProcessPlugInPageGroup.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKWebProcessPlugInPageGroup.mm; sourceTree = "<group>"; };
</span><span class="lines">@@ -5302,8 +5300,6 @@
</span><span class="cx">                                 F62A765B12B1ABC30005F1B6 /* WebDatabaseManagerProxy.messages.in */,
</span><span class="cx">                                 BCAC111E12C92C1F00B08EEE /* WebDatabaseManagerProxyClient.cpp */,
</span><span class="cx">                                 BCAC111D12C92C1F00B08EEE /* WebDatabaseManagerProxyClient.h */,
</span><del>-                                1AB7D72B1288CAAD00CFD08C /* WebDownloadClient.cpp */,
-                                1AB7D72A1288CAAD00CFD08C /* WebDownloadClient.h */,
</del><span class="cx">                                 BCA0EF9E12332642007D3CFB /* WebEditCommandProxy.cpp */,
</span><span class="cx">                                 BCA0EF9D12332642007D3CFB /* WebEditCommandProxy.h */,
</span><span class="cx">                                 1A3DD1FC125E59F3004515E6 /* WebFindClient.cpp */,
</span><span class="lines">@@ -5376,6 +5372,7 @@
</span><span class="cx">                                 BC8A501311765F4500757573 /* cpp */,
</span><span class="cx">                                 2DA944771884E3AB00ED86DB /* ios */,
</span><span class="cx">                                 BC111B47112F616900337BAB /* mac */,
</span><ins>+                                1F7D36C018DA513F00D9D659 /* APIDownloadClient.h */,
</ins><span class="cx">                                 1A6637D618B2831F00C0BCF3 /* APIHistoryClient.h */,
</span><span class="cx">                                 1A2464F21891E45100234C5B /* APILoaderClient.h */,
</span><span class="cx">                                 1AFDD3141891B54000153970 /* APIPolicyClient.h */,
</span><span class="lines">@@ -6853,7 +6850,6 @@
</span><span class="cx">                                 1AC1338618590C4600F3EC05 /* RemoteObjectRegistryMessages.h in Headers */,
</span><span class="cx">                                 BCAC111F12C92C1F00B08EEE /* WebDatabaseManagerProxyClient.h in Headers */,
</span><span class="cx">                                 F62A76B912B1B25F0005F1B6 /* WebDatabaseManagerProxyMessages.h in Headers */,
</span><del>-                                1AB7D72C1288CAAD00CFD08C /* WebDownloadClient.h in Headers */,
</del><span class="cx">                                 51654F00184EF34A007DC837 /* UniqueIDBDatabaseBackingStore.h in Headers */,
</span><span class="cx">                                 BC032D7B10F4378D0058C15A /* WebDragClient.h in Headers */,
</span><span class="cx">                                 BCA0EF9F12332642007D3CFB /* WebEditCommandProxy.h in Headers */,
</span><span class="lines">@@ -6883,6 +6879,7 @@
</span><span class="cx">                                 BC0E5FE512D697160012A72A /* WebGeolocationManager.h in Headers */,
</span><span class="cx">                                 BC0E606212D6BA910012A72A /* WebGeolocationManagerMessages.h in Headers */,
</span><span class="cx">                                 BC54CACB12D64291005C67B0 /* WebGeolocationManagerProxy.h in Headers */,
</span><ins>+                                1F7D36C118DA513F00D9D659 /* APIDownloadClient.h in Headers */,
</ins><span class="cx">                                 BC0E618312D6CB1D0012A72A /* WebGeolocationManagerProxyMessages.h in Headers */,
</span><span class="cx">                                 BC0E607312D6BC200012A72A /* WebGeolocationPosition.h in Headers */,
</span><span class="cx">                                 BC1BE1F212D54DBD0004A228 /* WebGeolocationProvider.h in Headers */,
</span><span class="lines">@@ -8280,7 +8277,6 @@
</span><span class="cx">                                 BCAC112012C92C1F00B08EEE /* WebDatabaseManagerProxyClient.cpp in Sources */,
</span><span class="cx">                                 F62A76B812B1B25F0005F1B6 /* WebDatabaseManagerProxyMessageReceiver.cpp in Sources */,
</span><span class="cx">                                 517DD5C5180DC3E10081660B /* DatabaseProcessProxyMac.mm in Sources */,
</span><del>-                                1AB7D72D1288CAAD00CFD08C /* WebDownloadClient.cpp in Sources */,
</del><span class="cx">                                 BC111A5D112F4FBB00337BAB /* WebDragClient.cpp in Sources */,
</span><span class="cx">                                 C574A37712E6099D002DFE98 /* WebDragClientMac.mm in Sources */,
</span><span class="cx">                                 BCA0EFA012332642007D3CFB /* WebEditCommandProxy.cpp in Sources */,
</span></span></pre>
</div>
</div>
</body>
</html>