diff options
| author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 | 
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 | 
| commit | 2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (patch) | |
| tree | 988e8c5b116dd0466244ae2fe5af8ee9be926d76 /Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp | |
| parent | dd91e772430dc294e3bf478c119ef8d43c0a3358 (diff) | |
| download | qtwebkit-2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47.tar.gz | |
Imported WebKit commit 7e538425aa020340619e927792f3d895061fb54b (http://svn.webkit.org/repository/webkit/trunk@116286)
Diffstat (limited to 'Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp')
| -rw-r--r-- | Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp | 128 | 
1 files changed, 35 insertions, 93 deletions
| diff --git a/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp b/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp index ff7daa3c9..48a46dae1 100644 --- a/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp +++ b/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp @@ -27,6 +27,7 @@  #include "cc/CCTiledLayerImpl.h"  #include "CCLayerTestCommon.h" +#include "MockCCQuadCuller.h"  #include "cc/CCSingleThreadProxy.h"  #include "cc/CCTileDrawQuad.h"  #include <gmock/gmock.h> @@ -69,11 +70,12 @@ TEST(CCTiledLayerImplTest, emptyQuadList)      // Verify default layer does creates quads      {          OwnPtr<CCTiledLayerImpl> layer = createLayer(tileSize, layerSize, CCLayerTilingData::NoBorderTexels); -        CCQuadList quads; +        MockCCQuadCuller quadCuller;          OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState(); -        layer->appendQuads(quads, sharedQuadState.get()); +        bool hadMissingTiles = false; +        layer->appendQuads(quadCuller, sharedQuadState.get(), hadMissingTiles);          const unsigned numTiles = numTilesX * numTilesY; -        EXPECT_EQ(quads.size(), numTiles); +        EXPECT_EQ(quadCuller.quadList().size(), numTiles);      }      // Layer with empty visible layer rect produces no quads @@ -81,10 +83,11 @@ TEST(CCTiledLayerImplTest, emptyQuadList)          OwnPtr<CCTiledLayerImpl> layer = createLayer(tileSize, layerSize, CCLayerTilingData::NoBorderTexels);          layer->setVisibleLayerRect(IntRect()); -        CCQuadList quads; +        MockCCQuadCuller quadCuller;          OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState(); -        layer->appendQuads(quads, sharedQuadState.get()); -        EXPECT_EQ(quads.size(), 0u); +        bool hadMissingTiles = false; +        layer->appendQuads(quadCuller, sharedQuadState.get(), hadMissingTiles); +        EXPECT_EQ(quadCuller.quadList().size(), 0u);      }      // Layer with non-intersecting visible layer rect produces no quads @@ -94,10 +97,11 @@ TEST(CCTiledLayerImplTest, emptyQuadList)          IntRect outsideBounds(IntPoint(-100, -100), IntSize(50, 50));          layer->setVisibleLayerRect(outsideBounds); -        CCQuadList quads; +        MockCCQuadCuller quadCuller;          OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState(); -        layer->appendQuads(quads, sharedQuadState.get()); -        EXPECT_EQ(quads.size(), 0u); +        bool hadMissingTiles = false; +        layer->appendQuads(quadCuller, sharedQuadState.get(), hadMissingTiles); +        EXPECT_EQ(quadCuller.quadList().size(), 0u);      }      // Layer with skips draw produces no quads @@ -105,10 +109,11 @@ TEST(CCTiledLayerImplTest, emptyQuadList)          OwnPtr<CCTiledLayerImpl> layer = createLayer(tileSize, layerSize, CCLayerTilingData::NoBorderTexels);          layer->setSkipsDraw(true); -        CCQuadList quads; +        MockCCQuadCuller quadCuller;          OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState(); -        layer->appendQuads(quads, sharedQuadState.get()); -        EXPECT_EQ(quads.size(), 0u); +        bool hadMissingTiles = false; +        layer->appendQuads(quadCuller, sharedQuadState.get(), hadMissingTiles); +        EXPECT_EQ(quadCuller.quadList().size(), 0u);      }  } @@ -126,12 +131,14 @@ TEST(CCTiledLayerImplTest, checkerboarding)      // No checkerboarding      { -        CCQuadList quads; -        layer->appendQuads(quads, sharedQuadState.get()); -        EXPECT_EQ(quads.size(), 4u); - -        for (size_t i = 0; i < quads.size(); ++i) -            EXPECT_EQ(quads[i]->material(), CCDrawQuad::TiledContent); +        MockCCQuadCuller quadCuller; +        bool hadMissingTiles = false; +        layer->appendQuads(quadCuller, sharedQuadState.get(), hadMissingTiles); +        EXPECT_EQ(quadCuller.quadList().size(), 4u); +        EXPECT_FALSE(hadMissingTiles); + +        for (size_t i = 0; i < quadCuller.quadList().size(); ++i) +            EXPECT_EQ(quadCuller.quadList()[i]->material(), CCDrawQuad::TiledContent);      }      for (int i = 0; i < numTilesX; ++i) @@ -140,11 +147,13 @@ TEST(CCTiledLayerImplTest, checkerboarding)      // All checkerboarding      { -        CCQuadList quads; -        layer->appendQuads(quads, sharedQuadState.get()); -        EXPECT_EQ(quads.size(), 4u); -        for (size_t i = 0; i < quads.size(); ++i) -            EXPECT_EQ(quads[i]->material(), CCDrawQuad::SolidColor); +        MockCCQuadCuller quadCuller; +        bool hadMissingTiles = false; +        layer->appendQuads(quadCuller, sharedQuadState.get(), hadMissingTiles); +        EXPECT_TRUE(hadMissingTiles); +        EXPECT_EQ(quadCuller.quadList().size(), 4u); +        for (size_t i = 0; i < quadCuller.quadList().size(); ++i) +            EXPECT_NE(quadCuller.quadList()[i]->material(), CCDrawQuad::TiledContent);      }  } @@ -154,8 +163,10 @@ static PassOwnPtr<CCSharedQuadState> getQuads(CCQuadList& quads, IntSize tileSiz      layer->setVisibleLayerRect(visibleLayerRect);      layer->setBounds(layerSize); +    MockCCQuadCuller quadCuller(quads);      OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState(); -    layer->appendQuads(quads, sharedQuadState.get()); +    bool hadMissingTiles = false; +    layer->appendQuads(quadCuller, sharedQuadState.get(), hadMissingTiles);      return sharedQuadState.release(); // The shared data must be owned as long as the quad list exists.  } @@ -251,73 +262,4 @@ TEST(CCTiledLayerImplTest, tileOpaqueRectForLayerNoBorders)      }  } -TEST(CCTiledLayerImplTest, backgroundCoversViewport) -{ -    DebugScopedSetImplThread scopedImplThread; - -    const IntSize tileSize(10, 10); -    const int numTilesX = 2; -    const int numTilesY = 2; -    const unsigned numTiles = numTilesX * numTilesY; -    const IntSize layerSize(tileSize.width() * numTilesX, tileSize.height() * numTilesY); -    OwnPtr<CCTiledLayerImpl> layer = createLayer(tileSize, layerSize, CCLayerTilingData::NoBorderTexels); -    layer->setBackgroundColor(Color::gray); -    layer->setBackgroundCoversViewport(true); - -    // No gutter rects -    { -        IntRect clipRect = IntRect(IntPoint(), layerSize); -        layer->setClipRect(clipRect); -        layer->setVisibleLayerRect(IntRect(IntPoint(), layerSize)); - -        OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState(); - -        CCQuadList quads; -        layer->appendQuads(quads, sharedQuadState.get()); -        EXPECT_EQ(quads.size(), numTiles); - -        for (size_t i = 0; i < quads.size(); ++i) -            EXPECT_EQ(quads[i]->material(), CCDrawQuad::TiledContent); -    } - -    // Empty visible content area (fullscreen gutter rect) -    { -        IntRect clipRect = IntRect(100, 100, 100, 100); -        layer->setClipRect(clipRect); -        layer->setVisibleLayerRect(IntRect()); - -        OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState(); -        CCQuadList quads; -        layer->appendQuads(quads, sharedQuadState.get()); - -        for (size_t i = 0; i < quads.size(); ++i) -            EXPECT_EQ(quads[i]->material(), CCDrawQuad::SolidColor); - -        verifyQuadsExactlyCoverRect(quads, clipRect); -    } - -    // Content area in middle of clip rect (four surrounding gutter rects) -    { -        IntRect clipRect = IntRect(-50, -50, 100, 100); -        layer->setClipRect(clipRect); -        layer->setVisibleLayerRect(IntRect(IntPoint(), layerSize)); - -        OwnPtr<CCSharedQuadState> sharedQuadState = layer->createSharedQuadState(); -        CCQuadList quads; -        layer->appendQuads(quads, sharedQuadState.get()); - -        unsigned numContentTiles = 0, numGutterTiles = 0; -        for (size_t i = 0; i < quads.size(); ++i) { -            if (quads[i]->material() == CCDrawQuad::TiledContent) -                numContentTiles++; -            else if (quads[i]->material() == CCDrawQuad::SolidColor) -                numGutterTiles++; -        } -        EXPECT_EQ(numContentTiles, numTiles); -        EXPECT_GE(numGutterTiles, 4u); - -        verifyQuadsExactlyCoverRect(quads, clipRect); -    } -} -  } // namespace | 
