Title: [284630] trunk/Source
Revision
284630
Author
da...@apple.com
Date
2021-10-21 11:25:04 -0700 (Thu, 21 Oct 2021)

Log Message

[Cocoa] Merge and simplify the nsColor family of functions
https://bugs.webkit.org/show_bug.cgi?id=231992

Reviewed by Anders Carlsson.

Source/WebCore:

- Added a CocoaColor type that is NS/UIColor.
- Renamed platformColor to cocoaColor to be less vague.
- Removed nsColor.
- Added cocoaColorOrNil.
- Merged colorFromNSColor and colorFromUIColor into a single
  colorFromCocoaColor function.

* WebCore.xcodeproj/project.pbxproj: Removed ColorIOS.h.

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(AXAttributeStringSetStyle): Use cocoaColor instead of nsColor.

* editing/cocoa/FontAttributesCocoa.mm:
(WebCore::FontAttributes::createDictionary const): Use cocoaColor
instead of platformColor.
* editing/cocoa/FontShadowCocoa.mm:
(WebCore::FontShadow::createShadow const): Ditto.

* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_colorForElement): Use cocoaColor instead of
platformColor.
(WebCore::editingAttributedString): Use cocoaColor instead of
nsColor.

* platform/cocoa/DragImageCocoa.mm:
(WebCore::createDragImageForLink): Use colorFromCocoaColor
instead of colorFromNSColor.
(WebCore::createDragImageForColor): Use cocoaColor instead of
nsColor.

* platform/graphics/cocoa/ColorCocoa.h: Added an include of
"Color.h" so this functions as an addition to that header
instead of something independent. Added a WebCore::CocoaColor
type, like the one we already have in WebKit, to cut down on
the need to do #if and #else so much. Renamed the
platformColor function to cocoaColor, added a
cocoaColorOrNil function, and renamed both colorFromNSColor
and colorFromUIColor to colorFromCocoaColor and moved here.

* platform/graphics/cocoa/ColorCocoa.mm:
(WebCore::cocoaColor): Renamed the iOS platformColor to this.
(WebCore::cocoaColorOrNil): Added.

* platform/graphics/mac/ColorMac.h: Include of "ColorCocoa.h"
instead of "Color.h" here. Moved colorFromNSColor and nsColor.

* platform/graphics/mac/ColorMac.mm:
(WebCore::colorFromCocoaColor): Renamed from colorFromNSColor.
(WebCore::cocoaColor): Renamed from nsColor.

* platform/ios/ColorIOS.h: Removed.

* platform/ios/ColorIOS.mm:
(WebCore::colorFromCocoaColor): Renamed from colorFromUIColor.

* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::setColor): Use cocoaColor instead
of +[UIColor colorWithCGColor:] and cachedCGColor.

* platform/mac/LocalDefaultSystemAppearance.mm:
(WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):
Use cocoaColor instead of nsColor.

* platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::color): Use colorFromCocoaColor
instead of colorFromNSColor.
(WebCore::PlatformPasteboard::setColor): Use cocoaColor instead
of nsColor.

* platform/mac/ThemeMac.mm:
(WebCore::drawCellFocusRingWithFrameAtTime): Use colorFromCocoaColor
instead of colorFromNSColor.
* platform/mac/WebCoreNSFontManagerExtras.mm:
(WebCore::computedFontAttributeChanges): DItto.

* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::systemFocusRingColor): Use
colorFromCocoaColor instead of colorFromUIColor.
(WebCore::attachmentActionColor): Use cocoaColor instead of
+[UIColor colorWithCGColor:] and cachedCGColor and return a
RetainPtr to avoid autorelease.
(WebCore::RenderAttachmentInfo::RenderAttachmentInfo): Update for
the user of the RetainPtr.

* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor const):
Use colorFromCocoaColor instead of colorFromNSColor.
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor const): Ditto.
(WebCore::RenderThemeMac::platformActiveSelectionForegroundColor const): Ditto.
(WebCore::RenderThemeMac::platformInactiveSelectionForegroundColor const): Ditto.
(WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor const): Ditto.
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const): Ditto.
(WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor const): Ditto.
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor const): Ditto.
(WebCore::RenderThemeMac::platformFocusRingColor const): Ditto.
(WebCore::RenderThemeMac::platformTextSearchHighlightColor const): Ditto.
(WebCore::RenderThemeMac::platformDefaultButtonTextColor const): Ditto.
(WebCore::titleTextColorForAttachment): Ditto.
(WebCore::AttachmentLayout::layOutTitle): Removed incorrect cast that said it
was casting a CGColorRef to an NSColor *, which are not toll-free bridged. This
code just needs a CGColorRef in a dictionary, so we just need to cast to id,
not to a NSColor *.
(WebCore::AttachmentLayout::layOutSubtitle): Ditto.
(WebCore::paintAttachmentTitleBackground): Use colorFromCocoaColor instead of
colorFromNSColor.

Source/WebKit:

* Shared/Cocoa/ArgumentCodersCocoa.mm:
(IPC::encodeColorInternal): Merged the NSColor and UIColor
implementations into a single one that uses CocoaColor.
(IPC::decodeColorInternal): Ditto.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView themeColor]): Use cocoaColorOrNil instead
of isValid and platformColor.
(-[WKWebView underPageBackgroundColor]): Use cocoaColor
instead of platformColor.
(-[WKWebView _pageExtendedBackgroundColor]): Use cocoaColorOrNil
instead of isValid and platformColor.
(-[WKWebView _sampledPageTopColor]): Ditto.

* UIProcess/API/Cocoa/_WKApplicationManifest.mm:
(-[_WKApplicationManifest themeColor]): Use cocoaColor instead
of platformColor.

* UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _updateScrollViewBackground]): Use cocoaColor instead
of -[UIColor initWithCGColor:] and cachedCGColor.

* UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _serializedSelectionCaretBackgroundColorForTesting]):
Use colorFromCocoaColor instead of colorFromUIColor.

* UIProcess/Cocoa/WebViewImpl.mm:
(-[WKTextTouchBarItemController _wkChangeColor:]): Use cocoaColor
instead of nsColor.
(WebKit::WebViewImpl::updateTextTouchBar): Use colorFromCocoaColor
instead of colorFromNSColor.
(WebKit::WebViewImpl::setUnderlayColor): Use cocoaColorOrNil instead
of isValid and nsColor.
(WebKit::WebViewImpl::underlayColor const): Ditto.
(WebKit::WebViewImpl::pageExtendedBackgroundColor const): Ditto.
(WebKit::WebViewImpl::changeFontColorFromSender): Ditto.
(WebKit::extractUnderlines): Use colorFromCocoaColor instead of
colorFromNSColor.

* UIProcess/ios/DragDropInteractionState.mm:
(WebKit::DragDropInteractionState::deliverDelayedDropPreview): Use
cocoaColor instead of +[UIColor colorWithCGColor:] and cachedCGColor.
(WebKit::DragDropInteractionState::previewForDragItem const): Ditto.

* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture): Use cocoaColor
instead of -[UIColor initWithCGColor:] and cachedCGColor.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _updateTapHighlight]): Use cocoaColor instead of
-[UIColor initWithCGColor:] and cachedCGColor.
(-[WKContentView _cascadeInteractionTintColor]): Use cocoaColor
instead of +[UIColor colorWithCGColor:] and cachedCGColor.
(compositionHighlights): Use colorFromCocoaColor instead of
colorFromUIColor.
(-[WKContentView _createTargetedContextMenuHintPreviewIfPossible]): Use
cocoaColor instead of +[UIColor colorWithCGColor:] and cachedCGColor.

* UIProcess/ios/forms/WKFormColorControl.mm:
(-[WKColorPicker focusedElementSuggestedColors]): Use createNSArray
and cocoaColor instead of +[NSMutableArray array], a for loop,
-[NSMutableArray addObject:], +[UIColor colorWithCGColor:], and cachedCGColor
(-[WKColorPicker updateColorPickerState]): Use cocoaColor instead of
+[UIColor colorWithCGColor:] and cachedCGColor.

* UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::accentColor): Use cocoaColor instead of nsColor.

* UIProcess/mac/WebColorPickerMac.mm:
(WebKit::WebColorPickerMac::setSelectedColor): Use cocoaColor instead of nsColor.
(WebKit::WebColorPickerMac::showColorPicker): Ditto.
(-[WKColorPopoverMac setAndShowPicker:withColor:suggestions:]): Ditto.
(-[WKColorPopoverMac didChooseColor:]): Ditto.

* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
(WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Use
colorFromCocoaColor instead of colorFromNSColor
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::createAnnotationElement): Ditto.

* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::setAccentColor): Use cocoaColorOrNil instead of
isValid and nsColor.

Source/WebKitLegacy/mac:

* DOM/DOMRGBColor.mm:
(-[DOMRGBColor color]): Use cocoaColor instead of nsColor.

* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:]): Use colorFromCocoaColor
instead of colorFromNSColor.

