diff options
author | pdr <pdr@chromium.org> | 2015-02-25 14:29:17 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-25 22:29:48 +0000 |
commit | 18fc53626c407d76c22c91132cabaa7a0923ed62 (patch) | |
tree | 8daecd9eb4e4e859d9659792275e831327c92cd3 /cc/blink | |
parent | d00f10451d36d173b4d900c9cf3b1d0ff639350e (diff) | |
download | chromium_src-18fc53626c407d76c22c91132cabaa7a0923ed62.zip chromium_src-18fc53626c407d76c22c91132cabaa7a0923ed62.tar.gz chromium_src-18fc53626c407d76c22c91132cabaa7a0923ed62.tar.bz2 |
Add layer bounds to compositing_dislay_item
This patch adds an SkRect for bounds to compositing_display_item and
uses it for setting the canvas layer bounds. With this patch and the
associated blink-side patch [1] we pass the following additional
layout tests:
LayoutTests/svg/zoom/page/zoom-mask-with-percentages.svg
LayoutTests/svg/transforms/text-with-mask-with-svg-transform.svg
LayoutTests/svg/custom/absolute-sized-content-with-resources.xhtml
LayoutTests/svg/custom/mask-excessive-malloc.svg
LayoutTests/svg/batik/masking/maskRegions.svg
[1] https://codereview.chromium.org/960483002
Review URL: https://codereview.chromium.org/952123002
Cr-Commit-Position: refs/heads/master@{#318127}
Diffstat (limited to 'cc/blink')
-rw-r--r-- | cc/blink/web_display_item_list_impl.cc | 11 | ||||
-rw-r--r-- | cc/blink/web_display_item_list_impl.h | 5 |
2 files changed, 15 insertions, 1 deletions
diff --git a/cc/blink/web_display_item_list_impl.cc b/cc/blink/web_display_item_list_impl.cc index 5cbac73..b1f1211 100644 --- a/cc/blink/web_display_item_list_impl.cc +++ b/cc/blink/web_display_item_list_impl.cc @@ -98,12 +98,21 @@ void WebDisplayItemListImpl::appendEndTransparencyItem() { display_item_list_->AppendItem(cc::EndTransparencyDisplayItem::Create()); } +// TODO(pdr): Remove this once the blink-side callers have been removed. void WebDisplayItemListImpl::appendCompositingItem( float opacity, SkXfermode::Mode xfermode, SkColorFilter* color_filter) { + appendCompositingItem(opacity, xfermode, nullptr, color_filter); +} + +void WebDisplayItemListImpl::appendCompositingItem( + float opacity, + SkXfermode::Mode xfermode, + SkRect* bounds, + SkColorFilter* color_filter) { display_item_list_->AppendItem(cc::CompositingDisplayItem::Create( - opacity, xfermode, skia::SharePtr(color_filter))); + opacity, xfermode, bounds, skia::SharePtr(color_filter))); } void WebDisplayItemListImpl::appendEndCompositingItem() { diff --git a/cc/blink/web_display_item_list_impl.h b/cc/blink/web_display_item_list_impl.h index b287704..33b37e0 100644 --- a/cc/blink/web_display_item_list_impl.h +++ b/cc/blink/web_display_item_list_impl.h @@ -50,9 +50,14 @@ class WebDisplayItemListImpl : public blink::WebDisplayItemList { virtual void appendTransparencyItem(float opacity, blink::WebBlendMode blend_mode); virtual void appendEndTransparencyItem(); + // TODO(pdr): Remove this once the blink-side callers have been removed. virtual void appendCompositingItem(float opacity, SkXfermode::Mode, SkColorFilter*); + virtual void appendCompositingItem(float opacity, + SkXfermode::Mode, + SkRect* bounds, + SkColorFilter*); virtual void appendEndCompositingItem(); virtual void appendFilterItem(const blink::WebFilterOperations& filters, const blink::WebFloatRect& bounds); |