Title: [280767] trunk
Revision
280767
Author
[email protected]
Date
2021-08-08 18:21:41 -0700 (Sun, 08 Aug 2021)

Log Message

caret-color does not work on first click in ios
https://bugs.webkit.org/show_bug.cgi?id=228859
rdar://81674787

Reviewed by Tim Horton.

Source/WebKit:

Addresses a couple of issues that cause the `caret-color` CSS property to not be applied when focusing editable
content on iOS. See below for more details.

Test: editing/caret/ios/caret-color-after-refocusing-input.html

* Platform/spi/ios/UIKitSPI.h:
* UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
* UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _serializedSelectionCaretBackgroundColorForTesting]):

Add support for a new test-only helper method. See Tools/ChangeLog for more information.

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(WebKit::WKSelectionDrawingInfo::WKSelectionDrawingInfo):
(WebKit::operator==):
(WebKit::operator<<):

Make a minor adjustment to ensure that changes to `caretColor` in `EditorState` are propagated to UIKit's
selection views. To achieve this, we add `caretColor` to `WKSelectionDrawingInfo`, and force the text selection
view to update the caret background color when the caret color changes (alongside other selection UI geometry
changes, which are applied underneath the call to `-selectionChanged`).

(-[WKContentView _updateChangedSelection:]):
(-[WKContentView textInteractionAssistant]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPlatformEditorState const):

Address an existing FIXME which (mostly) fixes this bug. Currently, the caret color is only computed when
`WebPage::m_focusedElement` is set. However, when resigning first responder, we clear out `WebPage`'s
`m_focusedElement`) right before updating the DOM selection, which creates a brief window during which we
compute an `EditorState` with a `caretColor` of transparent black.

To avoid this inconsistency, we instead compute the caret color from the selection container; this has the
additional benefit of allowing the caret color to change when changing selection within a single editable host
with multiple caret colors (instead of always just using the focused element's caret color).

Note that while this adjustment to `WebPage::getPlatformEditorState` is sufficient to ensure that the value of
`-[WKContentView insertionPointColor]` (which is based on `EditorState`) is always up-to-date, this doesn't
guarantee that the actual color of UIKit's caret view reflects the updated `-insertionPointColor`, which results
in situations where the caret color appears out-of-date after hiding the keyboard and refocusing an input field.
To fix this, we need the other adjustment in WKContentView (see above).

Tools:

Make it possible to test this bug by adding a UIScriptController hook to request the background color of the
current selection view's caret view, as serialized CSS text. See LayoutTests/ChangeLog for more details.

* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::selectionCaretBackgroundColor const):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::selectionCaretBackgroundColor const):

LayoutTests:

Add a new layout test that exercises the issue, as reported in Bugzilla (the call to `-resignFirstResponder`
simulates backgrounding Safari). To achieve this, we also introduce a script controller testing helper to grab
the native background color of the `UITextSelectionView`'s caret view; see Tools/ChangeLog for more details.

* editing/caret/ios/caret-color-after-refocusing-input-expected.txt: Added.
* editing/caret/ios/caret-color-after-refocusing-input.html: Added.
* resources/ui-helper.js:
(window.UIHelper.selectionCaretBackgroundColor):

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (280766 => 280767)


--- trunk/LayoutTests/ChangeLog	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/LayoutTests/ChangeLog	2021-08-09 01:21:41 UTC (rev 280767)
@@ -1,3 +1,20 @@
+2021-08-08  Wenson Hsieh  <[email protected]>
+
+        caret-color does not work on first click in ios
+        https://bugs.webkit.org/show_bug.cgi?id=228859
+        rdar://81674787
+
+        Reviewed by Tim Horton.
+
+        Add a new layout test that exercises the issue, as reported in Bugzilla (the call to `-resignFirstResponder`
+        simulates backgrounding Safari). To achieve this, we also introduce a script controller testing helper to grab
+        the native background color of the `UITextSelectionView`'s caret view; see Tools/ChangeLog for more details.
+
+        * editing/caret/ios/caret-color-after-refocusing-input-expected.txt: Added.
+        * editing/caret/ios/caret-color-after-refocusing-input.html: Added.
+        * resources/ui-helper.js:
+        (window.UIHelper.selectionCaretBackgroundColor):
+
 2021-08-08  Jer Noble  <[email protected]>
 
         REGRESSION: http/tests/preload/onload_event.html is a flaky timeout on Big Sur wk1 Release

Added: trunk/LayoutTests/editing/caret/ios/caret-color-after-refocusing-input-expected.txt (0 => 280767)


--- trunk/LayoutTests/editing/caret/ios/caret-color-after-refocusing-input-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/editing/caret/ios/caret-color-after-refocusing-input-expected.txt	2021-08-09 01:21:41 UTC (rev 280767)
@@ -0,0 +1,14 @@
+
+This test verifies that caret-color is applied upon focusing an input field. To manually test, focus the input field, dismiss the software keyboard, and then focus the input field again. The caret color should be default after initial focus, but red upon refocusing.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS Blurred input field.
+PASS newCaretBackgroundColor is "rgb(255, 0, 0)"
+PASS originalCaretBackgroundColor is not newCaretBackgroundColor
+PASS Blurred input field.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/editing/caret/ios/caret-color-after-refocusing-input.html (0 => 280767)


--- trunk/LayoutTests/editing/caret/ios/caret-color-after-refocusing-input.html	                        (rev 0)
+++ trunk/LayoutTests/editing/caret/ios/caret-color-after-refocusing-input.html	2021-08-09 01:21:41 UTC (rev 280767)
@@ -0,0 +1,58 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<html>
+<head>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<script src=""
+<script src=""
+<style>
+body, html {
+    width: 100%;
+    height: 100%;
+    margin: 0;
+}
+
+input {
+    width: 250px;
+    font-size: 20px;
+    padding: 10px;
+    display: block;
+}
+</style>
+<script>
+jsTestIsAsync = true;
+
+addEventListener("load", async () => {
+    description("This test verifies that <code>caret-color</code> is applied upon focusing an input field. To manually test, focus the input field, dismiss the software keyboard, and then focus the input field again. The caret color should be default after initial focus, but red upon refocusing.");
+    let input = document.querySelector("input");
+    input.addEventListener("blur", () => {
+        testPassed("Blurred input field.");
+        input.style.caretColor = "red";
+    });
+
+    if (!window.testRunner)
+        return;
+
+    await UIHelper.activateElementAndWaitForInputSession(input);
+    await UIHelper.ensurePresentationUpdate();
+    originalCaretBackgroundColor = await UIHelper.selectionCaretBackgroundColor();
+
+    await UIHelper.resignFirstResponder();
+    await UIHelper.waitForKeyboardToHide();
+    await UIHelper.activateElementAndWaitForInputSession(input);
+    await UIHelper.ensurePresentationUpdate();
+    newCaretBackgroundColor = await UIHelper.selectionCaretBackgroundColor();
+
+    shouldBeEqualToString("newCaretBackgroundColor", "rgb(255, 0, 0)");
+    shouldNotBe("originalCaretBackgroundColor", "newCaretBackgroundColor");
+
+    input.blur();
+    await UIHelper.waitForKeyboardToHide();
+    finishJSTest();
+});
+</script>
+</head>
+<body>
+<input placeholder="Focus me"></input>
+<pre id="console"></pre>
+</body>
+</html>
\ No newline at end of file

Modified: trunk/LayoutTests/resources/ui-helper.js (280766 => 280767)


--- trunk/LayoutTests/resources/ui-helper.js	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/LayoutTests/resources/ui-helper.js	2021-08-09 01:21:41 UTC (rev 280767)
@@ -819,6 +819,13 @@
         });
     }
 
