Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9febfdbe1756b5f4924f13105a2a9a6da9d1915a
      
https://github.com/WebKit/WebKit/commit/9febfdbe1756b5f4924f13105a2a9a6da9d1915a
  Author: Pascoe <[email protected]>
  Date:   2024-08-07 (Wed, 07 Aug 2024)

  Changed paths:
    M LayoutTests/editing/pasteboard/copy-paste-attachment.html
    M LayoutTests/fast/attachment/attachment-dom.html
    M LayoutTests/fast/attachment/attachment-folder-icon-expected.html
    M 
LayoutTests/fast/attachment/attachment-icon-from-file-extension-expected.html
    M LayoutTests/fast/attachment/attachment-label-highlight.html
    M LayoutTests/fast/attachment/attachment-progress.html
    M 
LayoutTests/fast/attachment/attachment-select-on-click-inside-user-select-all.html
    M LayoutTests/fast/attachment/attachment-select-on-click.html
    M LayoutTests/fast/attachment/attachment-subtitle.html
    M LayoutTests/fast/attachment/attachment-title.html
    M LayoutTests/fast/attachment/attachment-type-attribute-expected.html
    M LayoutTests/fast/attachment/cocoa/wide-attachment-dom.html
    M 
LayoutTests/fast/attachment/cocoa/wide-attachment-folder-icon-expected.html
    M 
LayoutTests/fast/attachment/cocoa/wide-attachment-icon-from-file-extension-expected.html
    M LayoutTests/fast/attachment/mac/attachment-keynote-icon-expected.html
    M LayoutTests/fast/attachment/mac/attachment-numbers-icon-expected.html
    M LayoutTests/fast/attachment/mac/attachment-pages-icon-expected.html
    M 
LayoutTests/fast/attachment/mac/wide-attachment-type-attribute-expected.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-base-target-popup-not-allowed.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target-popup-not-allowed.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-backslash.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-doublequote.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-slashes.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-unicode.html
    M 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-no-extension.html
    M LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download.html
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WTF/wtf/FileSystem.cpp
    M Source/WTF/wtf/FileSystem.h
    M Source/WebCore/page/ChromeClient.h
    M Source/WebCore/testing/Internals.cpp
    M Source/WebCore/testing/Internals.h
    M Source/WebCore/testing/Internals.idl
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
    M Source/WebKit/NetworkProcess/NetworkProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkProcess.h
    M Source/WebKit/NetworkProcess/NetworkProcess.messages.in
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h
    M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
    M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
    M Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm
    M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPasteboardProxy.h
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
    M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm
    M Source/WebKit/UIProcess/mac/WebViewImpl.mm
    M Source/WebKit/UIProcess/win/WebView.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h
    M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/RunOpenPanel.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/UploadDirectory.mm

  Log Message:
  -----------
  Add validation to file-backed blob urls from WebContent
https://bugs.webkit.org/show_bug.cgi?id=276193
rdar://80200949

Reviewed by Alex Christensen.

This validates that file paths are valid for a given WebContent process when 
registering the blob

* LayoutTests/editing/pasteboard/copy-paste-attachment.html:
* LayoutTests/fast/attachment/attachment-dom.html:
* LayoutTests/fast/attachment/attachment-folder-icon-expected.html:
* LayoutTests/fast/attachment/attachment-icon-from-file-extension-expected.html:
* LayoutTests/fast/attachment/attachment-label-highlight.html:
* LayoutTests/fast/attachment/attachment-progress.html:
* 
LayoutTests/fast/attachment/attachment-select-on-click-inside-user-select-all.html:
* LayoutTests/fast/attachment/attachment-select-on-click.html:
* LayoutTests/fast/attachment/attachment-subtitle.html:
* LayoutTests/fast/attachment/attachment-title.html:
* LayoutTests/fast/attachment/attachment-type-attribute-expected.html:
* LayoutTests/fast/attachment/cocoa/wide-attachment-dom.html:
* LayoutTests/fast/attachment/cocoa/wide-attachment-folder-icon-expected.html:
* 
LayoutTests/fast/attachment/cocoa/wide-attachment-icon-from-file-extension-expected.html:
* LayoutTests/fast/attachment/mac/attachment-keynote-icon-expected.html:
* LayoutTests/fast/attachment/mac/attachment-numbers-icon-expected.html:
* LayoutTests/fast/attachment/mac/attachment-pages-icon-expected.html:
* LayoutTests/fast/attachment/mac/wide-attachment-type-attribute-expected.html:
* 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate.html:
* 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download.html:
* 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-base-target-popup-not-allowed.html:
* 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target-popup-not-allowed.html:
* 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-blank-target.html:
* 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-backslash.html:
* 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-doublequote.html:
* 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-slashes.html:
* 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-unicode.html:
* 
LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download-no-extension.html:
* LayoutTests/fast/dom/HTMLAnchorElement/anchor-file-blob-download.html:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::registerBlobPathForTesting):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::createFile):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::isFilePathAllowed):
(WebKit::NetworkConnectionToWebProcess::registerInternalFileBlobURL):
(WebKit::NetworkConnectionToWebProcess::registerInternalBlobURLOptionallyFileBacked):
(WebKit::NetworkConnectionToWebProcess::registerBlobPathForTesting):
(WebKit::NetworkConnectionToWebProcess::allowAccessToFile):
(WebKit::NetworkConnectionToWebProcess::allowAccessToFiles):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::blobFileAccessEnforcementEnabled const):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::allowFilesAccessFromWebProcess):
(WebKit::NetworkProcess::allowFileAccessFromWebProcess):
* Source/WebKit/NetworkProcess/NetworkProcess.h:
* Source/WebKit/NetworkProcess/NetworkProcess.messages.in:
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::grantAccessToCurrentPasteboardData):
* Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::grantAccessToCurrentData):
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::goToBackForwardItem):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::loadDataWithNavigationShared):
(WebKit::WebPageProxy::loadSimulatedRequest):
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::executeEditCommand):
(WebKit::WebPageProxy::performDragOperation):
(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::receivedNavigationActionPolicyDecision):
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::didChooseFilesForOpenPanel):
(WebKit::WebPageProxy::platformDidSelectItemFromActiveContextMenu):
(WebKit::WebPageProxy::willPerformPasteCommand):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPasteboardProxy.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shouldSendPendingMessage):
(WebKit::WebProcessProxy::assumeReadAccessToBaseURL):
(WebKit::WebProcessProxy::assumeReadAccessToBaseURLs):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _handleDOMPasteRequestWithResult:]):
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::willPerformPasteCommand):
* Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::readSelectionFromPasteboard):
(WebKit::WebPageProxy::platformDidSelectItemFromActiveContextMenu):
(WebKit::WebPageProxy::willPerformPasteCommand):
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::performDragWithLegacyFiles):
(WebKit::handleLegacyFilesPasteboard):
(WebKit::WebViewImpl::performDragOperation):
(WebKit::WebViewImpl::requestDOMPasteAccess):
(WebKit::WebViewImpl::handleDOMPasteRequestForCategoryWithResult):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::registerBlobPathForTesting):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
* Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h:
* Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::registerBlobPathForTesting):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/RunOpenPanel.mm:
(TestWebKitAPI::TEST(WebKit, RunOpenPanelNonLatin1)):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/UploadDirectory.mm:
(TEST(WebKit, UploadDirectory)):

Canonical link: https://commits.webkit.org/281966@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to