Title: [205510] trunk
- Revision
- 205510
- Author
- [email protected]
- Date
- 2016-09-06 14:53:07 -0700 (Tue, 06 Sep 2016)
Log Message
ASSERTION FAILED: !paintInfo.overlapTestRequests->contains(this) in WebCore::RenderWidget::paintContents
https://bugs.webkit.org/show_bug.cgi?id=135602
<rdar://problem/27701733>
Reviewed by Simon Fraser.
Source/WebCore:
ASSERT is updated to support multiple fragments painting. We just have to ensure that the FrameView's rect
has not changed between the 2 paintContents calls.
Test: fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paintContents):
LayoutTests:
* fast/layers/assert-on-overlap-testing-with-frames-inside-columns-expected.txt: Added.
* fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (205509 => 205510)
--- trunk/LayoutTests/ChangeLog 2016-09-06 21:47:13 UTC (rev 205509)
+++ trunk/LayoutTests/ChangeLog 2016-09-06 21:53:07 UTC (rev 205510)
@@ -1,3 +1,14 @@
+2016-09-06 Zalan Bujtas <[email protected]>
+
+ ASSERTION FAILED: !paintInfo.overlapTestRequests->contains(this) in WebCore::RenderWidget::paintContents
+ https://bugs.webkit.org/show_bug.cgi?id=135602
+ <rdar://problem/27701733>
+
+ Reviewed by Simon Fraser.
+
+ * fast/layers/assert-on-overlap-testing-with-frames-inside-columns-expected.txt: Added.
+ * fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html: Added.
+
2016-09-06 Simon Fraser <[email protected]>
Align element.scroll() / scrollTo() / scrollBy() with the CSSOM specification
Added: trunk/LayoutTests/fast/layers/assert-on-overlap-testing-with-frames-inside-columns-expected.txt (0 => 205510)
--- trunk/LayoutTests/fast/layers/assert-on-overlap-testing-with-frames-inside-columns-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/layers/assert-on-overlap-testing-with-frames-inside-columns-expected.txt 2016-09-06 21:53:07 UTC (rev 205510)
@@ -0,0 +1,2 @@
+ALERT: Pass if no assert in debug
+
Added: trunk/LayoutTests/fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html (0 => 205510)
--- trunk/LayoutTests/fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html (rev 0)
+++ trunk/LayoutTests/fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html 2016-09-06 21:53:07 UTC (rev 205510)
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>This tests that we can manage overlap testing on frame views inside columns.</title>
+<script>
+if (window.testRunner) {
+ testRunner.dumpAsText();
+ testRunner.waitUntilDone();
+}
+function runTest() {
+ alert("Pass if no assert in debug");
+ if (window.testRunner)
+ testRunner.notifyDone();
+}
+</script>
+<style>
+html, frame {
+ -webkit-column-count: 2;
+}
+</style>
+</head>
+<frameset _onload_='runTest()'><frame></frame></frameset>
Modified: trunk/Source/WebCore/ChangeLog (205509 => 205510)
--- trunk/Source/WebCore/ChangeLog 2016-09-06 21:47:13 UTC (rev 205509)
+++ trunk/Source/WebCore/ChangeLog 2016-09-06 21:53:07 UTC (rev 205510)
@@ -1,3 +1,19 @@
+2016-09-06 Zalan Bujtas <[email protected]>
+
+ ASSERTION FAILED: !paintInfo.overlapTestRequests->contains(this) in WebCore::RenderWidget::paintContents
+ https://bugs.webkit.org/show_bug.cgi?id=135602
+ <rdar://problem/27701733>
+
+ Reviewed by Simon Fraser.
+
+ ASSERT is updated to support multiple fragments painting. We just have to ensure that the FrameView's rect
+ has not changed between the 2 paintContents calls.
+
+ Test: fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html
+
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::paintContents):
+
2016-09-06 Commit Queue <[email protected]>
Unreviewed, rolling out r205504.
Modified: trunk/Source/WebCore/rendering/RenderWidget.cpp (205509 => 205510)
--- trunk/Source/WebCore/rendering/RenderWidget.cpp 2016-09-06 21:47:13 UTC (rev 205509)
+++ trunk/Source/WebCore/rendering/RenderWidget.cpp 2016-09-06 21:53:07 UTC (rev 205510)
@@ -241,7 +241,7 @@
FrameView& frameView = downcast<FrameView>(*m_widget);
bool runOverlapTests = !frameView.useSlowRepaintsIfNotOverlapped();
if (paintInfo.overlapTestRequests && runOverlapTests) {
- ASSERT(!paintInfo.overlapTestRequests->contains(this));
+ ASSERT(!paintInfo.overlapTestRequests->contains(this) || (paintInfo.overlapTestRequests->get(this) == m_widget->frameRect()));
paintInfo.overlapTestRequests->set(this, m_widget->frameRect());
}
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes