Title: [148048] trunk/Source/WebCore
Revision
148048
Author
[email protected]
Date
2013-04-09 13:52:39 -0700 (Tue, 09 Apr 2013)

Log Message

window.internals.repaintRectsAsText() is hard to use because it doesn't force layout
https://bugs.webkit.org/show_bug.cgi?id=114219

Reviewed by Beth Dakin.

Force layout when setTracksRepaints() is set to true, to flush out any pending
repaints from a layout that hasn't happened yet. Also force layout in
trackedRepaintRectsAsText(), so that any pending layout happpens and thus
repaints.

* page/FrameView.cpp:
(WebCore::FrameView::setTracksRepaints):
(WebCore::FrameView::trackedRepaintRectsAsText):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (148047 => 148048)


--- trunk/Source/WebCore/ChangeLog	2013-04-09 20:48:44 UTC (rev 148047)
+++ trunk/Source/WebCore/ChangeLog	2013-04-09 20:52:39 UTC (rev 148048)
@@ -1,3 +1,19 @@
+2013-04-08  Simon Fraser  <[email protected]>
+
+        window.internals.repaintRectsAsText() is hard to use because it doesn't force layout
+        https://bugs.webkit.org/show_bug.cgi?id=114219
+
+        Reviewed by Beth Dakin.
+
+        Force layout when setTracksRepaints() is set to true, to flush out any pending
+        repaints from a layout that hasn't happened yet. Also force layout in
+        trackedRepaintRectsAsText(), so that any pending layout happpens and thus
+        repaints.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::setTracksRepaints):
+        (WebCore::FrameView::trackedRepaintRectsAsText):
+
 2013-04-09  Chris Fleizach  <[email protected]>
 
         AX: Bounding paths should be made available through accessibility

Modified: trunk/Source/WebCore/page/FrameView.cpp (148047 => 148048)


--- trunk/Source/WebCore/page/FrameView.cpp	2013-04-09 20:48:44 UTC (rev 148047)
+++ trunk/Source/WebCore/page/FrameView.cpp	2013-04-09 20:52:39 UTC (rev 148048)
@@ -3920,6 +3920,12 @@
     if (trackRepaints == m_isTrackingRepaints)
         return;
 
+    // Force layout to flush out any pending repaints.
+    if (trackRepaints) {
+        if (frame() && frame()->document())
+            frame()->document()->updateLayout();
+    }
+
 #if USE(ACCELERATED_COMPOSITING)
     for (Frame* frame = m_frame->tree()->top(); frame; frame = frame->tree()->traverseNext()) {
         if (RenderView* renderView = frame->contentRenderer())
@@ -3942,6 +3948,9 @@
 
 String FrameView::trackedRepaintRectsAsText() const
 {
+    if (frame() && frame()->document())
+        frame()->document()->updateLayout();
+
     TextStream ts;
     if (!m_trackedRepaintRects.isEmpty()) {
         ts << "(repaint rects\n";
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to