Changeset 91114 in webkit


Ignore:
Timestamp:
Jul 15, 2011 2:54:20 PM (13 years ago)
Author:
enne@google.com
Message:

Reviewed by Simon Fraser.

Overlap map for compositing needs to consider clipping
https://bugs.webkit.org/show_bug.cgi?id=63493

Source/WebCore:

Test: compositing/layer-creation/overlap-clipping.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap):

  • rendering/RenderLayerCompositor.h:

LayoutTests:

Added new test. limit-layer-bounds-clipping-ancestor had changed
behavior because some layers no longer needed to become composited.
Adjusted that test to be less platform-specific as well.

  • compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
  • compositing/geometry/limit-layer-bounds-clipping-ancestor.html:
  • compositing/layer-creation/overlap-clipping-expected.txt: Added.
  • compositing/layer-creation/overlap-clipping.html: Added.
  • platform/chromium-gpu-mac/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: Removed.
  • platform/chromium-gpu/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: Removed.
Location:
trunk
Files:
2 added
2 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r91112 r91114  
     12011-06-27  Adrienne Walker  <enne@google.com>
     2
     3        Reviewed by Simon Fraser.
     4
     5        Overlap map for compositing needs to consider clipping
     6        https://bugs.webkit.org/show_bug.cgi?id=63493
     7
     8        Added new test.  limit-layer-bounds-clipping-ancestor had changed
     9        behavior because some layers no longer needed to become composited.
     10        Adjusted that test to be less platform-specific as well.
     11
     12        * compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
     13        * compositing/geometry/limit-layer-bounds-clipping-ancestor.html:
     14        * compositing/layer-creation/overlap-clipping-expected.txt: Added.
     15        * compositing/layer-creation/overlap-clipping.html: Added.
     16        * platform/chromium-gpu-mac/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: Removed.
     17        * platform/chromium-gpu/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: Removed.
     18
    1192011-07-15  Kenneth Russell  <kbr@google.com>
    220
  • trunk/LayoutTests/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt

    r67682 r91114  
    1010    (GraphicsLayer
    1111      (bounds 785.00 2618.00)
    12       (children 9
     12      (children 6
    1313        (GraphicsLayer
    1414          (position 21.00 21.00)
     
    3636            (GraphicsLayer
    3737              (position 5.00 145.00)
    38               (bounds 68.00 28.00)
     38              (bounds 144.00 24.00)
    3939              (drawsContent 1)
    4040            )
    4141          )
    42         )
    43         (GraphicsLayer
    44           (position 28.00 20.00)
    45           (bounds 200.00 200.00)
    46           (children 1
    47             (GraphicsLayer
    48               (position 5.00 2058.00)
    49               (drawsContent 1)
    50             )
    51           )
    52         )
    53         (GraphicsLayer
    54           (position 18.00 240.00)
    55           (bounds 220.00 220.00)
    56           (drawsContent 1)
    5742        )
    5843        (GraphicsLayer
     
    7257            (GraphicsLayer
    7358              (position 5.00 145.00)
    74               (bounds 68.00 28.00)
    75               (drawsContent 1)
    76             )
    77           )
    78         )
    79         (GraphicsLayer
    80           (position 28.00 250.00)
    81           (bounds 185.00 200.00)
    82           (children 1
    83             (GraphicsLayer
    84               (position 5.00 2058.00)
     59              (bounds 144.00 24.00)
    8560              (drawsContent 1)
    8661            )
  • trunk/LayoutTests/compositing/geometry/limit-layer-bounds-clipping-ancestor.html

    r66896 r91114  
    3030      width: 100px;
    3131      height: 100px;
     32    }
     33
     34    p {
     35      font: 1em/1 Ahem, sans-serif;
    3236    }
    3337   
  • trunk/Source/WebCore/ChangeLog

    r91113 r91114  
     12011-06-27  Adrienne Walker  <enne@google.com>
     2
     3        Reviewed by Simon Fraser.
     4
     5        Overlap map for compositing needs to consider clipping
     6        https://bugs.webkit.org/show_bug.cgi?id=63493
     7
     8        Test: compositing/layer-creation/overlap-clipping.html
     9
     10        * rendering/RenderLayerCompositor.cpp:
     11        (WebCore::RenderLayerCompositor::addToOverlapMap):
     12        * rendering/RenderLayerCompositor.h:
     13
    1142011-07-15  Sheriff Bot  <webkit.review.bot@gmail.com>
    215
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r90925 r91114  
    567567    }
    568568
    569     overlapMap.add(layer, layerBounds);
     569    IntRect clipRect = layer->backgroundClipRect(rootRenderLayer(), true);
     570    clipRect.intersect(layerBounds);
     571    overlapMap.add(layer, clipRect);
    570572}
    571573
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.h

    r90925 r91114  
    218218
    219219    typedef HashMap<RenderLayer*, IntRect> OverlapMap;
    220     static void addToOverlapMap(OverlapMap&, RenderLayer*, IntRect& layerBounds, bool& boundsComputed);
     220    void addToOverlapMap(OverlapMap&, RenderLayer*, IntRect& layerBounds, bool& boundsComputed);
    221221    void addToOverlapMapRecursive(OverlapMap&, RenderLayer*);
    222222    static bool overlapsCompositedLayers(OverlapMap&, const IntRect& layerBounds);
Note: See TracChangeset for help on using the changeset viewer.