<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[183300] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/183300">183300</a></dd>
<dt>Author</dt> <dd>simon.fraser@apple.com</dd>
<dt>Date</dt> <dd>2015-04-24 18:02:52 -0700 (Fri, 24 Apr 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Track a coverage rect through GraphicsLayerCA flushes, use it to mark backing store attached
https://bugs.webkit.org/show_bug.cgi?id=144165

Reviewed by Dean Jackson.

Source/WebCore:

Push in the clipRect as the secondary rect when doing a GraphicsLayerCA flush,
which maps this rect through all the layers. Each layer tests intersection with
this rect to determine if its backing store should be attached.

This will cause us to drop backing store for layers that don't intersect the
visible part of the view, which is too aggressive. A future patch will add
some padding.

Tests: compositing/visible-rect/coverage-clipped.html
       compositing/visible-rect/coverage-scrolling.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA): Remove initialization of things with
C++11 initializers. Initialize the new m_intersectsCoverageRect bit.
(WebCore::GraphicsLayerCA::flushCompositingState): Push the clipRect in as the
secondary coverage rect. A future patch will inflate this on the way down the tree.
(WebCore::GraphicsLayerCA::computeVisibleRect): If we're clipping, and
we have a secondary coverage rect, that rect can be clipped to us too.
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateBackingStoreAttachment):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
* platform/graphics/ca/GraphicsLayerCA.h: New CoverageRectChanged bit.
Use more C++11 initializers.
(WebCore::GraphicsLayerCA::coverageRect):

LayoutTests:

Updated results that now include coverage rects, and a new test that includes both visible
and hidden layers.

