Early out selection update when data is not present
authormegan_gardner@apple.com <megan_gardner@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Nov 2017 18:27:13 +0000 (18:27 +0000)
committermegan_gardner@apple.com <megan_gardner@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Nov 2017 18:27:13 +0000 (18:27 +0000)
https://bugs.webkit.org/show_bug.cgi?id=179084

Reviewed by Ryosuke Niwa.

We should early out of a selection update when we do not have the data that is necessary to make that
update. This mostly helps avoid debug asserts, but will be helpful with the selection changes that are
ongoing.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224346 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/ChangeLog
Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

index 7b08cab..2704921 100644 (file)
@@ -1,3 +1,17 @@
+2017-11-02  Megan Gardner  <megan_gardner@apple.com>
+
+        Early out selection update when data is not present
+        https://bugs.webkit.org/show_bug.cgi?id=179084
+
+        Reviewed by Ryosuke Niwa.
+
+        We should early out of a selection update when we do not have the data that is necessary to make that
+        update. This mostly helps avoid debug asserts, but will be helpful with the selection changes that are
+        ongoing.
+
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _updateChangedSelection:]):
+
 2017-11-02  Eric Carlson  <eric.carlson@apple.com>
 
         [MediaStream] audioTrack.label is always empty on macOS
index 7151fbf..052d705 100644 (file)
@@ -3957,7 +3957,7 @@ static bool isAssistableInputType(InputType type)
 
 - (void)_updateChangedSelection:(BOOL)force
 {
-    if (!_selectionNeedsUpdate)
+    if (!_selectionNeedsUpdate || _page->editorState().isMissingPostLayoutData)
         return;
 
     WKSelectionDrawingInfo selectionDrawingInfo(_page->editorState());