Title: [236689] trunk/Source/WebKit
Revision
236689
Author
david_ques...@apple.com
Date
2018-10-01 13:38:47 -0700 (Mon, 01 Oct 2018)

Log Message

Add missing Objective-C versions of downloads SPI
https://bugs.webkit.org/show_bug.cgi?id=190149
rdar://problem/44915592

Reviewed by Alex Christensen.

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _downloadURLRequest:]):
(-[WKProcessPool _resumeDownloadFromData:path:]):
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* UIProcess/API/Cocoa/_WKDownload.h:
* UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload resumeData]):
* UIProcess/API/Cocoa/_WKDownloadInternal.h:
* UIProcess/Cocoa/DownloadClient.mm:
    Move the DownloadProxy's WrapperTraits out of DownloadClient, and into the internal
    header so it can be used from other classes (i.e. WKProcessPool here).

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (236688 => 236689)


--- trunk/Source/WebKit/ChangeLog	2018-10-01 20:07:40 UTC (rev 236688)
+++ trunk/Source/WebKit/ChangeLog	2018-10-01 20:38:47 UTC (rev 236689)
@@ -1,3 +1,23 @@
+2018-10-01  David Quesada  <david_ques...@apple.com>
+
+        Add missing Objective-C versions of downloads SPI
+        https://bugs.webkit.org/show_bug.cgi?id=190149
+        rdar://problem/44915592
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/API/Cocoa/WKProcessPool.mm:
+        (-[WKProcessPool _downloadURLRequest:]):
+        (-[WKProcessPool _resumeDownloadFromData:path:]):
+        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
+        * UIProcess/API/Cocoa/_WKDownload.h:
+        * UIProcess/API/Cocoa/_WKDownload.mm:
+        (-[_WKDownload resumeData]):
+        * UIProcess/API/Cocoa/_WKDownloadInternal.h:
+        * UIProcess/Cocoa/DownloadClient.mm:
+            Move the DownloadProxy's WrapperTraits out of DownloadClient, and into the internal
+            header so it can be used from other classes (i.e. WKProcessPool here).
+
 2018-10-01  Alex Christensen  <achristen...@webkit.org>
 
         Fix internal build after r236665

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm (236688 => 236689)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm	2018-10-01 20:07:40 UTC (rev 236688)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm	2018-10-01 20:38:47 UTC (rev 236689)
@@ -43,6 +43,7 @@
 #import "_WKAutomationDelegate.h"
 #import "_WKAutomationSessionInternal.h"
 #import "_WKDownloadDelegate.h"
+#import "_WKDownloadInternal.h"
 #import "_WKProcessPoolConfigurationInternal.h"
 #import <WebCore/CertificateInfo.h>
 #import <WebCore/PluginData.h>
@@ -573,6 +574,16 @@
 }
 #endif // PLATFORM(IOS)
 
+- (_WKDownload *)_downloadURLRequest:(NSURLRequest *)request
+{
+    return (_WKDownload *)_processPool->download(nullptr, request)->wrapper();
+}
+
+- (_WKDownload *)_resumeDownloadFromData:(NSData *)resumeData path:(NSString *)path
+{
+    return wrapper(_processPool->resumeDownload(API::Data::createWithoutCopying(resumeData).ptr(), path));
+}
+
 @end
 
 #endif // WK_API_ENABLED

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h (236688 => 236689)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h	2018-10-01 20:07:40 UTC (rev 236688)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h	2018-10-01 20:38:47 UTC (rev 236689)
@@ -29,6 +29,7 @@
 #if WK_API_ENABLED
 
 @class _WKAutomationSession;
+@class _WKDownload;
 @class _WKProcessPoolConfiguration;
 @protocol _WKAutomationDelegate;
 @protocol _WKDownloadDelegate;
@@ -79,6 +80,9 @@
 
 - (void)_registerURLSchemeAsCanDisplayOnlyIfCanRequest:(NSString *)scheme WK_API_AVAILABLE(macosx(10.14), ios(12.0));
 
+- (_WKDownload *)_downloadURLRequest:(NSURLRequest *)request WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
+- (_WKDownload *)_resumeDownloadFromData:(NSData *)resumeData path:(NSString *)path WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
+
 // Test only. Should be called only while no web content processes are running.
 - (void)_terminateStorageProcess;
 - (void)_terminateNetworkProcess;

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownload.h (236688 => 236689)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownload.h	2018-10-01 20:07:40 UTC (rev 236688)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownload.h	2018-10-01 20:38:47 UTC (rev 236689)
@@ -40,6 +40,7 @@
 @property (nonatomic, readonly, weak) WKWebView *originatingWebView;
 @property (nonatomic, readonly, copy) NSArray<NSURL *> *redirectChain WK_API_AVAILABLE(macosx(10.13.4), ios(11.3));
 @property (nonatomic, readonly) BOOL wasUserInitiated WK_API_AVAILABLE(macosx(10.13.4), ios(11.3));
+@property (nonatomic, readonly) NSData *resumeData WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
 
 @end
 

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownload.mm (236688 => 236689)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownload.mm	2018-10-01 20:07:40 UTC (rev 236688)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownload.mm	2018-10-01 20:38:47 UTC (rev 236689)
@@ -29,6 +29,7 @@
 #if WK_API_ENABLED
 
 #import "DownloadProxy.h"
+#import "WKNSData.h"
 #import "WKWebViewInternal.h"
 #import <wtf/WeakObjCPtr.h>
 
@@ -74,6 +75,11 @@
     return _download->wasUserInitiated();
 }
 
+- (NSData *)resumeData
+{
+    return WebKit::wrapper(_download->resumeData());
+}
+
 #pragma mark WKObject protocol implementation
 
 - (API::Object&)_apiObject

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownloadInternal.h (236688 => 236689)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownloadInternal.h	2018-10-01 20:07:40 UTC (rev 236688)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownloadInternal.h	2018-10-01 20:38:47 UTC (rev 236689)
@@ -27,8 +27,17 @@
 
 #if WK_API_ENABLED
 
+#import "DownloadProxy.h"
 #import "WKObject.h"
 
+namespace WebKit {
+
+template<> struct WrapperTraits<DownloadProxy> {
+    using WrapperClass = _WKDownload;
+};
+
+}
+
 @interface _WKDownload () <WKObject>
 @end
 

Modified: trunk/Source/WebKit/UIProcess/Cocoa/DownloadClient.mm (236688 => 236689)


--- trunk/Source/WebKit/UIProcess/Cocoa/DownloadClient.mm	2018-10-01 20:07:40 UTC (rev 236688)
+++ trunk/Source/WebKit/UIProcess/Cocoa/DownloadClient.mm	2018-10-01 20:38:47 UTC (rev 236689)
@@ -49,10 +49,6 @@
 
 namespace WebKit {
 
-template<> struct WrapperTraits<DownloadProxy> {
-    using WrapperClass = _WKDownload;
-};
-
 DownloadClient::DownloadClient(id <_WKDownloadDelegate> delegate)
     : m_delegate(delegate)
 {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to