Title: [125461] branches/safari-536.26-branch/Source/WebCore
- Revision
- 125461
- Author
- [email protected]
- Date
- 2012-08-13 15:35:48 -0700 (Mon, 13 Aug 2012)
Log Message
Merged r125104. <rdar://problem/12082988>
Modified Paths
Diff
Modified: branches/safari-536.26-branch/Source/WebCore/ChangeLog (125460 => 125461)
--- branches/safari-536.26-branch/Source/WebCore/ChangeLog 2012-08-13 22:16:37 UTC (rev 125460)
+++ branches/safari-536.26-branch/Source/WebCore/ChangeLog 2012-08-13 22:35:48 UTC (rev 125461)
@@ -1,5 +1,29 @@
2012-08-13 Lucas Forschler <[email protected]>
+ Merge r125104.
+
+ 2012-08-08 Beth Dakin <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=93393
+ Overflow regions sometimes repaint incorrectly after going into or
+ coming out of compositing mode
+ -and corresponding-
+ <rdar://problem/12006463>
+
+ Reviewed by Simon Fraser.
+
+ My first patch to fix this bug removed an if (parent()) check that is
+ needed to prevent a table crash seen in
+ fast/table/table-row-compositing-repaint-crash.html
+ The parent() check was actually added originally to prevent this same
+ crash. See http://trac.webkit.org/changeset/110456
+ This patch adds that check back, but really we should delay the
+ computation of repaint rects if layout has not happened yet.
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateBacking):
+
+2012-08-13 Lucas Forschler <[email protected]>
+
Merge r125086.
2012-08-08 Beth Dakin <[email protected]>
@@ -205173,3 +205197,4 @@
.
.
.
+.
Modified: branches/safari-536.26-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp (125460 => 125461)
--- branches/safari-536.26-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp 2012-08-13 22:16:37 UTC (rev 125460)
+++ branches/safari-536.26-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp 2012-08-13 22:35:48 UTC (rev 125461)
@@ -487,6 +487,12 @@
repaintOnCompositingChange(layer);
layer->ensureBacking();
+
+ // This layer and all of its descendants have cached repaints rects that are relative to
+ // the repaint container, so change when compositing changes; we need to update them here.
+ if (layer->parent())
+ layer->computeRepaintRectsIncludingDescendants();
+
layerChanged = true;
}
} else {
@@ -504,6 +510,10 @@
layer->clearBacking();
layerChanged = true;
+
+ // This layer and all of its descendants have cached repaints rects that are relative to
+ // the repaint container, so change when compositing changes; we need to update them here.
+ layer->computeRepaintRectsIncludingDescendants();
// If we need to repaint, do so now that we've removed the backing
if (shouldRepaint == CompositingChangeRepaintNow)
@@ -525,13 +535,6 @@
innerCompositor->updateRootLayerAttachment();
}
- if (layerChanged) {
-
- // This layer and all of its descendants have cached repaints rects that are relative to
- // the repaint container, so change when compositing changes; we need to update them here.
- layer->computeRepaintRectsIncludingDescendants();
- }
-
return layerChanged;
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes