| Index: src/core/SkCanvas.cpp | 
| diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp | 
| index a6f263f517dd387510638b00d7bba207e93cda4e..be514bcd2f4cf1cf4acd58fd500a77f98f5f9986 100644 | 
| --- a/src/core/SkCanvas.cpp | 
| +++ b/src/core/SkCanvas.cpp | 
| @@ -1335,6 +1335,31 @@ void SkCanvas::resetMatrix() { | 
|  | 
| ////////////////////////////////////////////////////////////////////////////// | 
|  | 
| +static SkRegion::Op clip2rgn(SkClipOp op) { | 
| +    if (kIntersect_SkClipOp == op) { | 
| +        return SkRegion::kIntersect_Op; | 
| +    } else { | 
| +        SkASSERT(kDifference_SkClipOp == op); | 
| +        return SkRegion::kDifference_Op; | 
| +    } | 
| +} | 
| + | 
| +void SkCanvas::clipRect(const SkRect& rect, SkClipOp op, bool doAntiAlias) { | 
| +    this->clipRect(rect, clip2rgn(op), doAntiAlias); | 
| +} | 
| + | 
| +void SkCanvas::clipRRect(const SkRRect& rrect, SkClipOp op, bool doAntiAlias) { | 
| +    this->clipRRect(rrect, clip2rgn(op), doAntiAlias); | 
| +} | 
| + | 
| +void SkCanvas::clipPath(const SkPath& path, SkClipOp op, bool doAntiAlias) { | 
| +    this->clipPath(path, clip2rgn(op), doAntiAlias); | 
| +} | 
| + | 
| +void SkCanvas::clipRegion(const SkRegion& deviceRgn, SkClipOp op) { | 
| +    this->clipRegion(deviceRgn, clip2rgn(op)); | 
| +} | 
| + | 
| void SkCanvas::clipRect(const SkRect& rect, SkRegion::Op op, bool doAA) { | 
| ClipEdgeStyle edgeStyle = doAA ? kSoft_ClipEdgeStyle : kHard_ClipEdgeStyle; | 
| this->onClipRect(rect, op, edgeStyle); | 
|  |