Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 43b96844e7e9fc0ceb95e46f46d0b515864d3fa2 https://github.com/WebKit/WebKit/commit/43b96844e7e9fc0ceb95e46f46d0b515864d3fa2 Author: Richard Robinson <richard_robins...@apple.com> 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 webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes