Commit fabe7b9e authored by fmalita's avatar fmalita Committed by Commit bot

Remove ClipPathDisplayItem::clip_op_

We only use kIntersect in practice, no need to paramaterize.

R=reed@google.com,chrishtr@chromium.org
TBR=
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2575583002
Cr-Commit-Position: refs/heads/master@{#438556}
parent 5fc3682c
......@@ -71,10 +71,9 @@ void WebDisplayItemListImpl::appendEndClipItem() {
}
void WebDisplayItemListImpl::appendClipPathItem(const SkPath& clip_path,
SkClipOp clip_op,
bool antialias) {
display_item_list_->CreateAndAppendPairedBeginItem<cc::ClipPathDisplayItem>(
clip_path, clip_op, antialias);
clip_path, antialias);
}
void WebDisplayItemListImpl::appendEndClipPathItem() {
......
......@@ -12,7 +12,6 @@
#include "third_party/WebKit/public/platform/WebDisplayItemList.h"
#include "third_party/WebKit/public/platform/WebVector.h"
#include "third_party/skia/include/core/SkBlendMode.h"
#include "third_party/skia/include/core/SkClipOp.h"
#include "ui/gfx/geometry/point_f.h"
class SkColorFilter;
......@@ -48,7 +47,6 @@ class WebDisplayItemListImpl : public blink::WebDisplayItemList {
const blink::WebVector<SkRRect>& rounded_clip_rects) override;
void appendEndClipItem() override;
void appendClipPathItem(const SkPath& clip_path,
SkClipOp clip_op,
bool antialias) override;
void appendEndClipPathItem() override;
void appendFloatClipItem(const blink::WebFloatRect& clip_rect) override;
......
......@@ -16,10 +16,9 @@
namespace cc {
ClipPathDisplayItem::ClipPathDisplayItem(const SkPath& clip_path,
SkClipOp clip_op,
bool antialias)
: DisplayItem(CLIP_PATH) {
SetNew(clip_path, clip_op, antialias);
SetNew(clip_path, antialias);
}
ClipPathDisplayItem::ClipPathDisplayItem(const proto::DisplayItem& proto)
......@@ -27,7 +26,6 @@ ClipPathDisplayItem::ClipPathDisplayItem(const proto::DisplayItem& proto)
DCHECK_EQ(proto::DisplayItem::Type_ClipPath, proto.type());
const proto::ClipPathDisplayItem& details = proto.clip_path_item();
SkClipOp clip_op = SkClipOpFromProto(details.clip_op());
bool antialias = details.antialias();
SkPath clip_path;
......@@ -37,17 +35,15 @@ ClipPathDisplayItem::ClipPathDisplayItem(const proto::DisplayItem& proto)
DCHECK_EQ(details.clip_path().size(), bytes_read);
}
SetNew(clip_path, clip_op, antialias);
SetNew(clip_path, antialias);
}
ClipPathDisplayItem::~ClipPathDisplayItem() {
}
void ClipPathDisplayItem::SetNew(const SkPath& clip_path,
SkClipOp clip_op,
bool antialias) {
clip_path_ = clip_path;
clip_op_ = clip_op;
antialias_ = antialias;
}
......@@ -55,7 +51,6 @@ void ClipPathDisplayItem::ToProtobuf(proto::DisplayItem* proto) const {
proto->set_type(proto::DisplayItem::Type_ClipPath);
proto::ClipPathDisplayItem* details = proto->mutable_clip_path_item();
details->set_clip_op(SkClipOpToProto(clip_op_));
details->set_antialias(antialias_);
// Just use skia's serialization method for the SkPath for now.
......@@ -70,7 +65,7 @@ void ClipPathDisplayItem::ToProtobuf(proto::DisplayItem* proto) const {
void ClipPathDisplayItem::Raster(SkCanvas* canvas,
SkPicture::AbortCallback* callback) const {
canvas->save();
canvas->clipPath(clip_path_, clip_op_, antialias_);
canvas->clipPath(clip_path_, antialias_);
}
void ClipPathDisplayItem::AsValueInto(
......
......@@ -12,7 +12,6 @@
#include "base/memory/ptr_util.h"
#include "cc/base/cc_export.h"
#include "cc/playback/display_item.h"
#include "third_party/skia/include/core/SkClipOp.h"
#include "third_party/skia/include/core/SkPath.h"
class SkCanvas;
......@@ -21,7 +20,7 @@ namespace cc {
class CC_EXPORT ClipPathDisplayItem : public DisplayItem {
public:
ClipPathDisplayItem(const SkPath& path, SkClipOp clip_op, bool antialias);
ClipPathDisplayItem(const SkPath& path, bool antialias);
explicit ClipPathDisplayItem(const proto::DisplayItem& proto);
~ClipPathDisplayItem() override;
......@@ -39,10 +38,9 @@ class CC_EXPORT ClipPathDisplayItem : public DisplayItem {
int ApproximateOpCount() const { return 1; }
private:
void SetNew(const SkPath& path, SkClipOp clip_op, bool antialias);
void SetNew(const SkPath& path, bool antialias);
SkPath clip_path_;
SkClipOp clip_op_;
bool antialias_;
};
......
......@@ -200,8 +200,7 @@ TEST(DisplayItemListTest, SerializeClipPathItem) {
// Build the ClipPathDisplayItem.
SkPath path;
path.addCircle(5.f, 5.f, 2.f, SkPath::Direction::kCW_Direction);
list->CreateAndAppendPairedBeginItem<ClipPathDisplayItem>(
path, SkClipOp::kIntersect, false);
list->CreateAndAppendPairedBeginItem<ClipPathDisplayItem>(path, false);
// Build the second DrawingDisplayItem.
AppendSecondSerializationTestPicture(list, layer_size);
......
......@@ -26,30 +26,6 @@ SkPoint ProtoToSkPoint(const proto::PointF& proto) {
} // namespace
SkClipOp SkClipOpFromProto(proto::SkClipOp::Op op) {
switch (op) {
case proto::SkClipOp::DIFFERENCE_:
return SkClipOp::kDifference;
case proto::SkClipOp::INTERSECT:
return SkClipOp::kIntersect;
default:
break;
}
return SkClipOp::kDifference;
}
proto::SkClipOp::Op SkClipOpToProto(SkClipOp op) {
switch (op) {
case SkClipOp::kDifference:
return proto::SkClipOp::DIFFERENCE_;
case SkClipOp::kIntersect:
return proto::SkClipOp::INTERSECT;
default:
break;
}
return proto::SkClipOp::DIFFERENCE_;
}
SkBlendMode SkXfermodeModeFromProto(proto::SkXfermode::Mode mode) {
switch (mode) {
case proto::SkXfermode::CLEAR_:
......
......@@ -21,9 +21,6 @@ class SkRRect;
// TODO(dtrainor): Move these to a class and make them static
// (crbug.com/548432).
CC_EXPORT SkClipOp SkClipOpFromProto(proto::SkClipOp::Op op);
CC_EXPORT proto::SkClipOp::Op SkClipOpToProto(SkClipOp op);
CC_EXPORT SkBlendMode SkXfermodeModeFromProto(proto::SkXfermode::Mode mode);
CC_EXPORT proto::SkXfermode::Mode SkXfermodeModeToProto(SkBlendMode mode);
......
......@@ -11,24 +11,11 @@
#include "cc/proto/skxfermode.pb.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/skia/include/core/SkBlendMode.h"
#include "third_party/skia/include/core/SkClipOp.h"
#include "third_party/skia/include/core/SkRRect.h"
namespace cc {
namespace {
TEST(SkiaProtoConversionsTest, SerializeDeserializeSkClipOp) {
// explicitly list the clipops, as this list will be reduced overtime
// as skia constricts the valid ops for clipping
// https://bugs.chromium.org/p/skia/issues/detail?id=3191
const SkClipOp ops[] = {
SkClipOp::kDifference, SkClipOp::kIntersect,
};
for (SkClipOp op : ops) {
EXPECT_EQ(op, SkClipOpFromProto(SkClipOpToProto(op)));
}
}
TEST(SkiaProtoConversionsTest, SerializeDeserializeSkXfermodeMode) {
for (size_t i = 0; i < static_cast<size_t>(SkBlendMode::kLastMode); i++) {
SkBlendMode mode = static_cast<SkBlendMode>(i);
......
......@@ -20,7 +20,7 @@ void BeginClipPathDisplayItem::replay(GraphicsContext& context) const {
void BeginClipPathDisplayItem::appendToWebDisplayItemList(
const IntRect& visualRect,
WebDisplayItemList* list) const {
list->appendClipPathItem(m_clipPath, SkClipOp::kIntersect, true);
list->appendClipPathItem(m_clipPath, true);
}
void BeginClipPathDisplayItem::analyzeForGpuRasterization(
......
......@@ -13,7 +13,6 @@
#include "WebVector.h"
#include "third_party/skia/include/core/SkBlendMode.h"
#include "third_party/skia/include/core/SkClipOp.h"
#include "third_party/skia/include/core/SkRefCnt.h"
class SkColorFilter;
......@@ -47,7 +46,7 @@ class WebDisplayItemList {
virtual void appendClipItem(const WebRect& clipRect,
const WebVector<SkRRect>& roundedClipRects) {}
virtual void appendEndClipItem() {}
virtual void appendClipPathItem(const SkPath&, SkClipOp, bool antialias) {}
virtual void appendClipPathItem(const SkPath&, bool antialias) {}
virtual void appendEndClipPathItem() {}
virtual void appendFloatClipItem(const WebFloatRect& clipRect) {}
virtual void appendEndFloatClipItem() {}
......
......@@ -49,14 +49,14 @@ void ClipRecorder::ClipRect(const gfx::Rect& clip_rect) {
void ClipRecorder::ClipPath(const gfx::Path& clip_path) {
bool antialias = false;
context_.list_->CreateAndAppendPairedBeginItem<cc::ClipPathDisplayItem>(
clip_path, SkClipOp::kIntersect, antialias);
clip_path, antialias);
RecordCloser(CLIP_PATH);
}
void ClipRecorder::ClipPathWithAntiAliasing(const gfx::Path& clip_path) {
bool antialias = true;
context_.list_->CreateAndAppendPairedBeginItem<cc::ClipPathDisplayItem>(
clip_path, SkClipOp::kIntersect, antialias);
clip_path, antialias);
RecordCloser(CLIP_PATH);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment