[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e

andersca at apple.com andersca at apple.com
Fri Jan 21 14:59:51 UTC 2011


The following commit has been merged in the debian/experimental branch:
commit f33fd63baa161a51030c99aed514dbf85d3fea9a
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 6 02:39:45 2011 +0000

    <rdar://problem/8750248>
    Need a way to create a new DownloadProxy from an arbitrary resource request
    
    Reviewed by Sam Weinig.
    
    <rdar://problem/8750465>
    Need a way to start a download in WKDownload
    
    <rdar://problem/8752204>
    WK2 Context Menus - "Save linked file" support
    
    * Shared/ContextMenuState.h: Added.
    Add a ContextMenuState struct which contains state for context menus.
    
    * UIProcess/API/C/WKContext.cpp:
    (WKContextDownloadURLRequest):
    Call WebContext::download.
    
    * UIProcess/WebContext.cpp:
    (WebKit::WebContext::download):
    Send a DownloadRequest message to the web process.
    
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::showContextMenu):
    Set the active context menu state.
    
    (WebKit::WebPageProxy::contextMenuItemSelected):
    Handle ContextMenuItemTagDownloadImageToDisk and ContextMenuItemTagDownloadLinkToDisk by calling
    WebContext::Download, passing the respective URLs.
    
    * UIProcess/WebPageProxy.messages.in:
    ShowContextMenu now takes state as well.
    
    * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
    (WebKit::WebContextMenuClient::downloadURL):
    Assert that this is never reached; downloads are handled in the UI process.
    
    * WebProcess/WebPage/WebContextMenu.cpp:
    (WebKit::WebContextMenu::show):
    Pass the context menu state along when sending the ShowContextMenu message.
    
    * WebProcess/WebProcess.cpp:
    (WebKit::WebProcess::downloadRequest):
    Call the shared DownloadManager.
    
    * WebProcess/WebProcess.messages.in:
    Add DownloadRequest message.
    
    * WebKit2.xcodeproj/project.pbxproj:
    * win/WebKit2.vcproj:
    Add ContextMenuState.h.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 11f01c7..2dcd2c4 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,57 @@
+2011-01-05  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        <rdar://problem/8750248>
+        Need a way to create a new DownloadProxy from an arbitrary resource request
+
+        <rdar://problem/8750465>
+        Need a way to start a download in WKDownload
+        
+        <rdar://problem/8752204>
+        WK2 Context Menus - "Save linked file" support
+
+        * Shared/ContextMenuState.h: Added.
+        Add a ContextMenuState struct which contains state for context menus.
+
+        * UIProcess/API/C/WKContext.cpp:
+        (WKContextDownloadURLRequest):
+        Call WebContext::download.
+
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::download):
+        Send a DownloadRequest message to the web process.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::showContextMenu):
+        Set the active context menu state.
+
+        (WebKit::WebPageProxy::contextMenuItemSelected):
+        Handle ContextMenuItemTagDownloadImageToDisk and ContextMenuItemTagDownloadLinkToDisk by calling
+        WebContext::Download, passing the respective URLs.
+
+        * UIProcess/WebPageProxy.messages.in:
+        ShowContextMenu now takes state as well.
+
+        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+        (WebKit::WebContextMenuClient::downloadURL):
+        Assert that this is never reached; downloads are handled in the UI process.
+
+        * WebProcess/WebPage/WebContextMenu.cpp:
+        (WebKit::WebContextMenu::show):
+        Pass the context menu state along when sending the ShowContextMenu message.
+
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::downloadRequest):
+        Call the shared DownloadManager.
+
+        * WebProcess/WebProcess.messages.in:
+        Add DownloadRequest message.
+
+        * WebKit2.xcodeproj/project.pbxproj:
+        * win/WebKit2.vcproj:
+        Add ContextMenuState.h.
+
 2011-01-05  Laszlo Gombos  <laszlo.1.gombos at nokia.com>
 
         Unreviewed build fix.
