Changeset 107959 in webkit


Ignore:
Timestamp:
Feb 16, 2012 11:15:40 AM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[CSS Regions] Repaint issues when changing innerHTML of content
https://bugs.webkit.org/show_bug.cgi?id=78787

Patch by Raul Hudea <rhudea@adobe.com> on 2012-02-16
Reviewed by David Hyatt.

Source/WebCore:

The calculation of the clipping rectangle is based on the repaint rectangle,
so it needs to be clipped to the current region, because it might spread over multiple ones.

Test: fast/repaint/region-painting-invalidation.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::repaintRectangleInRegions):

LayoutTests:

  • fast/repaint/region-painting-invalidation.html: Added.
  • platform/chromium/test_expectations.txt: Needs baseline
  • platform/mac/fast/repaint/region-painting-invalidation-expected.png: Added.
  • platform/mac/fast/repaint/region-painting-invalidation-expected.txt: Added.
Location:
trunk
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r107958 r107959  
     12012-02-16  Raul Hudea  <rhudea@adobe.com>
     2
     3        [CSS Regions] Repaint issues when changing innerHTML of content
     4        https://bugs.webkit.org/show_bug.cgi?id=78787
     5
     6        Reviewed by David Hyatt.
     7
     8        * fast/repaint/region-painting-invalidation.html: Added.
     9        * platform/chromium/test_expectations.txt: Needs baseline
     10        * platform/mac/fast/repaint/region-painting-invalidation-expected.png: Added.
     11        * platform/mac/fast/repaint/region-painting-invalidation-expected.txt: Added.
     12
    1132012-02-16  James Robinson <jamesr@chromium.org>
    214
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r107958 r107959  
    30493049BUGWK78761 DEBUG : fast/regions/element-region-overflow-state.html = PASS TEXT
    30503050BUGWK78761 DEBUG : fast/regions/element-region-overflow-state-vertical-rl.html = PASS TEXT
     3051
     3052// New test added from https://bugs.webkit.org/show_bug.cgi?id=78787, needs baselines.
     3053BUGWK78787 : fast/repaint/region-painting-invalidation.html = IMAGE+TEXT
    30513054
    30523055// CSS custom() filters are not currently supported
  • trunk/Source/WebCore/ChangeLog

    r107954 r107959  
     12012-02-16  Raul Hudea  <rhudea@adobe.com>
     2
     3        [CSS Regions] Repaint issues when changing innerHTML of content
     4        https://bugs.webkit.org/show_bug.cgi?id=78787
     5
     6        Reviewed by David Hyatt.
     7
     8        The calculation of the clipping rectangle is based on the repaint rectangle,
     9        so it needs to be clipped to the current region, because it might spread over multiple ones.
     10
     11        Test: fast/repaint/region-painting-invalidation.html
     12
     13        * rendering/RenderFlowThread.cpp:
     14        (WebCore::RenderFlowThread::repaintRectangleInRegions):
     15
    1162012-02-16  Adam Roben  <aroben@apple.com>
    217
  • trunk/Source/WebCore/rendering/RenderFlowThread.cpp

    r107880 r107959  
    541541        flipForWritingMode(flippedRegionOverflowRect);
    542542
    543         LayoutRect clippedRect(flippedRegionOverflowRect);
    544         clippedRect.intersect(repaintRect);
     543        LayoutRect clippedRect(repaintRect);
     544        clippedRect.intersect(flippedRegionOverflowRect);
    545545        if (clippedRect.isEmpty())
    546546            continue;
    547        
     547
    548548        // Put the region rect into the region's physical coordinate space.
    549         clippedRect.setLocation(region->contentBoxRect().location() + (repaintRect.location() - flippedRegionRect.location()));
    550        
     549        clippedRect.setLocation(region->contentBoxRect().location() + (clippedRect.location() - flippedRegionRect.location()));
     550
    551551        // Now switch to the region's writing mode coordinate space and let it repaint itself.
    552552        region->flipForWritingMode(clippedRect);
Note: See TracChangeset for help on using the changeset viewer.