* WebView/WebFrame.mm:
(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Use
colorFromCocoaColor instead of colorFromNSColor.
(-[WebFrame _bodyBackgroundColor]): Use cocoaColor instead of
nsColor.

* WebView/WebHTMLView.mm:
(extractUnderlines): Use colorFromCocoaColor instead of
colorFromNSColor.

* WebView/WebView.mm:
(-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
Use cocoaColor instead of -[UIColor initWithCGColor:] and cachedCGColor.
(-[WebTextTouchBarItemController _webChangeColor:]): Use colorFromCocoaColor
instead of colorFromNSColor.
(-[WebView updateTextTouchBar]): Use cocoaColor instead of nsColor.

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (284629 => 284630)


--- trunk/Source/WebCore/ChangeLog	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/ChangeLog	2021-10-21 18:25:04 UTC (rev 284630)
@@ -1,3 +1,116 @@
+2021-10-19  Darin Adler  <da...@apple.com>
+
+        [Cocoa] Merge and simplify the nsColor family of functions
+        https://bugs.webkit.org/show_bug.cgi?id=231992
+
+        Reviewed by Anders Carlsson.
+
+        - Added a CocoaColor type that is NS/UIColor.
+        - Renamed platformColor to cocoaColor to be less vague.
+        - Removed nsColor.
+        - Added cocoaColorOrNil.
+        - Merged colorFromNSColor and colorFromUIColor into a single
+          colorFromCocoaColor function.
+
+        * WebCore.xcodeproj/project.pbxproj: Removed ColorIOS.h.
+
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+        (AXAttributeStringSetStyle): Use cocoaColor instead of nsColor.
+
+        * editing/cocoa/FontAttributesCocoa.mm:
+        (WebCore::FontAttributes::createDictionary const): Use cocoaColor
+        instead of platformColor.
+        * editing/cocoa/FontShadowCocoa.mm:
+        (WebCore::FontShadow::createShadow const): Ditto.
+
+        * editing/cocoa/HTMLConverter.mm:
+        (HTMLConverter::_colorForElement): Use cocoaColor instead of
+        platformColor.
+        (WebCore::editingAttributedString): Use cocoaColor instead of
+        nsColor.
+
+        * platform/cocoa/DragImageCocoa.mm:
+        (WebCore::createDragImageForLink): Use colorFromCocoaColor
+        instead of colorFromNSColor.
+        (WebCore::createDragImageForColor): Use cocoaColor instead of
+        nsColor.
+
+        * platform/graphics/cocoa/ColorCocoa.h: Added an include of
+        "Color.h" so this functions as an addition to that header
+        instead of something independent. Added a WebCore::CocoaColor
+        type, like the one we already have in WebKit, to cut down on
+        the need to do #if and #else so much. Renamed the
+        platformColor function to cocoaColor, added a
+        cocoaColorOrNil function, and renamed both colorFromNSColor
+        and colorFromUIColor to colorFromCocoaColor and moved here.
+
+        * platform/graphics/cocoa/ColorCocoa.mm:
+        (WebCore::cocoaColor): Renamed the iOS platformColor to this.
+        (WebCore::cocoaColorOrNil): Added.
+
+        * platform/graphics/mac/ColorMac.h: Include of "ColorCocoa.h"
+        instead of "Color.h" here. Moved colorFromNSColor and nsColor.
+
+        * platform/graphics/mac/ColorMac.mm:
+        (WebCore::colorFromCocoaColor): Renamed from colorFromNSColor.
+        (WebCore::cocoaColor): Renamed from nsColor.
+
+        * platform/ios/ColorIOS.h: Removed.
+
+        * platform/ios/ColorIOS.mm:
+        (WebCore::colorFromCocoaColor): Renamed from colorFromUIColor.
+
+        * platform/ios/PlatformPasteboardIOS.mm:
+        (WebCore::PlatformPasteboard::setColor): Use cocoaColor instead
+        of +[UIColor colorWithCGColor:] and cachedCGColor.
+
+        * platform/mac/LocalDefaultSystemAppearance.mm:
+        (WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):
+        Use cocoaColor instead of nsColor.
+
+        * platform/mac/PlatformPasteboardMac.mm:
+        (WebCore::PlatformPasteboard::color): Use colorFromCocoaColor
+        instead of colorFromNSColor.
+        (WebCore::PlatformPasteboard::setColor): Use cocoaColor instead
+        of nsColor.
+
+        * platform/mac/ThemeMac.mm:
+        (WebCore::drawCellFocusRingWithFrameAtTime): Use colorFromCocoaColor
+        instead of colorFromNSColor.
+        * platform/mac/WebCoreNSFontManagerExtras.mm:
+        (WebCore::computedFontAttributeChanges): DItto.
+
+        * rendering/RenderThemeIOS.mm:
+        (WebCore::RenderThemeIOS::systemFocusRingColor): Use
+        colorFromCocoaColor instead of colorFromUIColor.
+        (WebCore::attachmentActionColor): Use cocoaColor instead of
+        +[UIColor colorWithCGColor:] and cachedCGColor and return a
+        RetainPtr to avoid autorelease.
+        (WebCore::RenderAttachmentInfo::RenderAttachmentInfo): Update for
+        the user of the RetainPtr.
+
+        * rendering/RenderThemeMac.mm:
+        (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor const):
+        Use colorFromCocoaColor instead of colorFromNSColor.
+        (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor const): Ditto.
+        (WebCore::RenderThemeMac::platformActiveSelectionForegroundColor const): Ditto.
+        (WebCore::RenderThemeMac::platformInactiveSelectionForegroundColor const): Ditto.
+        (WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor const): Ditto.
+        (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const): Ditto.
+        (WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor const): Ditto.
+        (WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor const): Ditto.
+        (WebCore::RenderThemeMac::platformFocusRingColor const): Ditto.
+        (WebCore::RenderThemeMac::platformTextSearchHighlightColor const): Ditto.
+        (WebCore::RenderThemeMac::platformDefaultButtonTextColor const): Ditto.
+        (WebCore::titleTextColorForAttachment): Ditto.
+        (WebCore::AttachmentLayout::layOutTitle): Removed incorrect cast that said it
+        was casting a CGColorRef to an NSColor *, which are not toll-free bridged. This
+        code just needs a CGColorRef in a dictionary, so we just need to cast to id,
+        not to a NSColor *.
+        (WebCore::AttachmentLayout::layOutSubtitle): Ditto.
+        (WebCore::paintAttachmentTitleBackground): Use colorFromCocoaColor instead of
+        colorFromNSColor.
+
 2021-10-21  Devin Rousso  <drou...@apple.com>
 
         [css-values-4] Support small (sv*), large (lv*) and dynamic (dv*) viewport units

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (284629 => 284630)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2021-10-21 18:25:04 UTC (rev 284630)
@@ -4603,7 +4603,6 @@
 		CE212158240DBEB9006ED443 /* TextPlaceholderElement.h in Headers */ = {isa = PBXBuildFile; fileRef = CE212153240DBD30006ED443 /* TextPlaceholderElement.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		CE2849871CA360DF00B4A57F /* ContentSecurityPolicyDirectiveNames.h in Headers */ = {isa = PBXBuildFile; fileRef = CE2849861CA360DF00B4A57F /* ContentSecurityPolicyDirectiveNames.h */; };
 		CE45946F24123C960078019F /* AlternativeTextContextController.h in Headers */ = {isa = PBXBuildFile; fileRef = CE45946424121A050078019F /* AlternativeTextContextController.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		CE5169E721F1B84700EA4F78 /* ColorIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = CE5169E521F1B84700EA4F78 /* ColorIOS.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		CE5FA255209E48C50051D700 /* ContentSecurityPolicyClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CE5FA253209E48C50051D700 /* ContentSecurityPolicyClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		CE6DADFA1C591E6A003F6A88 /* ContentSecurityPolicyResponseHeaders.h in Headers */ = {isa = PBXBuildFile; fileRef = CE6DADF81C591E6A003F6A88 /* ContentSecurityPolicyResponseHeaders.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		CE799F981C6A46BC0097B518 /* ContentSecurityPolicySourceList.h in Headers */ = {isa = PBXBuildFile; fileRef = CE799F961C6A46BC0097B518 /* ContentSecurityPolicySourceList.h */; };
@@ -15556,7 +15555,6 @@
 		CE2849881CA3614600B4A57F /* ContentSecurityPolicyDirectiveNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ContentSecurityPolicyDirectiveNames.cpp; path = csp/ContentSecurityPolicyDirectiveNames.cpp; sourceTree = "<group>"; };
 		CE45946424121A050078019F /* AlternativeTextContextController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AlternativeTextContextController.h; sourceTree = "<group>"; };
 		CE45946524121A050078019F /* AlternativeTextContextController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AlternativeTextContextController.mm; sourceTree = "<group>"; };
-		CE5169E521F1B84700EA4F78 /* ColorIOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ColorIOS.h; sourceTree = "<group>"; };
 		CE5169E621F1B84700EA4F78 /* ColorIOS.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ColorIOS.mm; sourceTree = "<group>"; };
 		CE5CB1B314EDAB6F00BB2795 /* EventSender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventSender.h; sourceTree = "<group>"; };
 		CE5FA253209E48C50051D700 /* ContentSecurityPolicyClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ContentSecurityPolicyClient.h; path = csp/ContentSecurityPolicyClient.h; sourceTree = "<group>"; };
@@ -25032,7 +25030,6 @@
 			children = (
 				A148328B187F506800DA63A6 /* wak */,
 				F48223121E386E240066FC79 /* AbstractPasteboard.h */,
-				CE5169E521F1B84700EA4F78 /* ColorIOS.h */,
 				CE5169E621F1B84700EA4F78 /* ColorIOS.mm */,
 				A1ED778A1BE3293F00DC1791 /* Device.cpp */,
 				A1ED778B1BE3294000DC1791 /* Device.h */,
@@ -32096,7 +32093,6 @@
 				CD3EEF3C25799FAB006563BB /* ColorGamut.h in Headers */,
 				3103B7DF1DB01567008BB890 /* ColorHash.h in Headers */,
 				F55B3DB41251F12D003EF269 /* ColorInputType.h in Headers */,
-				CE5169E721F1B84700EA4F78 /* ColorIOS.h in Headers */,
 				BC4A23EC25EC160200AAC630 /* ColorLuminance.h in Headers */,
 				EDE3A5000C7A430600956A37 /* ColorMac.h in Headers */,
 				7CAC6AE9247F082F00E61D59 /* ColorMatrix.h in Headers */,

Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (284629 => 284630)


--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -855,8 +855,8 @@
     AXAttributeStringSetFont(attrString, NSAccessibilityFontTextAttribute, style.fontCascade().primaryFont().getCTFont(), range);
     
     // set basic colors
-    AXAttributeStringSetColor(attrString, NSAccessibilityForegroundColorTextAttribute, nsColor(style.visitedDependentColor(CSSPropertyColor)).get(), range);
-    AXAttributeStringSetColor(attrString, NSAccessibilityBackgroundColorTextAttribute, nsColor(style.visitedDependentColor(CSSPropertyBackgroundColor)).get(), range);
+    AXAttributeStringSetColor(attrString, NSAccessibilityForegroundColorTextAttribute, cocoaColor(style.visitedDependentColor(CSSPropertyColor)).get(), range);
+    AXAttributeStringSetColor(attrString, NSAccessibilityBackgroundColorTextAttribute, cocoaColor(style.visitedDependentColor(CSSPropertyBackgroundColor)).get(), range);
     
     // set super/sub scripting
     VerticalAlign alignment = style.verticalAlign();
@@ -891,12 +891,12 @@
 
         if (decor & TextDecoration::Underline) {
             AXAttributeStringSetNumber(attrString, NSAccessibilityUnderlineTextAttribute, @YES, range);
-            AXAttributeStringSetColor(attrString, NSAccessibilityUnderlineColorTextAttribute, nsColor(decorationStyles.underlineColor).get(), range);
+            AXAttributeStringSetColor(attrString, NSAccessibilityUnderlineColorTextAttribute, cocoaColor(decorationStyles.underlineColor).get(), range);
         }
         
         if (decor & TextDecoration::LineThrough) {
             AXAttributeStringSetNumber(attrString, NSAccessibilityStrikethroughTextAttribute, @YES, range);
-            AXAttributeStringSetColor(attrString, NSAccessibilityStrikethroughColorTextAttribute, nsColor(decorationStyles.linethroughColor).get(), range);
+            AXAttributeStringSetColor(attrString, NSAccessibilityStrikethroughColorTextAttribute, cocoaColor(decorationStyles.linethroughColor).get(), range);
         }
     }
     

Modified: trunk/Source/WebCore/editing/cocoa/FontAttributesCocoa.mm (284629 => 284630)


--- trunk/Source/WebCore/editing/cocoa/FontAttributesCocoa.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/editing/cocoa/FontAttributesCocoa.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -91,10 +91,10 @@
         attributes[NSFontAttributeName] = font.get();
 
     if (foregroundColor.isValid())
-        attributes[NSForegroundColorAttributeName] = platformColor(foregroundColor).get();
+        attributes[NSForegroundColorAttributeName] = cocoaColor(foregroundColor).get();
 
     if (backgroundColor.isValid())
-        attributes[NSBackgroundColorAttributeName] = platformColor(backgroundColor).get();
+        attributes[NSBackgroundColorAttributeName] = cocoaColor(backgroundColor).get();
 
     if (fontShadow.color.isValid() && (!fontShadow.offset.isZero() || fontShadow.blurRadius))
         attributes[NSShadowAttributeName] = fontShadow.createShadow().get();

Modified: trunk/Source/WebCore/editing/cocoa/FontShadowCocoa.mm (284629 => 284630)


--- trunk/Source/WebCore/editing/cocoa/FontShadowCocoa.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/editing/cocoa/FontShadowCocoa.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -42,7 +42,7 @@
 #elif PLATFORM(IOS_FAMILY)
     auto shadow = adoptNS([PAL::getNSShadowClass() new]);
 #endif
-    [shadow setShadowColor:platformColor(color).get()];
+    [shadow setShadowColor:cocoaColor(color).get()];
     [shadow setShadowOffset:offset];
     [shadow setShadowBlurRadius:blurRadius];
     return shadow;

Modified: trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm (284629 => 284630)


--- trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -910,7 +910,7 @@
     Color result = _caches->colorPropertyValueForNode(element, propertyId);
     if (!result.isValid())
         return nil;
-    auto platformResult = platformColor(result);
+    auto platformResult = cocoaColor(result);
     if ([[PlatformColorClass clearColor] isEqual:platformResult.get()] || ([platformResult alphaComponent] == 0.0))
         return nil;
     return platformResult;
@@ -2426,13 +2426,13 @@
 
         Color foregroundColor = style.visitedDependentColorWithColorFilter(CSSPropertyColor);
         if (foregroundColor.isVisible())
-            [attrs setObject:nsColor(foregroundColor).get() forKey:NSForegroundColorAttributeName];
+            [attrs setObject:cocoaColor(foregroundColor).get() forKey:NSForegroundColorAttributeName];
         else
             [attrs removeObjectForKey:NSForegroundColorAttributeName];
 
         Color backgroundColor = style.visitedDependentColorWithColorFilter(CSSPropertyBackgroundColor);
         if (backgroundColor.isVisible())
-            [attrs setObject:nsColor(backgroundColor).get() forKey:NSBackgroundColorAttributeName];
+            [attrs setObject:cocoaColor(backgroundColor).get() forKey:NSBackgroundColorAttributeName];
         else
             [attrs removeObjectForKey:NSBackgroundColorAttributeName];
 

Modified: trunk/Source/WebCore/platform/cocoa/DragImageCocoa.mm (284629 => 284630)


--- trunk/Source/WebCore/platform/cocoa/DragImageCocoa.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/cocoa/DragImageCocoa.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -302,7 +302,7 @@
 
     GraphicsContextCG context([NSGraphicsContext currentContext].CGContext);
 
-    context.fillRoundedRect(FloatRoundedRect(layout.boundingRect, FloatRoundedRect::Radii(linkImageCornerRadius)), colorFromNSColor([NSColor controlBackgroundColor]));
+    context.fillRoundedRect(FloatRoundedRect(layout.boundingRect, FloatRoundedRect::Radii(linkImageCornerRadius)), colorFromCocoaColor([NSColor controlBackgroundColor]));
 
     for (const auto& label : layout.labels) {
         GraphicsContextStateSaver saver(context);
@@ -324,7 +324,7 @@
     NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:NSMakeRect(0, 0, ColorSwatchWidth, ColorSwatchWidth) xRadius:ColorSwatchCornerRadius yRadius:ColorSwatchCornerRadius];
     [path setLineWidth:ColorSwatchStrokeSize];
 
-    [nsColor(color) setFill];
+    [cocoaColor(color) setFill];
     [path fill];
 
     [[NSColor quaternaryLabelColor] setStroke];

Modified: trunk/Source/WebCore/platform/graphics/cocoa/ColorCocoa.h (284629 => 284630)


--- trunk/Source/WebCore/platform/graphics/cocoa/ColorCocoa.h	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/graphics/cocoa/ColorCocoa.h	2021-10-21 18:25:04 UTC (rev 284630)
@@ -25,8 +25,15 @@
 
 #pragma once
 
+#import "Color.h"
+
+#if USE(APPKIT)
 OBJC_CLASS NSColor;
+#endif
+
+#if PLATFORM(IOS_FAMILY)
 OBJC_CLASS UIColor;
+#endif
 
 namespace WebCore {
 
@@ -33,11 +40,15 @@
 class Color;
 
 #if USE(APPKIT)
-WEBCORE_EXPORT RetainPtr<NSColor> platformColor(const Color&);
+using CocoaColor = NSColor;
 #endif
 
 #if PLATFORM(IOS_FAMILY)
-WEBCORE_EXPORT RetainPtr<UIColor> platformColor(const Color&);
+using CocoaColor = UIColor;
 #endif
 
+WEBCORE_EXPORT RetainPtr<CocoaColor> cocoaColor(const Color&);
+WEBCORE_EXPORT RetainPtr<CocoaColor> cocoaColorOrNil(const Color&); // Returns nil if the color is invalid.
+WEBCORE_EXPORT Color colorFromCocoaColor(CocoaColor *);
+
 } // namespace WebCore

Modified: trunk/Source/WebCore/platform/graphics/cocoa/ColorCocoa.mm (284629 => 284630)


--- trunk/Source/WebCore/platform/graphics/cocoa/ColorCocoa.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/graphics/cocoa/ColorCocoa.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -26,8 +26,6 @@
 #import "config.h"
 #import "ColorCocoa.h"
 
-#import "ColorMac.h"
-
 #if PLATFORM(IOS_FAMILY)
 #import <pal/ios/UIKitSoftLink.h>
 #import <pal/spi/ios/UIKitSPI.h>
@@ -35,22 +33,18 @@
 
 namespace WebCore {
 
-#if USE(APPKIT)
+#if PLATFORM(IOS_FAMILY)
 
-RetainPtr<NSColor> platformColor(const Color& color)
+RetainPtr<UIColor> cocoaColor(const Color& color)
 {
-    return nsColor(color);
+    return [PAL::getUIColorClass() _disambiguated_due_to_CIImage_colorWithCGColor:cachedCGColor(color).get()];
 }
 
 #endif
 
-#if PLATFORM(IOS_FAMILY)
-
-RetainPtr<UIColor> platformColor(const Color& color)
+RetainPtr<CocoaColor> cocoaColorOrNil(const Color& color)
 {
-    return [PAL::getUIColorClass() _disambiguated_due_to_CIImage_colorWithCGColor:cachedCGColor(color).get()];
+    return color.isValid() ? cocoaColor(color) : nil;
 }
 
-#endif
-
 } // namespace WebCore

Modified: trunk/Source/WebCore/platform/graphics/mac/ColorMac.h (284629 => 284630)


--- trunk/Source/WebCore/platform/graphics/mac/ColorMac.h	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/graphics/mac/ColorMac.h	2021-10-21 18:25:04 UTC (rev 284630)
@@ -28,17 +28,13 @@
 
 #pragma once
 
-#include "Color.h"
+#include "ColorCocoa.h"
 
 #if USE(APPKIT)
 
-OBJC_CLASS NSColor;
-
 namespace WebCore {
 
-WEBCORE_EXPORT Color colorFromNSColor(NSColor *);
 Color semanticColorFromNSColor(NSColor *);
-WEBCORE_EXPORT RetainPtr<NSColor> nsColor(const Color&);
 
 WEBCORE_EXPORT bool usesTestModeFocusRingColor();
 WEBCORE_EXPORT void setUsesTestModeFocusRingColor(bool);

Modified: trunk/Source/WebCore/platform/graphics/mac/ColorMac.mm (284629 => 284630)


--- trunk/Source/WebCore/platform/graphics/mac/ColorMac.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/graphics/mac/ColorMac.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -103,7 +103,7 @@
     return convertColor<SRGBA<uint8_t>>(SRGBA<float> { static_cast<float>(redComponent), static_cast<float>(greenComponent), static_cast<float>(blueComponent), static_cast<float>(alpha) });
 }
 
-Color colorFromNSColor(NSColor *color)
+Color colorFromCocoaColor(NSColor *color)
 {
     return makeSimpleColorFromNSColor(color);
 }
@@ -113,7 +113,7 @@
     return Color(makeSimpleColorFromNSColor(color), Color::Flags::Semantic);
 }
 
-RetainPtr<NSColor> nsColor(const Color& color)
+RetainPtr<NSColor> cocoaColor(const Color& color)
 {
     if (auto srgb = color.tryGetAsSRGBABytes()) {
         switch (PackedColor::RGBA { *srgb }.value) {

Deleted: trunk/Source/WebCore/platform/ios/ColorIOS.h (284629 => 284630)


--- trunk/Source/WebCore/platform/ios/ColorIOS.h	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/ios/ColorIOS.h	2021-10-21 18:25:04 UTC (rev 284630)
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2019 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include "Color.h"
-
-#if PLATFORM(IOS_FAMILY)
-
-OBJC_CLASS UIColor;
-
-namespace WebCore {
-
-WEBCORE_EXPORT Color colorFromUIColor(UIColor *);
-
-} // namespace WebCore
-
-#endif

Modified: trunk/Source/WebCore/platform/ios/ColorIOS.mm (284629 => 284630)


--- trunk/Source/WebCore/platform/ios/ColorIOS.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/ios/ColorIOS.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -24,7 +24,7 @@
  */
 
 #import "config.h"
-#import "ColorIOS.h"
+#import "ColorCocoa.h"
 
 #if PLATFORM(IOS_FAMILY)
 
@@ -32,7 +32,7 @@
 
 namespace WebCore {
 
-Color colorFromUIColor(UIColor *color)
+Color colorFromCocoaColor(UIColor *color)
 {
     if (!color)
         return { };

Modified: trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm (284629 => 284630)


--- trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -28,7 +28,7 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "Color.h"
+#import "ColorCocoa.h"
 #import "Image.h"
 #import "Pasteboard.h"
 #import "RuntimeApplicationChecks.h"
@@ -421,8 +421,7 @@
 int64_t PlatformPasteboard::setColor(const Color& color)
 {
     auto representationsToRegister = adoptNS([[WebItemProviderRegistrationInfoList alloc] init]);
-    UIColor *uiColor = [PAL::getUIColorClass() colorWithCGColor:cachedCGColor(color).get()];
-    [representationsToRegister addData:[NSKeyedArchiver archivedDataWithRootObject:uiColor requiringSecureCoding:NO error:nil] forType:UIColorPboardType];
+    [representationsToRegister addData:[NSKeyedArchiver archivedDataWithRootObject:cocoaColor(color).get() requiringSecureCoding:NO error:nil] forType:UIColorPboardType];
     registerItemToPasteboard(representationsToRegister.get(), m_pasteboard.get());
     return 0;
 }

Modified: trunk/Source/WebCore/platform/mac/LocalDefaultSystemAppearance.mm (284629 => 284630)


--- trunk/Source/WebCore/platform/mac/LocalDefaultSystemAppearance.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/mac/LocalDefaultSystemAppearance.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -46,7 +46,7 @@
     NSAppearance *appearance = [NSAppearance appearanceNamed:m_usingDarkAppearance ? NSAppearanceNameDarkAqua : NSAppearanceNameAqua];
 
     if (tintColor.isValid())
-        appearance = [appearance appearanceByApplyingTintColor:nsColor(tintColor).get()];
+        appearance = [appearance appearanceByApplyingTintColor:cocoaColor(tintColor).get()];
 
     [NSAppearance setCurrentAppearance:appearance];
     ALLOW_DEPRECATED_DECLARATIONS_END

Modified: trunk/Source/WebCore/platform/mac/PlatformPasteboardMac.mm (284629 => 284630)


--- trunk/Source/WebCore/platform/mac/PlatformPasteboardMac.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/mac/PlatformPasteboardMac.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -305,7 +305,7 @@
 
 Color PlatformPasteboard::color()
 {
-    return colorFromNSColor([NSColor colorFromPasteboard:m_pasteboard.get()]);
+    return colorFromCocoaColor([NSColor colorFromPasteboard:m_pasteboard.get()]);
 }
 
 URL PlatformPasteboard::url()
@@ -369,8 +369,7 @@
 
 int64_t PlatformPasteboard::setColor(const Color& color)
 {
-    auto pasteboardColor = nsColor(color);
-    [pasteboardColor writeToPasteboard:m_pasteboard.get()];
+    [cocoaColor(color) writeToPasteboard:m_pasteboard.get()];
     return changeCount();
 }
 

Modified: trunk/Source/WebCore/platform/mac/ThemeMac.mm (284629 => 284630)


--- trunk/Source/WebCore/platform/mac/ThemeMac.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/mac/ThemeMac.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -381,7 +381,7 @@
 
     // FIXME: This color should be shared with RenderThemeMac. For now just use the same NSColor color.
     // The color is expected to be opaque, since CoreGraphics will apply opacity when drawing (because opacity is normally animated).
-    auto color = colorFromNSColor([NSColor keyboardFocusIndicatorColor]).opaqueColor();
+    auto color = colorFromCocoaColor([NSColor keyboardFocusIndicatorColor]).opaqueColor();
     auto style = adoptCF(CGStyleCreateFocusRingWithColor(&focusRingStyle, cachedCGColor(color).get()));
     CGContextSetStyle(cgContext, style.get());
 

Modified: trunk/Source/WebCore/platform/mac/WebCoreNSFontManagerExtras.mm (284629 => 284630)


--- trunk/Source/WebCore/platform/mac/WebCoreNSFontManagerExtras.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/platform/mac/WebCoreNSFontManagerExtras.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -127,18 +127,18 @@
 
     NSColor *convertedBackgroundColorA = [convertedAttributesA objectForKey:NSBackgroundColorAttributeName];
     if (convertedBackgroundColorA == [convertedAttributesB objectForKey:NSBackgroundColorAttributeName])
-        changes.setBackgroundColor(colorFromNSColor(convertedBackgroundColorA ?: NSColor.clearColor));
+        changes.setBackgroundColor(colorFromCocoaColor(convertedBackgroundColorA ?: NSColor.clearColor));
 
     changes.setFontChanges(computedFontChanges(fontManager, originalFontA, [convertedAttributesA objectForKey:NSFontAttributeName], [convertedAttributesB objectForKey:NSFontAttributeName]));
 
     NSColor *convertedForegroundColorA = [convertedAttributesA objectForKey:NSForegroundColorAttributeName];
     if (convertedForegroundColorA == [convertedAttributesB objectForKey:NSForegroundColorAttributeName])
-        changes.setForegroundColor(colorFromNSColor(convertedForegroundColorA ?: NSColor.blackColor));
+        changes.setForegroundColor(colorFromCocoaColor(convertedForegroundColorA ?: NSColor.blackColor));
 
     NSShadow *convertedShadow = [convertedAttributesA objectForKey:NSShadowAttributeName];
     if (convertedShadow) {
         FloatSize offset { LayoutUnit::fromFloatRound(static_cast<float>(convertedShadow.shadowOffset.width)).toFloat(), LayoutUnit::fromFloatRound(static_cast<float>(convertedShadow.shadowOffset.height)).toFloat() };
-        changes.setShadow({ colorFromNSColor(convertedShadow.shadowColor ?: NSColor.blackColor), offset, convertedShadow.shadowBlurRadius });
+        changes.setShadow({ colorFromCocoaColor(convertedShadow.shadowColor ?: NSColor.blackColor), offset, convertedShadow.shadowBlurRadius });
     } else if (![convertedAttributesB objectForKey:NSShadowAttributeName])
         changes.setShadow({ });
 

Modified: trunk/Source/WebCore/rendering/RenderThemeIOS.mm (284629 => 284630)


--- trunk/Source/WebCore/rendering/RenderThemeIOS.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/rendering/RenderThemeIOS.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -34,7 +34,7 @@
 #import "CSSValueKey.h"
 #import "CSSValueKeywords.h"
 #import "ColorBlending.h"
-#import "ColorIOS.h"
+#import "ColorCocoa.h"
 #import "DateComponents.h"
 #import "Document.h"
 #import "DrawGlyphsRecorder.h"
@@ -1392,7 +1392,7 @@
 {
     if (!cachedFocusRingColor().has_value()) {
         // FIXME: Should be using -keyboardFocusIndicatorColor. For now, work around <rdar://problem/50838886>.
-        cachedFocusRingColor() = colorFromUIColor([PAL::getUIColorClass() systemBlueColor]);
+        cachedFocusRingColor() = colorFromCocoaColor([PAL::getUIColorClass() systemBlueColor]);
     }
     return *cachedFocusRingColor();
 }
@@ -1630,9 +1630,9 @@
     return adoptCF(CTFontCreateWithFontDescriptor(emphasizedFontDescriptor.get(), 0, nullptr));
 }
 
-static UIColor *attachmentActionColor(const RenderAttachment& attachment)
+static RetainPtr<UIColor> attachmentActionColor(const RenderAttachment& attachment)
 {
-    return [PAL::getUIColorClass() colorWithCGColor:cachedCGColor(attachment.style().visitedDependentColor(CSSPropertyColor)).get()];
+    return cocoaColor(attachment.style().visitedDependentColor(CSSPropertyColor));
 }
 
 static RetainPtr<CTFontRef> attachmentTitleFont()
@@ -1870,7 +1870,7 @@
             yOffset += iconRect.height() + attachmentItemMargin;
         }
     } else
-        buildWrappedLines(action, attachmentActionFont().get(), attachmentActionColor(attachment), attachmentWrappingTextMaximumLineCount);
+        buildWrappedLines(action, attachmentActionFont().get(), attachmentActionColor(attachment).get(), attachmentWrappingTextMaximumLineCount);
 
     bool forceSingleLineTitle = !action.isEmpty() || !subtitle.isEmpty() || hasProgress;
     buildWrappedLines(title, attachmentTitleFont().get(), attachmentTitleColor(), forceSingleLineTitle ? 1 : attachmentWrappingTextMaximumLineCount);

Modified: trunk/Source/WebCore/rendering/RenderThemeMac.mm (284629 => 284630)


--- trunk/Source/WebCore/rendering/RenderThemeMac.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebCore/rendering/RenderThemeMac.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -287,7 +287,7 @@
 Color RenderThemeMac::platformActiveSelectionBackgroundColor(OptionSet<StyleColorOptions> options) const
 {
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColorOptions::UseDarkAppearance));
-    return colorFromNSColor([NSColor selectedTextBackgroundColor]);
+    return colorFromCocoaColor([NSColor selectedTextBackgroundColor]);
 }
 
 Color RenderThemeMac::platformInactiveSelectionBackgroundColor(OptionSet<StyleColorOptions> options) const
@@ -294,10 +294,10 @@
 {
 #if HAVE(OS_DARK_MODE_SUPPORT)
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColorOptions::UseDarkAppearance));
-    return colorFromNSColor([NSColor unemphasizedSelectedTextBackgroundColor]);
+    return colorFromCocoaColor([NSColor unemphasizedSelectedTextBackgroundColor]);
 #else
     UNUSED_PARAM(options);
-    return colorFromNSColor([NSColor unemphasizedSelectedContentBackgroundColor]);
+    return colorFromCocoaColor([NSColor unemphasizedSelectedContentBackgroundColor]);
 #endif
 }
 
@@ -323,7 +323,7 @@
 {
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColorOptions::UseDarkAppearance));
     if (localAppearance.usingDarkAppearance())
