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

Reply via email to