Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 43b96844e7e9fc0ceb95e46f46d0b515864d3fa2
https://github.com/WebKit/WebKit/commit/43b96844e7e9fc0ceb95e46f46d0b515864d3fa2
Author: Richard Robinson <[email protected]>
Date: 2022-10-10 (Mon, 10 Oct 2022)
Changed paths:
M Source/WebCore/SourcesCocoa.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/graphics/Icon.h
A Source/WebCore/platform/graphics/cocoa/IconCocoa.mm
M Source/WebCore/platform/graphics/cv/VideoFrameCV.mm
M Source/WebCore/platform/graphics/ios/IconIOS.mm
M Source/WebCore/platform/graphics/mac/IconMac.mm
M Source/WebCore/rendering/RenderFileUploadControl.cpp
M Source/WebCore/rendering/RenderThemeCocoa.h
M Source/WebCore/rendering/RenderThemeCocoa.mm
M Source/WebCore/rendering/RenderThemeIOS.h
M Source/WebCore/rendering/RenderThemeIOS.mm
M Source/WebCore/rendering/RenderThemeMac.mm
A Source/WebKit/Shared/Cocoa/WebIconUtilities.h
A Source/WebKit/Shared/Cocoa/WebIconUtilities.mm
M
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h
M
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm
R Source/WebKit/Shared/ios/WebIconUtilities.h
R Source/WebKit/Shared/ios/WebIconUtilities.mm
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
A Source/WebKit/WebProcess/WebCoreSupport/WebChromeClientCocoa.mm
M Source/WebKit/WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm
Log Message:
-----------
[macOS] Display thumbnail of selected file for <input type=file>
https://bugs.webkit.org/show_bug.cgi?id=245993
rdar://100570349
Reviewed by Aditya Keerthi.
On iOS, we show a thumbnail of the selected file, but on macOS, we just
sure the generic file icon based on the file's extension.
This PR adopts the iOS behavior for macOS, and refactors out the thumbnail
decoration logic into `RenderThemeCocoa`. It also refactors out some of the
icon creation logic into common places for both iOS and macOS.
Adding a new file broke some unified build files so it also fixes those.
* Source/WebCore/platform/graphics/Icon.h:
(WebCore::Icon::image const):
(WebCore::Icon::nsImage const): Deleted.
* Source/WebCore/platform/graphics/mac/IconMac.mm:
(WebCore::Icon::Icon):
(WebCore::Icon::~Icon):
(WebCore::Icon::createIconForImage):
(WebCore::Icon::createIconForFiles):
(WebCore::Icon::createIconForFileExtension):
(WebCore::Icon::createIconForUTI):
(WebCore::Icon::paint):
(WebCore::squareCropRectForSize): Deleted.
(WebCore::squareImage): Deleted.
(WebCore::thumbnailSizedImageForImage): Deleted.
(WebCore::iconForImageFile): Deleted.
(WebCore::iconForVideoFile): Deleted.
(WebCore::iconForFile): Deleted.
* Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::iconForAttachment):
* Source/WebKit/Shared/Cocoa/WebIconUtilities.h: Copied from
Source/WebKit/Shared/ios/WebIconUtilities.h.
* Source/WebKit/Shared/Cocoa/WebIconUtilities.mm: Renamed from
Source/WebKit/Shared/ios/WebIconUtilities.mm.
(WebKit::squareCropRectForSize):
(WebKit::squareImage):
(WebKit::thumbnailSizedImageForImage):
(WebKit::fallbackIconForFile):
(WebKit::iconForImageFile):
(WebKit::iconForVideoFile):
(WebKit::iconForFiles):
*
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h:
*
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::allocateBufferForBackingStore):
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[_WKImageFileUploadItem displayImage]):
(-[_WKVideoFileUploadItem displayImage]):
(-[WKFileUploadPanel documentPicker:didPickDocumentsAtURLs:]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/ImageBufferBackendHandleSharing.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createIconForFiles): Deleted.
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClientCocoa.mm: Renamed from
Source/WebKit/Shared/ios/WebIconUtilities.h.
(WebKit::WebChromeClient::createIconForFiles):
* Source/WebKit/WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::createIconForFiles): Deleted.
* Source/WebKitLegacy/mac/WebCoreSupport/WebOpenPanelResultListener.mm:
Canonical link: https://commits.webkit.org/255355@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes