| Index: Source/core/platform/graphics/chromium/Canvas2DLayerBridge.h
|
| diff --git a/Source/core/platform/graphics/chromium/Canvas2DLayerBridge.h b/Source/core/platform/graphics/chromium/Canvas2DLayerBridge.h
|
| index 12f87fa0f0dd9af0e2c5a6eb8c314d46ec4bd97f..658a739e82102e7cef3baa1e35d7e4bf8b5ca048 100644
|
| --- a/Source/core/platform/graphics/chromium/Canvas2DLayerBridge.h
|
| +++ b/Source/core/platform/graphics/chromium/Canvas2DLayerBridge.h
|
| @@ -43,7 +43,7 @@ class WebGraphicsContext3D;
|
|
|
| namespace WebCore {
|
|
|
| -class Canvas2DLayerBridge : public WebKit::WebExternalTextureLayerClient, public SkDeferredCanvas::NotificationClient, public DoublyLinkedListNode<Canvas2DLayerBridge> {
|
| +class Canvas2DLayerBridge : public WebKit::WebExternalTextureLayerClient, public SkDeferredCanvas::NotificationClient, public DoublyLinkedListNode<Canvas2DLayerBridge>, public RefCounted<Canvas2DLayerBridge> {
|
| WTF_MAKE_NONCOPYABLE(Canvas2DLayerBridge);
|
| public:
|
| enum OpacityMode {
|
| @@ -51,7 +51,7 @@ public:
|
| NonOpaque
|
| };
|
|
|
| - static PassOwnPtr<Canvas2DLayerBridge> create(PassRefPtr<GraphicsContext3D>, const IntSize&, OpacityMode);
|
| + static PassRefPtr<Canvas2DLayerBridge> create(PassRefPtr<GraphicsContext3D>, const IntSize&, OpacityMode);
|
|
|
| virtual ~Canvas2DLayerBridge();
|
|
|
| @@ -81,9 +81,13 @@ public:
|
|
|
| bool isValid();
|
|
|
| + // Non-virtual overload of RefCounted::deref. RefPtr calls this one.
|
| + void deref();
|
| +
|
| protected:
|
| Canvas2DLayerBridge(PassRefPtr<GraphicsContext3D>, SkDeferredCanvas*, OpacityMode);
|
| void setRateLimitingEnabled(bool);
|
| + bool isDead();
|
|
|
| SkDeferredCanvas* m_canvas;
|
| OwnPtr<WebKit::WebExternalTextureLayer> m_layer;
|
| @@ -92,6 +96,8 @@ protected:
|
| bool m_didRecordDrawCommand;
|
| bool m_surfaceIsValid;
|
| int m_framesPending;
|
| + int m_liveMailboxCount;
|
| + bool m_destructionInProgress;
|
| bool m_rateLimitingEnabled;
|
|
|
| friend class WTF::DoublyLinkedListNode<Canvas2DLayerBridge>;
|
| @@ -108,6 +114,7 @@ protected:
|
| WebKit::WebExternalTextureMailbox m_mailbox;
|
| SkAutoTUnref<SkImage> m_image;
|
| MailboxStatus m_status;
|
| + RefPtr<Canvas2DLayerBridge> m_parentLayerBridge;
|
|
|
| MailboxInfo(const MailboxInfo&);
|
| MailboxInfo() {}
|
|
|