-        return colorFromNSColor([NSColor selectedTextColor]);
+        return colorFromCocoaColor([NSColor selectedTextColor]);
     return { };
 }
 
@@ -332,7 +332,7 @@
 #if HAVE(OS_DARK_MODE_SUPPORT)
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColorOptions::UseDarkAppearance));
     if (localAppearance.usingDarkAppearance())
-        return colorFromNSColor([NSColor unemphasizedSelectedTextColor]);
+        return colorFromCocoaColor([NSColor unemphasizedSelectedTextColor]);
     return { };
 #else
     UNUSED_PARAM(options);
@@ -344,11 +344,11 @@
 {
 #if HAVE(OS_DARK_MODE_SUPPORT)
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColorOptions::UseDarkAppearance));
-    return colorFromNSColor([NSColor selectedContentBackgroundColor]);
+    return colorFromCocoaColor([NSColor selectedContentBackgroundColor]);
 #else
     UNUSED_PARAM(options);
     ALLOW_DEPRECATED_DECLARATIONS_BEGIN
-    return colorFromNSColor([NSColor alternateSelectedControlColor]);
+    return colorFromCocoaColor([NSColor alternateSelectedControlColor]);
     ALLOW_DEPRECATED_DECLARATIONS_END
 #endif
 }
