Chromium Code Reviews| Index: Source/core/html/canvas/CanvasRenderingContext.h |
| diff --git a/Source/core/html/canvas/CanvasRenderingContext.h b/Source/core/html/canvas/CanvasRenderingContext.h |
| index f4140d93dab593b205f728107fa343c02dedd6c8..7cfe2e53bd747c5d4424230ec1333e929fb9689a 100644 |
| --- a/Source/core/html/canvas/CanvasRenderingContext.h |
| +++ b/Source/core/html/canvas/CanvasRenderingContext.h |
| @@ -27,6 +27,7 @@ |
| #define CanvasRenderingContext_h |
| #include "core/html/HTMLCanvasElement.h" |
| +#include "platform/heap/Handle.h" |
| #include "wtf/HashSet.h" |
| #include "wtf/Noncopyable.h" |
| #include "wtf/text/StringHash.h" |
| @@ -39,13 +40,17 @@ class HTMLCanvasElement; |
| class KURL; |
| class WebGLObject; |
| -class CanvasRenderingContext { |
| - WTF_MAKE_NONCOPYABLE(CanvasRenderingContext); WTF_MAKE_FAST_ALLOCATED; |
| +class CanvasRenderingContext : public NoBaseWillBeGarbageCollectedFinalized<CanvasRenderingContext> { |
|
tkent
2014/04/24 01:20:24
Why is CanvasRenderingContext moved to Oilpan in t
Mads Ager (chromium)
2014/04/24 10:57:36
Because we need to do weak processing of Multisamp
|
| + WTF_MAKE_NONCOPYABLE(CanvasRenderingContext); |
| + WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; |
| public: |
| virtual ~CanvasRenderingContext() { } |
| +#if !ENABLE(OILPAN) |
| void ref() { m_canvas->ref(); } |
| void deref() { m_canvas->deref(); } |
| +#endif |
| + |
| HTMLCanvasElement* canvas() const { return m_canvas; } |
| virtual bool is2d() const { return false; } |
| @@ -56,11 +61,14 @@ public: |
| virtual void paintRenderingResultsToCanvas() {} |
| virtual blink::WebLayer* platformLayer() const { return 0; } |
| + |
| + virtual void trace(Visitor* visitor) { visitor->trace(m_canvas); } |
| + |
| protected: |
| CanvasRenderingContext(HTMLCanvasElement*); |
| private: |
| - HTMLCanvasElement* m_canvas; |
| + RawPtrWillBeMember<HTMLCanvasElement> m_canvas; |
| }; |
| } // namespace WebCore |