Changeset 164600 in webkit


Ignore:
Timestamp:
Feb 24, 2014 12:51:05 PM (10 years ago)
Author:
stavila@adobe.com
Message:

[CSS Regions] Relative positioned elements overflowing the region do not get painted into the next tile
https://bugs.webkit.org/show_bug.cgi?id=129254

Reviewed by Antti Koivisto.

Source/WebCore:

The painting of the region's layer should not be aborted so early if the region's fragment shouldn't be painted
because that would prevent all the layer's children from being painted.

Another problem this patch addresses is that clipping should also be performed when the clip rect is empty,
which is what happens when painting in a tile in which the flowed element would normally be painted
if it wasn't clipped by the region.

Test: fast/regions/content-relative-next-tile.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintFlowThreadIfRegionForFragments):

LayoutTests:

Added test for the painting across tiles of relative positioned elements flowed into regions.

  • fast/regions/content-relative-next-tile-expected.html: Added.
  • fast/regions/content-relative-next-tile.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r164592 r164600  
     12014-02-24  Radu Stavila  <stavila@adobe.com>
     2
     3        [CSS Regions] Relative positioned elements overflowing the region do not get painted into the next tile
     4        https://bugs.webkit.org/show_bug.cgi?id=129254
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Added test for the painting across tiles of relative positioned elements flowed into regions.
     9
     10        * fast/regions/content-relative-next-tile-expected.html: Added.
     11        * fast/regions/content-relative-next-tile.html: Added.
     12
    1132014-02-24  Dirk Schulze  <krit@webkit.org>
    214
  • trunk/Source/WebCore/ChangeLog

    r164594 r164600  
     12014-02-24  Radu Stavila  <stavila@adobe.com>
     2
     3        [CSS Regions] Relative positioned elements overflowing the region do not get painted into the next tile
     4        https://bugs.webkit.org/show_bug.cgi?id=129254
     5
     6        Reviewed by Antti Koivisto.
     7
     8        The painting of the region's layer should not be aborted so early if the region's fragment shouldn't be painted
     9        because that would prevent all the layer's children from being painted.
     10
     11        Another problem this patch addresses is that clipping should also be performed when the clip rect is empty,
     12        which is what happens when painting in a tile in which the flowed element would normally be painted
     13        if it wasn't clipped by the region.
     14
     15        Test: fast/regions/content-relative-next-tile.html
     16
     17        * rendering/RenderLayer.cpp:
     18        (WebCore::RenderLayer::paintFlowThreadIfRegionForFragments):
     19
    1202014-02-24  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>
    221       
  • trunk/Source/WebCore/rendering/RenderLayer.cpp

    r164594 r164600  
    68226822        const LayerFragment& fragment = fragments.at(i);
    68236823
    6824         if (!fragment.shouldPaintContent)
    6825             continue;
    6826 
    68276824        ClipRect clipRect = fragment.backgroundRect;
    68286825        if (flowFragment->shouldClipFlowThreadContent())
    68296826            clipRect.intersect(regionClipRect);
    68306827
    6831         bool shouldClip = !clipRect.isEmpty() && clipRect != LayoutRect::infiniteRect();
     6828        bool shouldClip = (clipRect != LayoutRect::infiniteRect());
    68326829        // Optimize clipping for the single fragment case.
    68336830        if (shouldClip)
Note: See TracChangeset for help on using the changeset viewer.