| Index: Source/core/platform/graphics/Canvas2DLayerBridge.h
|
| diff --git a/Source/core/platform/graphics/Canvas2DLayerBridge.h b/Source/core/platform/graphics/Canvas2DLayerBridge.h
|
| deleted file mode 100644
|
| index 9cc266440117636cf5a7e903019ebcdd6c994ce4..0000000000000000000000000000000000000000
|
| --- a/Source/core/platform/graphics/Canvas2DLayerBridge.h
|
| +++ /dev/null
|
| @@ -1,144 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2012 Google Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - *
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
| - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
| - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
| - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
| - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
| - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
| - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
| - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
| - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -#ifndef Canvas2DLayerBridge_h
|
| -#define Canvas2DLayerBridge_h
|
| -
|
| -#include "SkDeferredCanvas.h"
|
| -#include "SkImage.h"
|
| -#include "core/platform/graphics/GraphicsContext3D.h"
|
| -#include "platform/geometry/IntSize.h"
|
| -#include "public/platform/WebExternalTextureLayer.h"
|
| -#include "public/platform/WebExternalTextureLayerClient.h"
|
| -#include "public/platform/WebExternalTextureMailbox.h"
|
| -#include "wtf/DoublyLinkedList.h"
|
| -#include "wtf/PassOwnPtr.h"
|
| -#include "wtf/RefPtr.h"
|
| -
|
| -namespace blink {
|
| -class WebGraphicsContext3D;
|
| -}
|
| -
|
| -namespace WebCore {
|
| -
|
| -class Canvas2DLayerBridge;
|
| -class PassCanvas2DLayerBridgePtr;
|
| -
|
| -class Canvas2DLayerBridgePtr {
|
| -public:
|
| - Canvas2DLayerBridgePtr() { }
|
| - Canvas2DLayerBridgePtr(const PassRefPtr<Canvas2DLayerBridge>& ptr) { m_ptr = ptr; }
|
| - ~Canvas2DLayerBridgePtr() { clear(); }
|
| - Canvas2DLayerBridge* operator->() const { return m_ptr.get(); }
|
| - Canvas2DLayerBridgePtr& operator=(const PassRefPtr<Canvas2DLayerBridge>&);
|
| - Canvas2DLayerBridge* get() const { return m_ptr.get(); }
|
| - operator bool () const { return m_ptr; }
|
| - void clear();
|
| - PassRefPtr<Canvas2DLayerBridge> release() WARN_UNUSED_RETURN { return m_ptr.release(); }
|
| -private:
|
| - RefPtr<Canvas2DLayerBridge> m_ptr;
|
| -};
|
| -
|
| -class Canvas2DLayerBridge : public blink::WebExternalTextureLayerClient, public SkDeferredCanvas::NotificationClient, public DoublyLinkedListNode<Canvas2DLayerBridge>, public RefCounted<Canvas2DLayerBridge> {
|
| - WTF_MAKE_NONCOPYABLE(Canvas2DLayerBridge);
|
| -public:
|
| - enum OpacityMode {
|
| - Opaque,
|
| - NonOpaque
|
| - };
|
| -
|
| - static PassRefPtr<Canvas2DLayerBridge> create(PassRefPtr<GraphicsContext3D>, const IntSize&, OpacityMode, int msaaSampleCount);
|
| -
|
| - virtual ~Canvas2DLayerBridge();
|
| -
|
| - // blink::WebExternalTextureLayerClient implementation.
|
| - virtual blink::WebGraphicsContext3D* context() OVERRIDE;
|
| - virtual bool prepareMailbox(blink::WebExternalTextureMailbox*, blink::WebExternalBitmap*) OVERRIDE;
|
| - virtual void mailboxReleased(const blink::WebExternalTextureMailbox&) OVERRIDE;
|
| -
|
| - // SkDeferredCanvas::NotificationClient implementation
|
| - virtual void prepareForDraw() OVERRIDE;
|
| - virtual void storageAllocatedForRecordingChanged(size_t) OVERRIDE;
|
| - virtual void flushedDrawCommands() OVERRIDE;
|
| - virtual void skippedPendingDrawCommands() OVERRIDE;
|
| -
|
| - // Methods used by Canvas2DLayerManager
|
| - virtual size_t freeMemoryIfPossible(size_t); // virtual for mocking
|
| - virtual void flush(); // virtual for mocking
|
| - virtual size_t storageAllocatedForRecording(); // virtual for faking
|
| - size_t bytesAllocated() const {return m_bytesAllocated;}
|
| - void limitPendingFrames();
|
| -
|
| - blink::WebLayer* layer();
|
| - void contextAcquired();
|
| - PassRefPtr<SkCanvas> getCanvas() { return PassRefPtr<SkCanvas>(m_canvas); }
|
| -
|
| - unsigned backBufferTexture();
|
| -
|
| - bool isValid();
|
| -
|
| -protected:
|
| - void destroy();
|
| - friend class Canvas2DLayerBridgePtr;
|
| - Canvas2DLayerBridge(PassRefPtr<GraphicsContext3D>, PassRefPtr<SkDeferredCanvas>, int, OpacityMode);
|
| - void setRateLimitingEnabled(bool);
|
| -
|
| - RefPtr<SkDeferredCanvas> m_canvas;
|
| - OwnPtr<blink::WebExternalTextureLayer> m_layer;
|
| - RefPtr<GraphicsContext3D> m_context;
|
| - int m_msaaSampleCount;
|
| - size_t m_bytesAllocated;
|
| - bool m_didRecordDrawCommand;
|
| - bool m_surfaceIsValid;
|
| - int m_framesPending;
|
| - bool m_destructionInProgress;
|
| - bool m_rateLimitingEnabled;
|
| -
|
| - friend class WTF::DoublyLinkedListNode<Canvas2DLayerBridge>;
|
| - Canvas2DLayerBridge* m_next;
|
| - Canvas2DLayerBridge* m_prev;
|
| -
|
| - enum MailboxStatus {
|
| - MailboxInUse,
|
| - MailboxReleased,
|
| - MailboxAvailable,
|
| - };
|
| -
|
| - struct MailboxInfo {
|
| - blink::WebExternalTextureMailbox m_mailbox;
|
| - SkAutoTUnref<SkImage> m_image;
|
| - MailboxStatus m_status;
|
| - RefPtr<Canvas2DLayerBridge> m_parentLayerBridge;
|
| -
|
| - MailboxInfo(const MailboxInfo&);
|
| - MailboxInfo() {}
|
| - };
|
| - MailboxInfo* createMailboxInfo();
|
| -
|
| - uint32_t m_lastImageId;
|
| - Vector<MailboxInfo> m_mailboxes;
|
| -};
|
| -}
|
| -#endif
|
|
|