@@ -360,7 +360,7 @@
 #else
     UNUSED_PARAM(options);
 #endif
-    return colorFromNSColor([NSColor unemphasizedSelectedContentBackgroundColor]);
+    return colorFromCocoaColor([NSColor unemphasizedSelectedContentBackgroundColor]);
 
 }
 
@@ -367,7 +367,7 @@
 Color RenderThemeMac::platformActiveListBoxSelectionForegroundColor(OptionSet<StyleColorOptions> options) const
 {
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColorOptions::UseDarkAppearance));
-    return colorFromNSColor([NSColor alternateSelectedControlTextColor]);
+    return colorFromCocoaColor([NSColor alternateSelectedControlTextColor]);
 }
 
 Color RenderThemeMac::platformInactiveListBoxSelectionForegroundColor(OptionSet<StyleColorOptions> options) const
@@ -374,10 +374,10 @@
 {
 #if HAVE(OS_DARK_MODE_SUPPORT)
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColorOptions::UseDarkAppearance));
-    return colorFromNSColor([NSColor unemphasizedSelectedTextColor]);
+    return colorFromCocoaColor([NSColor unemphasizedSelectedTextColor]);
 #else
     UNUSED_PARAM(options);
-    return colorFromNSColor([NSColor selectedControlTextColor]);
+    return colorFromCocoaColor([NSColor selectedControlTextColor]);
 #endif
 }
 
