Changeset 150685 in webkit


Ignore:
Timestamp:
May 25, 2013 2:51:25 AM (11 years ago)
Author:
noam.rosenthal@nokia.com
Message:

Direct pattern compositing breaks when no-repeat is set on a large layer
https://bugs.webkit.org/show_bug.cgi?id=116140

Source/WebCore:

Reviewed by Antti Koivisto.

In some cases the directly composited background color logic overrides the layer's
contentsRect, which results in wrong rendering of tiled images.
This patch makes sure that the background image is applied after the solid color,
which ensures the correct contentsRect.

Test: compositing/patterns/direct-pattern-compositing-contain-no-repeat.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateDirectlyCompositedContents):

LayoutTests:

Added a ref-test to make sure that direct pattern compositing works well with no-repeat
in a particular geometry.

Reviewed by Antti Koivisto.

  • compositing/patterns/direct-pattern-compositing-contain-no-repeat-expected.html: Added.
  • compositing/patterns/direct-pattern-compositing-contain-no-repeat.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r150678 r150685  
     12013-05-25  Noam Rosenthal  <noam.rosenthal@nokia.com>
     2
     3        Direct pattern compositing breaks when no-repeat is set on a large layer
     4        https://bugs.webkit.org/show_bug.cgi?id=116140
     5
     6        Added a ref-test to make sure that direct pattern compositing works well with no-repeat
     7        in a particular geometry.
     8
     9        Reviewed by Antti Koivisto.
     10
     11        * compositing/patterns/direct-pattern-compositing-contain-no-repeat-expected.html: Added.
     12        * compositing/patterns/direct-pattern-compositing-contain-no-repeat.html: Added.
     13
    1142013-05-24  Brent Fulgham  <bfulgham@apple.com>
    215
  • trunk/Source/WebCore/ChangeLog

    r150684 r150685  
     12013-05-25  Noam Rosenthal  <noam.rosenthal@nokia.com>
     2
     3        Direct pattern compositing breaks when no-repeat is set on a large layer
     4        https://bugs.webkit.org/show_bug.cgi?id=116140
     5
     6        Reviewed by Antti Koivisto.
     7
     8        In some cases the directly composited background color logic overrides the layer's
     9        contentsRect, which results in wrong rendering of tiled images.
     10        This patch makes sure that the background image is applied after the solid color,
     11        which ensures the correct contentsRect.
     12
     13        Test: compositing/patterns/direct-pattern-compositing-contain-no-repeat.html
     14
     15        * rendering/RenderLayerBacking.cpp:
     16        (WebCore::RenderLayerBacking::updateDirectlyCompositedContents):
     17
    1182013-05-24  Andreas Kling  <akling@apple.com>
    219
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r150643 r150685  
    876876        return;
    877877
     878    // The order of operations here matters, since the last valid type of contents needs
     879    // to also update the contentsRect.
     880    updateDirectlyCompositedBackgroundColor(isSimpleContainer, didUpdateContentsRect);
    878881    updateDirectlyCompositedBackgroundImage(isSimpleContainer, didUpdateContentsRect);
    879     updateDirectlyCompositedBackgroundColor(isSimpleContainer, didUpdateContentsRect);
    880882}
    881883
Note: See TracChangeset for help on using the changeset viewer.