Reuse buffer allocation if canvas size does not change
[WebKit-https.git] / Source / WebCore / html / HTMLCanvasElement.h
index e2c4888e5b4b645654fad4ae9828bdeaf4056cb2..92ebd3438528bf64f7b173a5657264855f76bf83 100644 (file)
@@ -45,6 +45,7 @@ namespace WebCore {
 class CanvasContextAttributes;
 class CanvasRenderingContext;
 class GraphicsContext;
+class GraphicsContextStateSaver;
 class HTMLCanvasElement;
 class Image;
 class ImageData;
@@ -143,6 +144,7 @@ private:
     void reset();
 
     void createImageBuffer() const;
+    void clearImageBuffer() const;
 
     void setSurfaceSize(const IntSize&);
 
@@ -166,7 +168,9 @@ private:
 
     // m_createdImageBuffer means we tried to malloc the buffer.  We didn't necessarily get it.
     mutable bool m_hasCreatedImageBuffer;
+    mutable bool m_didClearImageBuffer;
     mutable OwnPtr<ImageBuffer> m_imageBuffer;
+    mutable OwnPtr<GraphicsContextStateSaver> m_contextStateSaver;
     
     mutable RefPtr<Image> m_presentedImage;
     mutable RefPtr<Image> m_copiedImage; // FIXME: This is temporary for platforms that have to copy the image buffer to render (and for CSSCanvasValue).