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

Reply via email to