| Index: third_party/WebKit/Source/core/paint/PaintInfo.h | 
| diff --git a/third_party/WebKit/Source/core/paint/PaintInfo.h b/third_party/WebKit/Source/core/paint/PaintInfo.h | 
| index 6e22688c0328c9e3464a93cfc13a664f660375d2..e5ad904e648ce2fc6dae86e2537d8f8d205d9d4b 100644 | 
| --- a/third_party/WebKit/Source/core/paint/PaintInfo.h | 
| +++ b/third_party/WebKit/Source/core/paint/PaintInfo.h | 
| @@ -51,13 +51,11 @@ class LayoutObject; | 
| class PaintInvalidationState; | 
|  | 
| struct CORE_EXPORT PaintInfo { | 
| -    DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); | 
| -    PaintInfo(GraphicsContext* newContext, const IntRect& cullRect, PaintPhase newPhase, GlobalPaintFlags globalPaintFlags, PaintLayerFlags paintFlags, | 
| +    PaintInfo(GraphicsContext& newContext, const IntRect& cullRect, PaintPhase newPhase, GlobalPaintFlags globalPaintFlags, PaintLayerFlags paintFlags, | 
| LayoutObject* newPaintingRoot = nullptr, const LayoutBoxModelObject* newPaintContainer = nullptr) | 
| : context(newContext) | 
| , phase(newPhase) | 
| , paintingRoot(newPaintingRoot) | 
| -        , paintInvalidationState(nullptr) | 
| , m_cullRect(cullRect) | 
| , m_paintContainer(newPaintContainer) | 
| , m_paintFlags(paintFlags) | 
| @@ -65,6 +63,16 @@ struct CORE_EXPORT PaintInfo { | 
| { | 
| } | 
|  | 
| +    PaintInfo(GraphicsContext& newContext, const PaintInfo& copyOtherFieldsFrom) | 
| +        : context(newContext) | 
| +        , phase(copyOtherFieldsFrom.phase) | 
| +        , paintingRoot(copyOtherFieldsFrom.paintingRoot) | 
| +        , m_cullRect(copyOtherFieldsFrom.m_cullRect) | 
| +        , m_paintContainer(copyOtherFieldsFrom.m_paintContainer) | 
| +        , m_paintFlags(copyOtherFieldsFrom.m_paintFlags) | 
| +        , m_globalPaintFlags(copyOtherFieldsFrom.m_globalPaintFlags) | 
| +    { } | 
| + | 
| void updatePaintingRootForChildren(const LayoutObject*); | 
|  | 
| bool shouldPaintWithinRoot(const LayoutObject*) const; | 
| @@ -89,11 +97,9 @@ struct CORE_EXPORT PaintInfo { | 
| void updateCullRect(const AffineTransform& localToParentTransform); | 
|  | 
| // FIXME: Introduce setters/getters at some point. Requires a lot of changes throughout layout/. | 
| -    GraphicsContext* context; | 
| +    GraphicsContext& context; | 
| PaintPhase phase; | 
| LayoutObject* paintingRoot; // used to draw just one element and its visual kids | 
| -    // TODO(wangxianzhu): Populate it. | 
| -    PaintInvalidationState* paintInvalidationState; | 
|  | 
| private: | 
| CullRect m_cullRect; | 
|  |