Changeset 155994 in webkit


Ignore:
Timestamp:
Sep 17, 2013 1:54:00 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r155977.
http://trac.webkit.org/changeset/155977
https://bugs.webkit.org/show_bug.cgi?id=121515

Broke over a dozen tests on Mac WK2 (Requested by ap on
#webkit).

Source/WebCore:

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::flushCompositingState):
(WebCore::GraphicsLayerCA::computeVisibleRect):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateAnimations):
(WebCore::GraphicsLayerCA::setAnimationOnLayer):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerCA::updateContentsScale):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):

  • platform/graphics/ca/GraphicsLayerCA.h:

(WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):

LayoutTests:

  • compositing/contents-scale/animating-expected.txt: Removed.
  • compositing/contents-scale/animating.html: Removed.
  • compositing/contents-scale/scaled-ancestor-expected.txt: Removed.
  • compositing/contents-scale/scaled-ancestor.html: Removed.
  • compositing/contents-scale/simple-scale-expected.txt: Removed.
  • compositing/contents-scale/simple-scale.html: Removed.
  • compositing/contents-scale/z-translate-expected.txt: Removed.
  • compositing/contents-scale/z-translate.html: Removed.
  • compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
  • compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
  • compositing/visible-rect/2d-transformed-expected.txt:
  • compositing/visible-rect/3d-transform-style-expected.txt:
  • compositing/visible-rect/3d-transformed-expected.txt:
  • compositing/visible-rect/animated-expected.txt:
  • compositing/visible-rect/animated-from-none-expected.txt:
  • compositing/visible-rect/clipped-by-viewport-expected.txt:
  • compositing/visible-rect/clipped-visible-rect-expected.txt:
  • compositing/visible-rect/flipped-preserve-3d-expected.txt:
  • compositing/visible-rect/iframe-and-layers-expected.txt:
  • compositing/visible-rect/nested-transform-expected.txt:
  • compositing/visible-rect/scrolled-expected.txt:
  • platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: Removed.
  • platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: Removed.
  • 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: Removed.
  • platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Removed.
  • platform/mac/compositing/visible-rect/3d-transformed-expected.txt: Removed.
  • platform/mac/compositing/visible-rect/animated-expected.txt: Removed.
  • platform/mac/compositing/visible-rect/animated-from-none-expected.txt: Removed.
  • platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: Removed.
  • platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: Removed.
  • platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: Removed.
  • platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: Removed.
  • platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
  • platform/mac/compositing/visible-rect/nested-transform-expected.txt: Removed.
  • platform/mac/compositing/visible-rect/scrolled-expected.txt: Removed.
