summaryrefslogtreecommitdiff
path: root/Source/WebKit/chromium/tests/CCLayerImplTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/chromium/tests/CCLayerImplTest.cpp')
-rw-r--r--Source/WebKit/chromium/tests/CCLayerImplTest.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/Source/WebKit/chromium/tests/CCLayerImplTest.cpp b/Source/WebKit/chromium/tests/CCLayerImplTest.cpp
index 827c9adaa..01f943a64 100644
--- a/Source/WebKit/chromium/tests/CCLayerImplTest.cpp
+++ b/Source/WebKit/chromium/tests/CCLayerImplTest.cpp
@@ -42,21 +42,33 @@ namespace {
codeToTest; \
EXPECT_TRUE(root->layerPropertyChanged()); \
EXPECT_TRUE(child->layerPropertyChanged()); \
- EXPECT_TRUE(grandChild->layerPropertyChanged())
+ EXPECT_TRUE(grandChild->layerPropertyChanged()); \
+ EXPECT_FALSE(root->layerSurfacePropertyChanged())
+
#define EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(codeToTest) \
root->resetAllChangeTrackingForSubtree(); \
codeToTest; \
EXPECT_FALSE(root->layerPropertyChanged()); \
EXPECT_FALSE(child->layerPropertyChanged()); \
- EXPECT_FALSE(grandChild->layerPropertyChanged())
+ EXPECT_FALSE(grandChild->layerPropertyChanged()); \
+ EXPECT_FALSE(root->layerSurfacePropertyChanged())
#define EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(codeToTest) \
root->resetAllChangeTrackingForSubtree(); \
codeToTest; \
EXPECT_TRUE(root->layerPropertyChanged()); \
EXPECT_FALSE(child->layerPropertyChanged()); \
- EXPECT_FALSE(grandChild->layerPropertyChanged())
+ EXPECT_FALSE(grandChild->layerPropertyChanged()); \
+ EXPECT_FALSE(root->layerSurfacePropertyChanged())
+
+#define EXECUTE_AND_VERIFY_ONLY_SURFACE_CHANGED(codeToTest) \
+ root->resetAllChangeTrackingForSubtree(); \
+ codeToTest; \
+ EXPECT_FALSE(root->layerPropertyChanged()); \
+ EXPECT_FALSE(child->layerPropertyChanged()); \
+ EXPECT_FALSE(grandChild->layerPropertyChanged()); \
+ EXPECT_TRUE(root->layerSurfacePropertyChanged())
TEST(CCLayerImplTest, verifyLayerChangesAreTrackedProperly)
{
@@ -98,11 +110,9 @@ TEST(CCLayerImplTest, verifyLayerChangesAreTrackedProperly)
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->setMaskLayer(CCLayerImpl::create(4)));
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->setMasksToBounds(true));
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->setOpaque(true));
- EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->setOpacity(arbitraryNumber));
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->setReplicaLayer(CCLayerImpl::create(5)));
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->setPosition(arbitraryFloatPoint));
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->setPreserves3D(true));
- EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->setTransform(arbitraryTransform));
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->setDoubleSided(false)); // constructor initializes it to "true".
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->scrollBy(arbitraryIntSize));
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->setScrollDelta(arbitraryIntSize));
@@ -117,6 +127,10 @@ TEST(CCLayerImplTest, verifyLayerChangesAreTrackedProperly)
EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->setBackgroundColor(Color::gray));
EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->setBackgroundFilters(arbitraryFilters));
+ // Changing these properties only affects how render surface is drawn
+ EXECUTE_AND_VERIFY_ONLY_SURFACE_CHANGED(root->setOpacity(arbitraryNumber));
+ EXECUTE_AND_VERIFY_ONLY_SURFACE_CHANGED(root->setTransform(arbitraryTransform));
+
// Special case: check that sublayer transform changes all layer's descendants, but not the layer itself.
root->resetAllChangeTrackingForSubtree();
root->setSublayerTransform(arbitraryTransform);