* compositing/contents-scale/animating-expected.txt:
* compositing/contents-scale/rounded-contents-scale-expected.txt:
* compositing/contents-scale/scaled-ancestor-expected.txt:
* compositing/contents-scale/simple-scale-expected.txt:
* compositing/contents-scale/z-translate-expected.txt:
* compositing/visible-rect/coverage-clipped-expected.txt: Added.
* compositing/visible-rect/coverage-clipped.html: Added.
* compositing/visible-rect/coverage-scrolling-expected.txt: Added.
* compositing/visible-rect/coverage-scrolling.html: Added.
* platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt: Added.
* platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt: Added.
* platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
* platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac/compositing/visible-rect/2d-transformed-expected.txt:
* platform/mac/compositing/visible-rect/3d-transform-style-expected.txt:
* platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
* platform/mac/compositing/visible-rect/animated-expected.txt:
* platform/mac/compositing/visible-rect/animated-from-none-expected.txt:
* platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt:
* platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt:
* platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt:
* platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt:
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/compositing/visible-rect/nested-transform-expected.txt:
* platform/mac/compositing/visible-rect/scrolled-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestscompositingcontentsscaleanimatingexpectedtxt">trunk/LayoutTests/compositing/contents-scale/animating-expected.txt</a></li>
<li><a href="#trunkLayoutTestscompositingcontentsscaleroundedcontentsscaleexpectedtxt">trunk/LayoutTests/compositing/contents-scale/rounded-contents-scale-expected.txt</a></li>
<li><a href="#trunkLayoutTestscompositingcontentsscalescaledancestorexpectedtxt">trunk/LayoutTests/compositing/contents-scale/scaled-ancestor-expected.txt</a></li>
<li><a href="#trunkLayoutTestscompositingcontentsscalesimplescaleexpectedtxt">trunk/LayoutTests/compositing/contents-scale/simple-scale-expected.txt</a></li>
<li><a href="#trunkLayoutTestscompositingcontentsscaleztranslateexpectedtxt">trunk/LayoutTests/compositing/contents-scale/z-translate-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingoverflowclippingbehaviourchangeisnotpropagatedtodescendantsexpectedtxt">trunk/LayoutTests/platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingoverflowclippingbehaviourchangeisnotpropagatedtodescendants2expectedtxt">trunk/LayoutTests/platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingtilingrotatedtiledclampedexpectedtxt">trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingtilingrotatedtiledpreserve3dclampedexpectedtxt">trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingtilingtilecachezoomedexpectedtxt">trunk/LayoutTests/platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerect2dtransformedexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/2d-transformed-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerect3dtransformstyleexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/3d-transform-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerect3dtransformedexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/3d-transformed-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerectanimatedexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/animated-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerectanimatedfromnoneexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/animated-from-none-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerectclippedbyviewportexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerectclippedvisiblerectexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerectflippedpreserve3dexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerectiframeandlayersexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerectiframenolayersexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerectnestedtransformexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/nested-transform-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccompositingvisiblerectscrolledexpectedtxt">trunk/LayoutTests/platform/mac/compositing/visible-rect/scrolled-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2compositingtilingrotatedtiledclampedexpectedtxt">trunk/LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2compositingtilingrotatedtiledpreserve3dclampedexpectedtxt">trunk/LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2compositingtilingtilecachezoomedexpectedtxt">trunk/LayoutTests/platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2compositingvisiblerectiframenolayersexpectedtxt">trunk/LayoutTests/platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscaGraphicsLayerCAcpp">trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscaGraphicsLayerCAh">trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestscompositingvisiblerectcoverageclippedexpectedtxt">trunk/LayoutTests/compositing/visible-rect/coverage-clipped-expected.txt</a></li>
<li><a href="#trunkLayoutTestscompositingvisiblerectcoverageclippedhtml">trunk/LayoutTests/compositing/visible-rect/coverage-clipped.html</a></li>
<li><a href="#trunkLayoutTestscompositingvisiblerectcoveragescrollingexpectedtxt">trunk/LayoutTests/compositing/visible-rect/coverage-scrolling-expected.txt</a></li>
<li><a href="#trunkLayoutTestscompositingvisiblerectcoveragescrollinghtml">trunk/LayoutTests/compositing/visible-rect/coverage-scrolling.html</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatorwk2compositingvisiblerectcoverageclippedexpectedtxt">trunk/LayoutTests/platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatorwk2compositingvisiblerectcoveragescrollingexpectedtxt">trunk/LayoutTests/platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/ChangeLog        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -1,3 +1,46 @@
</span><ins>+2015-04-24  Simon Fraser  &lt;simon.fraser@apple.com&gt;
+
+        Track a coverage rect through GraphicsLayerCA flushes, use it to mark backing store attached
+        https://bugs.webkit.org/show_bug.cgi?id=144165
+
+        Reviewed by Dean Jackson.
+        
+        Updated results that now include coverage rects, and a new test that includes both visible
+        and hidden layers.
+
+        * compositing/contents-scale/animating-expected.txt:
+        * compositing/contents-scale/rounded-contents-scale-expected.txt:
+        * compositing/contents-scale/scaled-ancestor-expected.txt:
+        * compositing/contents-scale/simple-scale-expected.txt:
+        * compositing/contents-scale/z-translate-expected.txt:
+        * compositing/visible-rect/coverage-clipped-expected.txt: Added.
+        * compositing/visible-rect/coverage-clipped.html: Added.
+        * compositing/visible-rect/coverage-scrolling-expected.txt: Added.
+        * compositing/visible-rect/coverage-scrolling.html: Added.
+        * platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt: Added.
+        * platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt: Added.
+        * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
+        * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
+        * platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
+        * platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
+        * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
+        * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
+        * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
+        * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
+        * platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
+        * platform/mac/compositing/visible-rect/2d-transformed-expected.txt:
+        * platform/mac/compositing/visible-rect/3d-transform-style-expected.txt:
+        * platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
+        * platform/mac/compositing/visible-rect/animated-expected.txt:
+        * platform/mac/compositing/visible-rect/animated-from-none-expected.txt:
+        * platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt:
+        * platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt:
+        * platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt:
+        * platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt:
+        * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
+        * platform/mac/compositing/visible-rect/nested-transform-expected.txt:
+        * platform/mac/compositing/visible-rect/scrolled-expected.txt:
+
</ins><span class="cx"> 2015-04-21  Geoffrey Garen  &lt;ggaren@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         It shouldn't take 1846 lines of code and 5 FIXMEs to sort an array.
</span></span></pre></div>
<a id="trunkLayoutTestscompositingcontentsscaleanimatingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/compositing/contents-scale/animating-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/compositing/contents-scale/animating-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/compositing/contents-scale/animating-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -3,12 +3,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -19,6 +23,8 @@
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (transform [1.50 0.00 0.00 0.00] [0.00 1.50 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">           (visible rect 0.00, 0.00 100.00 x 100.00)
</span><ins>+          (coverage rect 0.00, 0.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkLayoutTestscompositingcontentsscaleroundedcontentsscaleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/compositing/contents-scale/rounded-contents-scale-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/compositing/contents-scale/rounded-contents-scale-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/compositing/contents-scale/rounded-contents-scale-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,12 +2,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -15,6 +19,8 @@
</span><span class="cx">           (bounds 784.00 512.00)
</span><span class="cx">           (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.78 0.51 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">           (visible rect 0.00, 0.00 784.00 x 512.00)
</span><ins>+          (coverage rect -8.00, -8.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 6
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -23,6 +29,8 @@
</span><span class="cx">               (drawsContent 1)
</span><span class="cx">               (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 -200.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 102.00 x 102.00)
</span><ins>+              (coverage rect -8.00, -8.00 800.00 x 600.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">             )
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -32,6 +40,8 @@
</span><span class="cx">               (drawsContent 1)
</span><span class="cx">               (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 -100.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 102.00 x 102.00)
</span><ins>+              (coverage rect -8.00, -8.00 800.00 x 600.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">             )
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -40,6 +50,8 @@
</span><span class="cx">               (contentsOpaque 1)
</span><span class="cx">               (drawsContent 1)
</span><span class="cx">               (visible rect 0.00, 0.00 102.00 x 102.00)
</span><ins>+              (coverage rect -8.00, -8.00 800.00 x 600.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">             )
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -49,6 +61,8 @@
</span><span class="cx">               (drawsContent 1)
</span><span class="cx">               (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 50.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 102.00 x 102.00)
</span><ins>+              (coverage rect -8.00, -8.00 800.00 x 600.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">             )
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -58,6 +72,8 @@
</span><span class="cx">               (drawsContent 1)
</span><span class="cx">               (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 100.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 102.00 x 102.00)
</span><ins>+              (coverage rect -8.00, -8.00 800.00 x 600.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">             )
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -67,6 +83,8 @@
</span><span class="cx">               (drawsContent 1)
</span><span class="cx">               (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 150.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 102.00 x 4.40)
</span><ins>+              (coverage rect -8.00, -8.00 800.00 x 600.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">             )
</span><span class="cx">           )
</span></span></pre></div>
<a id="trunkLayoutTestscompositingcontentsscalescaledancestorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/compositing/contents-scale/scaled-ancestor-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/compositing/contents-scale/scaled-ancestor-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/compositing/contents-scale/scaled-ancestor-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -3,12 +3,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -18,6 +22,8 @@
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (transform [2.00 0.00 0.00 0.00] [0.00 2.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">           (visible rect 0.00, 0.00 102.00 x 102.00)
</span><ins>+          (coverage rect 0.00, 0.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -26,6 +32,8 @@
</span><span class="cx">               (contentsOpaque 1)
</span><span class="cx">               (drawsContent 1)
</span><span class="cx">               (visible rect 0.00, 0.00 100.00 x 100.00)
</span><ins>+              (coverage rect -11.00, -11.00 800.00 x 600.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">             )
</span><span class="cx">           )
</span></span></pre></div>
<a id="trunkLayoutTestscompositingcontentsscalesimplescaleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/compositing/contents-scale/simple-scale-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/compositing/contents-scale/simple-scale-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/compositing/contents-scale/simple-scale-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -3,12 +3,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -19,6 +23,8 @@
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (transform [2.00 0.00 0.00 0.00] [0.00 2.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">           (visible rect 0.00, 0.00 100.00 x 100.00)
</span><ins>+          (coverage rect 0.00, 0.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkLayoutTestscompositingcontentsscaleztranslateexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/compositing/contents-scale/z-translate-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/compositing/contents-scale/z-translate-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/compositing/contents-scale/z-translate-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -4,12 +4,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -17,6 +21,8 @@
</span><span class="cx">           (bounds 102.00 102.00)
</span><span class="cx">           (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">           (visible rect 0.00, 0.00 102.00 x 102.00)
</span><ins>+          (coverage rect -8.00, -8.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -27,6 +33,8 @@
</span><span class="cx">               (drawsContent 1)
</span><span class="cx">               (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 100.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 100.00 x 100.00)
</span><ins>+              (coverage rect -7.20, -7.20 640.00 x 480.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -37,6 +45,8 @@
</span><span class="cx">                   (drawsContent 1)
</span><span class="cx">                   (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 100.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 100.00 x 100.00)
</span><ins>+                  (coverage rect -15.40, -33.40 480.00 x 360.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">               )
</span></span></pre></div>
<a id="trunkLayoutTestscompositingvisiblerectcoverageclippedexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/compositing/visible-rect/coverage-clipped-expected.txt (0 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/compositing/visible-rect/coverage-clipped-expected.txt                                (rev 0)
+++ trunk/LayoutTests/compositing/visible-rect/coverage-clipped-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -0,0 +1,123 @@
</span><ins>+       
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 785.00 4021.00)
+  (visible rect 0.00, 0.00 785.00 x 600.00)
+  (coverage rect 0.00, 0.00 785.00 x 600.00)
+  (intersects coverage rect 1)
+  (contentsScale 1.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 4021.00)
+      (contentsOpaque 1)
+      (visible rect 0.00, 0.00 785.00 x 600.00)
+      (coverage rect 0.00, 0.00 785.00 x 600.00)
+      (intersects coverage rect 1)
+      (contentsScale 1.00)
+      (children 1
+        (GraphicsLayer
+          (position 28.00 33.00)
+          (bounds 202.00 202.00)
+          (visible rect 0.00, 0.00 202.00 x 202.00)
+          (coverage rect -28.00, -33.00 785.00 x 600.00)
+          (intersects coverage rect 1)
+          (contentsScale 1.00)
+          (children 1
+            (GraphicsLayer
+              (position 1.00 1.00)
+              (bounds 200.00 200.00)
+              (visible rect 0.00, 0.00 200.00 x 200.00)
+              (coverage rect 0.00, 0.00 200.00 x 200.00)
+              (intersects coverage rect 1)
+              (contentsScale 1.00)
+              (children 9
+                (GraphicsLayer
+                  (position -264.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (coverage rect 264.00, -22.00 200.00 x 200.00)
+                  (intersects coverage rect 0)
+                  (contentsScale 1.00)
+                )
+                (GraphicsLayer
+                  (position -140.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (coverage rect 140.00, -22.00 200.00 x 200.00)
+                  (intersects coverage rect 0)
+                  (contentsScale 1.00)
+                )
+                (GraphicsLayer
+                  (position -16.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 16.00, 0.00 112.00 x 128.00)
+                  (coverage rect 16.00, -22.00 200.00 x 200.00)
+                  (intersects coverage rect 1)
+                  (contentsScale 1.00)
+                )
+                (GraphicsLayer
+                  (position 108.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 92.00 x 128.00)
+                  (coverage rect -108.00, -22.00 200.00 x 200.00)
+                  (intersects coverage rect 1)
+                  (contentsScale 1.00)
+                )
+                (GraphicsLayer
+                  (position 232.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (coverage rect -232.00, -22.00 200.00 x 200.00)
+                  (intersects coverage rect 0)
+                  (contentsScale 1.00)
+                )
+                (GraphicsLayer
+                  (position 356.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (coverage rect -356.00, -22.00 200.00 x 200.00)
+                  (intersects coverage rect 0)
+                  (contentsScale 1.00)
+                )
+                (GraphicsLayer
+                  (position 480.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (coverage rect -480.00, -22.00 200.00 x 200.00)
+                  (intersects coverage rect 0)
+                  (contentsScale 1.00)
+                )
+                (GraphicsLayer
+                  (position 604.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (coverage rect -604.00, -22.00 200.00 x 200.00)
+                  (intersects coverage rect 0)
+                  (contentsScale 1.00)
+                )
+                (GraphicsLayer
+                  (position -264.00 166.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (coverage rect 264.00, -166.00 200.00 x 200.00)
+                  (intersects coverage rect 0)
+                  (contentsScale 1.00)
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
</ins></span></pre></div>
<a id="trunkLayoutTestscompositingvisiblerectcoverageclippedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/compositing/visible-rect/coverage-clipped.html (0 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/compositing/visible-rect/coverage-clipped.html                                (rev 0)
+++ trunk/LayoutTests/compositing/visible-rect/coverage-clipped.html        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -0,0 +1,69 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+
+&lt;html&gt;
+&lt;head&gt;
+    &lt;style&gt;
+        body {
+            height: 4000px;
+        }
+        
+        .container {
+            position: absolute;
+            height: 200px;
+            width: 200px;
+            margin: 20px;
+            border: 1px solid black;
+            overflow: hidden;
+            z-index: 0;
+        }
+        ol {
+            position: relative;
+            width: 1000px;
+            left: -300px;
+        }
+        li {
+            display: inline-block;
+            margin: 20px 10px;
+            height: 100px;
+            width: 100px;
+            border: 10px solid blue;
+            background-color: gray;
+            box-shadow: 0 0 10px black;
+            font-size: 24pt;
+            box-sizing: border-box;
+            -webkit-transform: translateZ(0);
+        }
+    &lt;/style&gt;
+    &lt;script&gt;
+        if (window.testRunner)
+            testRunner.dumpAsText();
+
+        function doTest()
+        {
+            if (window.internals)
+                document.getElementById('layers').innerText = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_VISIBLE_RECTS)
+        }
+
+        window.addEventListener('load', doTest, false);
+    &lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+
+&lt;div class=&quot;container&quot;&gt;
+    &lt;ol&gt;
+        &lt;li&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;/li&gt;
+    &lt;/ol&gt;
+&lt;/div&gt;
+&lt;pre id=&quot;layers&quot;&gt;Layer tree goes here when testing&lt;/pre&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+
</ins></span></pre></div>
<a id="trunkLayoutTestscompositingvisiblerectcoveragescrollingexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/compositing/visible-rect/coverage-scrolling-expected.txt (0 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/compositing/visible-rect/coverage-scrolling-expected.txt                                (rev 0)
+++ trunk/LayoutTests/compositing/visible-rect/coverage-scrolling-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -0,0 +1,111 @@
</span><ins>+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 785.00 4208.00)
+  (visible rect 0.00, 980.00 785.00 x 600.00)
+  (coverage rect 0.00, 980.00 785.00 x 600.00)
+  (intersects coverage rect 1)
+  (contentsScale 1.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 4208.00)
+      (contentsOpaque 1)
+      (visible rect 0.00, 980.00 785.00 x 600.00)
+      (coverage rect 0.00, 980.00 785.00 x 600.00)
+      (intersects coverage rect 1)
+      (contentsScale 1.00)
+      (children 9
+        (GraphicsLayer
+          (position 107.00 186.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (coverage rect -107.00, 794.00 785.00 x 600.00)
+          (intersects coverage rect 0)
+          (contentsScale 1.00)
+        )
+        (GraphicsLayer
+          (position 107.00 586.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (coverage rect -107.00, 394.00 785.00 x 600.00)
+          (intersects coverage rect 0)
+          (contentsScale 1.00)
+        )
+        (GraphicsLayer
+          (position 107.00 986.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 355.00 x 228.00)
+          (coverage rect -107.00, -6.00 785.00 x 600.00)
+          (intersects coverage rect 1)
+          (contentsScale 1.00)
+        )
+        (GraphicsLayer
+          (position 107.00 1386.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 355.00 x 194.00)
+          (coverage rect -107.00, -406.00 785.00 x 600.00)
+          (intersects coverage rect 1)
+          (contentsScale 1.00)
+        )
+        (GraphicsLayer
+          (position 107.00 1786.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (coverage rect -107.00, -806.00 785.00 x 600.00)
+          (intersects coverage rect 0)
+          (contentsScale 1.00)
+        )
+        (GraphicsLayer
+          (position 107.00 2186.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (coverage rect -107.00, -1206.00 785.00 x 600.00)
+          (intersects coverage rect 0)
+          (contentsScale 1.00)
+        )
+        (GraphicsLayer
+          (position 107.00 2586.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (coverage rect -107.00, -1606.00 785.00 x 600.00)
+          (intersects coverage rect 0)
+          (contentsScale 1.00)
+        )
+        (GraphicsLayer
+          (position 107.00 2986.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (coverage rect -107.00, -2006.00 785.00 x 600.00)
+          (intersects coverage rect 0)
+          (contentsScale 1.00)
+        )
+        (GraphicsLayer
+          (position 107.00 3386.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (coverage rect -107.00, -2406.00 785.00 x 600.00)
+          (intersects coverage rect 0)
+          (contentsScale 1.00)
+        )
+      )
+    )
+  )
+)
+
</ins></span></pre></div>
<a id="trunkLayoutTestscompositingvisiblerectcoveragescrollinghtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/compositing/visible-rect/coverage-scrolling.html (0 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/compositing/visible-rect/coverage-scrolling.html                                (rev 0)
+++ trunk/LayoutTests/compositing/visible-rect/coverage-scrolling.html        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -0,0 +1,63 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+
+&lt;html&gt;
+&lt;head&gt;
+    &lt;style&gt;
+        body {
+            height: 4000px;
+        }
+        
+        ol {
+            height: 80%;
+        }
+        li {
+            margin: 200px 100px;
+            height: 200px;
+            width: 300px;
+            border: 10px solid blue;
+            background-color: gray;
+            box-shadow: 0 0 10px black;
+            font-size: 24pt;
+            box-sizing: border-box;
+            -webkit-transform: translateZ(0);
+        }
+    &lt;/style&gt;
+    &lt;script&gt;
+        if (window.testRunner) {
+            testRunner.dumpAsText();
+            testRunner.waitUntilDone();
+        }
+
+        function doTest()
+        {
+            window.setTimeout(function() {
+                window.scrollTo(0, 980);
+                if (window.internals)
+                    document.getElementById('layers').innerText = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_VISIBLE_RECTS)
+
+                if (window.testRunner)
+                    testRunner.notifyDone();
+            }, 0);
+        }
+
+        window.addEventListener('load', doTest, false);
+    &lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+
+&lt;ol&gt;
+    &lt;li&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;/li&gt;
+&lt;/ol&gt;
+&lt;pre id=&quot;layers&quot;&gt;Layer tree goes here when testing&lt;/pre&gt;
+
+&lt;/body&gt;
+&lt;/html&gt;
+
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorwk2compositingvisiblerectcoverageclippedexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt (0 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt                                (rev 0)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -0,0 +1,97 @@
</span><ins>+       
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 4021.00)
+  (visible rect 0.00, 0.00 800.00 x 600.00)
+  (contentsScale 2.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 4021.00)
+      (contentsOpaque 1)
+      (visible rect 0.00, 0.00 800.00 x 600.00)
+      (contentsScale 2.00)
+      (children 1
+        (GraphicsLayer
+          (position 28.00 33.00)
+          (bounds 202.00 202.00)
+          (visible rect 0.00, 0.00 202.00 x 202.00)
+          (contentsScale 2.00)
+          (children 1
+            (GraphicsLayer
+              (position 1.00 1.00)
+              (bounds 200.00 200.00)
+              (visible rect 0.00, 0.00 200.00 x 200.00)
+              (contentsScale 2.00)
+              (children 9
+                (GraphicsLayer
+                  (position -264.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (contentsScale 2.00)
+                )
+                (GraphicsLayer
+                  (position -140.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (contentsScale 2.00)
+                )
+                (GraphicsLayer
+                  (position -16.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 16.00, 0.00 112.00 x 128.00)
+                  (contentsScale 2.00)
+                )
+                (GraphicsLayer
+                  (position 108.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 92.00 x 128.00)
+                  (contentsScale 2.00)
+                )
+                (GraphicsLayer
+                  (position 232.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (contentsScale 2.00)
+                )
+                (GraphicsLayer
+                  (position 356.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (contentsScale 2.00)
+                )
+                (GraphicsLayer
+                  (position 480.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (contentsScale 2.00)
+                )
+                (GraphicsLayer
+                  (position 604.00 22.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (contentsScale 2.00)
+                )
+                (GraphicsLayer
+                  (position -264.00 167.00)
+                  (bounds 128.00 128.00)
+                  (drawsContent 1)
+                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                  (contentsScale 2.00)
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorwk2compositingvisiblerectcoveragescrollingexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt (0 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt                                (rev 0)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -0,0 +1,89 @@
</span><ins>+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 4208.00)
+  (visible rect 0.00, 0.00 800.00 x 600.00)
+  (contentsScale 2.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 4208.00)
+      (contentsOpaque 1)
+      (visible rect 0.00, 0.00 800.00 x 600.00)
+      (contentsScale 2.00)
+      (children 9
+        (GraphicsLayer
+          (position 107.00 186.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 355.00 x 228.00)
+          (contentsScale 2.00)
+        )
+        (GraphicsLayer
+          (position 107.00 586.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 355.00 x 14.00)
+          (contentsScale 2.00)
+        )
+        (GraphicsLayer
+          (position 107.00 986.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (contentsScale 2.00)
+        )
+        (GraphicsLayer
+          (position 107.00 1386.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (contentsScale 2.00)
+        )
+        (GraphicsLayer
+          (position 107.00 1786.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (contentsScale 2.00)
+        )
+        (GraphicsLayer
+          (position 107.00 2186.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (contentsScale 2.00)
+        )
+        (GraphicsLayer
+          (position 107.00 2586.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (contentsScale 2.00)
+        )
+        (GraphicsLayer
+          (position 107.00 2986.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (contentsScale 2.00)
+        )
+        (GraphicsLayer
+          (position 107.00 3386.00)
+          (anchor 0.54 0.50)
+          (bounds 355.00 228.00)
+          (drawsContent 1)
+          (visible rect 0.00, 0.00 0.00 x 0.00)
+          (contentsScale 2.00)
+        )
+      )
+    )
+  )
+)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingoverflowclippingbehaviourchangeisnotpropagatedtodescendantsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -8,12 +8,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 807.00 585.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 585.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 585.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 807.00 585.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 585.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 585.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 6
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -21,6 +25,8 @@
</span><span class="cx">           (bounds 22.00 22.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 22.00 x 22.00)
</span><ins>+          (coverage rect -8.00, -96.00 800.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -28,6 +34,8 @@
</span><span class="cx">           (bounds 22.00 22.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 22.00 x 22.00)
</span><ins>+          (coverage rect -8.00, -138.00 800.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -35,18 +43,24 @@
</span><span class="cx">           (bounds 102.00 20.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 102.00 x 20.00)
</span><ins>+          (coverage rect -8.00, -86.00 800.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 9.00 87.00)
</span><span class="cx">           (bounds 100.00 18.00)
</span><span class="cx">           (visible rect 0.00, 0.00 100.00 x 18.00)
</span><ins>+          (coverage rect 0.00, 0.00 100.00 x 18.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="cx">               (bounds 100.00 18.00)
</span><span class="cx">               (drawsContent 1)
</span><span class="cx">               (visible rect 0.00, 0.00 100.00 x 18.00)
</span><ins>+              (coverage rect 0.00, 0.00 100.00 x 18.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">             )
</span><span class="cx">           )
</span><span class="lines">@@ -56,6 +70,8 @@
</span><span class="cx">           (bounds 102.00 20.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 102.00 x 20.00)
</span><ins>+          (coverage rect -8.00, -128.00 800.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -63,6 +79,8 @@
</span><span class="cx">           (bounds 807.00 18.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 800.00 x 18.00)
</span><ins>+          (coverage rect 0.00, -129.00 800.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingoverflowclippingbehaviourchangeisnotpropagatedtodescendants2expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -8,12 +8,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 807.00 585.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 585.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 585.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 807.00 585.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 585.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 585.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 6
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -21,6 +25,8 @@
</span><span class="cx">           (bounds 22.00 22.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 22.00 x 22.00)
</span><ins>+          (coverage rect -8.00, -96.00 800.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -28,6 +34,8 @@
</span><span class="cx">           (bounds 22.00 22.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 22.00 x 22.00)
</span><ins>+          (coverage rect -8.00, -138.00 800.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -35,18 +43,24 @@
</span><span class="cx">           (bounds 102.00 20.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 102.00 x 20.00)
</span><ins>+          (coverage rect -8.00, -86.00 800.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 9.00 87.00)
</span><span class="cx">           (bounds 100.00 18.00)
</span><span class="cx">           (visible rect 0.00, 0.00 100.00 x 18.00)
</span><ins>+          (coverage rect 0.00, 0.00 100.00 x 18.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="cx">               (bounds 100.00 18.00)
</span><span class="cx">               (drawsContent 1)
</span><span class="cx">               (visible rect 0.00, 0.00 100.00 x 18.00)
</span><ins>+              (coverage rect 0.00, 0.00 100.00 x 18.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">             )
</span><span class="cx">           )
</span><span class="lines">@@ -56,6 +70,8 @@
</span><span class="cx">           (bounds 102.00 20.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 102.00 x 20.00)
</span><ins>+          (coverage rect -8.00, -128.00 800.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -63,6 +79,8 @@
</span><span class="cx">           (bounds 798.00 18.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 791.00 x 18.00)
</span><ins>+          (coverage rect -9.00, -129.00 800.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingtilingrotatedtiledclampedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,18 +2,24 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 58.00 50.00)
</span><span class="cx">           (bounds 502.00 302.00)
</span><span class="cx">           (visible rect 0.00, 0.00 502.00 x 302.00)
</span><ins>+          (coverage rect -58.00, -50.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -21,6 +27,8 @@
</span><span class="cx">               (bounds 500.00 300.00)
</span><span class="cx">               (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 500.00 x 300.00)
</span><ins>+              (coverage rect 0.00, 0.00 500.00 x 300.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -32,6 +40,8 @@
</span><span class="cx">                   (drawsContent 1)
</span><span class="cx">                   (transform [0.17 0.00 -0.98 0.00] [0.00 1.00 0.00 0.00] [0.98 0.00 0.17 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 2800.00 x 300.00)
</span><ins>+                  (coverage rect 0.00, 0.00 500.00 x 300.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                   (tile cache coverage 0, 0 2800 x 300)
</span><span class="cx">                   (tile size 512 x 512)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingtilingrotatedtiledpreserve3dclampedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,18 +2,24 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 58.00 50.00)
</span><span class="cx">           (bounds 502.00 302.00)
</span><span class="cx">           (visible rect 0.00, 0.00 502.00 x 302.00)
</span><ins>+          (coverage rect -58.00, -50.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -21,11 +27,15 @@
</span><span class="cx">               (bounds 500.00 300.00)
</span><span class="cx">               (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 500.00 x 300.00)
</span><ins>+              (coverage rect 0.00, 0.00 500.00 x 300.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="cx">                   (preserves3D 1)
</span><span class="cx">                   (visible rect 0.00, 0.00 0.00 x 0.00)
</span><ins>+                  (coverage rect 0.00, 0.00 500.00 x 300.00)
+                  (intersects coverage rect 0)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                   (children 1
</span><span class="cx">                     (GraphicsLayer
</span><span class="lines">@@ -37,6 +47,8 @@
</span><span class="cx">                       (drawsContent 1)
</span><span class="cx">                       (transform [0.17 0.00 -0.98 0.00] [0.00 1.00 0.00 0.00] [0.98 0.00 0.17 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                       (visible rect 0.00, 0.00 2800.00 x 300.00)
</span><ins>+                      (coverage rect -1562500.00, -1562500.00 1563571.88 x 1562694.63)
+                      (intersects coverage rect 1)
</ins><span class="cx">                       (contentsScale 1.00)
</span><span class="cx">                       (tile cache coverage 0, 0 2800 x 300)
</span><span class="cx">                       (tile size 512 x 512)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingtilingtilecachezoomedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,6 +2,8 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 1932.00 4150.00)
</span><span class="cx">   (visible rect 0.00, 0.00 785.00 x 585.00)
</span><ins>+  (coverage rect 0.00, 0.00 785.00 x 585.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="lines">@@ -10,6 +12,8 @@
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (transform [1.60 0.00 0.00 0.00] [0.00 1.60 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">       (visible rect 0.00, 0.00 490.63 x 365.63)
</span><ins>+      (coverage rect 0.00, 0.00 785.00 x 585.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.60)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -18,6 +22,8 @@
</span><span class="cx">           (contentsOpaque 1)
</span><span class="cx">           (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">           (visible rect 0.00, 0.00 482.63 x 357.63)
</span><ins>+          (coverage rect 0.00, 0.00 785.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.60)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerect2dtransformedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/2d-transformed-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/2d-transformed-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/2d-transformed-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,24 +2,32 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 8.00 8.00)
</span><span class="cx">           (bounds 502.00 202.00)
</span><span class="cx">           (visible rect 0.00, 0.00 502.00 x 202.00)
</span><ins>+          (coverage rect -8.00, -8.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="cx">               (position 1.00 1.00)
</span><span class="cx">               (bounds 500.00 200.00)
</span><span class="cx">               (visible rect 0.00, 0.00 500.00 x 200.00)
</span><ins>+              (coverage rect 0.00, 0.00 500.00 x 200.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 3
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -27,6 +35,8 @@
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [-100.00 0.00 0.00 1.00])
</span><span class="cx">                   (visible rect 100.00, 0.00 100.00 x 200.00)
</span><ins>+                  (coverage rect 100.00, 0.00 500.00 x 200.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -34,6 +44,8 @@
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (transform [0.71 0.71 0.00 0.00] [-0.71 0.71 0.00 0.00] [0.00 0.00 1.00 0.00] [150.00 0.00 0.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 200.00 x 200.00)
</span><ins>+                  (coverage rect 0.00, 0.00 500.00 x 200.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -41,6 +53,8 @@
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [400.00 0.00 0.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 100.00 x 200.00)
</span><ins>+                  (coverage rect -400.00, 0.00 500.00 x 200.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">               )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerect3dtransformstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/3d-transform-style-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/3d-transform-style-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/3d-transform-style-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,18 +2,24 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 2
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 18.00 10.00)
</span><span class="cx">           (bounds 204.00 204.00)
</span><span class="cx">           (visible rect 0.00, 0.00 204.00 x 204.00)
</span><ins>+          (coverage rect -18.00, -10.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -21,11 +27,15 @@
</span><span class="cx">               (bounds 200.00 200.00)
</span><span class="cx">               (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.07 0.07 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 200.00 x 200.00)
</span><ins>+              (coverage rect 0.00, 0.00 200.00 x 200.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="cx">                   (preserves3D 1)
</span><span class="cx">                   (visible rect 0.00, 0.00 0.00 x 0.00)
</span><ins>+                  (coverage rect 0.00, 0.00 200.00 x 200.00)
+                  (intersects coverage rect 0)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                   (children 1
</span><span class="cx">                     (GraphicsLayer
</span><span class="lines">@@ -33,6 +43,8 @@
</span><span class="cx">                       (contentsOpaque 1)
</span><span class="cx">                       (transform [1.00 0.00 0.00 0.00] [0.00 0.91 0.42 0.00] [0.00 -0.42 0.91 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                       (visible rect 0.00, 0.00 213.67 x 200.68)
</span><ins>+                      (coverage rect -4.32, -20.27 217.99 x 220.95)
+                      (intersects coverage rect 1)
</ins><span class="cx">                       (contentsScale 1.00)
</span><span class="cx">                     )
</span><span class="cx">                   )
</span><span class="lines">@@ -45,6 +57,8 @@
</span><span class="cx">           (position 18.00 224.00)
</span><span class="cx">           (bounds 204.00 204.00)
</span><span class="cx">           (visible rect 0.00, 0.00 204.00 x 204.00)
</span><ins>+          (coverage rect -18.00, -224.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -52,11 +66,15 @@
</span><span class="cx">               (bounds 200.00 200.00)
</span><span class="cx">               (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.07 0.07 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 200.00 x 200.00)
</span><ins>+              (coverage rect 0.00, 0.00 200.00 x 200.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="cx">                   (preserves3D 1)
</span><span class="cx">                   (visible rect 0.00, 0.00 0.00 x 0.00)
</span><ins>+                  (coverage rect 0.00, 0.00 200.00 x 200.00)
+                  (intersects coverage rect 0)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                   (children 1
</span><span class="cx">                     (GraphicsLayer
</span><span class="lines">@@ -64,6 +82,8 @@
</span><span class="cx">                       (contentsOpaque 1)
</span><span class="cx">                       (transform [0.91 0.00 0.42 0.00] [0.00 1.00 0.00 0.00] [-0.42 0.00 0.91 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                       (visible rect 0.00, 0.00 200.68 x 213.67)
</span><ins>+                      (coverage rect -20.27, -4.32 220.95 x 217.99)
+                      (intersects coverage rect 1)
</ins><span class="cx">                       (contentsScale 1.00)
</span><span class="cx">                     )
</span><span class="cx">                   )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerect3dtransformedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/3d-transformed-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/3d-transformed-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/3d-transformed-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,18 +2,24 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 2
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 18.00 10.00)
</span><span class="cx">           (bounds 204.00 204.00)
</span><span class="cx">           (visible rect 0.00, 0.00 204.00 x 204.00)
</span><ins>+          (coverage rect -18.00, -10.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -21,6 +27,8 @@
</span><span class="cx">               (bounds 200.00 200.00)
</span><span class="cx">               (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.07 0.07 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 200.00 x 200.00)
</span><ins>+              (coverage rect 0.00, 0.00 200.00 x 200.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -29,6 +37,8 @@
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (transform [1.00 0.00 0.00 0.00] [0.00 0.71 0.71 0.00] [0.00 -0.71 0.71 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 220.62 x 218.46)
</span><ins>+                  (coverage rect 0.00, 0.00 200.00 x 200.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">               )
</span><span class="lines">@@ -39,6 +49,8 @@
</span><span class="cx">           (position 18.00 224.00)
</span><span class="cx">           (bounds 204.00 204.00)
</span><span class="cx">           (visible rect 0.00, 0.00 204.00 x 204.00)
</span><ins>+          (coverage rect -18.00, -224.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -46,6 +58,8 @@
</span><span class="cx">               (bounds 200.00 200.00)
</span><span class="cx">               (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.07 0.07 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 200.00 x 200.00)
</span><ins>+              (coverage rect 0.00, 0.00 200.00 x 200.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -54,6 +68,8 @@
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (transform [0.71 0.00 0.71 0.00] [0.00 1.00 0.00 0.00] [-0.71 0.00 0.71 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 218.46 x 220.62)
</span><ins>+                  (coverage rect 0.00, 0.00 200.00 x 200.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">               )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerectanimatedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/animated-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/animated-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/animated-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,24 +2,32 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 8.00 8.00)
</span><span class="cx">           (bounds 502.00 202.00)
</span><span class="cx">           (visible rect 0.00, 0.00 502.00 x 202.00)
</span><ins>+          (coverage rect -8.00, -8.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="cx">               (position 1.00 1.00)
</span><span class="cx">               (bounds 500.00 200.00)
</span><span class="cx">               (visible rect 0.00, 0.00 500.00 x 200.00)
</span><ins>+              (coverage rect 0.00, 0.00 500.00 x 200.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -27,6 +35,8 @@
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [-100.00 0.00 0.00 1.00])
</span><span class="cx">                   (visible rect 100.00, 0.00 100.00 x 200.00)
</span><ins>+                  (coverage rect 100.00, 0.00 500.00 x 200.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">               )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerectanimatedfromnoneexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/animated-from-none-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/animated-from-none-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/animated-from-none-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,24 +2,32 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 8.00 8.00)
</span><span class="cx">           (bounds 502.00 202.00)
</span><span class="cx">           (visible rect 0.00, 0.00 502.00 x 202.00)
</span><ins>+          (coverage rect -8.00, -8.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="cx">               (position 1.00 1.00)
</span><span class="cx">               (bounds 500.00 200.00)
</span><span class="cx">               (visible rect 0.00, 0.00 500.00 x 200.00)
</span><ins>+              (coverage rect 0.00, 0.00 500.00 x 200.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -27,6 +35,8 @@
</span><span class="cx">                   (bounds 200.00 200.00)
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (visible rect 100.00, 0.00 100.00 x 200.00)
</span><ins>+                  (coverage rect 100.00, 0.00 500.00 x 200.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">               )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerectclippedbyviewportexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,12 +2,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 2
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -16,6 +20,8 @@
</span><span class="cx">           (contentsOpaque 1)
</span><span class="cx">           (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">           (visible rect 100.00, 120.00 100.00 x 80.00)
</span><ins>+          (coverage rect 0.00, 0.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -24,6 +30,8 @@
</span><span class="cx">           (contentsOpaque 1)
</span><span class="cx">           (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">           (visible rect 100.00, 0.00 100.00 x 200.00)
</span><ins>+          (coverage rect 0.00, 0.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerectclippedvisiblerectexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,24 +2,32 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 8.00 8.00)
</span><span class="cx">           (bounds 502.00 202.00)
</span><span class="cx">           (visible rect 0.00, 0.00 502.00 x 202.00)
</span><ins>+          (coverage rect -8.00, -8.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="cx">               (position 1.00 1.00)
</span><span class="cx">               (bounds 500.00 200.00)
</span><span class="cx">               (visible rect 0.00, 0.00 500.00 x 200.00)
</span><ins>+              (coverage rect 0.00, 0.00 500.00 x 200.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 3
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -28,6 +36,8 @@
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">                   (visible rect 100.00, 0.00 100.00 x 200.00)
</span><ins>+                  (coverage rect 0.00, 0.00 500.00 x 200.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -36,6 +46,8 @@
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 200.00 x 200.00)
</span><ins>+                  (coverage rect 0.00, 0.00 500.00 x 200.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -44,6 +56,8 @@
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 100.00 x 200.00)
</span><ins>+                  (coverage rect 0.00, 0.00 500.00 x 200.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                 )
</span><span class="cx">               )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerectflippedpreserve3dexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -8,12 +8,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 785.00 615.00)
</span><span class="cx">   (visible rect 0.00, 0.00 785.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 785.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 785.00 615.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 785.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 785.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -21,6 +25,8 @@
</span><span class="cx">           (bounds 602.00 602.00)
</span><span class="cx">           (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">           (visible rect 0.00, 0.00 602.00 x 587.00)
</span><ins>+          (coverage rect 0.00, -13.00 785.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -30,6 +36,8 @@
</span><span class="cx">               (preserves3D 1)
</span><span class="cx">               (transform [-1.00 0.00 -0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 -1.00 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 440.00 x 440.00)
</span><ins>+              (coverage rect -184.00, -114.00 785.00 x 600.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -37,11 +45,15 @@
</span><span class="cx">                   (contentsOpaque 1)
</span><span class="cx">                   (transform [-1.00 0.00 -0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 -1.00 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 420.00 x 420.00)
</span><ins>+                  (coverage rect -181.00, -114.00 785.00 x 600.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                   (children 1
</span><span class="cx">                     (GraphicsLayer
</span><span class="cx">                       (bounds 420.00 420.00)
</span><span class="cx">                       (visible rect 0.00, 0.00 420.00 x 420.00)
</span><ins>+                      (coverage rect 0.00, 0.00 420.00 x 420.00)
+                      (intersects coverage rect 1)
</ins><span class="cx">                       (contentsScale 1.00)
</span><span class="cx">                       (children 1
</span><span class="cx">                         (GraphicsLayer
</span><span class="lines">@@ -49,11 +61,15 @@
</span><span class="cx">                           (bounds 418.00 510.00)
</span><span class="cx">                           (contentsOpaque 1)
</span><span class="cx">                           (visible rect 0.00, 90.00 418.00 x 420.00)
</span><ins>+                          (coverage rect 0.00, 90.00 420.00 x 420.00)
+                          (intersects coverage rect 1)
</ins><span class="cx">                           (contentsScale 1.00)
</span><span class="cx">                           (children 1
</span><span class="cx">                             (GraphicsLayer
</span><span class="cx">                               (bounds 418.00 510.00)
</span><span class="cx">                               (visible rect 0.00, 90.00 418.00 x 420.00)
</span><ins>+                              (coverage rect 0.00, 90.00 418.00 x 420.00)
+                              (intersects coverage rect 1)
</ins><span class="cx">                               (contentsScale 1.00)
</span><span class="cx">                               (children 3
</span><span class="cx">                                 (GraphicsLayer
</span><span class="lines">@@ -63,6 +79,8 @@
</span><span class="cx">                                   (usingTiledLayer 1)
</span><span class="cx">                                   (drawsContent 1)
</span><span class="cx">                                   (visible rect 3000.00, 90.00 418.00 x 30.00)
</span><ins>+                                  (coverage rect 3000.00, 90.00 418.00 x 420.00)
+                                  (intersects coverage rect 1)
</ins><span class="cx">                                   (contentsScale 1.00)
</span><span class="cx">                                 )
</span><span class="cx">                                 (GraphicsLayer
</span><span class="lines">@@ -72,6 +90,8 @@
</span><span class="cx">                                   (usingTiledLayer 1)
</span><span class="cx">                                   (drawsContent 1)
</span><span class="cx">                                   (visible rect 3000.00, 0.00 418.00 x 120.00)
</span><ins>+                                  (coverage rect 3000.00, -30.00 418.00 x 420.00)
+                                  (intersects coverage rect 1)
</ins><span class="cx">                                   (contentsScale 1.00)
</span><span class="cx">                                 )
</span><span class="cx">                                 (GraphicsLayer
</span><span class="lines">@@ -81,6 +101,8 @@
</span><span class="cx">                                   (usingTiledLayer 1)
</span><span class="cx">                                   (drawsContent 1)
</span><span class="cx">                                   (visible rect 3000.00, 0.00 418.00 x 120.00)
</span><ins>+                                  (coverage rect 3000.00, -150.00 418.00 x 420.00)
+                                  (intersects coverage rect 1)
</ins><span class="cx">                                   (contentsScale 1.00)
</span><span class="cx">                                 )
</span><span class="cx">                               )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerectiframeandlayersexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -3,12 +3,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 1508.00 1516.00)
</span><span class="cx">   (visible rect 0.00, 0.00 785.00 x 585.00)
</span><ins>+  (coverage rect 0.00, 0.00 785.00 x 585.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 1508.00 1516.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 785.00 x 585.00)
</span><ins>+      (coverage rect 0.00, 0.00 785.00 x 585.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 2
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -16,33 +20,45 @@
</span><span class="cx">           (bounds 360.00 210.00)
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (visible rect 0.00, 0.00 360.00 x 210.00)
</span><ins>+          (coverage rect -10.00, -10.00 785.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="cx">               (position 30.00 30.00)
</span><span class="cx">               (visible rect 0.00, 0.00 0.00 x 0.00)
</span><ins>+              (coverage rect -40.00, -40.00 785.00 x 585.00)
+              (intersects coverage rect 0)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="cx">                   (anchor 0.00 0.00)
</span><span class="cx">                   (bounds 285.00 135.00)
</span><span class="cx">                   (visible rect 0.00, 0.00 285.00 x 135.00)
</span><ins>+                  (coverage rect 0.00, 0.00 285.00 x 135.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                   (children 1
</span><span class="cx">                     (GraphicsLayer
</span><span class="cx">                       (visible rect 0.00, 0.00 0.00 x 0.00)
</span><ins>+                      (coverage rect 0.00, 0.00 285.00 x 135.00)
+                      (intersects coverage rect 0)
</ins><span class="cx">                       (contentsScale 1.00)
</span><span class="cx">                       (children 1
</span><span class="cx">                         (GraphicsLayer
</span><span class="cx">                           (anchor 0.00 0.00)
</span><span class="cx">                           (bounds 1508.00 1516.00)
</span><span class="cx">                           (visible rect 0.00, 0.00 285.00 x 135.00)
</span><ins>+                          (coverage rect 0.00, 0.00 285.00 x 135.00)
+                          (intersects coverage rect 1)
</ins><span class="cx">                           (contentsScale 1.00)
</span><span class="cx">                           (children 1
</span><span class="cx">                             (GraphicsLayer
</span><span class="cx">                               (bounds 1508.00 1516.00)
</span><span class="cx">                               (drawsContent 1)
</span><span class="cx">                               (visible rect 0.00, 0.00 285.00 x 135.00)
</span><ins>+                              (coverage rect 0.00, 0.00 285.00 x 135.00)
+                              (intersects coverage rect 1)
</ins><span class="cx">                               (contentsScale 1.00)
</span><span class="cx">                               (children 1
</span><span class="cx">                                 (GraphicsLayer
</span><span class="lines">@@ -52,6 +68,8 @@
</span><span class="cx">                                   (drawsContent 1)
</span><span class="cx">                                   (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">                                   (visible rect 0.00, 0.00 100.00 x 127.00)
</span><ins>+                                  (coverage rect 0.00, 0.00 285.00 x 135.00)
+                                  (intersects coverage rect 1)
</ins><span class="cx">                                   (contentsScale 1.00)
</span><span class="cx">                                 )
</span><span class="cx">                               )
</span><span class="lines">@@ -72,6 +90,8 @@
</span><span class="cx">           (contentsOpaque 1)
</span><span class="cx">           (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">           (visible rect 0.00, 0.00 200.00 x 200.00)
</span><ins>+          (coverage rect 0.00, 0.00 785.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerectiframenolayersexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -3,11 +3,15 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 1508.00 1516.00)
</span><span class="cx">   (visible rect 10.00, 100.00 285.00 x 135.00)
</span><ins>+  (coverage rect 10.00, 100.00 285.00 x 135.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 1508.00 1516.00)
</span><span class="cx">       (visible rect 10.00, 100.00 285.00 x 135.00)
</span><ins>+      (coverage rect 10.00, 100.00 285.00 x 135.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -17,6 +21,8 @@
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">           (visible rect 2.00, 92.00 98.00 x 135.00)
</span><ins>+          (coverage rect 10.00, 100.00 285.00 x 135.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerectnestedtransformexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/nested-transform-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/nested-transform-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/nested-transform-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,18 +2,24 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 785.00 669.00)
</span><span class="cx">   (visible rect 0.00, 0.00 785.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 785.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 785.00 669.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 785.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 785.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 2
</span><span class="cx">         (GraphicsLayer
</span><span class="cx">           (position 18.00 10.00)
</span><span class="cx">           (bounds 304.00 304.00)
</span><span class="cx">           (visible rect 0.00, 0.00 304.00 x 304.00)
</span><ins>+          (coverage rect -18.00, -10.00 785.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -21,6 +27,8 @@
</span><span class="cx">               (bounds 300.00 300.00)
</span><span class="cx">               (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.26 0.26 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 300.00 x 300.00)
</span><ins>+              (coverage rect 0.00, 0.00 300.00 x 300.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -28,6 +36,8 @@
</span><span class="cx">                   (preserves3D 1)
</span><span class="cx">                   (transform [0.94 0.00 -0.34 0.00] [0.00 1.00 0.00 0.00] [0.34 0.00 0.94 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 0.00 x 0.00)
</span><ins>+                  (coverage rect -2.95, -8.50 360.07 x 353.13)
+                  (intersects coverage rect 0)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                   (children 1
</span><span class="cx">                     (GraphicsLayer
</span><span class="lines">@@ -35,6 +45,8 @@
</span><span class="cx">                       (preserves3D 1)
</span><span class="cx">                       (transform [0.94 0.00 -0.34 0.00] [0.00 1.00 0.00 0.00] [0.34 0.00 0.94 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                       (visible rect 0.00, 0.00 0.00 x 0.00)
</span><ins>+                      (coverage rect -27.90, -32.04 593.31 x 500.27)
+                      (intersects coverage rect 0)
</ins><span class="cx">                       (contentsScale 1.00)
</span><span class="cx">                       (children 1
</span><span class="cx">                         (GraphicsLayer
</span><span class="lines">@@ -42,6 +54,8 @@
</span><span class="cx">                           (contentsOpaque 1)
</span><span class="cx">                           (transform [1.00 0.00 0.00 0.00] [0.00 0.82 0.57 0.00] [0.00 -0.57 0.82 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                           (visible rect 0.00, 0.00 500.00 x 369.91)
</span><ins>+                          (coverage rect -21.28, -198.73 1388.86 x 568.64)
+                          (intersects coverage rect 1)
</ins><span class="cx">                           (contentsScale 1.00)
</span><span class="cx">                         )
</span><span class="cx">                       )
</span><span class="lines">@@ -56,6 +70,8 @@
</span><span class="cx">           (position 18.00 324.00)
</span><span class="cx">           (bounds 304.00 304.00)
</span><span class="cx">           (visible rect 0.00, 0.00 304.00 x 276.00)
</span><ins>+          (coverage rect -18.00, -324.00 785.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -63,12 +79,16 @@
</span><span class="cx">               (bounds 300.00 300.00)
</span><span class="cx">               (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.26 0.26 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 300.00 x 274.00)
</span><ins>+              (coverage rect 0.00, 0.00 300.00 x 274.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="cx">                   (bounds 300.00 0.00)
</span><span class="cx">                   (preserves3D 1)
</span><span class="cx">                   (visible rect 0.00, 0.00 0.00 x 0.00)
</span><ins>+                  (coverage rect 0.00, 0.00 300.00 x 274.00)
+                  (intersects coverage rect 0)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                   (children 1
</span><span class="cx">                     (GraphicsLayer
</span><span class="lines">@@ -76,6 +96,8 @@
</span><span class="cx">                       (preserves3D 1)
</span><span class="cx">                       (transform [0.77 0.00 -0.64 0.00] [0.00 1.00 0.00 0.00] [0.64 0.00 0.77 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                       (visible rect 0.00, 0.00 0.00 x 0.00)
</span><ins>+                      (coverage rect -27.90, -32.04 593.31 x 456.91)
+                      (intersects coverage rect 0)
</ins><span class="cx">                       (contentsScale 1.00)
</span><span class="cx">                       (children 1
</span><span class="cx">                         (GraphicsLayer
</span><span class="lines">@@ -83,6 +105,8 @@
</span><span class="cx">                           (contentsOpaque 1)
</span><span class="cx">                           (transform [1.00 0.00 0.00 0.00] [0.00 0.82 0.57 0.00] [0.00 -0.57 0.82 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                           (visible rect 0.00, 0.00 500.00 x 351.87)
</span><ins>+                          (coverage rect -15.25, -198.73 1382.84 x 550.60)
+                          (intersects coverage rect 1)
</ins><span class="cx">                           (contentsScale 1.00)
</span><span class="cx">                         )
</span><span class="cx">                       )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccompositingvisiblerectscrolledexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/compositing/visible-rect/scrolled-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/compositing/visible-rect/scrolled-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac/compositing/visible-rect/scrolled-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,12 +2,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 1508.00 2008.00)
</span><span class="cx">   (visible rect 25.00, 200.00 785.00 x 585.00)
</span><ins>+  (coverage rect 25.00, 200.00 785.00 x 585.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 1508.00 2008.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 25.00, 200.00 785.00 x 585.00)
</span><ins>+      (coverage rect 25.00, 200.00 785.00 x 585.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -16,6 +20,8 @@
</span><span class="cx">           (contentsOpaque 1)
</span><span class="cx">           (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">           (visible rect 17.00, 200.00 183.00 x 300.00)
</span><ins>+          (coverage rect 25.00, 200.00 785.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk2compositingtilingrotatedtiledclampedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,12 +2,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (tile cache coverage 0, 0 800 x 600)
</span><span class="cx">       (tile size 512 x 512)
</span><span class="lines">@@ -17,6 +21,8 @@
</span><span class="cx">           (position 58.00 50.00)
</span><span class="cx">           (bounds 502.00 302.00)
</span><span class="cx">           (visible rect 0.00, 0.00 502.00 x 302.00)
</span><ins>+          (coverage rect -58.00, -50.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -24,6 +30,8 @@
</span><span class="cx">               (bounds 500.00 300.00)
</span><span class="cx">               (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 500.00 x 300.00)
</span><ins>+              (coverage rect 0.00, 0.00 500.00 x 300.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="lines">@@ -35,6 +43,8 @@
</span><span class="cx">                   (drawsContent 1)
</span><span class="cx">                   (transform [0.17 0.00 -0.98 0.00] [0.00 1.00 0.00 0.00] [0.98 0.00 0.17 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                   (visible rect 0.00, 0.00 2800.00 x 300.00)
</span><ins>+                  (coverage rect 0.00, 0.00 500.00 x 300.00)
+                  (intersects coverage rect 1)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                   (tile cache coverage 0, 0 2800 x 300)
</span><span class="cx">                   (tile size 512 x 512)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk2compositingtilingrotatedtiledpreserve3dclampedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,12 +2,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 800.00 600.00)
</span><span class="cx">   (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+  (coverage rect 0.00, 0.00 800.00 x 600.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 800.00 600.00)
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (visible rect 0.00, 0.00 800.00 x 600.00)
</span><ins>+      (coverage rect 0.00, 0.00 800.00 x 600.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (tile cache coverage 0, 0 800 x 600)
</span><span class="cx">       (tile size 512 x 512)
</span><span class="lines">@@ -17,6 +21,8 @@
</span><span class="cx">           (position 58.00 50.00)
</span><span class="cx">           (bounds 502.00 302.00)
</span><span class="cx">           (visible rect 0.00, 0.00 502.00 x 302.00)
</span><ins>+          (coverage rect -58.00, -50.00 800.00 x 600.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">           (children 1
</span><span class="cx">             (GraphicsLayer
</span><span class="lines">@@ -24,11 +30,15 @@
</span><span class="cx">               (bounds 500.00 300.00)
</span><span class="cx">               (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">               (visible rect 0.00, 0.00 500.00 x 300.00)
</span><ins>+              (coverage rect 0.00, 0.00 500.00 x 300.00)
+              (intersects coverage rect 1)
</ins><span class="cx">               (contentsScale 1.00)
</span><span class="cx">               (children 1
</span><span class="cx">                 (GraphicsLayer
</span><span class="cx">                   (preserves3D 1)
</span><span class="cx">                   (visible rect 0.00, 0.00 0.00 x 0.00)
</span><ins>+                  (coverage rect 0.00, 0.00 500.00 x 300.00)
+                  (intersects coverage rect 0)
</ins><span class="cx">                   (contentsScale 1.00)
</span><span class="cx">                   (children 1
</span><span class="cx">                     (GraphicsLayer
</span><span class="lines">@@ -40,6 +50,8 @@
</span><span class="cx">                       (drawsContent 1)
</span><span class="cx">                       (transform [0.17 0.00 -0.98 0.00] [0.00 1.00 0.00 0.00] [0.98 0.00 0.17 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">                       (visible rect 0.00, 0.00 2800.00 x 300.00)
</span><ins>+                      (coverage rect -1562500.00, -1562500.00 1563571.88 x 1562694.63)
+                      (intersects coverage rect 1)
</ins><span class="cx">                       (contentsScale 1.00)
</span><span class="cx">                       (tile cache coverage 0, 0 2800 x 300)
</span><span class="cx">                       (tile size 512 x 512)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk2compositingtilingtilecachezoomedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -2,6 +2,8 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 1932.00 4150.00)
</span><span class="cx">   (visible rect 0.00, 0.00 785.00 x 585.00)
</span><ins>+  (coverage rect 0.00, 0.00 785.00 x 585.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="lines">@@ -10,6 +12,8 @@
</span><span class="cx">       (contentsOpaque 1)
</span><span class="cx">       (transform [1.60 0.00 0.00 0.00] [0.00 1.60 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
</span><span class="cx">       (visible rect 0.00, 0.00 490.63 x 365.63)
</span><ins>+      (coverage rect 0.00, 0.00 785.00 x 585.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.60)
</span><span class="cx">       (tile cache coverage 0, 0 640 x 640)
</span><span class="cx">       (tile size 512 x 512)
</span><span class="lines">@@ -21,6 +25,8 @@
</span><span class="cx">           (contentsOpaque 1)
</span><span class="cx">           (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">           (visible rect 0.00, 0.00 482.63 x 357.63)
</span><ins>+          (coverage rect 0.00, 0.00 785.00 x 585.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.60)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk2compositingvisiblerectiframenolayersexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/LayoutTests/platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -3,12 +3,16 @@
</span><span class="cx">   (anchor 0.00 0.00)
</span><span class="cx">   (bounds 1508.00 1516.00)
</span><span class="cx">   (visible rect 10.00, 100.00 285.00 x 135.00)
</span><ins>+  (coverage rect 10.00, 100.00 285.00 x 135.00)
+  (intersects coverage rect 1)
</ins><span class="cx">   (contentsScale 1.00)
</span><span class="cx">   (children 1
</span><span class="cx">     (GraphicsLayer
</span><span class="cx">       (bounds 1508.00 1516.00)
</span><span class="cx">       (drawsContent 1)
</span><span class="cx">       (visible rect 10.00, 100.00 285.00 x 135.00)
</span><ins>+      (coverage rect 10.00, 100.00 285.00 x 135.00)
+      (intersects coverage rect 1)
</ins><span class="cx">       (contentsScale 1.00)
</span><span class="cx">       (children 1
</span><span class="cx">         (GraphicsLayer
</span><span class="lines">@@ -18,6 +22,8 @@
</span><span class="cx">           (drawsContent 1)
</span><span class="cx">           (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
</span><span class="cx">           (visible rect 2.00, 92.00 98.00 x 135.00)
</span><ins>+          (coverage rect 10.00, 100.00 285.00 x 135.00)
+          (intersects coverage rect 1)
</ins><span class="cx">           (contentsScale 1.00)
</span><span class="cx">         )
</span><span class="cx">       )
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/Source/WebCore/ChangeLog        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -1,3 +1,37 @@
</span><ins>+2015-04-24  Simon Fraser  &lt;simon.fraser@apple.com&gt;
+
+        Track a coverage rect through GraphicsLayerCA flushes, use it to mark backing store attached
+        https://bugs.webkit.org/show_bug.cgi?id=144165
+
+        Reviewed by Dean Jackson.
+        
+        Push in the clipRect as the secondary rect when doing a GraphicsLayerCA flush,
+        which maps this rect through all the layers. Each layer tests intersection with
+        this rect to determine if its backing store should be attached.
+        
+        This will cause us to drop backing store for layers that don't intersect the
+        visible part of the view, which is too aggressive. A future patch will add
+        some padding.
+
+        Tests: compositing/visible-rect/coverage-clipped.html
+               compositing/visible-rect/coverage-scrolling.html
+
+        * platform/graphics/ca/GraphicsLayerCA.cpp:
+        (WebCore::GraphicsLayerCA::GraphicsLayerCA): Remove initialization of things with
+        C++11 initializers. Initialize the new m_intersectsCoverageRect bit.
+        (WebCore::GraphicsLayerCA::flushCompositingState): Push the clipRect in as the
+        secondary coverage rect. A future patch will inflate this on the way down the tree.
+        (WebCore::GraphicsLayerCA::computeVisibleRect): If we're clipping, and
+        we have a secondary coverage rect, that rect can be clipped to us too.
+        (WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):
+        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
+        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
+        (WebCore::GraphicsLayerCA::updateBackingStoreAttachment):
+        (WebCore::GraphicsLayerCA::dumpAdditionalProperties):
+        * platform/graphics/ca/GraphicsLayerCA.h: New CoverageRectChanged bit.
+        Use more C++11 initializers.
+        (WebCore::GraphicsLayerCA::coverageRect):
+
</ins><span class="cx"> 2015-04-24  Dean Jackson  &lt;dino@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         AnimationController::scrollWasUpdated() shows up in scrolling profiles on pages that don't use scroll triggers
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscaGraphicsLayerCAcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -351,11 +351,9 @@
</span><span class="cx"> 
</span><span class="cx"> GraphicsLayerCA::GraphicsLayerCA(Type layerType, GraphicsLayerClient&amp; client)
</span><span class="cx">     : GraphicsLayer(layerType, client)
</span><del>-    , m_contentsLayerPurpose(NoContentsLayer)
</del><span class="cx">     , m_needsFullRepaint(false)
</span><span class="cx">     , m_usingBackdropLayerType(false)
</span><del>-    , m_uncommittedChanges(0)
-    , m_isCommittingChanges(false)
</del><ins>+    , m_intersectsCoverageRect(true)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1077,6 +1075,8 @@
</span><span class="cx"> void GraphicsLayerCA::flushCompositingState(const FloatRect&amp; clipRect)
</span><span class="cx"> {
</span><span class="cx">     TransformState state(TransformState::UnapplyInverseTransformDirection, FloatQuad(clipRect));
</span><ins>+    FloatQuad coverageQuad(clipRect);
+    state.setSecondaryQuad(&amp;coverageQuad);
</ins><span class="cx">     recursiveCommitChanges(CommitState(), state);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1211,22 +1211,23 @@
</span><span class="cx">         // Flatten, and replace the quad in the TransformState with one that is clipped to this layer's bounds.
</span><span class="cx">         state.flatten();
</span><span class="cx">         state.setQuad(clipRectForSelf);
</span><ins>+        if (state.lastPlanarSecondaryQuad()) {
+            FloatQuad secondaryQuad(clipRectForSelf);
+            state.setSecondaryQuad(&amp;secondaryQuad);
+        }
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return clipRectForSelf;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-// rootRelativeTransformForScaling is a transform from the root, but for layers with transform animations, it cherry-picked the state of the
-// animation that contributes maximally to the scale (on every layer with animations down the hierarchy).
-void GraphicsLayerCA::recursiveCommitChanges(const CommitState&amp; commitState, const TransformState&amp; state, float pageScaleFactor, const FloatPoint&amp; positionRelativeToBase, bool affectedByPageScale)
</del><ins>+void GraphicsLayerCA::setVisibleAndCoverageRects(const FloatRect&amp; visibleRect, const FloatRect&amp; coverageRect)
</ins><span class="cx"> {
</span><del>-    TransformState localState = state;
-    CommitState childCommitState = commitState;
-    bool affectedByTransformAnimation = commitState.ancestorHasTransformAnimation;
-    
-    FloatRect visibleRect = computeVisibleRect(localState);
-    FloatRect oldVisibleRect = m_visibleRect;
-    if (visibleRect != m_visibleRect) {
</del><ins>+    bool visibleRectChanged = visibleRect != m_visibleRect;
+    bool coverageRectChanged = coverageRect != m_coverageRect;
+    if (!visibleRectChanged &amp;&amp; !coverageRectChanged)
+        return;
+
+    if (visibleRectChanged) {
</ins><span class="cx">         m_uncommittedChanges |= VisibleRectChanged;
</span><span class="cx">         m_visibleRect = visibleRect;
</span><span class="cx">         
</span><span class="lines">@@ -1237,6 +1238,36 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    if (coverageRectChanged) {
+        m_uncommittedChanges |= CoverageRectChanged;
+        m_coverageRect = coverageRect;
+
+        // FIXME: we need to take reflections into account when determining whether this layer intersects the coverage rect.
+        m_intersectsCoverageRect = m_coverageRect.intersects(FloatRect(m_boundsOrigin, size()));
+
+        if (GraphicsLayerCA* maskLayer = downcast&lt;GraphicsLayerCA&gt;(m_maskLayer)) {
+            maskLayer-&gt;m_uncommittedChanges |= CoverageRectChanged;
+            maskLayer-&gt;m_coverageRect = coverageRect;
+        }
+    }
+}
+
+// rootRelativeTransformForScaling is a transform from the root, but for layers with transform animations, it cherry-picked the state of the
+// animation that contributes maximally to the scale (on every layer with animations down the hierarchy).
+void GraphicsLayerCA::recursiveCommitChanges(const CommitState&amp; commitState, const TransformState&amp; state, float pageScaleFactor, const FloatPoint&amp; positionRelativeToBase, bool affectedByPageScale)
+{
+    TransformState localState = state;
+    CommitState childCommitState = commitState;
+    bool affectedByTransformAnimation = commitState.ancestorHasTransformAnimation;
+    
+    FloatRect visibleRect = computeVisibleRect(localState);
+    FloatRect coverageRect = visibleRect;
+    if (std::unique_ptr&lt;FloatQuad&gt; quad = localState.mappedSecondaryQuad())
+        coverageRect = quad-&gt;boundingBox();
+
+    FloatRect oldVisibleRect = m_visibleRect;
+    setVisibleAndCoverageRects(visibleRect, coverageRect);
+
</ins><span class="cx"> #ifdef VISIBLE_TILE_WASH
</span><span class="cx">     // Use having a transform as a key to making the tile wash layer. If every layer gets a wash,
</span><span class="cx">     // they start to obscure useful information.
</span><span class="lines">@@ -1457,6 +1488,9 @@
</span><span class="cx"> 
</span><span class="cx">     if (m_uncommittedChanges &amp; VisibleRectChanged)
</span><span class="cx">         updateVisibleRect(oldVisibleRect);
</span><ins>+    
+    if (m_uncommittedChanges &amp; CoverageRectChanged)
+        updateBackingStoreAttachment();
</ins><span class="cx"> 
</span><span class="cx">     if (m_uncommittedChanges &amp; TilingAreaChanged) // Needs to happen after VisibleRectChanged, ContentsScaleChanged
</span><span class="cx">         updateTiles();
</span><span class="lines">@@ -1931,6 +1965,16 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void GraphicsLayerCA::updateBackingStoreAttachment()
+{
+    m_layer-&gt;setBackingStoreAttached(m_intersectsCoverageRect);
+    if (m_layerClones) {
+        LayerMap::const_iterator end = m_layerClones-&gt;end();
+        for (LayerMap::const_iterator it = m_layerClones-&gt;begin(); it != end; ++it)
+            it-&gt;value-&gt;setBackingStoreAttached(m_intersectsCoverageRect);
+    }
+}
+
</ins><span class="cx"> void GraphicsLayerCA::updateAcceleratesDrawing()
</span><span class="cx"> {
</span><span class="cx">     m_layer-&gt;setAcceleratesDrawing(m_acceleratesDrawing);
</span><span class="lines">@@ -3133,7 +3177,6 @@
</span><span class="cx">     GraphicsLayer::getDebugBorderInfo(color, width);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-
</del><span class="cx"> static void dumpInnerLayer(TextStream&amp; textStream, String label, PlatformCALayer* layer, int indent, LayerTreeAsTextBehavior behavior)
</span><span class="cx"> {
</span><span class="cx">     if (!layer)
</span><span class="lines">@@ -3154,6 +3197,12 @@
</span><span class="cx">         textStream &lt;&lt; &quot;(visible rect &quot; &lt;&lt; m_visibleRect.x() &lt;&lt; &quot;, &quot; &lt;&lt; m_visibleRect.y() &lt;&lt; &quot; &quot; &lt;&lt; m_visibleRect.width() &lt;&lt; &quot; x &quot; &lt;&lt; m_visibleRect.height() &lt;&lt; &quot;)\n&quot;;
</span><span class="cx"> 
</span><span class="cx">         writeIndent(textStream, indent + 1);
</span><ins>+        textStream &lt;&lt; &quot;(coverage rect &quot; &lt;&lt; m_coverageRect.x() &lt;&lt; &quot;, &quot; &lt;&lt; m_coverageRect.y() &lt;&lt; &quot; &quot; &lt;&lt; m_coverageRect.width() &lt;&lt; &quot; x &quot; &lt;&lt; m_coverageRect.height() &lt;&lt; &quot;)\n&quot;;
+
+        writeIndent(textStream, indent + 1);
+        textStream &lt;&lt; &quot;(intersects coverage rect &quot; &lt;&lt; m_intersectsCoverageRect &lt;&lt; &quot;)\n&quot;;
+
+        writeIndent(textStream, indent + 1);
</ins><span class="cx">         textStream &lt;&lt; &quot;(contentsScale &quot; &lt;&lt; m_layer-&gt;contentsScale() &lt;&lt; &quot;)\n&quot;;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscaGraphicsLayerCAh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h (183299 => 183300)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h        2015-04-25 00:25:39 UTC (rev 183299)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h        2015-04-25 01:02:52 UTC (rev 183300)
</span><span class="lines">@@ -276,7 +276,11 @@
</span><span class="cx">     enum ComputeVisibleRectFlag { RespectAnimatingTransforms = 1 &lt;&lt; 0 };
</span><span class="cx">     typedef unsigned ComputeVisibleRectFlags;
</span><span class="cx">     FloatRect computeVisibleRect(TransformState&amp;, ComputeVisibleRectFlags = RespectAnimatingTransforms) const;
</span><ins>+
</ins><span class="cx">     const FloatRect&amp; visibleRect() const { return m_visibleRect; }
</span><ins>+    const FloatRect&amp; coverageRect() const { return m_coverageRect; }
+
+    void setVisibleAndCoverageRects(const FloatRect&amp; visibleRect, const FloatRect&amp; coverageRect);
</ins><span class="cx">     
</span><span class="cx">     static FloatRect adjustTiledLayerVisibleRect(TiledBacking*, const FloatRect&amp; oldVisibleRect, const FloatRect&amp; newVisibleRect, const FloatSize&amp; oldSize, const FloatSize&amp; newSize);
</span><span class="cx"> 
</span><span class="lines">@@ -447,15 +451,16 @@
</span><span class="cx">         ContentsScaleChanged =          1LLU &lt;&lt; 24,
</span><span class="cx">         ContentsVisibilityChanged =     1LLU &lt;&lt; 25,
</span><span class="cx">         VisibleRectChanged =            1LLU &lt;&lt; 26,
</span><del>-        FiltersChanged =                1LLU &lt;&lt; 27,
-        BackdropFiltersChanged =        1LLU &lt;&lt; 28,
-        TilingAreaChanged =             1LLU &lt;&lt; 29,
-        TilesAdded =                    1LLU &lt;&lt; 30,
-        DebugIndicatorsChanged =        1LLU &lt;&lt; 31,
-        CustomAppearanceChanged =       1LLU &lt;&lt; 32,
-        BlendModeChanged =              1LLU &lt;&lt; 33,
-        ShapeChanged =                  1LLU &lt;&lt; 34,
-        WindRuleChanged =               1LLU &lt;&lt; 35,
</del><ins>+        CoverageRectChanged =           1LLU &lt;&lt; 27,
+        FiltersChanged =                1LLU &lt;&lt; 28,
+        BackdropFiltersChanged =        1LLU &lt;&lt; 29,
+        TilingAreaChanged =             1LLU &lt;&lt; 30,
+        TilesAdded =                    1LLU &lt;&lt; 31,
+        DebugIndicatorsChanged =        1LLU &lt;&lt; 32,
+        CustomAppearanceChanged =       1LLU &lt;&lt; 33,
+        BlendModeChanged =              1LLU &lt;&lt; 34,
+        ShapeChanged =                  1LLU &lt;&lt; 35,
+        WindRuleChanged =               1LLU &lt;&lt; 36,
</ins><span class="cx">     };
</span><span class="cx">     typedef uint64_t LayerChangeFlags;
</span><span class="cx">     enum ScheduleFlushOrNot { ScheduleFlush, DontScheduleFlush };
</span><span class="lines">@@ -488,10 +493,13 @@
</span><span class="cx"> #endif
</span><span class="cx">     FloatRect m_visibleRect;
</span><span class="cx">     FloatSize m_sizeAtLastVisibleRectUpdate;
</span><ins>+
+    FloatRect m_coverageRect; // Area for which we should maintain backing store, in the coordinate space of this layer.
</ins><span class="cx">     
</span><del>-    ContentsLayerPurpose m_contentsLayerPurpose;
</del><ins>+    ContentsLayerPurpose m_contentsLayerPurpose { NoContentsLayer };
</ins><span class="cx">     bool m_needsFullRepaint : 1;
</span><span class="cx">     bool m_usingBackdropLayerType : 1;
</span><ins>+    bool m_intersectsCoverageRect : 1;
</ins><span class="cx"> 
</span><span class="cx">     Color m_contentsSolidColor;
</span><span class="cx"> 
</span><span class="lines">@@ -542,8 +550,8 @@
</span><span class="cx"> 
</span><span class="cx">     FloatSize m_pixelAlignmentOffset;
</span><span class="cx"> 
</span><del>-    LayerChangeFlags m_uncommittedChanges;
-    bool m_isCommittingChanges;
</del><ins>+    LayerChangeFlags m_uncommittedChanges { 0 };
+    bool m_isCommittingChanges { false };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre>
</div>
</div>

</body>
</html>