+    static selectionCaretBackgroundColor()
+    {
+        return new Promise(resolve => {
+            testRunner.runUIScript("uiController.uiScriptComplete(uiController.selectionCaretBackgroundColor)", resolve);
+        });
+    }
+
     static tapHighlightViewRect()
     {
         return new Promise(resolve => {

Modified: trunk/Source/WebKit/ChangeLog (280766 => 280767)


--- trunk/Source/WebKit/ChangeLog	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Source/WebKit/ChangeLog	2021-08-09 01:21:41 UTC (rev 280767)
@@ -1,3 +1,54 @@
+2021-08-08  Wenson Hsieh  <[email protected]>
+
+        caret-color does not work on first click in ios
+        https://bugs.webkit.org/show_bug.cgi?id=228859
+        rdar://81674787
+
+        Reviewed by Tim Horton.
+
+        Addresses a couple of issues that cause the `caret-color` CSS property to not be applied when focusing editable
+        content on iOS. See below for more details.
+
+        Test: editing/caret/ios/caret-color-after-refocusing-input.html
+
+        * Platform/spi/ios/UIKitSPI.h:
+        * UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
+        * UIProcess/API/ios/WKWebViewTestingIOS.mm:
+        (-[WKWebView _serializedSelectionCaretBackgroundColorForTesting]):
+
+        Add support for a new test-only helper method. See Tools/ChangeLog for more information.
+
+        * UIProcess/ios/WKContentViewInteraction.h:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (WebKit::WKSelectionDrawingInfo::WKSelectionDrawingInfo):
+        (WebKit::operator==):
+        (WebKit::operator<<):
+
+        Make a minor adjustment to ensure that changes to `caretColor` in `EditorState` are propagated to UIKit's
+        selection views. To achieve this, we add `caretColor` to `WKSelectionDrawingInfo`, and force the text selection
+        view to update the caret background color when the caret color changes (alongside other selection UI geometry
+        changes, which are applied underneath the call to `-selectionChanged`).
+
+        (-[WKContentView _updateChangedSelection:]):
+        (-[WKContentView textInteractionAssistant]):
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::getPlatformEditorState const):
+
+        Address an existing FIXME which (mostly) fixes this bug. Currently, the caret color is only computed when
+        `WebPage::m_focusedElement` is set. However, when resigning first responder, we clear out `WebPage`'s
+        `m_focusedElement`) right before updating the DOM selection, which creates a brief window during which we
+        compute an `EditorState` with a `caretColor` of transparent black.
+
+        To avoid this inconsistency, we instead compute the caret color from the selection container; this has the
+        additional benefit of allowing the caret color to change when changing selection within a single editable host
+        with multiple caret colors (instead of always just using the focused element's caret color).
+
+        Note that while this adjustment to `WebPage::getPlatformEditorState` is sufficient to ensure that the value of
+        `-[WKContentView insertionPointColor]` (which is based on `EditorState`) is always up-to-date, this doesn't
+        guarantee that the actual color of UIKit's caret view reflects the updated `-insertionPointColor`, which results
+        in situations where the caret color appears out-of-date after hiding the keyboard and refocusing an input field.
+        To fix this, we need the other adjustment in WKContentView (see above).
+
 2021-08-07  Wenson Hsieh  <[email protected]>
 
         [macOS] Web process crashes when detaching Document with uncommitted marked text

Modified: trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h (280766 => 280767)


--- trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h	2021-08-09 01:21:41 UTC (rev 280767)
@@ -699,6 +699,13 @@
 @property (nonatomic, assign) NSRange rangeInMarkedText;
 @end
 
+@interface UITextSelectionView : UIView
+@end
+
+@interface UITextInteractionAssistant (SPI)
+@property (nonatomic, readonly) UITextSelectionView *selectionView;
+@end
+
 @interface UIWKTextInteractionAssistant : UITextInteractionAssistant <UIResponderStandardEditActions>
 @end
 

Modified: trunk/Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h (280766 => 280767)


--- trunk/Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h	2021-08-09 01:21:41 UTC (rev 280767)
@@ -94,6 +94,8 @@
 - (void)_setUIEventAttributionForTesting:(UIEventAttribution *)attribution withNonce:(NSString *)nonce;
 #endif
 
+- (NSString *)_serializedSelectionCaretBackgroundColorForTesting;
+
 @end
 
 #endif // TARGET_OS_IPHONE

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


--- trunk/Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm	2021-08-09 01:21:41 UTC (rev 280767)
@@ -38,6 +38,8 @@
 #import "WebPageProxy.h"
 #import "_WKActivatedElementInfoInternal.h"
 #import "_WKTextInputContextInternal.h"
+#import <WebCore/ColorIOS.h>
+#import <WebCore/ColorSerialization.h>
 #import <WebCore/ElementContext.h>
 
 @implementation WKWebView (WKTestingIOS)
@@ -414,7 +416,15 @@
 }
 #endif
 
+- (NSString *)_serializedSelectionCaretBackgroundColorForTesting
+{
+    UIColor *backgroundColor = [[_contentView textInteractionAssistant].selectionView valueForKeyPath:@"caretView.backgroundColor"];
+    if (!backgroundColor)
+        return nil;
 
+    return WebCore::serializationForCSS(WebCore::colorFromUIColor(backgroundColor));
+}
+
 @end
 
 #endif // PLATFORM(IOS_FAMILY)

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h (280766 => 280767)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h	2021-08-09 01:21:41 UTC (rev 280767)
@@ -217,6 +217,7 @@
     explicit WKSelectionDrawingInfo(const EditorState&);
     SelectionType type;
     WebCore::IntRect caretRect;
+    WebCore::Color caretColor;
     Vector<WebCore::SelectionGeometry> selectionGeometries;
     WebCore::IntRect selectionClipRect;
 };