diff --git a/WebKit2/Shared/ContextMenuState.h b/WebKit2/Shared/ContextMenuState.h
new file mode 100644
index 0000000..8485bab
--- /dev/null
+++ b/WebKit2/Shared/ContextMenuState.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2011 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 ContextMenuState_h
+#define ContextMenuState_h
+
+#include "WebCoreArgumentCoders.h"
+
+namespace WebKit {
+
+struct ContextMenuState {
+    String absoluteLinkURLString;
+    String absoluteImageURLString;
+
+    void encode(CoreIPC::ArgumentEncoder* encoder) const
+    {
+        encoder->encode(absoluteLinkURLString);
+        encoder->encode(absoluteImageURLString);
+    }
+
+    static bool decode(CoreIPC::ArgumentDecoder* decoder, ContextMenuState& result)
+    {
+        if (!decoder->decode(result.absoluteLinkURLString))
+            return false;
+        if (!decoder->decode(result.absoluteImageURLString))
+            return false;
+    
+        return true;
+    }
+};
+
+} // namespace WebKit
+
+#endif // ContextMenuState_h
diff --git a/WebKit2/UIProcess/API/C/WKContext.cpp b/WebKit2/UIProcess/API/C/WKContext.cpp
index 7a5ec70..53ad0f8 100644
--- a/WebKit2/UIProcess/API/C/WKContext.cpp
+++ b/WebKit2/UIProcess/API/C/WKContext.cpp
@@ -28,6 +28,7 @@
 
 #include "WKAPICast.h"
 #include "WebContext.h"
+#include "WebURLRequest.h"
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefPtr.h>
 #include <wtf/text/WTFString.h>
@@ -82,6 +83,11 @@ void WKContextSetDownloadClient(WKContextRef contextRef, const WKContextDownload
     toImpl(contextRef)->initializeDownloadClient(wkClient);
 }
 
