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 || ¤tRange->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