Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: sky/engine/platform/graphics/Canvas2DLayerBridge.h

Issue 1229113003: Remove some unneeded DEPS from //sky (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sky/engine/platform/graphics/Canvas2DLayerBridge.h
diff --git a/sky/engine/platform/graphics/Canvas2DLayerBridge.h b/sky/engine/platform/graphics/Canvas2DLayerBridge.h
deleted file mode 100644
index caa572082dce64f5ff92c29bd78eff95f324e2b4..0000000000000000000000000000000000000000
--- a/sky/engine/platform/graphics/Canvas2DLayerBridge.h
+++ /dev/null
@@ -1,145 +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 SKY_ENGINE_PLATFORM_GRAPHICS_CANVAS2DLAYERBRIDGE_H_
-#define SKY_ENGINE_PLATFORM_GRAPHICS_CANVAS2DLAYERBRIDGE_H_
-
-#include "sky/engine/platform/PlatformExport.h"
-#include "sky/engine/platform/geometry/IntSize.h"
-#include "sky/engine/platform/graphics/ImageBufferSurface.h"
-#include "sky/engine/public/platform/WebExternalTextureLayer.h"
-#include "sky/engine/public/platform/WebExternalTextureLayerClient.h"
-#include "sky/engine/public/platform/WebExternalTextureMailbox.h"
-#include "sky/engine/wtf/DoublyLinkedList.h"
-#include "sky/engine/wtf/PassOwnPtr.h"
-#include "sky/engine/wtf/RefCounted.h"
-#include "sky/engine/wtf/RefPtr.h"
-#include "third_party/khronos/GLES2/gl2.h"
-#include "third_party/skia/include/core/SkImage.h"
-#include "third_party/skia/include/utils/SkDeferredCanvas.h"
-
-class Canvas2DLayerBridgeTest;
-
-namespace blink {
-
-class ImageBuffer;
-class WebGraphicsContext3D;
-class WebGraphicsContext3DProvider;
-
-class PLATFORM_EXPORT Canvas2DLayerBridge : public WebExternalTextureLayerClient, public SkDeferredCanvas::NotificationClient, public DoublyLinkedListNode<Canvas2DLayerBridge>, public RefCounted<Canvas2DLayerBridge> {
- WTF_MAKE_NONCOPYABLE(Canvas2DLayerBridge);
-public:
- static PassRefPtr<Canvas2DLayerBridge> create(const IntSize&, OpacityMode, int msaaSampleCount);
-
- virtual ~Canvas2DLayerBridge();
-
- // WebExternalTextureLayerClient implementation.
- virtual bool prepareMailbox(WebExternalTextureMailbox*, WebExternalBitmap*) override;
- virtual void mailboxReleased(const WebExternalTextureMailbox&, bool lostResource) override;
-
- // SkDeferredCanvas::NotificationClient implementation
- virtual void prepareForDraw() override;
- virtual void storageAllocatedForRecordingChanged(size_t) override;
- virtual void flushedDrawCommands() override;
- virtual void skippedPendingDrawCommands() override;
-
- // ImageBufferSurface implementation
- void finalizeFrame();
- void willAccessPixels();
- SkCanvas* canvas() const { return m_canvas.get(); }
- bool checkSurfaceValid();
- bool restoreSurface();
- WebLayer* layer() const;
- Platform3DObject getBackingTexture();
- bool isAccelerated() const { return true; }
- void setIsHidden(bool);
- void setImageBuffer(ImageBuffer* imageBuffer) { m_imageBuffer = imageBuffer; }
-
- // 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();
- void freeReleasedMailbox();
- bool hasReleasedMailbox() const;
- void freeTransientResources();
- bool hasTransientResources() const;
- bool isHidden() { return m_isHidden; }
-
- void beginDestruction();
-
-protected:
- Canvas2DLayerBridge(PassOwnPtr<WebGraphicsContext3DProvider>, PassOwnPtr<SkDeferredCanvas>, PassRefPtr<SkSurface>, int, OpacityMode);
- void setRateLimitingEnabled(bool);
- bool releasedMailboxHasExpired();
- WebGraphicsContext3D* context();
-
- OwnPtr<SkDeferredCanvas> m_canvas;
- RefPtr<SkSurface> m_surface;
- OwnPtr<WebExternalTextureLayer> m_layer;
- OwnPtr<WebGraphicsContext3DProvider> m_contextProvider;
- ImageBuffer* m_imageBuffer;
- int m_msaaSampleCount;
- size_t m_bytesAllocated;
- bool m_didRecordDrawCommand;
- bool m_isSurfaceValid;
- int m_framesPending;
- int m_framesSinceMailboxRelease;
- bool m_destructionInProgress;
- bool m_rateLimitingEnabled;
- bool m_isHidden;
-
- friend class WTF::DoublyLinkedListNode<Canvas2DLayerBridge>;
- friend class ::Canvas2DLayerBridgeTest;
- Canvas2DLayerBridge* m_next;
- Canvas2DLayerBridge* m_prev;
-
- enum MailboxStatus {
- MailboxInUse,
- MailboxReleased,
- MailboxAvailable,
- };
-
- struct MailboxInfo {
- WebExternalTextureMailbox m_mailbox;
- RefPtr<SkImage> m_image;
- MailboxStatus m_status;
- RefPtr<Canvas2DLayerBridge> m_parentLayerBridge;
-
- MailboxInfo(const MailboxInfo&);
- MailboxInfo() {}
- };
- MailboxInfo* createMailboxInfo();
- MailboxInfo* releasedMailboxInfo();
-
- uint32_t m_lastImageId;
- Vector<MailboxInfo> m_mailboxes;
- int m_releasedMailboxInfoIndex;
-};
-
-} // namespace blink
-
-#endif // SKY_ENGINE_PLATFORM_GRAPHICS_CANVAS2DLAYERBRIDGE_H_
« no previous file with comments | « sky/engine/platform/graphics/Canvas2DImageBufferSurface.h ('k') | sky/engine/platform/graphics/Canvas2DLayerBridge.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698