Title: [211695] branches/safari-603-branch/Source/WebKit2
Revision
211695
Author
matthew_han...@apple.com
Date
2017-02-05 20:03:38 -0800 (Sun, 05 Feb 2017)

Log Message

Merge r211538. rdar://problem/30229620

Modified Paths

Diff

Modified: branches/safari-603-branch/Source/WebKit2/ChangeLog (211694 => 211695)


--- branches/safari-603-branch/Source/WebKit2/ChangeLog	2017-02-06 04:03:36 UTC (rev 211694)
+++ branches/safari-603-branch/Source/WebKit2/ChangeLog	2017-02-06 04:03:38 UTC (rev 211695)
@@ -1,3 +1,27 @@
+2017-02-02  Matthew Hanson  <matthew_han...@apple.com>
+
+        Merge r211538. rdar://problem/30229620
+
+    2017-02-01  Enrica Casucci  <enr...@apple.com>
+
+            WebProcess crashes in  int WTF::__throw_bad_variant_access<int> when expanding/shrinking a block selection.
+            https://bugs.webkit.org/show_bug.cgi?id=167673
+            rdar://problem/30229620
+
+            Reviewed by Anders Carlsson
+
+            This is a speculative fix for a bug that might have been introduced
+            with http://trac.webkit.org/changeset/208479.
+            The code in containsRange inline fuction in WebPageIOS.mm has not been
+            updated when the return value of Range::compareBoundaryPoints was changed
+            to ExceptionOr<short>.
+            Since there is already a method containsRange in the Range class that
+            does the right thing, expandedRangeFromHandle now uses that.
+
+            * WebProcess/WebPage/ios/WebPageIOS.mm:
+            (WebKit::WebPage::expandedRangeFromHandle):
+            (WebKit::containsRange): Deleted.
+
 2017-01-31  Matthew Hanson  <matthew_han...@apple.com>
 
         Merge r211387. rdar://problem/29500273

Modified: branches/safari-603-branch/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (211694 => 211695)


--- branches/safari-603-branch/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm	2017-02-06 04:03:36 UTC (rev 211694)
+++ branches/safari-603-branch/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm	2017-02-06 04:03:38 UTC (rev 211695)
@@ -1258,15 +1258,6 @@
         && (heightRatio > minMagnitudeRatio && yOriginShiftRatio < maxDisplacementRatio));
 }
 
-static inline bool containsRange(Range* first, Range* second)
-{
-    if (!first || !second)
-        return false;
-    return first->commonAncestorContainer()->ownerDocument() == second->commonAncestorContainer()->ownerDocument()
-        && first->compareBoundaryPoints(Range::START_TO_START, *second).releaseReturnValue() <= 0
-        && first->compareBoundaryPoints(Range::END_TO_END, *second).releaseReturnValue() >= 0;
-}
-
 static inline RefPtr<Range> unionDOMRanges(Range* rangeA, Range* rangeB)
 {
     if (!rangeB)
@@ -1336,9 +1327,9 @@
         if (!rangeAtPosition || &currentRange->ownerDocument() != &rangeAtPosition->ownerDocument())
             continue;
 
-        if (containsRange(rangeAtPosition.get(), currentRange))
+        if (rangeAtPosition->contains(*currentRange))
             newRange = rangeAtPosition;
-        else if (containsRange(currentRange, rangeAtPosition.get()))
+        else if (currentRange->contains(*rangeAtPosition.get()))
             newRange = currentRange;
         else
             newRange = unionDOMRanges(currentRange, rangeAtPosition.get());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to