Title: [254907] releases/WebKitGTK/webkit-2.26
- Revision
- 254907
- Author
- [email protected]
- Date
- 2020-01-22 02:26:39 -0800 (Wed, 22 Jan 2020)
Log Message
Merge r250929 - RunResolver::rangeForRendererWithOffsets should check for range end
https://bugs.webkit.org/show_bug.cgi?id=202761
<rdar://problem/55917924>
Reviewed by Antti Koivisto.
Source/WebCore:
This patch ensures that when rangeForRenderer comes back with a collapsed run (empty range), rangeForRendererWithOffsets returns an empty range as well.
Test: fast/text/simple-line-layout-range-check-end.html
* rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::rangeForRendererWithOffsets const):
LayoutTests:
* fast/text/simple-line-layout-range-check-end-expected.txt: Added.
* fast/text/simple-line-layout-range-check-end.html: Added.
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-2.26/LayoutTests/ChangeLog (254906 => 254907)
--- releases/WebKitGTK/webkit-2.26/LayoutTests/ChangeLog 2020-01-22 10:26:33 UTC (rev 254906)
+++ releases/WebKitGTK/webkit-2.26/LayoutTests/ChangeLog 2020-01-22 10:26:39 UTC (rev 254907)
@@ -1,3 +1,14 @@
+2019-10-09 Zalan Bujtas <[email protected]>
+
+ RunResolver::rangeForRendererWithOffsets should check for range end
+ https://bugs.webkit.org/show_bug.cgi?id=202761
+ <rdar://problem/55917924>
+
+ Reviewed by Antti Koivisto.
+
+ * fast/text/simple-line-layout-range-check-end-expected.txt: Added.
+ * fast/text/simple-line-layout-range-check-end.html: Added.
+
2019-10-28 Zalan Bujtas <[email protected]>
Hidden framesets should provide default edgeInfo value
Added: releases/WebKitGTK/webkit-2.26/LayoutTests/fast/text/simple-line-layout-range-check-end-expected.txt (0 => 254907)
--- releases/WebKitGTK/webkit-2.26/LayoutTests/fast/text/simple-line-layout-range-check-end-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-2.26/LayoutTests/fast/text/simple-line-layout-range-check-end-expected.txt 2020-01-22 10:26:39 UTC (rev 254907)
@@ -0,0 +1,3 @@
+Pass if no crash or assert.
+text
+
Added: releases/WebKitGTK/webkit-2.26/LayoutTests/fast/text/simple-line-layout-range-check-end.html (0 => 254907)
--- releases/WebKitGTK/webkit-2.26/LayoutTests/fast/text/simple-line-layout-range-check-end.html (rev 0)
+++ releases/WebKitGTK/webkit-2.26/LayoutTests/fast/text/simple-line-layout-range-check-end.html 2020-01-22 10:26:39 UTC (rev 254907)
@@ -0,0 +1,14 @@
+Pass if no crash or assert.
+<div id=first></div>
+<div id=middle></div>
+<div id=last></div>
+<script>
+if (window.testRunner)
+ testRunner.dumpAsText();
+middle.after("text");
+
+var foo = document.createRange();
+foo.selectNodeContents(last);
+foo.setStartAfter(first);
+foo.getBoundingClientRect();
+</script>
Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog (254906 => 254907)
--- releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog 2020-01-22 10:26:33 UTC (rev 254906)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog 2020-01-22 10:26:39 UTC (rev 254907)
@@ -1,3 +1,18 @@
+2019-10-09 Zalan Bujtas <[email protected]>
+
+ RunResolver::rangeForRendererWithOffsets should check for range end
+ https://bugs.webkit.org/show_bug.cgi?id=202761
+ <rdar://problem/55917924>
+
+ Reviewed by Antti Koivisto.
+
+ This patch ensures that when rangeForRenderer comes back with a collapsed run (empty range), rangeForRendererWithOffsets returns an empty range as well.
+
+ Test: fast/text/simple-line-layout-range-check-end.html
+
+ * rendering/SimpleLineLayoutResolver.cpp:
+ (WebCore::SimpleLineLayout::RunResolver::rangeForRendererWithOffsets const):
+
2019-11-13 Xabier Rodriguez Calvar <[email protected]>
[GStreamer] Several issues while trying to play a video on NextCloud
Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/SimpleLineLayoutResolver.cpp (254906 => 254907)
--- releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/SimpleLineLayoutResolver.cpp 2020-01-22 10:26:33 UTC (rev 254906)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/SimpleLineLayoutResolver.cpp 2020-01-22 10:26:39 UTC (rev 254907)
@@ -299,6 +299,8 @@
{
ASSERT(startOffset <= endOffset);
auto range = rangeForRenderer(renderer);
+ if (range.begin() == range.end())
+ return { end(), end() };
auto it = range.begin();
auto localEnd = (*it).start() + endOffset;
// Advance to the first run with the start offset inside. Only the first node in a range can have a startOffset.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes