[webkit-changes] [WebKit/WebKit] 7197bf: ImageOptions.h types should be enum class

Abrar Rahman Protyasha noreply at github.com
Fri Aug 16 20:34:28 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7197bf311fe6c66e0c8402004bd096d92588545d
      https://github.com/WebKit/WebKit/commit/7197bf311fe6c66e0c8402004bd096d92588545d
  Author: Abrar Rahman Protyasha <a_protyasha at apple.com>
  Date:   2024-08-16 (Fri, 16 Aug 2024)

  Changed paths:
    M Source/WebKit/CMakeLists.txt
    M Source/WebKit/DerivedSources-input.xcfilelist
    M Source/WebKit/DerivedSources.make
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/Shared/API/c/WKSharedAPICast.h
    M Source/WebKit/Shared/ImageOptions.h
    A Source/WebKit/Shared/ImageOptions.serialization.in
    M Source/WebKit/Shared/WebImage.cpp
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKThumbnailView.mm
    M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
    M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/mac/WKTextAnimationManager.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp
    M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
    M Source/WebKit/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp
    M Source/WebKit/WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp
    M Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

  Log Message:
  -----------
  ImageOptions.h types should be enum class
https://bugs.webkit.org/show_bug.cgi?id=278261
rdar://134091191

Reviewed by Tim Horton.

This is a mechanical patch that aliases ImageOptions and SnapshotOptions
to OptionSet<ImageOption> and OptionSet<SnapshotOption>, respectively,
with both the underlying types being converted to enum class types.

This gives us better type safety than passing around these options as
uint16_t flags.

* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/Scripts/webkit/messages.py:
(headers_for_type):
* Source/WebKit/Shared/API/c/WKSharedAPICast.h:
(WebKit::toImageOptions):
(WebKit::snapshotOptionsFromImageOptions):
(WebKit::toSnapshotOptions):
* Source/WebKit/Shared/ImageOptions.h:
(WebKit::snapshotOptionsToImageOptions):
(): Deleted.
* Source/WebKit/Shared/ImageOptions.serialization.in: Added.
* Source/WebKit/Shared/WebImage.cpp:
(WebKit::WebImage::create):
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):
* Source/WebKit/UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView requestSnapshot]):
* Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _snapshotRectAfterScreenUpdates:rectInViewCoordinates:intoImageOfWidth:completionHandler:]):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/mac/WKTextAnimationManager.mm:
(-[WKTextAnimationManager textPreviewForRect:completion:]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::takeScreenshot):
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageCreateSnapshotInViewCoordinates):
* Source/WebKit/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::imageForRect):
* Source/WebKit/WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::renderedImage):
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::image const):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::takeSnapshot):
(WebKit::WebPage::scaledSnapshotWithOptions):
(WebKit::WebPage::paintSnapshotAtSize):
(WebKit::snapshotColorSpace):
(WebKit::snapshotImageOptions):
(WebKit::WebPage::snapshotNode):
(WebKit::WebPage::drawToPDF):
(WebKit::WebPage::drawRectToImage):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::shareableBitmapSnapshotForNode):
(WebKit::WebPage::drawToPDFiOS):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list