+void WKContextDownloadURLRequest(WKContextRef contextRef, const WKURLRequestRef requestRef)
+{
+    toImpl(contextRef)->download(0, toImpl(requestRef)->resourceRequest());
+}
+
 void WKContextSetInitializationUserDataForInjectedBundle(WKContextRef contextRef,  WKTypeRef userDataRef)
 {
     toImpl(contextRef)->setInjectedBundleInitializationUserData(toImpl(userDataRef));
diff --git a/WebKit2/UIProcess/API/C/WKContext.h b/WebKit2/UIProcess/API/C/WKContext.h
index d63eebd..130090a 100644
--- a/WebKit2/UIProcess/API/C/WKContext.h
+++ b/WebKit2/UIProcess/API/C/WKContext.h
@@ -107,6 +107,8 @@ WK_EXPORT void WKContextSetInjectedBundleClient(WKContextRef context, const WKCo
 WK_EXPORT void WKContextSetHistoryClient(WKContextRef context, const WKContextHistoryClient* client);
 WK_EXPORT void WKContextSetDownloadClient(WKContextRef context, const WKContextDownloadClient* client);
 
+WK_EXPORT void WKContextDownloadURLRequest(WKContextRef context, const WKURLRequestRef request);
+
 WK_EXPORT void WKContextSetInitializationUserDataForInjectedBundle(WKContextRef context, WKTypeRef userData);
 WK_EXPORT void WKContextPostMessageToInjectedBundle(WKContextRef context, WKStringRef messageName, WKTypeRef messageBody);
 
diff --git a/WebKit2/UIProcess/WebContext.cpp b/WebKit2/UIProcess/WebContext.cpp
index 405f118..c06b2c0 100644
--- a/WebKit2/UIProcess/WebContext.cpp
+++ b/WebKit2/UIProcess/WebContext.cpp
@@ -235,6 +235,14 @@ void WebContext::relaunchProcessIfNecessary()
     ensureWebProcess();
 }
 
+void WebContext::download(WebPageProxy* initiatingPage, const ResourceRequest& request)
+{
+    uint64_t downloadID = createDownloadProxy();
+    uint64_t initiatingPageID = initiatingPage ? initiatingPage->pageID() : 0;
+
+    process()->send(Messages::WebProcess::DownloadRequest(downloadID, initiatingPageID, request), 0);
+}
+
 void WebContext::postMessageToInjectedBundle(const String& messageName, APIObject* messageBody)
 {
     if (!m_process || !m_process->canSendMessage()) {
diff --git a/WebKit2/UIProcess/WebContext.h b/WebKit2/UIProcess/WebContext.h
index 860e775..6b56ad4 100644
--- a/WebKit2/UIProcess/WebContext.h
+++ b/WebKit2/UIProcess/WebContext.h
@@ -76,6 +76,8 @@ public:
 
     const String& injectedBundlePath() const { return m_injectedBundlePath; }
 
+    void download(WebPageProxy* initiatingPage, const WebCore::ResourceRequest&);
+
     void setInjectedBundleInitializationUserData(PassRefPtr<APIObject> userData) { m_injectedBundleInitializationUserData = userData; }
     APIObject* injectedBundleInitializationUserData() const { return m_injectedBundleInitializationUserData.get(); }
 
diff --git a/WebKit2/UIProcess/WebPageProxy.cpp b/WebKit2/UIProcess/WebPageProxy.cpp
index bf325b2..cd08af1 100644
--- a/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/WebKit2/UIProcess/WebPageProxy.cpp
@@ -1678,13 +1678,15 @@ void WebPageProxy::hidePopupMenu()
     m_activePopupMenu = 0;
 }
 
-void WebPageProxy::showContextMenu(const WebCore::IntPoint& menuLocation, const Vector<WebContextMenuItemData>& proposedItems, CoreIPC::ArgumentDecoder* arguments)
+void WebPageProxy::showContextMenu(const IntPoint& menuLocation, const ContextMenuState& contextMenuState, const Vector<WebContextMenuItemData>& proposedItems, CoreIPC::ArgumentDecoder* arguments)
 {
     RefPtr<APIObject> userData;
     WebContextUserMessageDecoder messageDecoder(userData, context());
     if (!arguments->decode(messageDecoder))
         return;
 
+    m_activeContextMenuState = contextMenuState;
+
     if (m_activeContextMenu)
         m_activeContextMenu->hideContextMenu();
     else
@@ -1736,7 +1738,15 @@ void WebPageProxy::contextMenuItemSelected(const WebContextMenuItemData& item)
         return;
     }
 #endif
-
+    if (item.action() == ContextMenuItemTagDownloadImageToDisk) {
+        m_context->download(this, KURL(KURL(), m_activeContextMenuState.absoluteImageURLString));
+        return;    
+    }
+    if (item.action() == ContextMenuItemTagDownloadLinkToDisk) {
+        m_context->download(this, KURL(KURL(), m_activeContextMenuState.absoluteLinkURLString));
+        return;
+    }
+    
     if (item.action() == ContextMenuItemTagLearnSpelling || item.action() == ContextMenuItemTagIgnoreSpelling)
         ++m_pendingLearnOrIgnoreWordMessageCount;
 
diff --git a/WebKit2/UIProcess/WebPageProxy.h b/WebKit2/UIProcess/WebPageProxy.h
index c8ce1a4..47ef409 100644
--- a/WebKit2/UIProcess/WebPageProxy.h
+++ b/WebKit2/UIProcess/WebPageProxy.h
@@ -27,6 +27,7 @@
 #define WebPageProxy_h
 
 #include "APIObject.h"
+#include "ContextMenuState.h"
 #include "DrawingAreaProxy.h"
 #include "SelectionState.h"
 #include "SharedMemory.h"
@@ -76,6 +77,7 @@ namespace WebCore {
 
 namespace WebKit {
 
+class ContextMenuState;
 class DrawingAreaProxy;
 class NativeWebKeyboardEvent;
 class PageClient;
@@ -430,7 +432,7 @@ private:
     void hidePopupMenu();
 
     // Context Menu.
-    void showContextMenu(const WebCore::IntPoint&, const Vector<WebContextMenuItemData>&, CoreIPC::ArgumentDecoder*);
+    void showContextMenu(const WebCore::IntPoint& menuLocation, const ContextMenuState&, const Vector<WebContextMenuItemData>&, CoreIPC::ArgumentDecoder*);
 
     // Speech.
 #if PLATFORM(MAC)
@@ -507,6 +509,7 @@ private:
 
     RefPtr<WebPopupMenuProxy> m_activePopupMenu;
     RefPtr<WebContextMenuProxy> m_activeContextMenu;
+    ContextMenuState m_activeContextMenuState;
     RefPtr<WebOpenPanelResultListenerProxy> m_openPanelResultListener;
 
     double m_estimatedProgress;
diff --git a/WebKit2/UIProcess/WebPageProxy.messages.in b/WebKit2/UIProcess/WebPageProxy.messages.in
index 91eed43..841b89d 100644
--- a/WebKit2/UIProcess/WebPageProxy.messages.in
+++ b/WebKit2/UIProcess/WebPageProxy.messages.in
@@ -151,7 +151,7 @@ messages -> WebPageProxy {
     HidePopupMenu()
     
     # ContextMenu messages.
-    ShowContextMenu(WebCore::IntPoint point, Vector<WebKit::WebContextMenuItemData> items, WebKit::InjectedBundleUserMessageEncoder userData)
+    ShowContextMenu(WebCore::IntPoint menuLocation, WebKit::ContextMenuState state, Vector<WebKit::WebContextMenuItemData> items, WebKit::InjectedBundleUserMessageEncoder userData)
 
 #if USE(ACCELERATED_COMPOSITING)
     # Accelerated compositing messages.
diff --git a/WebKit2/WebKit2.xcodeproj/project.pbxproj b/WebKit2/WebKit2.xcodeproj/project.pbxproj
index 411f4d6..5483ced 100644
--- a/WebKit2/WebKit2.xcodeproj/project.pbxproj
+++ b/WebKit2/WebKit2.xcodeproj/project.pbxproj
@@ -81,6 +81,7 @@
 		1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A24B5F111F531E800C38269 /* MachUtilities.h */; };
 		1A24BED5120894D100FBB059 /* SharedMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A24BED3120894D100FBB059 /* SharedMemory.h */; };
 		1A24BF3A120896A600FBB059 /* SharedMemoryMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A24BF39120896A600FBB059 /* SharedMemoryMac.cpp */; };
+		1A2C307112D555450063DAA2 /* ContextMenuState.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2C306F12D555450063DAA2 /* ContextMenuState.h */; };
 		1A2D82A4127F4EAB001EB962 /* NPObjectMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A1FA35C127A45BF0050E709 /* NPObjectMessageReceiver.cpp */; };
 		1A2D82A5127F4EAB001EB962 /* NPObjectMessageReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A1FA35B127A45BF0050E709 /* NPObjectMessageReceiver.h */; };
 		1A2D82A6127F4EAB001EB962 /* NPObjectProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A1FA284127A13BC0050E709 /* NPObjectProxy.cpp */; };