@@ -387,13 +387,13 @@
         return oldAquaFocusRingColor();
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColorOptions::UseDarkAppearance));
     // The color is expected to be opaque, since CoreGraphics will apply opacity when drawing (because opacity is normally animated).
-    return colorFromNSColor([NSColor keyboardFocusIndicatorColor]).opaqueColor();
+    return colorFromCocoaColor([NSColor keyboardFocusIndicatorColor]).opaqueColor();
 }
 
 Color RenderThemeMac::platformTextSearchHighlightColor(OptionSet<StyleColorOptions> options) const
 {
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColorOptions::UseDarkAppearance));
-    return colorFromNSColor([NSColor findHighlightColor]);
+    return colorFromCocoaColor([NSColor findHighlightColor]);
 }
 
 #if ENABLE(APP_HIGHLIGHTS)
@@ -407,7 +407,7 @@
 Color RenderThemeMac::platformDefaultButtonTextColor(OptionSet<StyleColorOptions> options) const
 {
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColorOptions::UseDarkAppearance));
-    return colorFromNSColor([NSColor alternateSelectedControlTextColor]);
+    return colorFromCocoaColor([NSColor alternateSelectedControlTextColor]);
 }
 
 static Color activeButtonTextColor()
@@ -2357,7 +2357,7 @@
     
     if (style == AttachmentLayoutStyle::Selected) {
         if (attachment.frame().selection().isFocusedAndActive())
-            result = colorFromNSColor([NSColor alternateSelectedControlTextColor]);
+            result = colorFromCocoaColor([NSColor alternateSelectedControlTextColor]);
         else
             result = attachmentTitleInactiveTextColor;
     }
@@ -2411,7 +2411,7 @@
 
     NSDictionary *textAttributes = @{
         (__bridge id)kCTFontAttributeName: (__bridge id)font.get(),
-        (__bridge id)kCTForegroundColorAttributeName: (__bridge NSColor *)cachedCGColor(titleTextColorForAttachment(attachment, style)).get()
+        (__bridge id)kCTForegroundColorAttributeName: (__bridge id)cachedCGColor(titleTextColorForAttachment(attachment, style)).get()
     };
     RetainPtr<NSAttributedString> attributedTitle = adoptNS([[NSAttributedString alloc] initWithString:title attributes:textAttributes]);
     RetainPtr<CTFramesetterRef> titleFramesetter = adoptCF(CTFramesetterCreateWithAttributedString((CFAttributedStringRef)attributedTitle.get()));
@@ -2470,7 +2470,7 @@
     auto font = adoptCF(CTFontCreateUIFontForLanguage(kCTFontUIFontSystem, attachmentSubtitleFontSize, language));
     NSDictionary *textAttributes = @{
         (__bridge id)kCTFontAttributeName: (__bridge id)font.get(),
-        (__bridge id)kCTForegroundColorAttributeName: (__bridge NSColor *)cachedCGColor(subtitleColor).get()
+        (__bridge id)kCTForegroundColorAttributeName: (__bridge id)cachedCGColor(subtitleColor).get()
     };
     RetainPtr<NSAttributedString> attributedSubtitleText = adoptNS([[NSAttributedString alloc] initWithString:subtitleText attributes:textAttributes]);
     subtitleLine = adoptCF(CTLineCreateWithAttributedString((CFAttributedStringRef)attributedSubtitleText.get()));
@@ -2659,7 +2659,7 @@
     Color backgroundColor;
     if (attachment.frame().selection().isFocusedAndActive()) {
         ALLOW_DEPRECATED_DECLARATIONS_BEGIN
-        backgroundColor = colorFromNSColor([NSColor alternateSelectedControlColor]);
+        backgroundColor = colorFromCocoaColor([NSColor alternateSelectedControlColor]);
         ALLOW_DEPRECATED_DECLARATIONS_END
     } else
         backgroundColor = attachmentTitleInactiveBackgroundColor;

Modified: trunk/Source/WebKit/ChangeLog (284629 => 284630)


--- trunk/Source/WebKit/ChangeLog	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/ChangeLog	2021-10-21 18:25:04 UTC (rev 284630)
@@ -1,3 +1,94 @@
+2021-10-19  Darin Adler  <da...@apple.com>
+
+        [Cocoa] Merge and simplify the nsColor family of functions
+        https://bugs.webkit.org/show_bug.cgi?id=231992
+
+        Reviewed by Anders Carlsson.
+
+        * Shared/Cocoa/ArgumentCodersCocoa.mm:
+        (IPC::encodeColorInternal): Merged the NSColor and UIColor
+        implementations into a single one that uses CocoaColor.
+        (IPC::decodeColorInternal): Ditto.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView themeColor]): Use cocoaColorOrNil instead
+        of isValid and platformColor.
+        (-[WKWebView underPageBackgroundColor]): Use cocoaColor
+        instead of platformColor.
+        (-[WKWebView _pageExtendedBackgroundColor]): Use cocoaColorOrNil
+        instead of isValid and platformColor.
+        (-[WKWebView _sampledPageTopColor]): Ditto.
+
+        * UIProcess/API/Cocoa/_WKApplicationManifest.mm:
+        (-[_WKApplicationManifest themeColor]): Use cocoaColor instead
+        of platformColor.
+
+        * UIProcess/API/ios/WKWebViewIOS.mm:
+        (-[WKWebView _updateScrollViewBackground]): Use cocoaColor instead
+        of -[UIColor initWithCGColor:] and cachedCGColor.
+
+        * UIProcess/API/ios/WKWebViewTestingIOS.mm:
+        (-[WKWebView _serializedSelectionCaretBackgroundColorForTesting]):
+        Use colorFromCocoaColor instead of colorFromUIColor.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (-[WKTextTouchBarItemController _wkChangeColor:]): Use cocoaColor
+        instead of nsColor.
+        (WebKit::WebViewImpl::updateTextTouchBar): Use colorFromCocoaColor
+        instead of colorFromNSColor.
+        (WebKit::WebViewImpl::setUnderlayColor): Use cocoaColorOrNil instead
+        of isValid and nsColor.
+        (WebKit::WebViewImpl::underlayColor const): Ditto.
+        (WebKit::WebViewImpl::pageExtendedBackgroundColor const): Ditto.
+        (WebKit::WebViewImpl::changeFontColorFromSender): Ditto.
+        (WebKit::extractUnderlines): Use colorFromCocoaColor instead of
+        colorFromNSColor.
+
+        * UIProcess/ios/DragDropInteractionState.mm:
+        (WebKit::DragDropInteractionState::deliverDelayedDropPreview): Use
+        cocoaColor instead of +[UIColor colorWithCGColor:] and cachedCGColor.
+        (WebKit::DragDropInteractionState::previewForDragItem const): Ditto.
+
+        * UIProcess/ios/ViewGestureControllerIOS.mm:
+        (WebKit::ViewGestureController::beginSwipeGesture): Use cocoaColor
+        instead of -[UIColor initWithCGColor:] and cachedCGColor.
+
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _updateTapHighlight]): Use cocoaColor instead of
+        -[UIColor initWithCGColor:] and cachedCGColor.
+        (-[WKContentView _cascadeInteractionTintColor]): Use cocoaColor
+        instead of +[UIColor colorWithCGColor:] and cachedCGColor.
+        (compositionHighlights): Use colorFromCocoaColor instead of
+        colorFromUIColor.
+        (-[WKContentView _createTargetedContextMenuHintPreviewIfPossible]): Use
+        cocoaColor instead of +[UIColor colorWithCGColor:] and cachedCGColor.
+
+        * UIProcess/ios/forms/WKFormColorControl.mm:
+        (-[WKColorPicker focusedElementSuggestedColors]): Use createNSArray
+        and cocoaColor instead of +[NSMutableArray array], a for loop,
+        -[NSMutableArray addObject:], +[UIColor colorWithCGColor:], and cachedCGColor
+        (-[WKColorPicker updateColorPickerState]): Use cocoaColor instead of
+        +[UIColor colorWithCGColor:] and cachedCGColor.
+
+        * UIProcess/mac/PageClientImplMac.mm:
+        (WebKit::PageClientImpl::accentColor): Use cocoaColor instead of nsColor.
+
+        * UIProcess/mac/WebColorPickerMac.mm:
+        (WebKit::WebColorPickerMac::setSelectedColor): Use cocoaColor instead of nsColor.
+        (WebKit::WebColorPickerMac::showColorPicker): Ditto.
+        (-[WKColorPopoverMac setAndShowPicker:withColor:suggestions:]): Ditto.
+        (-[WKColorPopoverMac didChooseColor:]): Ditto.
+
+        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
+        (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Use
+        colorFromCocoaColor instead of colorFromNSColor
+        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
+        (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Ditto.
+
+        * WebProcess/WebPage/mac/WebPageMac.mm:
+        (WebKit::WebPage::setAccentColor): Use cocoaColorOrNil instead of
+        isValid and nsColor.
+
 2021-10-21  Devin Rousso  <drou...@apple.com>
 
         [css-values-4] Support small (sv*), large (lv*) and dynamic (dv*) viewport units

Modified: trunk/Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm (284629 => 284630)


--- trunk/Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -34,6 +34,7 @@
 #import "CoreTextHelpers.h"
 #import <CoreText/CTFont.h>
 #import <CoreText/CTFontDescriptor.h>
+#import <WebCore/ColorCocoa.h>
 #import <wtf/BlockObjCExceptions.h>
 #import <wtf/HashSet.h>
 #import <wtf/cf/CFURLExtras.h>
@@ -40,12 +41,6 @@
 #import <wtf/cocoa/NSURLExtras.h>
 #import <wtf/cocoa/TypeCastsCocoa.h>
 
-#if USE(APPKIT)
-#import <WebCore/ColorMac.h>
-#else
-#import <WebCore/ColorIOS.h>
-#endif
-
 #if PLATFORM(IOS_FAMILY)
 #import <UIKit/UIColor.h>
 #import <UIKit/UIFont.h>
@@ -267,10 +262,9 @@
 
 #pragma mark - NSColor / UIColor
 
-#if USE(APPKIT)
-static inline void encodeColorInternal(Encoder& encoder, NSColor *color)
+static inline void encodeColorInternal(Encoder& encoder, CocoaColor *color)
 {
-    encoder << colorFromNSColor(color);
+    encoder << colorFromCocoaColor(color);
 }
 
 static inline std::optional<RetainPtr<id>> decodeColorInternal(Decoder& decoder)
@@ -278,23 +272,9 @@
     Color color;
     if (!decoder.decode(color))
         return std::nullopt;
-    return { nsColor(color) };
+    return { cocoaColor(color) };
 }
-#else
-static inline void encodeColorInternal(Encoder& encoder, UIColor *color)
-{
-    encoder << colorFromUIColor(color);
-}
 
-static inline std::optional<RetainPtr<id>> decodeColorInternal(Decoder& decoder)
-{
-    Color color;
-    if (!decoder.decode(color))
-        return std::nullopt;
-    return { adoptNS([[UIColor alloc] initWithCGColor:cachedCGColor(color).get()]) };
-}
-#endif
-
 #pragma mark - NSData
 
 static inline void encodeDataInternal(Encoder& encoder, NSData *data)

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -1768,15 +1768,12 @@
 
 - (CocoaColor *)themeColor
 {
-    auto themeColor = _page->themeColor();
-    if (!themeColor.isValid())
-        return nil;
-    return WebCore::platformColor(themeColor).autorelease();
+    return cocoaColorOrNil(_page->themeColor()).autorelease();
 }
 
 - (CocoaColor *)underPageBackgroundColor
 {
-    return WebCore::platformColor(_page->underPageBackgroundColor()).autorelease();
+    return cocoaColor(_page->underPageBackgroundColor()).autorelease();
 }
 
 - (void)setUnderPageBackgroundColor:(CocoaColor *)underPageBackgroundColorOverride
@@ -3270,18 +3267,12 @@
 // FIXME: Remove old `-[WKWebView _pageExtendedBackgroundColor]` SPI <rdar://77789732>
 - (CocoaColor *)_pageExtendedBackgroundColor
 {
-    auto pageExtendedBackgroundColor = _page->pageExtendedBackgroundColor();
-    if (!pageExtendedBackgroundColor.isValid())
-        return nil;
-    return WebCore::platformColor(pageExtendedBackgroundColor).autorelease();
+    return cocoaColorOrNil(_page->pageExtendedBackgroundColor()).autorelease();
 }
 
 - (CocoaColor *)_sampledPageTopColor
 {
-    auto sampledPageTopColor = _page->sampledPageTopColor();
-    if (!sampledPageTopColor.isValid())
-        return nil;
-    return WebCore::platformColor(sampledPageTopColor).autorelease();
+    return cocoaColorOrNil(_page->sampledPageTopColor()).autorelease();
 }
 
 - (id <_WKInputDelegate>)_inputDelegate

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -139,7 +139,7 @@
 
 - (CocoaColor *)themeColor
 {
-    return WebCore::platformColor(_applicationManifest->applicationManifest().themeColor).autorelease();
+    return cocoaColor(_applicationManifest->applicationManifest().themeColor).autorelease();
 }
 
 - (_WKApplicationManifestDisplayMode)displayMode

Modified: trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -53,6 +53,7 @@
 #import "WebIOSEventFactory.h"
 #import "WebPageProxy.h"
 #import "_WKActivatedElementInfoInternal.h"
+#import <WebCore/ColorCocoa.h>
 #import <WebCore/GraphicsContextCG.h>
 #import <WebCore/IOSurface.h>
 #import <WebCore/LocalCurrentTraitCollection.h>
@@ -535,9 +536,7 @@
     auto newScrollViewBackgroundColor = scrollViewBackgroundColor(self, AllowPageBackgroundColorOverride::Yes);
     if (_scrollViewBackgroundColor != newScrollViewBackgroundColor) {
         _scrollViewBackgroundColor = newScrollViewBackgroundColor;
-
-        auto uiBackgroundColor = adoptNS([[UIColor alloc] initWithCGColor:cachedCGColor(newScrollViewBackgroundColor).get()]);
-        [_scrollView setBackgroundColor:uiBackgroundColor.get()];
+        [_scrollView setBackgroundColor:cocoaColor(newScrollViewBackgroundColor).get()];
     }
 
     // Update the indicator style based on the lightness/darkness of the background color.

Modified: trunk/Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -38,7 +38,7 @@
 #import "WebPageProxy.h"
 #import "_WKActivatedElementInfoInternal.h"
 #import "_WKTextInputContextInternal.h"
-#import <WebCore/ColorIOS.h>
+#import <WebCore/ColorCocoa.h>
 #import <WebCore/ColorSerialization.h>
 #import <WebCore/ElementContext.h>
 #import <wtf/SortedArrayMap.h>
@@ -478,7 +478,7 @@
     if (!backgroundColor)
         return nil;
 
-    return WebCore::serializationForCSS(WebCore::colorFromUIColor(backgroundColor));
+    return serializationForCSS(WebCore::colorFromCocoaColor(backgroundColor));
 }
 
 @end

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -949,7 +949,7 @@
         return;
 
     _textColor = self.colorPickerItem.color;
-    _webViewImpl->page().executeEditCommand("ForeColor", WebCore::serializationForHTML(WebCore::colorFromNSColor(_textColor.get())));
+    _webViewImpl->page().executeEditCommand("ForeColor", WebCore::serializationForHTML(WebCore::colorFromCocoaColor(_textColor.get())));
 }
 
 - (NSViewController *)textListViewController
@@ -1315,7 +1315,7 @@
             [m_textTouchBarItemController setTextIsBold:(bool)(m_page->editorState().postLayoutData().typingAttributes & AttributeBold)];
             [m_textTouchBarItemController setTextIsItalic:(bool)(m_page->editorState().postLayoutData().typingAttributes & AttributeItalics)];
             [m_textTouchBarItemController setTextIsUnderlined:(bool)(m_page->editorState().postLayoutData().typingAttributes & AttributeUnderline)];
-            [m_textTouchBarItemController setTextColor:nsColor(editorState.postLayoutData().textColor).get()];
+            [m_textTouchBarItemController setTextColor:cocoaColor(editorState.postLayoutData().textColor).get()];
             [[m_textTouchBarItemController textListTouchBarViewController] setCurrentListType:(ListType)m_page->editorState().postLayoutData().enclosingListType];
             [m_textTouchBarItemController setCurrentTextAlignment:nsTextAlignmentFromTextAlignment((TextAlignment)editorState.postLayoutData().textAlignment)];
         }
@@ -2622,25 +2622,17 @@
 
 void WebViewImpl::setUnderlayColor(NSColor *underlayColor)
 {
-    m_page->setUnderlayColor(WebCore::colorFromNSColor(underlayColor));
+    m_page->setUnderlayColor(WebCore::colorFromCocoaColor(underlayColor));
 }
 
 RetainPtr<NSColor> WebViewImpl::underlayColor() const
 {
-    WebCore::Color webColor = m_page->underlayColor();
-    if (!webColor.isValid())
-        return nil;
-
-    return WebCore::nsColor(webColor);
+    return cocoaColorOrNil(m_page->underlayColor()).autorelease();
 }
 
 RetainPtr<NSColor> WebViewImpl::pageExtendedBackgroundColor() const
 {
-    WebCore::Color color = m_page->pageExtendedBackgroundColor();
-    if (!color.isValid())
-        return nil;
-
-    return WebCore::nsColor(color);
+    return cocoaColorOrNil(m_page->pageExtendedBackgroundColor()).autorelease();
 }
 
 void WebViewImpl::setOverlayScrollbarStyle(std::optional<WebCore::ScrollbarOverlayStyle> scrollbarStyle)
