[webkit-changes] [WebKit/WebKit] d55e3c: Use WKDataTask for SystemPreview downloads
Dean Jackson
noreply at github.com
Tue Apr 25 16:29:47 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d55e3cae6649895b6d2aeb7235ba879bdb403868
https://github.com/WebKit/WebKit/commit/d55e3cae6649895b6d2aeb7235ba879bdb403868
Author: Dean Jackson <dino at apple.com>
Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths:
M Source/WebCore/PAL/pal/spi/cocoa/FoundationSPI.h
M Source/WebCore/html/HTMLAnchorElement.cpp
M Source/WebCore/page/ChromeClient.h
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/Page.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm
M Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm
M Source/WebKit/UIProcess/SystemPreviewController.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
M Tools/TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm
A Tools/TestWebKitAPI/Tests/WebKitCocoa/UnitBox.usdz
M Tools/TestWebKitAPI/Tests/WebKitCocoa/system-preview-trigger.html
A Tools/TestWebKitAPI/Tests/WebKitCocoa/system-preview.html
Log Message:
-----------
Use WKDataTask for SystemPreview downloads
https://bugs.webkit.org/show_bug.cgi?id=255954
rdar://108524222
Reviewed by Tim Horton.
Migrate away from LegacyDownloadClient and instead handle System Previews
directly. This will allow us to remove the horrible code in the download
client, as well eventually allow 3rd-party engines to use ARQL.
The fix is to intercept the HTMLAnchorElement click for a system
preview, and send that directly to the SystemPreviewController in
the UI Process. That object then creates a WKDataTask for the download
and presents ARQL as normal.
A followup patch will remove the old code.
* Source/WebCore/html/HTMLAnchorElement.cpp:
* Source/WebCore/page/ChromeClient.h:
* Source/WebCore/page/Page.cpp:
* Source/WebCore/page/Page.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm:
* Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
* Source/WebKit/UIProcess/SystemPreviewController.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
(-[TestSystemPreviewUIDelegate _presentingViewControllerForWebView:]):
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/UnitBox.usdz: Added.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/system-preview-trigger.html:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/system-preview.html: Added.
Canonical link: https://commits.webkit.org/263393@main
More information about the webkit-changes
mailing list