@@ -755,6 +756,7 @@
 		1A24B5F111F531E800C38269 /* MachUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachUtilities.h; sourceTree = "<group>"; };
 		1A24BED3120894D100FBB059 /* SharedMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SharedMemory.h; sourceTree = "<group>"; };
 		1A24BF39120896A600FBB059 /* SharedMemoryMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedMemoryMac.cpp; sourceTree = "<group>"; };
+		1A2C306F12D555450063DAA2 /* ContextMenuState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextMenuState.h; sourceTree = "<group>"; };
 		1A2D8411127F64E8001EB962 /* NPObjectMessageReceiver.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NPObjectMessageReceiver.messages.in; sourceTree = "<group>"; };
 		1A2D8437127F65D5001EB962 /* NPObjectMessageReceiverMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NPObjectMessageReceiverMessageReceiver.cpp; sourceTree = "<group>"; };
 		1A2D8438127F65D5001EB962 /* NPObjectMessageReceiverMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NPObjectMessageReceiverMessages.h; sourceTree = "<group>"; };
@@ -1629,6 +1631,7 @@
 				1A2D956E12848564001EB962 /* ChildProcess.cpp */,
 				1A2D956D12848564001EB962 /* ChildProcess.h */,
 				1A6F9F8E11E13EFC00DB1371 /* CommandLine.h */,
+				1A2C306F12D555450063DAA2 /* ContextMenuState.h */,
 				0FB659221208B4DB0044816C /* DrawingAreaInfo.h */,
 				762B7481120BBA0100819339 /* FontSmoothingLevel.h */,
 				BCCF6B2312C93E7A008F9C35 /* ImageOptions.h */,
@@ -2852,6 +2855,7 @@
 				93FC67C012D3CCF200A60610 /* EncoderAdapter.h in Headers */,
 				1A5E4DA412D3BD3D0099A2BB /* TextCheckerState.h in Headers */,
 				518D2CAE12D5153B003BB93B /* WebBackForwardListItem.h in Headers */,
