Source/WebCore/ChangeLog

 12013-02-19 Beth Dakin <bdakin@apple.com>
 2
 3 Out-of-view fixed position check should not be affected by page scale at all on
 4 Mac
 5 https://bugs.webkit.org/show_bug.cgi?id=110294
 6 -and corresponding-
 7 <rdar://problem/13247582>
 8
 9 Reviewed by NOBODY (OOPS!).
 10
 11 We should not scale the layerBounds unless applyPageScaleFactorInCompositor is
 12 true. Otherwise the layerBounds should be relative to the viewBounds which are
 13 also unscaled.
 14 * rendering/RenderLayerCompositor.cpp:
 15 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
 16
1172013-02-19 Hayato Ito <hayato@chromium.org>
218
319 Calculate EventPath in EventDispatcher's constructor.
143426

Source/WebCore/rendering/RenderLayerCompositor.cpp

@@bool RenderLayerCompositor::requiresComp
20892089 LayoutRect viewBounds = frameView->viewportConstrainedVisibleContentRect();
20902090 LayoutRect layerBounds = layer->calculateLayerBounds(rootRenderLayer(), 0, RenderLayer::DefaultCalculateLayerBoundsFlags
20912091 | RenderLayer::ExcludeHiddenDescendants | RenderLayer::DontConstrainForMask | RenderLayer::IncludeCompositedDescendants);
2092  layerBounds.scale(frameView->frame()->frameScaleFactor());
 2092 if (frameView->frame()->settings()->applyPageScaleFactorInCompositor())
 2093 layerBounds.scale(frameView->frame()->frameScaleFactor());
20932094 if (!viewBounds.intersects(enclosingIntRect(layerBounds))) {
20942095 if (viewportConstrainedNotCompositedReason)
20952096 *viewportConstrainedNotCompositedReason = RenderLayer::NotCompositedForBoundsOutOfView;
143243

LayoutTests/ChangeLog

 12013-02-19 Beth Dakin <bdakin@apple.com>
 2
 3 Out-of-view fixed position check should not be affected by page scale at all on
 4 Mac
 5 https://bugs.webkit.org/show_bug.cgi?id=110294
 6 -and corresponding-
 7 <rdar://problem/13247582>
 8
 9 Reviewed by NOBODY (OOPS!).
 10
 11 These layer results should be the same regardless of the scale factor.
 12 * compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
 13 * compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
 14 * compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html:
 15 * compositing/layer-creation/fixed-position-out-of-view-scaled.html:
 16
1172013-02-19 Simon Fraser <simon.fraser@apple.com>
218
319 Fix TileCache tile size when zoomed on slow-scrolling site
143426

LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt

@@Scale=0.5:
2626 (bounds 800.00 1016.00)
2727 (contentsOpaque 1)
2828 (transform [0.50 0.00 0.00 0.00] [0.00 0.50 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
29  (children 4
30  (GraphicsLayer
31  (position 8.00 1008.00)
32  (bounds 10.00 10.00)
33  )
34  (GraphicsLayer
35  (position 1000.00 0.00)
36  (bounds 10.00 10.00)
37  )
 29 (children 2
3830 (GraphicsLayer
3931 (position 600.00 0.00)
4032 (bounds 10.00 10.00)

@@Scale=1.5:
5547 (bounds 848.00 1016.00)
5648 (contentsOpaque 1)
5749 (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])
58  (children 1
 50 (children 2
 51 (GraphicsLayer
 52 (position 600.00 0.00)
 53 (bounds 10.00 10.00)
 54 )
5955 (GraphicsLayer
6056 (bounds 10.00 10.00)
6157 )
143243

LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt

@@Scale=0.5:
2727 (bounds 800.00 1016.00)
2828 (contentsOpaque 1)
2929 (transform [0.50 0.00 0.00 0.00] [0.00 0.50 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
30  (children 4
31  (GraphicsLayer
32  (position 8.00 1008.00)
33  (bounds 10.00 10.00)
34  )
35  (GraphicsLayer
36  (position 1000.00 0.00)
37  (bounds 10.00 10.00)
38  )
 30 (children 2
3931 (GraphicsLayer
4032 (position 600.00 0.00)
4133 (bounds 10.00 10.00)

@@Scale=1.5:
5648 (bounds 848.00 1016.00)
5749 (contentsOpaque 1)
5850 (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])
59  (children 1
 51 (children 2
 52 (GraphicsLayer
 53 (position 600.00 0.00)
 54 (bounds 10.00 10.00)
 55 )
6056 (GraphicsLayer
6157 (bounds 10.00 10.00)
6258 )
143243

LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html

4646 Scale=1.5:
4747 <pre id="layerTreeScaledUp"></pre>
4848</div>
 49<!-- The layer tree should always be the same, regardless of page scale, except on platforms that enable the applyPageScaleFactorInCompositor Setting. -->
4950<!-- No layer in any case. -->
5051<div class="fixed" style="top: -100px"></div>
51 <!-- Has composited layer when scaled down; no layer when not scaled or scaled up. -->
 52<!-- When applyPageScaleFactorInCompositor is true, this will have composited layer when scaled down; no layer when not scaled or scaled up. -->
5253<div class="fixed"></div>
5354<div class="fixed" style="top: 0px; left: 1000px"></div>
54 <!-- Has composited layer when not scaled and scaled down; no layer scaled up. -->
 55<!-- When applyPageScaleFactorInCompositor is true, this will have composited layer when not scaled and scaled down; no layer scaled up. -->
5556<div class="fixed" style="top: 0px; left: 600px"></div>
5657<!-- Always has composited layer. -->
5758<div class="fixed" style="top: 0px; left: 0px"></div>
143243

LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled.html

4444 Scale=1.5:
4545 <pre id="layerTreeScaledUp"></pre>
4646</div>
 47<!-- The layer tree should always be the same, regardless of page scale, except on platforms that enable the applyPageScaleFactorInCompositor Setting. -->
4748<!-- No layer in any case. -->
4849<div class="fixed" style="top: -100px"></div>
49 <!-- Has composited layer when scaled down; no layer when not scaled or scaled up. -->
 50<!-- When applyPageScaleFactorInCompositor is true, this will have a composited layer when scaled down; no layer when not scaled or scaled up. -->
5051<div class="fixed"></div>
5152<div class="fixed" style="top: 0px; left: 1000px"></div>
52 <!-- Has composited layer when not scaled and scaled down; no layer scaled up. -->
 53<!-- When applyPageScaleFactorInCompositor is true, this will have composited layer when not scaled and scaled down; no layer scaled up. -->
5354<div class="fixed" style="top: 0px; left: 600px"></div>
5455<!-- Always has composited layer. -->
5556<div class="fixed" style="top: 0px; left: 0px"></div>
143243