@@ -3182,7 +3174,7 @@
         return;
 
     WebCore::FontAttributeChanges changes;
-    changes.setForegroundColor(WebCore::colorFromNSColor((NSColor *)color));
+    changes.setForegroundColor(WebCore::colorFromCocoaColor((NSColor *)color));
     m_page->changeFontAttributes(WTFMove(changes));
 }
 
@@ -5015,8 +5007,8 @@
         if (NSNumber *style = [attrs objectForKey:NSUnderlineStyleAttributeName]) {
             WebCore::Color color = WebCore::Color::black;
             WebCore::CompositionUnderlineColor compositionUnderlineColor = WebCore::CompositionUnderlineColor::TextColor;
-            if (NSColor *colorAttr = [attrs objectForKey:NSUnderlineColorAttributeName]) {
-                color = WebCore::colorFromNSColor(colorAttr);
+            if (NSColor *colorAttribute = [attrs objectForKey:NSUnderlineColorAttributeName]) {
+                color = WebCore::colorFromCocoaColor(colorAttribute);
                 compositionUnderlineColor = WebCore::CompositionUnderlineColor::GivenColor;
             }
             result.append(WebCore::CompositionUnderline(range.location, NSMaxRange(range), compositionUnderlineColor, color, style.intValue > 1));

Modified: trunk/Source/WebKit/UIProcess/ios/DragDropInteractionState.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/ios/DragDropInteractionState.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/ios/DragDropInteractionState.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -29,6 +29,7 @@
 #if PLATFORM(IOS_FAMILY) && ENABLE(DRAG_SUPPORT)
 
 #import "Logging.h"
+#import <WebCore/ColorCocoa.h>
 #import <WebCore/DragItem.h>
 #import <WebCore/Image.h>
 #import <wtf/cocoa/VectorCocoa.h>
@@ -226,7 +227,7 @@
         return;
 
     auto textIndicatorImage = uiImageForImage(indicator.contentImage.get());
-    auto preview = createTargetedDragPreview(textIndicatorImage.get(), contentView, previewContainer, indicator.textBoundingRectInRootViewCoordinates, indicator.textRectsInBoundingRectCoordinates, [UIColor colorWithCGColor:cachedCGColor(indicator.estimatedBackgroundColor).get()], nil);
+    auto preview = createTargetedDragPreview(textIndicatorImage.get(), contentView, previewContainer, indicator.textBoundingRectInRootViewCoordinates, indicator.textRectsInBoundingRectCoordinates, cocoaColor(indicator.estimatedBackgroundColor).get(), nil);
     for (auto& itemAndPreviewProvider : m_delayedItemPreviewProviders)
         itemAndPreviewProvider.provider(preview.get());
     m_delayedItemPreviewProviders.clear();
@@ -313,7 +314,7 @@
     if (shouldUseTextIndicatorToCreatePreviewForDragSource(source)) {
         auto indicator = source.indicatorData.value();
         auto textIndicatorImage = uiImageForImage(indicator.contentImage.get());
-        return createTargetedDragPreview(textIndicatorImage.get(), contentView, previewContainer, indicator.textBoundingRectInRootViewCoordinates, indicator.textRectsInBoundingRectCoordinates, [UIColor colorWithCGColor:cachedCGColor(indicator.estimatedBackgroundColor).get()], nil).autorelease();
+        return createTargetedDragPreview(textIndicatorImage.get(), contentView, previewContainer, indicator.textBoundingRectInRootViewCoordinates, indicator.textRectsInBoundingRectCoordinates, cocoaColor(indicator.estimatedBackgroundColor).get(), nil).autorelease();
     }
 
     return nil;

Modified: trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -42,6 +42,7 @@
 #import "WebPageProxy.h"
 #import "WebProcessProxy.h"
 #import <UIKit/UIScreenEdgePanGestureRecognizer.h>
+#import <WebCore/ColorCocoa.h>
 #import <WebCore/IOSurface.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
 #import <wtf/WeakObjCPtr.h>
@@ -225,7 +226,7 @@
             [m_snapshotView layer].contents = snapshot->asLayerContents();
         WebCore::Color coreColor = snapshot->backgroundColor();
         if (coreColor.isValid())
-            backgroundColor = adoptNS([[UIColor alloc] initWithCGColor:WebCore::cachedCGColor(coreColor).get()]);
+            backgroundColor = cocoaColor(coreColor);
     }
 
     [m_snapshotView setBackgroundColor:backgroundColor.get()];

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -99,8 +99,7 @@
 #import <MobileCoreServices/UTCoreTypes.h>
 #import <UniformTypeIdentifiers/UTCoreTypes.h>
 #import <WebCore/AppHighlight.h>
-#import <WebCore/Color.h>
-#import <WebCore/ColorIOS.h>
+#import <WebCore/ColorCocoa.h>
 #import <WebCore/ColorSerialization.h>
 #import <WebCore/CompositionHighlight.h>
 #import <WebCore/DOMPasteAccess.h>
@@ -2012,7 +2011,7 @@
     if (![_highlightView superview])
         return;
 
-    [_highlightView setColor:adoptNS([[UIColor alloc] initWithCGColor:cachedCGColor(_tapHighlightInformation.color).get()]).get()];
+    [_highlightView setColor:cocoaColor(_tapHighlightInformation.color).get()];
 
     auto& highlightedQuads = _tapHighlightInformation.quads;
     bool allRectilinear = true;
@@ -3689,10 +3688,10 @@
         return [UIColor clearColor];
 
     if (!_page->editorState().isMissingPostLayoutData) {
-        WebCore::Color caretColor = _page->editorState().postLayoutData().caretColor;
-        if (caretColor.isValid())
-            return [UIColor colorWithCGColor:cachedCGColor(caretColor).get()];
+        if (auto caretColor = _page->editorState().postLayoutData().caretColor; caretColor.isValid())
+            return cocoaColor(caretColor).autorelease();
     }
+
     return [self _inheritedInteractionTintColor];
 }
 
@@ -5115,7 +5114,7 @@
 
         WebCore::Color highlightColor { WebCore::CompositionHighlight::defaultCompositionFillColor };
         if (UIColor *uiColor = attributes[NSBackgroundColorAttributeName])
-            highlightColor = WebCore::colorFromUIColor(uiColor);
+            highlightColor = WebCore::colorFromCocoaColor(uiColor);
         highlights.append({ static_cast<unsigned>(range.location), static_cast<unsigned>(NSMaxRange(range)), highlightColor });
     }];
 
@@ -8597,7 +8596,7 @@
     if (_positionInformation.isLink && _positionInformation.linkIndicator.contentImage) {
         auto indicator = _positionInformation.linkIndicator;
         auto textIndicatorImage = uiImageForImage(indicator.contentImage.get());
-        targetedPreview = createTargetedPreview(textIndicatorImage.get(), self, self.containerForContextMenuHintPreviews, indicator.textBoundingRectInRootViewCoordinates, indicator.textRectsInBoundingRectCoordinates, [UIColor colorWithCGColor:cachedCGColor(indicator.estimatedBackgroundColor).get()]);
+        targetedPreview = createTargetedPreview(textIndicatorImage.get(), self, self.containerForContextMenuHintPreviews, indicator.textBoundingRectInRootViewCoordinates, indicator.textRectsInBoundingRectCoordinates, cocoaColor(indicator.estimatedBackgroundColor).get());
     } else if ((_positionInformation.isAttachment || _positionInformation.isImage) && _positionInformation.image) {
         auto cgImage = _positionInformation.image->makeCGImageCopy();
         auto image = adoptNS([[UIImage alloc] initWithCGImage:cgImage.get()]);

Modified: trunk/Source/WebKit/UIProcess/ios/forms/WKFormColorControl.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/ios/forms/WKFormColorControl.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/ios/forms/WKFormColorControl.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -33,7 +33,8 @@
 #import "UserInterfaceIdiom.h"
 #import "WKContentViewInteraction.h"
 #import "WebPageProxy.h"
-#import <WebCore/Color.h>
+#import <WebCore/ColorCocoa.h>
+#import <wtf/cocoa/VectorCocoa.h>
 
 #pragma mark - WKColorPicker
 
@@ -73,21 +74,20 @@
 #if ENABLE(DATALIST_ELEMENT)
 - (NSArray<UIColor *> *)focusedElementSuggestedColors
 {
-    size_t numColorSuggestions = _view.focusedElementInformation.suggestedColors.size();
-    if (!numColorSuggestions)
+    auto& colors = _view.focusedElementInformation.suggestedColors;
+
+    if (colors.isEmpty())
         return nil;
 
-    NSMutableArray<UIColor *> *colors = [NSMutableArray array];
-    for (const WebCore::Color& color : _view.focusedElementInformation.suggestedColors)
-        [colors addObject:[UIColor colorWithCGColor:cachedCGColor(color).get()]];
-
-    return colors;
+    return createNSArray(colors, [] (auto& color) {
+        return cocoaColor(color);
+    }).autorelease();
 }
 #endif
 
 - (void)updateColorPickerState
 {
-    [_colorPickerViewController setSelectedColor:[UIColor colorWithCGColor:cachedCGColor(_view.focusedElementInformation.colorValue).get()]];
+    [_colorPickerViewController setSelectedColor:cocoaColor(_view.focusedElementInformation.colorValue).get()];
 #if ENABLE(DATALIST_ELEMENT)
     if ([_colorPickerViewController respondsToSelector:@selector(_setSuggestedColors:)])
         [_colorPickerViewController _setSuggestedColors:[self focusedElementSuggestedColors]];

Modified: trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -1019,7 +1019,7 @@
 #if HAVE(APP_ACCENT_COLORS)
 WebCore::Color PageClientImpl::accentColor()
 {
-    return WebCore::colorFromNSColor([NSApp _effectiveAccentColor]);
+    return WebCore::colorFromCocoaColor([NSApp _effectiveAccentColor]);
 }
 #endif
 

Modified: trunk/Source/WebKit/UIProcess/mac/WebColorPickerMac.mm (284629 => 284630)


--- trunk/Source/WebKit/UIProcess/mac/WebColorPickerMac.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/UIProcess/mac/WebColorPickerMac.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -107,7 +107,7 @@
     if (!m_client || !m_colorPickerUI)
         return;
     
-    [m_colorPickerUI setColor:nsColor(color).get()];
+    [m_colorPickerUI setColor:cocoaColor(color).get()];
 }
 
 void WebColorPickerMac::didChooseColor(const WebCore::Color& color)
@@ -123,7 +123,7 @@
     if (!m_client)
         return;
 
-    [m_colorPickerUI setAndShowPicker:this withColor:nsColor(color).get() suggestions:WTFMove(m_suggestions)];
+    [m_colorPickerUI setAndShowPicker:this withColor:cocoaColor(color).get() suggestions:WTFMove(m_suggestions)];
 }
 
 } // namespace WebKit
