| Index: third_party/WebKit/Source/modules/canvas2d/CanvasStyle.cpp
|
| diff --git a/third_party/WebKit/Source/modules/canvas2d/CanvasStyle.cpp b/third_party/WebKit/Source/modules/canvas2d/CanvasStyle.cpp
|
| index a1c55bfcfdfb15eac0f1095fde32741f78ae4832..ad05efc88b1f64bb53af89cad5ad61b18a103d78 100644
|
| --- a/third_party/WebKit/Source/modules/canvas2d/CanvasStyle.cpp
|
| +++ b/third_party/WebKit/Source/modules/canvas2d/CanvasStyle.cpp
|
| @@ -135,6 +135,27 @@ RGBA32 CanvasStyle::paintColor() const
|
| return Color::black;
|
| }
|
|
|
| +PassRefPtr<SkShader> CanvasStyle::asShader() const
|
| +{
|
| + switch (m_type) {
|
| + case ColorRGBA:
|
| + return adoptRef(SkShader::CreateColorShader(m_rgba));
|
| + case Gradient: {
|
| + SkPaint paint;
|
| + canvasGradient()->gradient()->applyToPaint(paint);
|
| + return paint.getShader();
|
| + }
|
| + case ImagePattern: {
|
| + SkPaint paint;
|
| + canvasPattern()->pattern()->applyToPaint(paint);
|
| + return paint.getShader();
|
| + }
|
| + default:
|
| + ASSERT_NOT_REACHED();
|
| + }
|
| + return nullptr;
|
| +}
|
| +
|
| DEFINE_TRACE(CanvasStyle)
|
| {
|
| visitor->trace(m_gradient);
|
|
|