@@ -798,6 +799,8 @@
 @property (nonatomic, readonly, getter=isAnimatingDragCancel) BOOL animatingDragCancel;
 #endif
 
+@property (nonatomic, readonly) UIWKTextInteractionAssistant *textInteractionAssistant;
+
 @end
 
 #if HAVE(LINK_PREVIEW)

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (280766 => 280767)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-08-09 01:21:41 UTC (rev 280767)
@@ -255,6 +255,7 @@
     type = SelectionType::Range;
     auto& postLayoutData = editorState.postLayoutData();
     caretRect = postLayoutData.caretRectAtEnd;
+    caretColor = postLayoutData.caretColor;
     selectionGeometries = postLayoutData.selectionGeometries;
     selectionClipRect = postLayoutData.selectionClipRect;
 }
@@ -268,6 +269,9 @@
         if (a.caretRect != b.caretRect)
             return false;
 
+        if (a.caretColor != b.caretColor)
+            return false;
+
         if (a.selectionGeometries.size() != b.selectionGeometries.size())
             return false;
 
@@ -313,6 +317,7 @@
     TextStream::GroupScope group(stream);
     stream.dumpProperty("type", info.type);
     stream.dumpProperty("caret rect", info.caretRect);
+    stream.dumpProperty("caret color", info.caretColor);
     stream.dumpProperty("selection geometries", info.selectionGeometries);
     stream.dumpProperty("selection clip rect", info.selectionClipRect);
     return stream;
@@ -7255,6 +7260,11 @@
     if (force || selectionDrawingInfo != _lastSelectionDrawingInfo) {
         LOG_WITH_STREAM(Selection, stream << "_updateChangedSelection " << selectionDrawingInfo);
 
+        if (_lastSelectionDrawingInfo.caretColor != selectionDrawingInfo.caretColor) {
+            // Force UIKit to update the background color of the selection caret to reflect the new -insertionPointColor.
+            [[_textInteractionAssistant selectionView] tintColorDidChange];
+        }
+
         _cachedSelectedTextRange = nil;
         _lastSelectionDrawingInfo = selectionDrawingInfo;
 
@@ -10658,6 +10668,11 @@
 }
 #endif
 
+- (UIWKTextInteractionAssistant *)textInteractionAssistant
+{
+    return _textInteractionAssistant.get();
+}
+
 @end
 
 #if HAVE(LINK_PREVIEW)

Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (280766 => 280767)


--- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2021-08-09 01:21:41 UTC (rev 280767)
@@ -336,13 +336,8 @@
     postLayoutData.atStartOfSentence = frame.selection().selectionAtSentenceStart();
     postLayoutData.insideFixedPosition = startNodeIsInsideFixedPosition || endNodeIsInsideFixedPosition;
     if (!selection.isNone()) {
-        if (m_focusedElement && m_focusedElement->renderer()) {
-            // FIXME: The caret color style should be computed using the selection caret's container
-            // rather than the focused element. This causes caret colors in editable children to be
-            // ignored in favor of the editing host's caret color.
-            auto& renderer = *m_focusedElement->renderer();
-            postLayoutData.caretColor = CaretBase::computeCaretColor(renderer.style(), renderer.element());
-        }
+        if (RefPtr container = selection.start().containerNode(); container && container->renderer() && selection.isContentEditable())
+            postLayoutData.caretColor = CaretBase::computeCaretColor(container->renderer()->style(), container.get());
 
         if (auto editableRootOrFormControl = makeRefPtr(enclosingTextFormControl(selection.start()) ?: selection.rootEditableElement())) {
             postLayoutData.selectionClipRect = rootViewInteractionBounds(*editableRootOrFormControl);

Modified: trunk/Tools/ChangeLog (280766 => 280767)


--- trunk/Tools/ChangeLog	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Tools/ChangeLog	2021-08-09 01:21:41 UTC (rev 280767)
@@ -1,3 +1,21 @@
+2021-08-08  Wenson Hsieh  <[email protected]>
+
+        caret-color does not work on first click in ios
+        https://bugs.webkit.org/show_bug.cgi?id=228859
+        rdar://81674787
+
+        Reviewed by Tim Horton.
+
+        Make it possible to test this bug by adding a UIScriptController hook to request the background color of the
+        current selection view's caret view, as serialized CSS text. See LayoutTests/ChangeLog for more details.
+
+        * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
+        * TestRunnerShared/UIScriptContext/UIScriptController.h:
+        (WTR::UIScriptController::selectionCaretBackgroundColor const):
+        * WebKitTestRunner/ios/UIScriptControllerIOS.h:
+        * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
+        (WTR::UIScriptControllerIOS::selectionCaretBackgroundColor const):
+
 2021-08-07  Aakash Jain  <[email protected]>
 
         [ews] Limit the size of error context buffer

Modified: trunk/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl (280766 => 280767)


--- trunk/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl	2021-08-09 01:21:41 UTC (rev 280767)
@@ -91,6 +91,7 @@
     undefined rawKeyUp(DOMString key);
 
     readonly attribute boolean isAnimatingDragCancel;
+    readonly attribute DOMString selectionCaretBackgroundColor;
     readonly attribute object tapHighlightViewRect;
 
     // eventsJSON describes a series of user events in JSON form. For the keys, see HIDEventGenerator.mm.

Modified: trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h (280766 => 280767)


--- trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h	2021-08-09 01:21:41 UTC (rev 280767)
@@ -181,6 +181,12 @@
         return false;
     }
 
+    virtual JSRetainPtr<JSStringRef> selectionCaretBackgroundColor() const
+    {
+        notImplemented();
+        return { };
+    }
+
     virtual JSObjectRef tapHighlightViewRect() const
     {
         notImplemented();

Modified: trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h (280766 => 280767)


--- trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h	2021-08-09 01:21:41 UTC (rev 280767)
@@ -135,6 +135,7 @@
     void toggleCapsLock(JSValueRef) override;
     bool keyboardIsAutomaticallyShifted() const override;
     bool isAnimatingDragCancel() const override;
+    JSRetainPtr<JSStringRef> selectionCaretBackgroundColor() const override;
     JSObjectRef tapHighlightViewRect() const override;
     JSObjectRef attachmentInfo(JSStringRef) override;
     UIView *platformContentView() const override;

Modified: trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm (280766 => 280767)


--- trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm	2021-08-08 21:53:12 UTC (rev 280766)
+++ trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm	2021-08-09 01:21:41 UTC (rev 280767)
@@ -1192,6 +1192,15 @@
     return webView()._animatingDragCancel;
 }
 
+JSRetainPtr<JSStringRef> UIScriptControllerIOS::selectionCaretBackgroundColor() const
+{
+    NSString *serializedColor = webView()._serializedSelectionCaretBackgroundColorForTesting;
+    if (!serializedColor)
+        return { };
+
+    return adopt(JSStringCreateWithCFString((__bridge CFStringRef)serializedColor));
+}
+
 JSObjectRef UIScriptControllerIOS::tapHighlightViewRect() const
 {
     return JSValueToObject(m_context->jsContext(), [JSValue valueWithObject:toNSDictionary(webView()._tapHighlightViewRect) inContext:[JSContext contextWithJSGlobalContextRef:m_context->jsContext()]].JSValueRef, nullptr);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to