Changeset 106994 in webkit
- Timestamp:
- Feb 7, 2012 3:03:10 PM (12 years ago)
- Location:
- trunk/Source/WebKit/chromium
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/chromium/ChangeLog
r106987 r106994 1 2012-02-07 Dana Jansens <danakj@chromium.org> 2 3 [chromium] Unit test for bug #77996 4 https://bugs.webkit.org/show_bug.cgi?id=78019 5 6 Reviewed by James Robinson. 7 8 * tests/CCLayerTreeHostTest.cpp: 9 (CCLayerTreeHostTestManySurfaces): 10 (WTF::CCLayerTreeHostTestManySurfaces::CCLayerTreeHostTestManySurfaces): 11 (WTF::CCLayerTreeHostTestManySurfaces::beginTest): 12 (WTF::CCLayerTreeHostTestManySurfaces::afterTest): 13 (WTF): 14 1 15 2012-02-07 Sadrul Habib Chowdhury <sadrul@chromium.org> 2 16 -
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
r106700 r106994 1473 1473 SINGLE_AND_MULTI_THREAD_TEST_F(CCLayerTreeHostTestLayerOcclusion) 1474 1474 1475 class CCLayerTreeHostTestManySurfaces : public CCLayerTreeHostTest { 1476 public: 1477 CCLayerTreeHostTestManySurfaces() { } 1478 1479 virtual void beginTest() 1480 { 1481 // We create enough RenderSurfaces that it will trigger Vector reallocation while computing occlusion. 1482 Region occluded; 1483 const TransformationMatrix identityMatrix; 1484 Vector<RefPtr<TestLayerChromium> > layers; 1485 Vector<RefPtr<TestLayerChromium> > children; 1486 int numSurfaces = 20; 1487 RefPtr<TestLayerChromium> replica = TestLayerChromium::create(); 1488 1489 for (int i = 0; i < numSurfaces; ++i) { 1490 layers.append(TestLayerChromium::create()); 1491 if (!i) { 1492 setLayerPropertiesForTesting(layers.last().get(), 0, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), true); 1493 layers.last()->createRenderSurface(); 1494 } else { 1495 setLayerPropertiesForTesting(layers.last().get(), layers[layers.size()-2].get(), identityMatrix, FloatPoint(0, 0), FloatPoint(1, 1), IntSize(100-i, 100-i), true); 1496 layers.last()->setMasksToBounds(true); 1497 layers.last()->setReplicaLayer(replica.get()); // Make it have a RenderSurface 1498 } 1499 } 1500 1501 for (int i = 1; i < numSurfaces; ++i) { 1502 children.append(TestLayerChromium::create()); 1503 setLayerPropertiesForTesting(children.last().get(), layers[i].get(), identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(500, 500), false); 1504 } 1505 1506 m_layerTreeHost->setRootLayer(layers[0].get()); 1507 m_layerTreeHost->setViewportSize(layers[0]->bounds()); 1508 m_layerTreeHost->updateLayers(); 1509 m_layerTreeHost->commitComplete(); 1510 1511 for (int i = 0; i < numSurfaces-1; ++i) { 1512 IntRect expectedOcclusion(i+1, i+1, 100-i-1, 100-i-1); 1513 1514 EXPECT_EQ_RECT(expectedOcclusion, layers[i]->occludedScreenSpace().bounds()); 1515 EXPECT_EQ(1u, layers[i]->occludedScreenSpace().rects().size()); 1516 } 1517 1518 // Kill the layerTreeHost immediately. 1519 m_layerTreeHost->setRootLayer(0); 1520 m_layerTreeHost.clear(); 1521 1522 endTest(); 1523 } 1524 1525 virtual void afterTest() 1526 { 1527 } 1528 }; 1529 1530 SINGLE_AND_MULTI_THREAD_TEST_F(CCLayerTreeHostTestManySurfaces) 1531 1475 1532 } // namespace
Note: See TracChangeset
for help on using the changeset viewer.