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

Unified Diff: cc/test/tiled_layer_test_common.h

Issue 11108020: [cc] Change cc_tests.gyp filenames to Chromium style (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years, 2 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
« no previous file with comments | « cc/test/test_common.h ('k') | cc/test/tiled_layer_test_common.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/test/tiled_layer_test_common.h
diff --git a/cc/test/tiled_layer_test_common.h b/cc/test/tiled_layer_test_common.h
index 638cbb270ce9b24689d5095baf174ade4f4d1a13..f2ffbf8be497f839d24ad57fa93105f16188b7b1 100644
--- a/cc/test/tiled_layer_test_common.h
+++ b/cc/test/tiled_layer_test_common.h
@@ -1,3 +1,141 @@
// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+
+#ifndef CCTiledLayerTestCommon_h
+#define CCTiledLayerTestCommon_h
+
+#include "CCGraphicsContext.h"
+#include "CCPrioritizedTexture.h"
+#include "CCResourceProvider.h"
+#include "CCTextureUpdateQueue.h"
+#include "CCTiledLayerImpl.h"
+#include "IntRect.h"
+#include "IntSize.h"
+#include "LayerTextureUpdater.h"
+#include "Region.h"
+#include "TextureCopier.h"
+#include "TextureUploader.h"
+#include "TiledLayerChromium.h"
+
+namespace WebKitTests {
+
+class FakeTiledLayerChromium;
+
+class FakeLayerTextureUpdater : public cc::LayerTextureUpdater {
+public:
+ class Texture : public cc::LayerTextureUpdater::Texture {
+ public:
+ Texture(FakeLayerTextureUpdater*, scoped_ptr<cc::CCPrioritizedTexture>);
+ virtual ~Texture();
+
+ virtual void updateRect(cc::CCResourceProvider* , const cc::IntRect&, const cc::IntSize&) OVERRIDE;
+ virtual void prepareRect(const cc::IntRect&, cc::CCRenderingStats&) OVERRIDE;
+
+ private:
+ FakeLayerTextureUpdater* m_layer;
+ };
+
+ FakeLayerTextureUpdater();
+ virtual ~FakeLayerTextureUpdater();
+
+ virtual PassOwnPtr<cc::LayerTextureUpdater::Texture> createTexture(cc::CCPrioritizedTextureManager*) OVERRIDE;
+ virtual SampledTexelFormat sampledTexelFormat(GC3Denum) OVERRIDE;
+
+ virtual void prepareToUpdate(const cc::IntRect& contentRect, const cc::IntSize&, float, float, cc::IntRect& resultingOpaqueRect, cc::CCRenderingStats&) OVERRIDE;
+ // Sets the rect to invalidate during the next call to prepareToUpdate(). After the next
+ // call to prepareToUpdate() the rect is reset.
+ void setRectToInvalidate(const cc::IntRect&, FakeTiledLayerChromium*);
+ // Last rect passed to prepareToUpdate().
+ const cc::IntRect& lastUpdateRect() const { return m_lastUpdateRect; }
+
+ // Number of times prepareToUpdate has been invoked.
+ int prepareCount() const { return m_prepareCount; }
+ void clearPrepareCount() { m_prepareCount = 0; }
+
+ // Number of times updateRect has been invoked.
+ int updateCount() const { return m_updateCount; }
+ void clearUpdateCount() { m_updateCount = 0; }
+ void updateRect() { m_updateCount++; }
+
+ // Number of times prepareRect() has been invoked on a texture.
+ int prepareRectCount() const { return m_prepareRectCount; }
+ void clearPrepareRectCount() { m_prepareRectCount = 0; }
+ void prepareRect() { m_prepareRectCount++; }
+
+ void setOpaquePaintRect(const cc::IntRect& opaquePaintRect) { m_opaquePaintRect = opaquePaintRect; }
+
+private:
+ int m_prepareCount;
+ int m_updateCount;
+ int m_prepareRectCount;
+ cc::IntRect m_rectToInvalidate;
+ cc::IntRect m_lastUpdateRect;
+ cc::IntRect m_opaquePaintRect;
+ scoped_refptr<FakeTiledLayerChromium> m_layer;
+};
+
+class FakeCCTiledLayerImpl : public cc::CCTiledLayerImpl {
+public:
+ explicit FakeCCTiledLayerImpl(int id);
+ virtual ~FakeCCTiledLayerImpl();
+
+ using cc::CCTiledLayerImpl::hasTileAt;
+ using cc::CCTiledLayerImpl::hasResourceIdForTileAt;
+};
+
+class FakeTiledLayerChromium : public cc::TiledLayerChromium {
+public:
+ explicit FakeTiledLayerChromium(cc::CCPrioritizedTextureManager*);
+
+ static cc::IntSize tileSize() { return cc::IntSize(100, 100); }
+
+ using cc::TiledLayerChromium::invalidateContentRect;
+ using cc::TiledLayerChromium::needsIdlePaint;
+ using cc::TiledLayerChromium::skipsDraw;
+ using cc::TiledLayerChromium::numPaintedTiles;
+ using cc::TiledLayerChromium::idlePaintRect;
+
+ virtual void setNeedsDisplayRect(const cc::FloatRect&) OVERRIDE;
+ const cc::FloatRect& lastNeedsDisplayRect() const { return m_lastNeedsDisplayRect; }
+
+ virtual void setTexturePriorities(const cc::CCPriorityCalculator&) OVERRIDE;
+
+ virtual cc::CCPrioritizedTextureManager* textureManager() const OVERRIDE;
+ FakeLayerTextureUpdater* fakeLayerTextureUpdater() { return m_fakeTextureUpdater.get(); }
+ cc::FloatRect updateRect() { return m_updateRect; }
+
+protected:
+ virtual cc::LayerTextureUpdater* textureUpdater() const OVERRIDE;
+ virtual void createTextureUpdaterIfNeeded() OVERRIDE { }
+ virtual ~FakeTiledLayerChromium();
+
+private:
+ RefPtr<FakeLayerTextureUpdater> m_fakeTextureUpdater;
+ cc::CCPrioritizedTextureManager* m_textureManager;
+ cc::FloatRect m_lastNeedsDisplayRect;
+};
+
+class FakeTiledLayerWithScaledBounds : public FakeTiledLayerChromium {
+public:
+ explicit FakeTiledLayerWithScaledBounds(cc::CCPrioritizedTextureManager*);
+
+ void setContentBounds(const cc::IntSize& contentBounds) { m_forcedContentBounds = contentBounds; }
+ virtual cc::IntSize contentBounds() const OVERRIDE;
+
+protected:
+ virtual ~FakeTiledLayerWithScaledBounds();
+ cc::IntSize m_forcedContentBounds;
+};
+
+
+class FakeTextureUploader : public cc::TextureUploader {
+public:
+ virtual size_t numBlockingUploads() OVERRIDE;
+ virtual void markPendingUploadsAsNonBlocking() OVERRIDE;
+ virtual double estimatedTexturesPerSecond() OVERRIDE;
+ virtual void uploadTexture(cc::CCResourceProvider*, Parameters) OVERRIDE;
+};
+
+}
+#endif // CCTiledLayerTestCommon_h
« no previous file with comments | « cc/test/test_common.h ('k') | cc/test/tiled_layer_test_common.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698