Title: [280041] trunk/Source/WebKit
Revision
280041
Author
[email protected]
Date
2021-07-19 12:29:39 -0700 (Mon, 19 Jul 2021)

Log Message

Revert a debug assertion that was added in r280019
https://bugs.webkit.org/show_bug.cgi?id=228051

Reviewed by Tim Horton.

Several existing (non-accessibility-related) editing tests appear to hit this debug assertion that was added in
r280019, which indicates that it's currently possible to call `-selectionDidChange:` without a balanced call to
`-selectionWillChange:`, even before the changes in r280019.

For the time being, replace this assertion with a FIXME referencing a followup bug to investigate why this is
the case: https://webkit.org/b/228083. Thankfully, since the decrementing of `_selectionChangeNestingLevel` is
idempotent once the level reaches 0, no other changes are needed to ensure that we don't end up with underflow
in `_selectionChangeNestingLevel`.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView endSelectionChange]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (280040 => 280041)


--- trunk/Source/WebKit/ChangeLog	2021-07-19 18:53:56 UTC (rev 280040)
+++ trunk/Source/WebKit/ChangeLog	2021-07-19 19:29:39 UTC (rev 280041)
@@ -1,3 +1,22 @@
+2021-07-19  Wenson Hsieh  <[email protected]>
+
+        Revert a debug assertion that was added in r280019
+        https://bugs.webkit.org/show_bug.cgi?id=228051
+
+        Reviewed by Tim Horton.
+
+        Several existing (non-accessibility-related) editing tests appear to hit this debug assertion that was added in
+        r280019, which indicates that it's currently possible to call `-selectionDidChange:` without a balanced call to
+        `-selectionWillChange:`, even before the changes in r280019.
+
+        For the time being, replace this assertion with a FIXME referencing a followup bug to investigate why this is
+        the case: https://webkit.org/b/228083. Thankfully, since the decrementing of `_selectionChangeNestingLevel` is
+        idempotent once the level reaches 0, no other changes are needed to ensure that we don't end up with underflow
+        in `_selectionChangeNestingLevel`.
+
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView endSelectionChange]):
+
 2021-07-19  Patrick Angle  <[email protected]>
 
         [Cocoa] Web Inspector: Service workers can't be inspected in Safari Technology Preview

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (280040 => 280041)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-07-19 18:53:56 UTC (rev 280040)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-07-19 19:29:39 UTC (rev 280041)
@@ -4940,10 +4940,12 @@
 {
     [self.inputDelegate selectionDidChange:self];
 
-    if (_selectionChangeNestingLevel)
+    if (_selectionChangeNestingLevel) {
+        // FIXME (228083): Some layout tests end up triggering unbalanced calls to -endSelectionChange.
+        // We should investigate why this happens, (ideally) prevent it from happening, and then assert
+        // that `_selectionChangeNestingLevel` is nonzero when calling -endSelectionChange.
         _selectionChangeNestingLevel--;
-    else
-        ASSERT_NOT_REACHED();
+    }
 }
 
 - (void)willFinishIgnoringCalloutBarFadeAfterPerformingAction
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to