diff options
Diffstat (limited to 'WebCore/html/canvas/CanvasRenderingContext.h')
-rw-r--r-- | WebCore/html/canvas/CanvasRenderingContext.h | 60 |
1 files changed, 37 insertions, 23 deletions
diff --git a/WebCore/html/canvas/CanvasRenderingContext.h b/WebCore/html/canvas/CanvasRenderingContext.h index 8499b47..a25e8a1 100644 --- a/WebCore/html/canvas/CanvasRenderingContext.h +++ b/WebCore/html/canvas/CanvasRenderingContext.h @@ -28,38 +28,52 @@ #include "GraphicsLayer.h" +#include <wtf/HashSet.h> #include <wtf/Noncopyable.h> +#include <wtf/text/StringHash.h> namespace WebCore { - class WebGLObject; - class HTMLCanvasElement; +class CanvasPattern; +class HTMLCanvasElement; +class HTMLImageElement; +class HTMLVideoElement; +class KURL; +class WebGLObject; - class CanvasRenderingContext : public Noncopyable { - public: - CanvasRenderingContext(HTMLCanvasElement*); - virtual ~CanvasRenderingContext() { } - - // Ref and deref the m_canvas - void ref(); - void deref(); - - HTMLCanvasElement* canvas() const { return m_canvas; } - - virtual bool is2d() const { return false; } - virtual bool is3d() const { return false; } - virtual bool isAccelerated() const { return false; } - - virtual void paintRenderingResultsToCanvas() {} - virtual bool paintsIntoCanvasBuffer() const { return true; } +class CanvasRenderingContext : public Noncopyable { +public: + CanvasRenderingContext(HTMLCanvasElement*); + virtual ~CanvasRenderingContext() { } + + // Ref and deref the m_canvas + void ref(); + void deref(); + + HTMLCanvasElement* canvas() const { return m_canvas; } + + virtual bool is2d() const { return false; } + virtual bool is3d() const { return false; } + virtual bool isAccelerated() const { return false; } + + virtual void paintRenderingResultsToCanvas() {} + virtual bool paintsIntoCanvasBuffer() const { return true; } #if USE(ACCELERATED_COMPOSITING) - virtual PlatformLayer* platformLayer() const { return 0; } + virtual PlatformLayer* platformLayer() const { return 0; } #endif - private: - HTMLCanvasElement* m_canvas; - }; +protected: + void checkOrigin(const CanvasPattern*); + void checkOrigin(const HTMLCanvasElement*); + void checkOrigin(const HTMLImageElement*); + void checkOrigin(const HTMLVideoElement*); + void checkOrigin(const KURL&); + +private: + HTMLCanvasElement* m_canvas; + HashSet<String> m_cleanOrigins; +}; } // namespace WebCore |