Location:
trunk
Files:
14 deleted
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r155992 r155994  
     12013-09-17  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r155977.
     4        http://trac.webkit.org/changeset/155977
     5        https://bugs.webkit.org/show_bug.cgi?id=121515
     6
     7        Broke over a dozen tests on Mac WK2 (Requested by ap on
     8        #webkit).
     9
     10        * compositing/contents-scale/animating-expected.txt: Removed.
     11        * compositing/contents-scale/animating.html: Removed.
     12        * compositing/contents-scale/scaled-ancestor-expected.txt: Removed.
     13        * compositing/contents-scale/scaled-ancestor.html: Removed.
     14        * compositing/contents-scale/simple-scale-expected.txt: Removed.
     15        * compositing/contents-scale/simple-scale.html: Removed.
     16        * compositing/contents-scale/z-translate-expected.txt: Removed.
     17        * compositing/contents-scale/z-translate.html: Removed.
     18        * compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
     19        * compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
     20        * compositing/visible-rect/2d-transformed-expected.txt:
     21        * compositing/visible-rect/3d-transform-style-expected.txt:
     22        * compositing/visible-rect/3d-transformed-expected.txt:
     23        * compositing/visible-rect/animated-expected.txt:
     24        * compositing/visible-rect/animated-from-none-expected.txt:
     25        * compositing/visible-rect/clipped-by-viewport-expected.txt:
     26        * compositing/visible-rect/clipped-visible-rect-expected.txt:
     27        * compositing/visible-rect/flipped-preserve-3d-expected.txt:
     28        * compositing/visible-rect/iframe-and-layers-expected.txt:
     29        * compositing/visible-rect/nested-transform-expected.txt:
     30        * compositing/visible-rect/scrolled-expected.txt:
     31        * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: Removed.
     32        * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: Removed.
     33        * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
     34        * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
     35        * platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
     36        * platform/mac/compositing/visible-rect/2d-transformed-expected.txt: Removed.
     37        * platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Removed.
     38        * platform/mac/compositing/visible-rect/3d-transformed-expected.txt: Removed.
     39        * platform/mac/compositing/visible-rect/animated-expected.txt: Removed.
     40        * platform/mac/compositing/visible-rect/animated-from-none-expected.txt: Removed.
     41        * platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: Removed.
     42        * platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: Removed.
     43        * platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: Removed.
     44        * platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: Removed.
     45        * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
     46        * platform/mac/compositing/visible-rect/nested-transform-expected.txt: Removed.
     47        * platform/mac/compositing/visible-rect/scrolled-expected.txt: Removed.
     48
    1492013-09-17  Eric Carlson  <eric.carlson@apple.com>
    250
  • trunk/LayoutTests/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt

    r155977 r155994  
    66(GraphicsLayer
    77  (bounds 800.00 600.00)
     8  (visible rect 0.00, 0.00 800.00 x 600.00)
    89  (children 1
    910    (GraphicsLayer
    1011      (bounds 800.00 600.00)
    1112      (contentsOpaque 1)
     13      (visible rect 0.00, 0.00 800.00 x 600.00)
    1214      (children 3
    1315        (GraphicsLayer
     
    1517          (bounds 22.00 22.00)
    1618          (drawsContent 1)
     19          (visible rect 0.00, 0.00 22.00 x 22.00)
    1720        )
    1821        (GraphicsLayer
     
    2023          (bounds 102.00 20.00)
    2124          (drawsContent 1)
     25          (visible rect 0.00, 0.00 102.00 x 20.00)
    2226        )
    2327        (GraphicsLayer
     
    2529          (bounds 787.00 18.00)
    2630          (drawsContent 1)
     31          (visible rect 0.00, 0.00 787.00 x 18.00)
    2732        )
    2833      )
  • trunk/LayoutTests/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt

    r155977 r155994  
    66(GraphicsLayer
    77  (bounds 800.00 600.00)
     8  (visible rect 0.00, 0.00 800.00 x 600.00)
    89  (children 1
    910    (GraphicsLayer
    1011      (bounds 800.00 600.00)
    1112      (contentsOpaque 1)
     13      (visible rect 0.00, 0.00 800.00 x 600.00)
    1214      (children 3
    1315        (GraphicsLayer
     
    1517          (bounds 22.00 22.00)
    1618          (drawsContent 1)
     19          (visible rect 0.00, 0.00 22.00 x 22.00)
    1720        )
    1821        (GraphicsLayer
     
    2023          (bounds 102.00 20.00)
    2124          (drawsContent 1)
     25          (visible rect 0.00, 0.00 102.00 x 20.00)
    2226        )
    2327        (GraphicsLayer
     
    2529          (bounds 778.00 18.00)
    2630          (drawsContent 1)
     31          (visible rect 0.00, 0.00 778.00 x 18.00)
    2732        )
    2833      )
  • trunk/LayoutTests/compositing/visible-rect/2d-transformed-expected.txt

    r155977 r155994  
    11(GraphicsLayer
    22  (bounds 800.00 600.00)
     3  (visible rect 0.00, 0.00 800.00 x 600.00)
    34  (children 1
    45    (GraphicsLayer
    56      (bounds 800.00 600.00)
    67      (contentsOpaque 1)
     8      (visible rect 0.00, 0.00 800.00 x 600.00)
    79      (children 1
    810        (GraphicsLayer
    911          (position 8.00 8.00)
    1012          (bounds 502.00 202.00)
     13          (visible rect 0.00, 0.00 502.00 x 202.00)
    1114          (children 1
    1215            (GraphicsLayer
    1316              (position 1.00 1.00)
    1417              (bounds 500.00 200.00)
     18              (visible rect 0.00, 0.00 500.00 x 200.00)
    1519              (children 3
    1620                (GraphicsLayer
     
    1822                  (contentsOpaque 1)
    1923                  (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])
     24                  (visible rect 100.00, 0.00 100.00 x 200.00)
    2025                )
    2126                (GraphicsLayer
     
    2328                  (contentsOpaque 1)
    2429                  (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])
     30                  (visible rect 0.00, 0.00 200.00 x 200.00)
    2531                )
    2632                (GraphicsLayer
     
    2834                  (contentsOpaque 1)
    2935                  (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])
     36                  (visible rect 0.00, 0.00 100.00 x 200.00)
    3037                )
    3138              )
  • trunk/LayoutTests/compositing/visible-rect/3d-transform-style-expected.txt

    r155977 r155994  
    11(GraphicsLayer
    22  (bounds 800.00 600.00)
     3  (visible rect 0.00, 0.00 800.00 x 600.00)
    34  (children 1
    45    (GraphicsLayer
    56      (bounds 800.00 600.00)
    67      (contentsOpaque 1)
     8      (visible rect 0.00, 0.00 800.00 x 600.00)
    79      (children 2
    810        (GraphicsLayer
    911          (position 18.00 10.00)
    1012          (bounds 204.00 204.00)
     13          (visible rect 0.00, 0.00 204.00 x 204.00)
    1114          (children 1
    1215            (GraphicsLayer
     
    1417              (bounds 200.00 200.00)
    1518              (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])
     19              (visible rect 0.00, 0.00 200.00 x 200.00)
    1620              (children 1
    1721                (GraphicsLayer
    1822                  (bounds 200.00 0.00)
    1923                  (preserves3D 1)
     24                  (visible rect 0.00, 0.00 0.00 x 0.00)
    2025                  (children 1
    2126                    (GraphicsLayer
     
    2328                      (contentsOpaque 1)
    2429                      (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])
     30                      (visible rect 0.00, 0.00 213.67 x 200.68)
    2531                    )
    2632                  )
     
    3339          (position 18.00 224.00)
    3440          (bounds 204.00 204.00)
     41          (visible rect 0.00, 0.00 204.00 x 204.00)
    3542          (children 1
    3643            (GraphicsLayer
     
    3845              (bounds 200.00 200.00)
    3946              (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])
     47              (visible rect 0.00, 0.00 200.00 x 200.00)
    4048              (children 1
    4149                (GraphicsLayer
    4250                  (bounds 200.00 0.00)
    4351                  (preserves3D 1)
     52                  (visible rect 0.00, 0.00 0.00 x 0.00)
    4453                  (children 1
    4554                    (GraphicsLayer
     
    4756                      (contentsOpaque 1)
    4857                      (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])
     58                      (visible rect 0.00, 0.00 200.68 x 213.67)
    4959                    )
    5060                  )
  • trunk/LayoutTests/compositing/visible-rect/3d-transformed-expected.txt

    r155977 r155994  
    11(GraphicsLayer
    22  (bounds 800.00 600.00)
     3  (visible rect 0.00, 0.00 800.00 x 600.00)
    34  (children 1
    45    (GraphicsLayer
    56      (bounds 800.00 600.00)
    67      (contentsOpaque 1)
     8      (visible rect 0.00, 0.00 800.00 x 600.00)
    79      (children 2
    810        (GraphicsLayer
    911          (position 18.00 10.00)
    1012          (bounds 204.00 204.00)
     13          (visible rect 0.00, 0.00 204.00 x 204.00)
    1114          (children 1
    1215            (GraphicsLayer
     
    1417              (bounds 200.00 200.00)
    1518              (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])
     19              (visible rect 0.00, 0.00 200.00 x 200.00)
    1620              (children 1
    1721                (GraphicsLayer
     
    2024                  (contentsOpaque 1)
    2125                  (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])
     26                  (visible rect 0.00, 0.00 220.62 x 218.46)
    2227                )
    2328              )
     
    2833          (position 18.00 224.00)
    2934          (bounds 204.00 204.00)
     35          (visible rect 0.00, 0.00 204.00 x 204.00)
    3036          (children 1
    3137            (GraphicsLayer
     
    3339              (bounds 200.00 200.00)
    3440              (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])
     41              (visible rect 0.00, 0.00 200.00 x 200.00)
    3542              (children 1
    3643                (GraphicsLayer
     
    3946                  (contentsOpaque 1)
    4047                  (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])
     48                  (visible rect 0.00, 0.00 218.46 x 220.62)
    4149                )
    4250              )
  • trunk/LayoutTests/compositing/visible-rect/animated-expected.txt

    r155977 r155994  
    11(GraphicsLayer
    22  (bounds 800.00 600.00)
     3  (visible rect 0.00, 0.00 800.00 x 600.00)
    34  (children 1
    45    (GraphicsLayer
    56      (bounds 800.00 600.00)
    67      (contentsOpaque 1)
     8      (visible rect 0.00, 0.00 800.00 x 600.00)
    79      (children 1
    810        (GraphicsLayer
    911          (position 8.00 8.00)
    1012          (bounds 502.00 202.00)
     13          (visible rect 0.00, 0.00 502.00 x 202.00)
    1114          (children 1
    1215            (GraphicsLayer
    1316              (position 1.00 1.00)
    1417              (bounds 500.00 200.00)
     18              (visible rect 0.00, 0.00 500.00 x 200.00)
    1519              (children 1
    1620                (GraphicsLayer
     
    1822                  (contentsOpaque 1)
    1923                  (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])
     24                  (visible rect 100.00, 0.00 100.00 x 200.00)
    2025                )
    2126              )
  • trunk/LayoutTests/compositing/visible-rect/animated-from-none-expected.txt

    r155977 r155994  
    11(GraphicsLayer
    22  (bounds 800.00 600.00)
     3  (visible rect 0.00, 0.00 800.00 x 600.00)
    34  (children 1
    45    (GraphicsLayer
    56      (bounds 800.00 600.00)
    67      (contentsOpaque 1)
     8      (visible rect 0.00, 0.00 800.00 x 600.00)
    79      (children 1
    810        (GraphicsLayer
    911          (position 8.00 8.00)
    1012          (bounds 502.00 202.00)
     13          (visible rect 0.00, 0.00 502.00 x 202.00)
    1114          (children 1
    1215            (GraphicsLayer
    1316              (position 1.00 1.00)
    1417              (bounds 500.00 200.00)
     18              (visible rect 0.00, 0.00 500.00 x 200.00)
    1519              (children 1
    1620                (GraphicsLayer
     
    1822                  (bounds 200.00 200.00)
    1923                  (contentsOpaque 1)
     24                  (visible rect 100.00, 0.00 100.00 x 200.00)
    2025                )
    2126              )
  • trunk/LayoutTests/compositing/visible-rect/clipped-by-viewport-expected.txt

    r155977 r155994  
    11(GraphicsLayer
    22  (bounds 800.00 600.00)
     3  (visible rect 0.00, 0.00 800.00 x 600.00)
    34  (children 1
    45    (GraphicsLayer
    56      (bounds 800.00 600.00)
    67      (contentsOpaque 1)
     8      (visible rect 0.00, 0.00 800.00 x 600.00)
    79      (children 2
    810        (GraphicsLayer
     
    1113          (contentsOpaque 1)
    1214          (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])
     15          (visible rect 100.00, 120.00 100.00 x 80.00)
    1316        )
    1417        (GraphicsLayer
     
    1720          (contentsOpaque 1)
    1821          (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])
     22          (visible rect 100.00, 0.00 100.00 x 200.00)
    1923        )
    2024      )
  • trunk/LayoutTests/compositing/visible-rect/clipped-visible-rect-expected.txt

    r155977 r155994  
    11(GraphicsLayer
    22  (bounds 800.00 600.00)
     3  (visible rect 0.00, 0.00 800.00 x 600.00)
    34  (children 1
    45    (GraphicsLayer
    56      (bounds 800.00 600.00)
    67      (contentsOpaque 1)
     8      (visible rect 0.00, 0.00 800.00 x 600.00)
    79      (children 1
    810        (GraphicsLayer
    911          (position 8.00 8.00)
    1012          (bounds 502.00 202.00)
     13          (visible rect 0.00, 0.00 502.00 x 202.00)
    1114          (children 1
    1215            (GraphicsLayer
    1316              (position 1.00 1.00)
    1417              (bounds 500.00 200.00)
     18              (visible rect 0.00, 0.00 500.00 x 200.00)
    1519              (children 3
    1620                (GraphicsLayer
     
    1923                  (contentsOpaque 1)
    2024                  (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])
     25                  (visible rect 100.00, 0.00 100.00 x 200.00)
    2126                )
    2227                (GraphicsLayer
     
    2530                  (contentsOpaque 1)
    2631                  (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])
     32                  (visible rect 0.00, 0.00 200.00 x 200.00)
    2733                )
    2834                (GraphicsLayer
     
    3137                  (contentsOpaque 1)
    3238                  (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])
     39                  (visible rect 0.00, 0.00 100.00 x 200.00)
    3340                )
    3441              )
  • trunk/LayoutTests/compositing/visible-rect/flipped-preserve-3d-expected.txt

    r155977 r155994  
    77(GraphicsLayer
    88  (bounds 785.00 615.00)
     9  (visible rect 0.00, 0.00 785.00 x 600.00)
    910  (children 1
    1011    (GraphicsLayer
    1112      (bounds 785.00 615.00)
    1213      (contentsOpaque 1)
     14      (visible rect 0.00, 0.00 785.00 x 600.00)
    1315      (children 1
    1416        (GraphicsLayer
     
    1618          (bounds 602.00 602.00)
    1719          (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])
     20          (visible rect 0.00, 0.00 602.00 x 587.00)
    1821          (children 1
    1922            (GraphicsLayer
     
    2326              (preserves3D 1)
    2427              (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])
     28              (visible rect 0.00, 0.00 440.00 x 440.00)
    2529              (children 1
    2630                (GraphicsLayer
     
    2832                  (contentsOpaque 1)
    2933                  (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])
     34                  (visible rect 0.00, 0.00 420.00 x 420.00)
    3035                  (children 1
    3136                    (GraphicsLayer
    3237                      (bounds 420.00 420.00)
     38                      (visible rect 0.00, 0.00 420.00 x 420.00)
    3339                      (children 1
    3440                        (GraphicsLayer
     
    3642                          (bounds 418.00 510.00)
    3743                          (contentsOpaque 1)
     44                          (visible rect 0.00, 90.00 418.00 x 420.00)
    3845                          (children 1
    3946                            (GraphicsLayer
    4047                              (bounds 418.00 510.00)
     48                              (visible rect 0.00, 90.00 418.00 x 420.00)
    4149                              (children 3
    4250                                (GraphicsLayer
     
    4654                                  (usingTiledLayer 1)
    4755                                  (drawsContent 1)
     56                                  (visible rect 3000.00, 90.00 418.00 x 30.00)
    4857                                )
    4958                                (GraphicsLayer
     
    5362                                  (usingTiledLayer 1)
    5463                                  (drawsContent 1)
     64                                  (visible rect 3000.00, 0.00 418.00 x 120.00)
    5565                                )
    5666                                (GraphicsLayer
     
    6070                                  (usingTiledLayer 1)
    6171                                  (drawsContent 1)
     72                                  (visible rect 3000.00, 0.00 418.00 x 120.00)
    6273                                )
    6374                              )
  • trunk/LayoutTests/compositing/visible-rect/iframe-and-layers-expected.txt

    r155977 r155994  
    22(GraphicsLayer
    33  (bounds 1508.00 1516.00)
     4  (visible rect 0.00, 0.00 785.00 x 585.00)
    45  (children 1
    56    (GraphicsLayer
    67      (bounds 1508.00 1516.00)
    78      (contentsOpaque 1)
     9      (visible rect 0.00, 0.00 785.00 x 585.00)
    810      (children 2
    911        (GraphicsLayer
     
    1113          (bounds 360.00 210.00)
    1214          (drawsContent 1)
     15          (visible rect 0.00, 0.00 360.00 x 210.00)
    1316          (children 1
    1417            (GraphicsLayer
    1518              (position 30.00 30.00)
     19              (visible rect 0.00, 0.00 0.00 x 0.00)
    1620              (children 1
    1721                (GraphicsLayer
    1822                  (bounds 285.00 135.00)
     23                  (visible rect 0.00, 0.00 285.00 x 135.00)
    1924                  (children 1
    2025                    (GraphicsLayer
     26                      (visible rect 0.00, 0.00 0.00 x 0.00)
    2127                      (children 1
    2228                        (GraphicsLayer
    2329                          (bounds 1508.00 1516.00)
     30                          (visible rect 0.00, 0.00 285.00 x 135.00)
    2431                          (children 1
    2532                            (GraphicsLayer
    2633                              (bounds 1508.00 1516.00)
    2734                              (drawsContent 1)
     35                              (visible rect 0.00, 0.00 285.00 x 135.00)
    2836                              (children 1
    2937                                (GraphicsLayer
     
    3341                                  (drawsContent 1)
    3442                                  (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])
     43                                  (visible rect 0.00, 0.00 100.00 x 127.00)
    3544                                )
    3645                              )
     
    5160          (contentsOpaque 1)
    5261          (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])
     62          (visible rect 0.00, 0.00 200.00 x 200.00)
    5363        )
    5464      )
  • trunk/LayoutTests/compositing/visible-rect/nested-transform-expected.txt

    r155977 r155994  
    11(GraphicsLayer
    22  (bounds 785.00 669.00)
     3  (visible rect 0.00, 0.00 785.00 x 600.00)
    34  (children 1
    45    (GraphicsLayer
    56      (bounds 785.00 669.00)
    67      (contentsOpaque 1)
     8      (visible rect 0.00, 0.00 785.00 x 600.00)
    79      (children 2
    810        (GraphicsLayer
    911          (position 18.00 10.00)
    1012          (bounds 304.00 304.00)
     13          (visible rect 0.00, 0.00 304.00 x 304.00)
    1114          (children 1
    1215            (GraphicsLayer
     
    1417              (bounds 300.00 300.00)
    1518              (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])
     19              (visible rect 0.00, 0.00 300.00 x 300.00)
    1620              (children 1
    1721                (GraphicsLayer
     
    1923                  (preserves3D 1)
    2024                  (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])
     25                  (visible rect 0.00, 0.00 0.00 x 0.00)
    2126                  (children 1
    2227                    (GraphicsLayer
     
    2429                      (preserves3D 1)
    2530                      (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])
     31                      (visible rect 0.00, 0.00 0.00 x 0.00)
    2632                      (children 1
    2733                        (GraphicsLayer
     
    2935                          (contentsOpaque 1)
    3036                          (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])
     37                          (visible rect 0.00, 0.00 500.00 x 369.91)
    3138                        )
    3239                      )
     
    4148          (position 18.00 324.00)
    4249          (bounds 304.00 304.00)
     50          (visible rect 0.00, 0.00 304.00 x 276.00)
    4351          (children 1
    4452            (GraphicsLayer
     
    4654              (bounds 300.00 300.00)
    4755              (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])
     56              (visible rect 0.00, 0.00 300.00 x 274.00)
    4857              (children 1
    4958                (GraphicsLayer
    5059                  (bounds 300.00 0.00)
    5160                  (preserves3D 1)
     61                  (visible rect 0.00, 0.00 0.00 x 0.00)
    5262                  (children 1
    5363                    (GraphicsLayer
     
    5565                      (preserves3D 1)
    5666                      (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])
     67                      (visible rect 0.00, 0.00 0.00 x 0.00)
    5768                      (children 1
    5869                        (GraphicsLayer
     
    6071                          (contentsOpaque 1)
    6172                          (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])
     73                          (visible rect 0.00, 0.00 500.00 x 351.87)
    6274                        )
    6375                      )
  • trunk/LayoutTests/compositing/visible-rect/scrolled-expected.txt

    r155977 r155994  
    11(GraphicsLayer
    22  (bounds 1508.00 2008.00)
     3  (visible rect 25.00, 200.00 785.00 x 585.00)
    34  (children 1
    45    (GraphicsLayer
    56      (bounds 1508.00 2008.00)
    67      (contentsOpaque 1)
     8      (visible rect 25.00, 200.00 785.00 x 585.00)
    79      (children 1
    810        (GraphicsLayer
     
    1113          (contentsOpaque 1)
    1214          (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])
     15          (visible rect 17.00, 200.00 183.00 x 300.00)
    1316        )
    1417      )
  • trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt

    r155977 r155994  
    22  (bounds 800.00 600.00)
    33  (visible rect 0.00, 0.00 800.00 x 600.00)
    4   (contentsScale 1.00)
    54  (children 1
    65    (GraphicsLayer
     
    87      (contentsOpaque 1)
    98      (visible rect 0.00, 0.00 800.00 x 600.00)
    10       (contentsScale 1.00)
    119      (children 1
    1210        (GraphicsLayer
     
    1412          (bounds 502.00 302.00)
    1513          (visible rect 0.00, 0.00 502.00 x 302.00)
    16           (contentsScale 1.00)
    1714          (children 1
    1815            (GraphicsLayer
     
    2118              (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])
    2219              (visible rect 0.00, 0.00 500.00 x 300.00)
    23               (contentsScale 1.00)
    2420              (children 1
    2521                (GraphicsLayer
     
    3228                  (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])
    3329                  (visible rect 0.00, 0.00 2800.00 x 300.00)
    34                   (contentsScale 1.00)
    35                   (tile cache coverage 0, 0 2799 x 299)
     30                  (tile cache coverage 0, 0 2800 x 300)
    3631                  (tile size 512 x 512)
    37                   (top left tile 0, 0 tiles grid 5 x 1)
     32                  (top left tile 0, 0 tiles grid 6 x 1)
    3833                )
    3934              )
  • trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt

    r155977 r155994  
    22  (bounds 800.00 600.00)
    33  (visible rect 0.00, 0.00 800.00 x 600.00)
    4   (contentsScale 1.00)
    54  (children 1
    65    (GraphicsLayer
     
    87      (contentsOpaque 1)
    98      (visible rect 0.00, 0.00 800.00 x 600.00)
    10       (contentsScale 1.00)
    119      (children 1
    1210        (GraphicsLayer
     
    1412          (bounds 502.00 302.00)
    1513          (visible rect 0.00, 0.00 502.00 x 302.00)
    16           (contentsScale 1.00)
    1714          (children 1
    1815            (GraphicsLayer
     
    2118              (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])
    2219              (visible rect 0.00, 0.00 500.00 x 300.00)
    23               (contentsScale 1.00)
    2420              (children 1
    2521                (GraphicsLayer
     
    2723                  (preserves3D 1)
    2824                  (visible rect 0.00, 0.00 0.00 x 0.00)
    29                   (contentsScale 1.00)
    3025                  (children 1
    3126                    (GraphicsLayer
     
    3833                      (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])
    3934                      (visible rect 0.00, 0.00 2800.00 x 300.00)
    40                       (contentsScale 1.00)
    41                       (tile cache coverage 0, 0 2799 x 299)
     35                      (tile cache coverage 0, 0 2800 x 300)
    4236                      (tile size 512 x 512)
    43                       (top left tile 0, 0 tiles grid 5 x 1)
     37                      (top left tile 0, 0 tiles grid 6 x 1)
    4438                    )
    4539                  )
  • trunk/LayoutTests/platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt

    r155977 r155994  
    22  (bounds 1932.00 4150.00)
    33  (visible rect 0.00, 0.00 785.00 x 585.00)
    4   (contentsScale 1.00)
    54  (children 1
    65    (GraphicsLayer
     
    109      (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])
    1110      (visible rect 0.00, 0.00 490.63 x 365.63)
    12       (contentsScale 2.56)
    1311      (children 1
    1412        (GraphicsLayer
     
    1816          (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])
    1917          (visible rect 0.00, 0.00 482.63 x 357.63)
    20           (contentsScale 2.56)
    2118        )
    2219      )
  • trunk/LayoutTests/platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt

    r155977 r155994  
    33  (bounds 1508.00 1516.00)
    44  (visible rect 0.00, 0.00 285.00 x 135.00)
    5   (contentsScale 1.00)
    65  (children 1
    76    (GraphicsLayer
    87      (bounds 1508.00 1516.00)
    98      (visible rect 0.00, 0.00 285.00 x 135.00)
    10       (contentsScale 1.00)
    119      (children 1
    1210        (GraphicsLayer
     
    1715          (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])
    1816          (visible rect 0.00, 0.00 100.00 x 127.00)
    19           (contentsScale 1.00)
    2017        )
    2118      )
  • trunk/Source/WebCore/ChangeLog

    r155992 r155994  
     12013-09-17  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r155977.
     4        http://trac.webkit.org/changeset/155977
     5        https://bugs.webkit.org/show_bug.cgi?id=121515
     6
     7        Broke over a dozen tests on Mac WK2 (Requested by ap on
     8        #webkit).
     9
     10        * platform/graphics/ca/GraphicsLayerCA.cpp:
     11        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
     12        (WebCore::GraphicsLayerCA::flushCompositingState):
     13        (WebCore::GraphicsLayerCA::computeVisibleRect):
     14        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
     15        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
     16        (WebCore::GraphicsLayerCA::updateAnimations):
     17        (WebCore::GraphicsLayerCA::setAnimationOnLayer):
     18        (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
     19        (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
     20        (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
     21        (WebCore::GraphicsLayerCA::updateContentsScale):
     22        (WebCore::GraphicsLayerCA::dumpAdditionalProperties):
     23        * platform/graphics/ca/GraphicsLayerCA.h:
     24        (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
     25
    1262013-09-17  Eric Carlson  <eric.carlson@apple.com>
    227
  • trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp

    r155977 r155994  
    251251}
    252252
    253 static float maxScaleFromTransform(const TransformationMatrix& t)
    254 {
    255     if (t.isIdentityOrTranslation())
    256         return 1;
    257 
    258     TransformationMatrix::DecomposedType decomposeData;
    259     t.decompose(decomposeData);
    260     return std::max(fabsf(decomposeData.scaleX), fabsf(decomposeData.scaleY));
    261 }
    262 
    263253#if ENABLE(CSS_FILTERS) || !ASSERT_DISABLED
    264254static inline bool supportsAcceleratedFilterAnimations()
     
    286276    , m_allowTiledLayer(true)
    287277    , m_isPageTiledBackingLayer(false)
    288     , m_rootRelativeScaleFactor(1)
    289278    , m_uncommittedChanges(0)
    290279{
     
    918907{
    919908    TransformState state(TransformState::UnapplyInverseTransformDirection, FloatQuad(clipRect));
    920     TransformationMatrix rootRelativeTransform;
    921     recursiveCommitChanges(CommitState(), state, rootRelativeTransform);
     909    recursiveCommitChanges(CommitState(), state);
    922910}
    923911
     
    987975}
    988976
    989 TransformationMatrix GraphicsLayerCA::layerTransform(const FloatPoint& position, const TransformationMatrix* customTransform) const
    990 {
    991     TransformationMatrix transform;
    992     transform.translate(position.x(), position.y());
    993 
    994     TransformationMatrix currentTransform = customTransform ? *customTransform : m_transform;
     977FloatRect GraphicsLayerCA::computeVisibleRect(TransformState& state, ComputeVisibleRectFlags flags) const
     978{
     979    bool preserve3D = preserves3D() || (parent() ? parent()->preserves3D() : false);
     980    TransformState::TransformAccumulation accumulation = preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform;
     981
     982    TransformationMatrix layerTransform;
     983    FloatPoint position = m_position;
     984    if (client())
     985        client()->customPositionForVisibleRectComputation(this, position);
     986
     987    layerTransform.translate(position.x(), position.y());
     988
     989    TransformationMatrix currentTransform;
     990    if (!(flags & RespectAnimatingTransforms) || !client() || !client()->getCurrentTransform(this, currentTransform))
     991        currentTransform = m_transform;
    995992   
    996993    if (!currentTransform.isIdentity()) {
    997994        FloatPoint3D absoluteAnchorPoint(anchorPoint());
    998995        absoluteAnchorPoint.scale(size().width(), size().height(), 1);
    999         transform.translate3d(absoluteAnchorPoint.x(), absoluteAnchorPoint.y(), absoluteAnchorPoint.z());
    1000         transform.multiply(currentTransform);
    1001         transform.translate3d(-absoluteAnchorPoint.x(), -absoluteAnchorPoint.y(), -absoluteAnchorPoint.z());
     996        layerTransform.translate3d(absoluteAnchorPoint.x(), absoluteAnchorPoint.y(), absoluteAnchorPoint.z());
     997        layerTransform.multiply(currentTransform);
     998        layerTransform.translate3d(-absoluteAnchorPoint.x(), -absoluteAnchorPoint.y(), -absoluteAnchorPoint.z());
    1002999    }
    10031000
     
    10071004            parentAnchorPoint.scale(parentLayer->size().width(), parentLayer->size().height(), 1);
    10081005
    1009             transform.translateRight3d(-parentAnchorPoint.x(), -parentAnchorPoint.y(), -parentAnchorPoint.z());
    1010             transform = parentLayer->childrenTransform() * transform;
    1011             transform.translateRight3d(parentAnchorPoint.x(), parentAnchorPoint.y(), parentAnchorPoint.z());
    1012         }
    1013     }
    1014    
    1015     return transform;
    1016 }
    1017 
    1018 FloatRect GraphicsLayerCA::computeVisibleRect(TransformState& state, ComputeVisibleRectFlags flags) const
    1019 {
    1020     bool preserve3D = preserves3D() || (parent() ? parent()->preserves3D() : false);
    1021     TransformState::TransformAccumulation accumulation = preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform;
    1022 
    1023     FloatPoint position = m_position;
    1024     if (client())
    1025         client()->customPositionForVisibleRectComputation(this, position);
    1026 
    1027     TransformationMatrix layerTransform;
    1028     TransformationMatrix currentTransform;
    1029     if ((flags & RespectAnimatingTransforms) && client() && client()->getCurrentTransform(this, currentTransform))
    1030         layerTransform = this->layerTransform(position, &currentTransform);
    1031     else
    1032         layerTransform = this->layerTransform(position);
     1006            layerTransform.translateRight3d(-parentAnchorPoint.x(), -parentAnchorPoint.y(), -parentAnchorPoint.z());
     1007            layerTransform = parentLayer->childrenTransform() * layerTransform;
     1008            layerTransform.translateRight3d(parentAnchorPoint.x(), parentAnchorPoint.y(), parentAnchorPoint.z());
     1009        }
     1010    }
    10331011
    10341012    bool applyWasClamped;
    10351013    state.applyTransform(layerTransform, accumulation, &applyWasClamped);
    1036 
     1014   
    10371015    bool mapWasClamped;
    10381016    FloatRect clipRectForChildren = state.mappedQuad(&mapWasClamped).boundingBox();
     
    10531031}
    10541032
    1055 void GraphicsLayerCA::updateRootRelativeScale(TransformationMatrix* transformFromRoot)
    1056 {
    1057     if (!transformFromRoot)
    1058         return;
    1059 
    1060     float rootRelativeScaleFactor;
    1061     TransformationMatrix maxScaleImpactTransform;
    1062     bool haveTransformAnimation = getTransformFromAnimationsWithMaxScaleImpact(*transformFromRoot, maxScaleImpactTransform, rootRelativeScaleFactor);
    1063     if (haveTransformAnimation)
    1064         transformFromRoot->multiply(maxScaleImpactTransform);
    1065     else {
    1066         TransformationMatrix unanimatedTransform = this->layerTransform(m_position);
    1067         transformFromRoot->multiply(unanimatedTransform);
    1068         rootRelativeScaleFactor = maxScaleFromTransform(*transformFromRoot);
    1069     }
    1070    
    1071     if (rootRelativeScaleFactor != m_rootRelativeScaleFactor) {
    1072         m_rootRelativeScaleFactor = rootRelativeScaleFactor;
    1073         m_uncommittedChanges |= ContentsScaleChanged;
    1074     }
    1075 }
    1076 
    1077 // rootRelativeTransformForScaling is a transform from the root, but for layers with transform animations, it cherry-picked the state of the
    1078 // animation that contributes maximally to the scale (on every layer with animations down the hierarchy).
    1079 void GraphicsLayerCA::recursiveCommitChanges(const CommitState& commitState, const TransformState& state, const TransformationMatrix& rootRelativeTransformForScaling, float pageScaleFactor, const FloatPoint& positionRelativeToBase, bool affectedByPageScale)
     1033void GraphicsLayerCA::recursiveCommitChanges(const CommitState& commitState, const TransformState& state, float pageScaleFactor, const FloatPoint& positionRelativeToBase, bool affectedByPageScale)
    10801034{
    10811035    TransformState localState = state;
     
    11231077        baseRelativePosition += m_position;
    11241078   
    1125     TransformationMatrix transformFromRoot = rootRelativeTransformForScaling;
    1126     commitLayerChangesBeforeSublayers(childCommitState, pageScaleFactor, baseRelativePosition, oldVisibleRect, &transformFromRoot);
     1079    commitLayerChangesBeforeSublayers(childCommitState, pageScaleFactor, baseRelativePosition, oldVisibleRect);
    11271080
    11281081    if (isRunningTransformAnimation()) {
     
    11411094    for (size_t i = 0; i < numChildren; ++i) {
    11421095        GraphicsLayerCA* curChild = static_cast<GraphicsLayerCA*>(childLayers[i]);
    1143         curChild->recursiveCommitChanges(childCommitState, localState, transformFromRoot, pageScaleFactor, baseRelativePosition, affectedByPageScale);
     1096        curChild->recursiveCommitChanges(childCommitState, localState, pageScaleFactor, baseRelativePosition, affectedByPageScale);
    11441097    }
    11451098
    11461099    if (m_replicaLayer)
    1147         static_cast<GraphicsLayerCA*>(m_replicaLayer)->recursiveCommitChanges(childCommitState, localState, transformFromRoot, pageScaleFactor, baseRelativePosition, affectedByPageScale);
     1100        static_cast<GraphicsLayerCA*>(m_replicaLayer)->recursiveCommitChanges(childCommitState, localState, pageScaleFactor, baseRelativePosition, affectedByPageScale);
    11481101
    11491102    if (m_maskLayer)
     
    11891142}
    11901143
    1191 void GraphicsLayerCA::commitLayerChangesBeforeSublayers(CommitState& commitState, float pageScaleFactor, const FloatPoint& positionRelativeToBase, const FloatRect& oldVisibleRect, TransformationMatrix* transformFromRoot)
     1144void GraphicsLayerCA::commitLayerChangesBeforeSublayers(CommitState& commitState, float pageScaleFactor, const FloatPoint& positionRelativeToBase, const FloatRect& oldVisibleRect)
    11921145{
    11931146    ++commitState.treeDepth;
     
    12621215    if (m_uncommittedChanges & AnimationChanged)
    12631216        updateAnimations();
    1264 
    1265     // After committing animations, see if we need to adjust contentsScale accordingly.
    1266     updateRootRelativeScale(transformFromRoot);
    12671217
    12681218    // Updating the contents scale can cause parts of the layer to be invalidated,
     
    19761926void GraphicsLayerCA::updateAnimations()
    19771927{
    1978     HashSet<String> finishedAnimations;
    1979 
    19801928    if (m_animationsToProcess.size()) {
    19811929        AnimationsToProcessMap::const_iterator end = m_animationsToProcess.end();
     
    20001948            }
    20011949
    2002             if (processingInfo.action == Remove) {
     1950            if (processingInfo.action == Remove)
    20031951                m_runningAnimations.remove(currAnimationName);
    2004                 finishedAnimations.add(currAnimationName);
    2005             }
    20061952        }
    20071953   
     
    20201966                animations.append(pendingAnimation);
    20211967                m_runningAnimations.add(pendingAnimation.m_name, animations);
    2022 
    20231968            } else {
    20241969                Vector<LayerPropertyAnimation>& animations = it->value;
    20251970                animations.append(pendingAnimation);
    20261971            }
    2027 
    2028             finishedAnimations.remove(pendingAnimation.m_name);
    2029         }
     1972        }
     1973       
    20301974        m_uncomittedAnimations.clear();
    20311975    }
    2032    
    2033     HashSet<String>::const_iterator end = finishedAnimations.end();
    2034     for (HashSet<String>::const_iterator it = finishedAnimations.begin(); it != end; ++it)
    2035         m_animationTransforms.remove(*it);
    20361976}
    20371977
     
    20541994{
    20551995    PlatformCALayer* layer = animatedLayer(property);
    2056 
     1996   
    20571997    if (timeOffset)
    20581998        caAnim->setBeginTime(CACurrentMediaTime() - timeOffset);
     
    21972137
    21982138    RefPtr<PlatformCAAnimation> caAnimation;
    2199     Vector<TransformationMatrix> matrices;
    22002139    bool validMatrices = true;
    22012140    if (isKeyframe) {
    22022141        caAnimation = createKeyframeAnimation(animation, propertyIdToString(valueList.property()), additive);
    2203         validMatrices = setTransformAnimationKeyframes(valueList, animation, caAnimation.get(), animationIndex, transformOp, isMatrixAnimation, boxSize, matrices);
     2142        validMatrices = setTransformAnimationKeyframes(valueList, animation, caAnimation.get(), animationIndex, transformOp, isMatrixAnimation, boxSize);
    22042143    } else {
    22052144        caAnimation = createBasicAnimation(animation, propertyIdToString(valueList.property()), additive);
    2206         validMatrices = setTransformAnimationEndpoints(valueList, animation, caAnimation.get(), animationIndex, transformOp, isMatrixAnimation, boxSize, matrices);
     2145        validMatrices = setTransformAnimationEndpoints(valueList, animation, caAnimation.get(), animationIndex, transformOp, isMatrixAnimation, boxSize);
    22072146    }
    22082147   
     
    22102149        return false;
    22112150
    2212     m_animationTransforms.set(animationName, matrices);
    2213 
    22142151    m_uncomittedAnimations.append(LayerPropertyAnimation(caAnimation, animationName, valueList.property(), animationIndex, 0, timeOffset));
    22152152    return true;
    2216 }
    2217 
    2218 bool GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact(const TransformationMatrix& parentTransformFromRoot, TransformationMatrix& maxScaleTransform, float& maxScale) const
    2219 {
    2220     maxScale = 1;
    2221    
    2222     bool haveTransformAnimation = false;
    2223     AnimationsMap::const_iterator end = m_runningAnimations.end();
    2224     for (AnimationsMap::const_iterator it = m_runningAnimations.begin(); it != end; ++it) {
    2225         const Vector<LayerPropertyAnimation>& propertyAnimations = it->value;
    2226         size_t numAnimations = propertyAnimations.size();
    2227         for (size_t i = 0; i < numAnimations; ++i) {
    2228             const LayerPropertyAnimation& animation = propertyAnimations[i];
    2229             if (animation.m_property != AnimatedPropertyWebkitTransform)
    2230                 continue;
    2231 
    2232             haveTransformAnimation = true;
    2233 
    2234             TransformsMap::const_iterator it = m_animationTransforms.find(animation.m_name);
    2235             if (it != m_animationTransforms.end()) {
    2236                 const Vector<TransformationMatrix>& matrices = it->value;
    2237                
    2238                 for (size_t i = 0; i < matrices.size(); ++i) {
    2239                     TransformationMatrix roootRelativeTransformWithAnimation = parentTransformFromRoot;
    2240                     TransformationMatrix layerTransformWithAnimation = layerTransform(m_position, &matrices[i]);
    2241 
    2242                     roootRelativeTransformWithAnimation.multiply(layerTransformWithAnimation);
    2243                    
    2244                     float rootRelativeScale = maxScaleFromTransform(roootRelativeTransformWithAnimation);
    2245                     if (rootRelativeScale > maxScale) {
    2246                         maxScale = rootRelativeScale;
    2247                         maxScaleTransform = matrices[i];
    2248                     }
    2249                 }
    2250             }
    2251         }
    2252     }
    2253    
    2254     return haveTransformAnimation;
    22552153}
    22562154
     
    24952393}
    24962394
    2497 bool GraphicsLayerCA::setTransformAnimationEndpoints(const KeyframeValueList& valueList, const Animation* animation, PlatformCAAnimation* basicAnim, int functionIndex, TransformOperation::OperationType transformOpType, bool isMatrixAnimation, const IntSize& boxSize, Vector<TransformationMatrix>& matrixes)
     2395bool GraphicsLayerCA::setTransformAnimationEndpoints(const KeyframeValueList& valueList, const Animation* animation, PlatformCAAnimation* basicAnim, int functionIndex, TransformOperation::OperationType transformOpType, bool isMatrixAnimation, const IntSize& boxSize)
    24982396{
    24992397    ASSERT(valueList.size() == 2);
     
    25062404    const TransformAnimationValue& startValue = static_cast<const TransformAnimationValue&>(valueList.at(fromIndex));
    25072405    const TransformAnimationValue& endValue = static_cast<const TransformAnimationValue&>(valueList.at(toIndex));
    2508 
    2509     TransformationMatrix fromTransform, toTransform;
    25102406   
    25112407    if (isMatrixAnimation) {
     2408        TransformationMatrix fromTransform, toTransform;
    25122409        startValue.value().apply(boxSize, fromTransform);
    25132410        endValue.value().apply(boxSize, toTransform);
     
    25162413        if (!fromTransform.isInvertible() || !toTransform.isInvertible())
    25172414            return false;
     2415           
     2416        basicAnim->setFromValue(fromTransform);
     2417        basicAnim->setToValue(toTransform);
    25182418    } else {
    25192419        if (isTransformTypeNumber(transformOpType)) {
     
    25422442            basicAnim->setToValue(toValue);
    25432443        }
    2544 
    2545         startValue.value().apply(boxSize, fromTransform);
    2546         endValue.value().apply(boxSize, toTransform);
    2547     }
    2548     matrixes.append(fromTransform);
    2549     matrixes.append(toTransform);
     2444    }
    25502445
    25512446    // This codepath is used for 2-keyframe animations, so we still need to look in the start
     
    25612456}
    25622457
    2563 bool GraphicsLayerCA::setTransformAnimationKeyframes(const KeyframeValueList& valueList, const Animation* animation, PlatformCAAnimation* keyframeAnim, int functionIndex, TransformOperation::OperationType transformOpType, bool isMatrixAnimation, const IntSize& boxSize, Vector<TransformationMatrix>& matrixes)
     2458bool GraphicsLayerCA::setTransformAnimationKeyframes(const KeyframeValueList& valueList, const Animation* animation, PlatformCAAnimation* keyframeAnim, int functionIndex, TransformOperation::OperationType transformOpType, bool isMatrixAnimation, const IntSize& boxSize)
    25642459{
    25652460    Vector<float> keyTimes;
     
    25762471        keyTimes.append(forwards ? curValue.keyTime() : (1 - curValue.keyTime()));
    25772472
    2578         TransformationMatrix transform;
    2579 
    25802473        if (isMatrixAnimation) {
     2474            TransformationMatrix transform;
    25812475            curValue.value().apply(boxSize, transform);
    25822476
     
    26012495                transformationMatrixValues.append(value);
    26022496            }
    2603 
    2604             curValue.value().apply(boxSize, transform);
    2605         }
    2606 
    2607         matrixes.append(transform);
     2497        }
    26082498
    26092499        if (i < (valueList.size() - 1))
     
    27662656void GraphicsLayerCA::updateContentsScale(float pageScaleFactor)
    27672657{
    2768     float contentsScale = clampedContentsScaleForScale(m_rootRelativeScaleFactor * pageScaleFactor * deviceScaleFactor());
     2658    float contentsScale = clampedContentsScaleForScale(pageScaleFactor * deviceScaleFactor());
     2659   
    27692660    m_layer->setContentsScale(contentsScale);
    27702661    if (drawsContent())
     
    28142705        writeIndent(textStream, indent + 1);
    28152706        textStream << "(visible rect " << m_visibleRect.x() << ", " << m_visibleRect.y() << " " << m_visibleRect.width() << " x " << m_visibleRect.height() << ")\n";
    2816 
    2817         writeIndent(textStream, indent + 1);
    2818         textStream << "(contentsScale " << m_layer->contentsScale() << ")\n";
    28192707    }
    28202708
  • trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h

    r155977 r155994  
    141141        { }
    142142    };
    143     void recursiveCommitChanges(const CommitState&, const TransformState&, const TransformationMatrix& rootRelativeTransformForScaling, float pageScaleFactor = 1, const FloatPoint& positionRelativeToBase = FloatPoint(), bool affectedByPageScale = false);
     143    void recursiveCommitChanges(const CommitState&, const TransformState&, float pageScaleFactor = 1, const FloatPoint& positionRelativeToBase = FloatPoint(), bool affectedByPageScale = false);
    144144
    145145    virtual void flushCompositingState(const FloatRect&);
     
    214214    bool setAnimationKeyframes(const KeyframeValueList&, const Animation*, PlatformCAAnimation*);
    215215
    216     bool setTransformAnimationEndpoints(const KeyframeValueList&, const Animation*, PlatformCAAnimation*, int functionIndex, TransformOperation::OperationType, bool isMatrixAnimation, const IntSize& boxSize, Vector<TransformationMatrix>& matrixes);
    217     bool setTransformAnimationKeyframes(const KeyframeValueList&, const Animation*, PlatformCAAnimation*, int functionIndex, TransformOperation::OperationType, bool isMatrixAnimation, const IntSize& boxSize, Vector<TransformationMatrix>& matrixes);
     216    bool setTransformAnimationEndpoints(const KeyframeValueList&, const Animation*, PlatformCAAnimation*, int functionIndex, TransformOperation::OperationType, bool isMatrixAnimation, const IntSize& boxSize);
     217    bool setTransformAnimationKeyframes(const KeyframeValueList&, const Animation*, PlatformCAAnimation*, int functionIndex, TransformOperation::OperationType, bool isMatrixAnimation, const IntSize& boxSize);
    218218   
    219219#if ENABLE(CSS_FILTERS)
     
    229229    }
    230230
    231     void commitLayerChangesBeforeSublayers(CommitState&, float pageScaleFactor, const FloatPoint& positionRelativeToBase, const FloatRect& oldVisibleRect, TransformationMatrix* transformFromRoot = 0);
     231    void commitLayerChangesBeforeSublayers(CommitState&, float pageScaleFactor, const FloatPoint& positionRelativeToBase, const FloatRect& oldVisibleRect);
    232232    void commitLayerChangesAfterSublayers(CommitState&);
    233233
     
    249249    void computePixelAlignment(float pixelAlignmentScale, const FloatPoint& positionRelativeToBase,
    250250        FloatPoint& position, FloatSize&, FloatPoint3D& anchorPoint, FloatSize& alignmentOffset) const;
    251 
    252     TransformationMatrix layerTransform(const FloatPoint& position, const TransformationMatrix* customTransform = 0) const;
    253     void updateRootRelativeScale(TransformationMatrix* transformFromRoot);
    254 
    255251    enum ComputeVisibleRectFlag { RespectAnimatingTransforms = 1 << 0 };
    256252    typedef unsigned ComputeVisibleRectFlags;
     
    378374    bool appendToUncommittedAnimations(const KeyframeValueList&, const FilterOperation*, const Animation*, const String& animationName, int animationIndex, double timeOffset);
    379375#endif
    380 
    381     // Returns true if any transform animations are running.
    382     bool getTransformFromAnimationsWithMaxScaleImpact(const TransformationMatrix& parentTransformFromRoot, TransformationMatrix&, float& maxScale) const;
    383376   
    384377    enum LayerChange {
     
    450443    bool m_isPageTiledBackingLayer : 1;
    451444   
    452     float m_rootRelativeScaleFactor;
    453    
    454445    Color m_contentsSolidColor;
    455446
     
    461452    struct LayerPropertyAnimation {
    462453        LayerPropertyAnimation(PassRefPtr<PlatformCAAnimation> caAnimation, const String& animationName, AnimatedPropertyID property, int index, int subIndex, double timeOffset)
    463             : m_animation(caAnimation)
    464             , m_name(animationName)
    465             , m_property(property)
    466             , m_index(index)
    467             , m_subIndex(subIndex)
    468             , m_timeOffset(timeOffset)
     454        : m_animation(caAnimation)
     455        , m_name(animationName)
     456        , m_property(property)
     457        , m_index(index)
     458        , m_subIndex(subIndex)
     459        , m_timeOffset(timeOffset)
    469460        { }
    470461
     
    497488    AnimationsMap m_runningAnimations;
    498489
    499     // Map from animation key to TransformationMatrices for animations of transform. The vector contains a matrix for
    500     // the two endpoints, or each keyframe. Used for contentsScale adjustment.
    501     typedef HashMap<String, Vector<TransformationMatrix> > TransformsMap;
    502     TransformsMap m_animationTransforms;
    503 
    504490    Vector<FloatRect> m_dirtyRects;
    505491    FloatSize m_pixelAlignmentOffset;
Note: See TracChangeset for help on using the changeset viewer.