@@ -237,7 +237,7 @@
     if (suggestions.size()) {
         suggestedColors = adoptNS([[NSColorList alloc] init]);
         for (size_t i = 0; i < std::min(suggestions.size(), maxColorSuggestions); i++)
-            [suggestedColors insertColor:nsColor(suggestions.at(i)).get() key:@(i).stringValue atIndex:i];
+            [suggestedColors insertColor:cocoaColor(suggestions.at(i)).get() key:@(i).stringValue atIndex:i];
     }
 
     [_popoverWell setSuggestedColors:suggestedColors.get()];
@@ -287,7 +287,7 @@
         return;
     }
 
-    _picker->didChooseColor(WebCore::colorFromNSColor([_popoverWell color]));
+    _picker->didChooseColor(WebCore::colorFromCocoaColor([_popoverWell color]));
 }
 
 - (void)setColor:(NSColor *)color

Modified: trunk/Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm (284629 => 284630)


--- trunk/Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -76,7 +76,7 @@
     auto& styledElement = downcast<StyledElement>(element.get());
 
     // FIXME: Match font weight and style as well?
-    styledElement.setInlineStyleProperty(CSSPropertyColor, serializationForHTML(colorFromNSColor(choiceAnnotation.fontColor)));
+    styledElement.setInlineStyleProperty(CSSPropertyColor, serializationForHTML(colorFromCocoaColor(choiceAnnotation.fontColor)));
     styledElement.setInlineStyleProperty(CSSPropertyFontFamily, choiceAnnotation.font.familyName);
 
     NSArray *choices = choiceAnnotation.choices;

Modified: trunk/Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm (284629 => 284630)


--- trunk/Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -95,7 +95,7 @@
         return element;
 
     // FIXME: Match font weight and style as well?
-    styledElement.setInlineStyleProperty(CSSPropertyColor, serializationForHTML(colorFromNSColor(textAnnotation.fontColor)));
+    styledElement.setInlineStyleProperty(CSSPropertyColor, serializationForHTML(colorFromCocoaColor(textAnnotation.fontColor)));
     styledElement.setInlineStyleProperty(CSSPropertyFontFamily, textAnnotation.font.familyName);
     styledElement.setInlineStyleProperty(CSSPropertyTextAlign, cssAlignmentValueForNSTextAlignment(textAnnotation.alignment));
 

Modified: trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm (284629 => 284630)


--- trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -1103,7 +1103,7 @@
 
 void WebPage::setAccentColor(WebCore::Color color)
 {
-    [NSApp _setAccentColor:color.isValid() ? WebCore::nsColor(color).get() : nil];
+    [NSApp _setAccentColor:cocoaColorOrNil(color).get()];
 }
 
 #endif // HAVE(APP_ACCENT_COLORS)

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (284629 => 284630)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2021-10-21 18:25:04 UTC (rev 284630)
@@ -1,3 +1,34 @@
+2021-10-19  Darin Adler  <da...@apple.com>
+
+        [Cocoa] Merge and simplify the nsColor family of functions
+        https://bugs.webkit.org/show_bug.cgi?id=231992
+
+        Reviewed by Anders Carlsson.
+
+        * DOM/DOMRGBColor.mm:
+        (-[DOMRGBColor color]): Use cocoaColor instead of nsColor.
+
+        * Misc/WebKitNSStringExtras.mm:
+        (-[NSString _web_drawAtPoint:font:textColor:]): Use colorFromCocoaColor
+        instead of colorFromNSColor.
+
+        * WebView/WebFrame.mm:
+        (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Use
+        colorFromCocoaColor instead of colorFromNSColor.
+        (-[WebFrame _bodyBackgroundColor]): Use cocoaColor instead of
+        nsColor.
+
+        * WebView/WebHTMLView.mm:
+        (extractUnderlines): Use colorFromCocoaColor instead of
+        colorFromNSColor.
+
+        * WebView/WebView.mm:
+        (-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
+        Use cocoaColor instead of -[UIColor initWithCGColor:] and cachedCGColor.
+        (-[WebTextTouchBarItemController _webChangeColor:]): Use colorFromCocoaColor
+        instead of colorFromNSColor.
+        (-[WebView updateTextTouchBar]): Use cocoaColor instead of nsColor.
+
 2021-10-19  Chris Dumez  <cdu...@apple.com>
 
         cachedCGColor() and nsColor() should return smart pointers

Modified: trunk/Source/WebKitLegacy/mac/DOM/DOMRGBColor.mm (284629 => 284630)


--- trunk/Source/WebKitLegacy/mac/DOM/DOMRGBColor.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKitLegacy/mac/DOM/DOMRGBColor.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -29,6 +29,7 @@
 #import "DOMInternal.h"
 #import "DOMNodeInternal.h"
 #import "ExceptionHandlers.h"
+#import <WebCore/ColorCocoa.h>
 #import <WebCore/DeprecatedCSSOMPrimitiveValue.h>
 #import <WebCore/DeprecatedCSSOMRGBColor.h>
 #import <WebCore/JSExecState.h>
@@ -85,7 +86,7 @@
 - (NSColor *)color
 {
     WebCore::JSMainThreadNullState state;
-    return WebCore::nsColor(IMPL->color()).autorelease();
+    return cocoaColor(IMPL->color()).autorelease();
 }
 #else
 - (CGColorRef)color

Modified: trunk/Source/WebKitLegacy/mac/Misc/WebKitNSStringExtras.mm (284629 => 284630)


--- trunk/Source/WebKitLegacy/mac/Misc/WebKitNSStringExtras.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKitLegacy/mac/Misc/WebKitNSStringExtras.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -85,7 +85,7 @@
         if (!flipped)
             CGContextScaleCTM(cgContext, 1, -1);
 
-        graphicsContext.setFillColor(colorFromNSColor(textColor));
+        graphicsContext.setFillColor(colorFromCocoaColor(textColor));
         webCoreFont.drawText(graphicsContext, run, FloatPoint(point.x, flipped ? point.y : -point.y));
 
         if (!flipped)

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm (284629 => 284630)


--- trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -440,7 +440,7 @@
             view->setTransparent(!drawsBackground);
 #if !PLATFORM(IOS_FAMILY)
             ALLOW_DEPRECATED_DECLARATIONS_BEGIN
-            WebCore::Color color = WebCore::colorFromNSColor([backgroundColor colorUsingColorSpaceName:NSDeviceRGBColorSpace]);
+            auto color = WebCore::colorFromCocoaColor([backgroundColor colorUsingColorSpaceName:NSDeviceRGBColorSpace]);
             ALLOW_DEPRECATED_DECLARATIONS_END
 #else
             WebCore::Color color(WebCore::roundAndClampToSRGBALossy(backgroundColor));
@@ -1014,7 +1014,7 @@
     if (!color.isValid())
         return nil;
 #if !PLATFORM(IOS_FAMILY)
-    return nsColor(color).autorelease();
+    return cocoaColor(color).autorelease();
 #else
     return cachedCGColor(color).autorelease();
 #endif

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm (284629 => 284630)


--- trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -6491,7 +6491,7 @@
             WebCore::Color color = WebCore::Color::black;
             auto compositionUnderlineColor = WebCore::CompositionUnderlineColor::TextColor;
             if (NSColor *colorAttr = [attrs objectForKey:NSUnderlineColorAttributeName]) {
-                color = WebCore::colorFromNSColor(colorAttr);
+                color = WebCore::colorFromCocoaColor(colorAttr);
                 compositionUnderlineColor = WebCore::CompositionUnderlineColor::GivenColor;
             }
             result.append(WebCore::CompositionUnderline(range.location, NSMaxRange(range), compositionUnderlineColor, color, [style intValue] > 1));

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (284629 => 284630)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2021-10-21 18:22:37 UTC (rev 284629)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2021-10-21 18:25:04 UTC (rev 284630)
@@ -882,7 +882,7 @@
     }
 
     if (indicatorData.options.contains(WebCore::TextIndicatorOption::ComputeEstimatedBackgroundColor))
-        _estimatedBackgroundColor = [PAL::allocUIColorInstance() initWithCGColor:cachedCGColor(indicatorData.estimatedBackgroundColor).get()];
+        _estimatedBackgroundColor = cocoaColor(indicatorData.estimatedBackgroundColor).leakRef();
 
     return self;
 }
@@ -1246,7 +1246,7 @@
 - (void)_webChangeColor:(id)sender
 {
     _textColor = self.colorPickerItem.color;
-    [_webView _executeCoreCommandByName:@"ForeColor" value: WebCore::serializationForHTML(WebCore::colorFromNSColor(_textColor.get()))];
+    [_webView _executeCoreCommandByName:@"ForeColor" value:WebCore::serializationForHTML(WebCore::colorFromCocoaColor(_textColor.get()))];
 }
 
 - (NSViewController *)textListViewController
@@ -9510,7 +9510,7 @@
 
                 Color textColor = style->visitedDependentColor(CSSPropertyColor);
                 if (textColor.isValid())
-                    [_private->_textTouchBarItemController setTextColor:nsColor(textColor).get()];
+                    [_private->_textTouchBarItemController setTextColor:cocoaColor(textColor).get()];
 
                 [_private->_textTouchBarItemController setCurrentTextAlignment:nsTextAlignmentFromRenderStyle(style)];
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to