summaryrefslogtreecommitdiffstats
path: root/cc/blink
diff options
context:
space:
mode:
authorleviw <leviw@chromium.org>2015-01-16 15:08:00 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-16 23:08:58 +0000
commitf97853535ac2f128f15ae7f804edf255b84c4b02 (patch)
tree077cdf91a0d51fe653b79f7a4fbe5b814dc25632 /cc/blink
parent4a4f415efb72580d520da2a32b89eb5a6ca6a109 (diff)
downloadchromium_src-f97853535ac2f128f15ae7f804edf255b84c4b02.zip
chromium_src-f97853535ac2f128f15ae7f804edf255b84c4b02.tar.gz
chromium_src-f97853535ac2f128f15ae7f804edf255b84c4b02.tar.bz2
Pipe ClipPathDisplayItem down to CC
CC-side of ClipPath before I flip the switch in Blink with https://codereview.chromium.org/851363002. Review URL: https://codereview.chromium.org/855573002 Cr-Commit-Position: refs/heads/master@{#311975}
Diffstat (limited to 'cc/blink')
-rw-r--r--cc/blink/web_display_item_list_impl.cc12
-rw-r--r--cc/blink/web_display_item_list_impl.h6
2 files changed, 18 insertions, 0 deletions
diff --git a/cc/blink/web_display_item_list_impl.cc b/cc/blink/web_display_item_list_impl.cc
index d682b2d..fdd05df 100644
--- a/cc/blink/web_display_item_list_impl.cc
+++ b/cc/blink/web_display_item_list_impl.cc
@@ -8,6 +8,7 @@
#include "cc/blink/web_blend_mode.h"
#include "cc/resources/clip_display_item.h"
+#include "cc/resources/clip_path_display_item.h"
#include "cc/resources/drawing_display_item.h"
#include "cc/resources/filter_display_item.h"
#include "cc/resources/float_clip_display_item.h"
@@ -53,6 +54,17 @@ void WebDisplayItemListImpl::appendEndClipItem() {
display_item_list_->AppendItem(cc::EndClipDisplayItem::Create());
}
+void WebDisplayItemListImpl::appendClipPathItem(const SkPath& clip_path,
+ SkRegion::Op clip_op,
+ bool antialias) {
+ display_item_list_->AppendItem(
+ cc::ClipPathDisplayItem::Create(clip_path, clip_op, antialias));
+}
+
+void WebDisplayItemListImpl::appendEndClipPathItem() {
+ display_item_list_->AppendItem(cc::EndClipPathDisplayItem::Create());
+}
+
void WebDisplayItemListImpl::appendFloatClipItem(
const blink::WebFloatRect& clip_rect) {
display_item_list_->AppendItem(cc::FloatClipDisplayItem::Create(clip_rect));
diff --git a/cc/blink/web_display_item_list_impl.h b/cc/blink/web_display_item_list_impl.h
index 28fd472..cd35975 100644
--- a/cc/blink/web_display_item_list_impl.h
+++ b/cc/blink/web_display_item_list_impl.h
@@ -13,9 +13,11 @@
#include "third_party/WebKit/public/platform/WebDisplayItemList.h"
#include "third_party/WebKit/public/platform/WebFloatPoint.h"
#include "third_party/WebKit/public/platform/WebVector.h"
+#include "third_party/skia/include/core/SkRegion.h"
class SkImageFilter;
class SkMatrix44;
+class SkPath;
class SkPicture;
class SkRRect;
@@ -35,6 +37,10 @@ class WebDisplayItemListImpl : public blink::WebDisplayItemList {
const blink::WebRect& clip_rect,
const blink::WebVector<SkRRect>& rounded_clip_rects);
virtual void appendEndClipItem();
+ virtual void appendClipPathItem(const SkPath& clip_path,
+ SkRegion::Op clip_op,
+ bool antialias);
+ virtual void appendEndClipPathItem();
virtual void appendFloatClipItem(const blink::WebFloatRect& clip_rect);
virtual void appendEndFloatClipItem();
virtual void appendTransformItem(const SkMatrix44& matrix);