| Index: third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.cpp
|
| diff --git a/third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.cpp b/third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.cpp
|
| index d54204ea18c56d148fc3e8ff9213d10177bc65ec..9668f847da74eb4312a6191c9b6f9d46dbe66e5a 100644
|
| --- a/third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.cpp
|
| +++ b/third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.cpp
|
| @@ -93,6 +93,21 @@ void BaseRenderingContext2D::restore()
|
| validateStateStack();
|
| }
|
|
|
| +void BaseRenderingContext2D::restoreMatrixClipStack(SkCanvas* c) const
|
| +{
|
| + if (!c)
|
| + return;
|
| + HeapVector<Member<CanvasRenderingContext2DState>>::const_iterator currState;
|
| + DCHECK(m_stateStack.begin() < m_stateStack.end());
|
| + for (currState = m_stateStack.begin(); currState < m_stateStack.end(); currState++) {
|
| + c->setMatrix(SkMatrix::I());
|
| + currState->get()->playbackClips(c);
|
| + c->setMatrix(affineTransformToSkMatrix(currState->get()->transform()));
|
| + c->save();
|
| + }
|
| + c->restore();
|
| +}
|
| +
|
| static inline void convertCanvasStyleToUnionType(CanvasStyle* style, StringOrCanvasGradientOrCanvasPattern& returnValue)
|
| {
|
| if (CanvasGradient* gradient = style->getCanvasGradient()) {
|
|
|