+				1A2C307112D555450063DAA2 /* ContextMenuState.h in Headers */,
 				518D2CCB12D51DFB003BB93B /* SessionState.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp b/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
index 88618d7..42b60a5 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
@@ -65,8 +65,8 @@ void WebContextMenuClient::contextMenuItemSelected(ContextMenuItem*, const Conte
 
 void WebContextMenuClient::downloadURL(const KURL& url)
 {
-    // FIXME <rdar://problem/8750248> - Need the ability to start a Download from an arbitrary URL
-    notImplemented();
+    // This is handled in the UI process.
+    ASSERT_NOT_REACHED();
 }
 
 void WebContextMenuClient::searchWithGoogle(const Frame* frame)
diff --git a/WebKit2/WebProcess/WebPage/WebContextMenu.cpp b/WebKit2/WebProcess/WebPage/WebContextMenu.cpp
index 5617f5e..b496128 100644
--- a/WebKit2/WebProcess/WebPage/WebContextMenu.cpp
+++ b/WebKit2/WebProcess/WebPage/WebContextMenu.cpp
@@ -21,6 +21,7 @@
 
 #include "WebContextMenu.h"
 
+#include "ContextMenuState.h"
 #include "InjectedBundleHitTestResult.h"
 #include "InjectedBundleUserMessageCoders.h"
 #include "WebCoreArgumentCoders.h"
@@ -76,8 +77,12 @@ void WebContextMenu::show()
     if (m_page->injectedBundleContextMenuClient().getCustomMenuFromDefaultItems(m_page, hitTestResult.get(), proposedMenu, newMenu, userData))
         proposedMenu = newMenu;
 
+    ContextMenuState contextMenuState;
+    contextMenuState.absoluteImageURLString = controller->hitTestResult().absoluteImageURL().string();
+    contextMenuState.absoluteLinkURLString = controller->hitTestResult().absoluteLinkURL().string();
+
     // Notify the UIProcess.
-    m_page->send(Messages::WebPageProxy::ShowContextMenu(view->contentsToWindow(controller->hitTestResult().point()), proposedMenu, InjectedBundleUserMessageEncoder(userData.get())));
+    m_page->send(Messages::WebPageProxy::ShowContextMenu(view->contentsToWindow(controller->hitTestResult().point()), contextMenuState, proposedMenu, InjectedBundleUserMessageEncoder(userData.get())));
 }
 
 void WebContextMenu::itemSelected(const WebContextMenuItemData& item)
diff --git a/WebKit2/WebProcess/WebProcess.cpp b/WebKit2/WebProcess/WebProcess.cpp
index d38f06a..789da08 100644
--- a/WebKit2/WebProcess/WebProcess.cpp
+++ b/WebKit2/WebProcess/WebProcess.cpp
@@ -616,6 +616,13 @@ void WebProcess::clearApplicationCache()
 #endif
 }
 
+void WebProcess::downloadRequest(uint64_t downloadID, uint64_t initiatingPageID, const ResourceRequest& request)
+{
+    WebPage* initiatingPage = initiatingPageID ? webPage(initiatingPageID) : 0;
+
+    DownloadManager::shared().startDownload(downloadID, initiatingPage, request);
+}
+
 void WebProcess::cancelDownload(uint64_t downloadID)
 {
     DownloadManager::shared().cancelDownload(downloadID);
diff --git a/WebKit2/WebProcess/WebProcess.h b/WebKit2/WebProcess/WebProcess.h
index 19d0fb7..b9bc883 100644
--- a/WebKit2/WebProcess/WebProcess.h
+++ b/WebKit2/WebProcess/WebProcess.h
@@ -49,6 +49,7 @@ class QNetworkAccessManager;
 namespace WebCore {
     class IntSize;
     class PageGroup;
+    class ResourceRequest;
 }
 
 namespace WebKit {
@@ -136,6 +137,7 @@ private:
     void platformClearResourceCaches();
     void clearApplicationCache();
 
+    void downloadRequest(uint64_t downloadID, uint64_t initiatingPageID, const WebCore::ResourceRequest&);
     void cancelDownload(uint64_t downloadID);
 
     void setTextCheckerState(const TextCheckerState&);
diff --git a/WebKit2/WebProcess/WebProcess.messages.in b/WebKit2/WebProcess/WebProcess.messages.in
index ef277d3..c5bace5 100644
--- a/WebKit2/WebProcess/WebProcess.messages.in
+++ b/WebKit2/WebProcess/WebProcess.messages.in
@@ -48,7 +48,8 @@ messages -> WebProcess {
     ClearApplicationCache();
 
     # Downloads. This should really be in a Download.messages.in, but it seemed unnecessary to create a new file just for
-    # a single message.
+    # two messages.
+    void DownloadRequest(uint64_t downloadID, uint64_t initiatingPageID, WebCore::ResourceRequest request)
     CancelDownload(uint64_t downloadID)
 
     SetTextCheckerState(WebKit::TextCheckerState textCheckerState)
diff --git a/WebKit2/win/WebKit2.vcproj b/WebKit2/win/WebKit2.vcproj
index fd660d5..c73976c 100755
--- a/WebKit2/win/WebKit2.vcproj
+++ b/WebKit2/win/WebKit2.vcproj
@@ -423,6 +423,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\Shared\ContextMenuState.h"
+				>
+			</File>
+			<File
 				RelativePath="..\Shared\DrawingAreaInfo.h"
 				>
 			</File>

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list