| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/layer_tree_host_impl.h" | 5 #include "cc/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 root->setAnchorPoint(gfx::PointF(0, 0)); | 170 root->setAnchorPoint(gfx::PointF(0, 0)); |
| 171 | 171 |
| 172 scoped_ptr<LayerImpl> contents = LayerImpl::create(m_hostImpl->activeTre
e(), 2); | 172 scoped_ptr<LayerImpl> contents = LayerImpl::create(m_hostImpl->activeTre
e(), 2); |
| 173 contents->setDrawsContent(true); | 173 contents->setDrawsContent(true); |
| 174 contents->setBounds(contentSize); | 174 contents->setBounds(contentSize); |
| 175 contents->setContentBounds(contentSize); | 175 contents->setContentBounds(contentSize); |
| 176 contents->setPosition(gfx::PointF(0, 0)); | 176 contents->setPosition(gfx::PointF(0, 0)); |
| 177 contents->setAnchorPoint(gfx::PointF(0, 0)); | 177 contents->setAnchorPoint(gfx::PointF(0, 0)); |
| 178 root->addChild(contents.Pass()); | 178 root->addChild(contents.Pass()); |
| 179 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); | 179 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); |
| 180 m_hostImpl->activeTree()->FindRootScrollLayer(); | 180 m_hostImpl->activeTree()->DidBecomeActive(); |
| 181 } | 181 } |
| 182 | 182 |
| 183 scoped_ptr<LayerImpl> createScrollableLayer(int id, const gfx::Size& size) | 183 scoped_ptr<LayerImpl> createScrollableLayer(int id, const gfx::Size& size) |
| 184 { | 184 { |
| 185 scoped_ptr<LayerImpl> layer = LayerImpl::create(m_hostImpl->activeTree()
, id); | 185 scoped_ptr<LayerImpl> layer = LayerImpl::create(m_hostImpl->activeTree()
, id); |
| 186 layer->setScrollable(true); | 186 layer->setScrollable(true); |
| 187 layer->setDrawsContent(true); | 187 layer->setDrawsContent(true); |
| 188 layer->setBounds(size); | 188 layer->setBounds(size); |
| 189 layer->setContentBounds(size); | 189 layer->setContentBounds(size); |
| 190 layer->setMaxScrollOffset(gfx::Vector2d(size.width() * 2, size.height()
* 2)); | 190 layer->setMaxScrollOffset(gfx::Vector2d(size.width() * 2, size.height()
* 2)); |
| (...skipping 1109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1300 // Scrolling fails because the content layer is asking to be scrolled on the
main thread. | 1300 // Scrolling fails because the content layer is asking to be scrolled on the
main thread. |
| 1301 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::Whee
l), InputHandlerClient::ScrollOnMainThread); | 1301 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::Whee
l), InputHandlerClient::ScrollOnMainThread); |
| 1302 } | 1302 } |
| 1303 | 1303 |
| 1304 TEST_P(LayerTreeHostImplTest, scrollRootAndChangePageScaleOnMainThread) | 1304 TEST_P(LayerTreeHostImplTest, scrollRootAndChangePageScaleOnMainThread) |
| 1305 { | 1305 { |
| 1306 gfx::Size surfaceSize(10, 10); | 1306 gfx::Size surfaceSize(10, 10); |
| 1307 float pageScale = 2; | 1307 float pageScale = 2; |
| 1308 scoped_ptr<LayerImpl> root = createScrollableLayer(1, surfaceSize); | 1308 scoped_ptr<LayerImpl> root = createScrollableLayer(1, surfaceSize); |
| 1309 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); | 1309 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); |
| 1310 m_hostImpl->activeTree()->FindRootScrollLayer(); | 1310 m_hostImpl->activeTree()->DidBecomeActive(); |
| 1311 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); | 1311 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); |
| 1312 initializeRendererAndDrawFrame(); | 1312 initializeRendererAndDrawFrame(); |
| 1313 | 1313 |
| 1314 gfx::Vector2d scrollDelta(0, 10); | 1314 gfx::Vector2d scrollDelta(0, 10); |
| 1315 gfx::Vector2d expectedScrollDelta(scrollDelta); | 1315 gfx::Vector2d expectedScrollDelta(scrollDelta); |
| 1316 gfx::Vector2d expectedMaxScroll(m_hostImpl->rootLayer()->maxScrollOffset()); | 1316 gfx::Vector2d expectedMaxScroll(m_hostImpl->rootLayer()->maxScrollOffset()); |
| 1317 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::Whee
l), InputHandlerClient::ScrollStarted); | 1317 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::Whee
l), InputHandlerClient::ScrollStarted); |
| 1318 m_hostImpl->scrollBy(gfx::Point(), scrollDelta); | 1318 m_hostImpl->scrollBy(gfx::Point(), scrollDelta); |
| 1319 m_hostImpl->scrollEnd(); | 1319 m_hostImpl->scrollEnd(); |
| 1320 | 1320 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1353 EXPECT_EQ(0.0, m_hostImpl->rootLayer()->implTransform().matrix().getDouble(3
, 2)); | 1353 EXPECT_EQ(0.0, m_hostImpl->rootLayer()->implTransform().matrix().getDouble(3
, 2)); |
| 1354 EXPECT_EQ(1.0, m_hostImpl->rootLayer()->implTransform().matrix().getDouble(3
, 3)); | 1354 EXPECT_EQ(1.0, m_hostImpl->rootLayer()->implTransform().matrix().getDouble(3
, 3)); |
| 1355 } | 1355 } |
| 1356 | 1356 |
| 1357 TEST_P(LayerTreeHostImplTest, scrollRootAndChangePageScaleOnImplThread) | 1357 TEST_P(LayerTreeHostImplTest, scrollRootAndChangePageScaleOnImplThread) |
| 1358 { | 1358 { |
| 1359 gfx::Size surfaceSize(10, 10); | 1359 gfx::Size surfaceSize(10, 10); |
| 1360 float pageScale = 2; | 1360 float pageScale = 2; |
| 1361 scoped_ptr<LayerImpl> root = createScrollableLayer(1, surfaceSize); | 1361 scoped_ptr<LayerImpl> root = createScrollableLayer(1, surfaceSize); |
| 1362 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); | 1362 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); |
| 1363 m_hostImpl->activeTree()->FindRootScrollLayer(); | 1363 m_hostImpl->activeTree()->DidBecomeActive(); |
| 1364 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); | 1364 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); |
| 1365 m_hostImpl->setPageScaleFactorAndLimits(1, 1, pageScale); | 1365 m_hostImpl->setPageScaleFactorAndLimits(1, 1, pageScale); |
| 1366 initializeRendererAndDrawFrame(); | 1366 initializeRendererAndDrawFrame(); |
| 1367 | 1367 |
| 1368 gfx::Vector2d scrollDelta(0, 10); | 1368 gfx::Vector2d scrollDelta(0, 10); |
| 1369 gfx::Vector2d expectedScrollDelta(scrollDelta); | 1369 gfx::Vector2d expectedScrollDelta(scrollDelta); |
| 1370 gfx::Vector2d expectedMaxScroll(m_hostImpl->rootLayer()->maxScrollOffset()); | 1370 gfx::Vector2d expectedMaxScroll(m_hostImpl->rootLayer()->maxScrollOffset()); |
| 1371 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::Whee
l), InputHandlerClient::ScrollStarted); | 1371 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::Whee
l), InputHandlerClient::ScrollStarted); |
| 1372 m_hostImpl->scrollBy(gfx::Point(), scrollDelta); | 1372 m_hostImpl->scrollBy(gfx::Point(), scrollDelta); |
| 1373 m_hostImpl->scrollEnd(); | 1373 m_hostImpl->scrollEnd(); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1440 { | 1440 { |
| 1441 gfx::Size surfaceSize(10, 10); | 1441 gfx::Size surfaceSize(10, 10); |
| 1442 scoped_ptr<LayerImpl> root = LayerImpl::create(m_hostImpl->activeTree(), 1); | 1442 scoped_ptr<LayerImpl> root = LayerImpl::create(m_hostImpl->activeTree(), 1); |
| 1443 root->setBounds(surfaceSize); | 1443 root->setBounds(surfaceSize); |
| 1444 root->setContentBounds(surfaceSize); | 1444 root->setContentBounds(surfaceSize); |
| 1445 // Also mark the root scrollable so it becomes the root scroll layer. | 1445 // Also mark the root scrollable so it becomes the root scroll layer. |
| 1446 root->setScrollable(true); | 1446 root->setScrollable(true); |
| 1447 int scrollLayerId = 2; | 1447 int scrollLayerId = 2; |
| 1448 root->addChild(createScrollableLayer(scrollLayerId, surfaceSize)); | 1448 root->addChild(createScrollableLayer(scrollLayerId, surfaceSize)); |
| 1449 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); | 1449 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); |
| 1450 m_hostImpl->activeTree()->FindRootScrollLayer(); | 1450 m_hostImpl->activeTree()->DidBecomeActive(); |
| 1451 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); | 1451 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); |
| 1452 initializeRendererAndDrawFrame(); | 1452 initializeRendererAndDrawFrame(); |
| 1453 | 1453 |
| 1454 LayerImpl* child = m_hostImpl->rootLayer()->children()[0]; | 1454 LayerImpl* child = m_hostImpl->rootLayer()->children()[0]; |
| 1455 | 1455 |
| 1456 gfx::Vector2d scrollDelta(0, 10); | 1456 gfx::Vector2d scrollDelta(0, 10); |
| 1457 gfx::Vector2d expectedScrollDelta(scrollDelta); | 1457 gfx::Vector2d expectedScrollDelta(scrollDelta); |
| 1458 gfx::Vector2d expectedMaxScroll(child->maxScrollOffset()); | 1458 gfx::Vector2d expectedMaxScroll(child->maxScrollOffset()); |
| 1459 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::Whee
l), InputHandlerClient::ScrollStarted); | 1459 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::Whee
l), InputHandlerClient::ScrollStarted); |
| 1460 m_hostImpl->scrollBy(gfx::Point(), scrollDelta); | 1460 m_hostImpl->scrollBy(gfx::Point(), scrollDelta); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 1490 | 1490 |
| 1491 scoped_ptr<LayerImpl> grandChild = createScrollableLayer(3, surfaceSize); | 1491 scoped_ptr<LayerImpl> grandChild = createScrollableLayer(3, surfaceSize); |
| 1492 grandChild->setScrollOffset(gfx::Vector2d(0, 5)); | 1492 grandChild->setScrollOffset(gfx::Vector2d(0, 5)); |
| 1493 | 1493 |
| 1494 scoped_ptr<LayerImpl> child = createScrollableLayer(2, surfaceSize); | 1494 scoped_ptr<LayerImpl> child = createScrollableLayer(2, surfaceSize); |
| 1495 child->setScrollOffset(gfx::Vector2d(3, 0)); | 1495 child->setScrollOffset(gfx::Vector2d(3, 0)); |
| 1496 child->addChild(grandChild.Pass()); | 1496 child->addChild(grandChild.Pass()); |
| 1497 | 1497 |
| 1498 root->addChild(child.Pass()); | 1498 root->addChild(child.Pass()); |
| 1499 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); | 1499 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); |
| 1500 m_hostImpl->activeTree()->FindRootScrollLayer(); | 1500 m_hostImpl->activeTree()->DidBecomeActive(); |
| 1501 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); | 1501 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); |
| 1502 initializeRendererAndDrawFrame(); | 1502 initializeRendererAndDrawFrame(); |
| 1503 { | 1503 { |
| 1504 gfx::Vector2d scrollDelta(-8, -7); | 1504 gfx::Vector2d scrollDelta(-8, -7); |
| 1505 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::
Wheel), InputHandlerClient::ScrollStarted); | 1505 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::
Wheel), InputHandlerClient::ScrollStarted); |
| 1506 m_hostImpl->scrollBy(gfx::Point(), scrollDelta); | 1506 m_hostImpl->scrollBy(gfx::Point(), scrollDelta); |
| 1507 m_hostImpl->scrollEnd(); | 1507 m_hostImpl->scrollEnd(); |
| 1508 | 1508 |
| 1509 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->processScrollDelt
as(); | 1509 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->processScrollDelt
as(); |
| 1510 | 1510 |
| 1511 // The grand child should have scrolled up to its limit. | 1511 // The grand child should have scrolled up to its limit. |
| 1512 LayerImpl* child = m_hostImpl->rootLayer()->children()[0]; | 1512 LayerImpl* child = m_hostImpl->rootLayer()->children()[0]; |
| 1513 LayerImpl* grandChild = child->children()[0]; | 1513 LayerImpl* grandChild = child->children()[0]; |
| 1514 expectContains(*scrollInfo.get(), grandChild->id(), gfx::Vector2d(0, -5)
); | 1514 expectContains(*scrollInfo.get(), grandChild->id(), gfx::Vector2d(0, -5)
); |
| 1515 | 1515 |
| 1516 // The child should have only scrolled on the other axis. | 1516 // The child should have only scrolled on the other axis. |
| 1517 expectContains(*scrollInfo.get(), child->id(), gfx::Vector2d(-3, 0)); | 1517 expectContains(*scrollInfo.get(), child->id(), gfx::Vector2d(-3, 0)); |
| 1518 } | 1518 } |
| 1519 } | 1519 } |
| 1520 | 1520 |
| 1521 TEST_P(LayerTreeHostImplTest, scrollEventBubbling) | 1521 TEST_P(LayerTreeHostImplTest, scrollEventBubbling) |
| 1522 { | 1522 { |
| 1523 // When we try to scroll a non-scrollable child layer, the scroll delta | 1523 // When we try to scroll a non-scrollable child layer, the scroll delta |
| 1524 // should be applied to one of its ancestors if possible. | 1524 // should be applied to one of its ancestors if possible. |
| 1525 gfx::Size surfaceSize(10, 10); | 1525 gfx::Size surfaceSize(10, 10); |
| 1526 scoped_ptr<LayerImpl> root = createScrollableLayer(1, surfaceSize); | 1526 gfx::Size contentSize(20, 20); |
| 1527 scoped_ptr<LayerImpl> child = createScrollableLayer(2, surfaceSize); | 1527 scoped_ptr<LayerImpl> root = createScrollableLayer(1, contentSize); |
| 1528 scoped_ptr<LayerImpl> child = createScrollableLayer(2, contentSize); |
| 1528 | 1529 |
| 1529 child->setScrollable(false); | 1530 child->setScrollable(false); |
| 1530 root->addChild(child.Pass()); | 1531 root->addChild(child.Pass()); |
| 1531 | 1532 |
| 1532 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); | 1533 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); |
| 1533 m_hostImpl->activeTree()->FindRootScrollLayer(); | 1534 m_hostImpl->activeTree()->DidBecomeActive(); |
| 1534 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); | 1535 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); |
| 1535 initializeRendererAndDrawFrame(); | 1536 initializeRendererAndDrawFrame(); |
| 1536 { | 1537 { |
| 1537 gfx::Vector2d scrollDelta(0, 4); | 1538 gfx::Vector2d scrollDelta(0, 4); |
| 1538 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::
Wheel), InputHandlerClient::ScrollStarted); | 1539 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::
Wheel), InputHandlerClient::ScrollStarted); |
| 1539 m_hostImpl->scrollBy(gfx::Point(), scrollDelta); | 1540 m_hostImpl->scrollBy(gfx::Point(), scrollDelta); |
| 1540 m_hostImpl->scrollEnd(); | 1541 m_hostImpl->scrollEnd(); |
| 1541 | 1542 |
| 1542 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->processScrollDelt
as(); | 1543 scoped_ptr<ScrollAndScaleSet> scrollInfo = m_hostImpl->processScrollDelt
as(); |
| 1543 | 1544 |
| 1544 // Only the root should have scrolled. | 1545 // Only the root should have scrolled. |
| 1545 ASSERT_EQ(scrollInfo->scrolls.size(), 1u); | 1546 ASSERT_EQ(scrollInfo->scrolls.size(), 1u); |
| 1546 expectContains(*scrollInfo.get(), m_hostImpl->rootLayer()->id(), scrollD
elta); | 1547 expectContains(*scrollInfo.get(), m_hostImpl->rootLayer()->id(), scrollD
elta); |
| 1547 } | 1548 } |
| 1548 } | 1549 } |
| 1549 | 1550 |
| 1550 TEST_P(LayerTreeHostImplTest, scrollBeforeRedraw) | 1551 TEST_P(LayerTreeHostImplTest, scrollBeforeRedraw) |
| 1551 { | 1552 { |
| 1552 gfx::Size surfaceSize(10, 10); | 1553 gfx::Size surfaceSize(10, 10); |
| 1553 m_hostImpl->activeTree()->SetRootLayer(createScrollableLayer(1, surfaceSize)
); | 1554 m_hostImpl->activeTree()->SetRootLayer(createScrollableLayer(1, surfaceSize)
); |
| 1554 m_hostImpl->activeTree()->FindRootScrollLayer(); | 1555 m_hostImpl->activeTree()->DidBecomeActive(); |
| 1555 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); | 1556 m_hostImpl->setViewportSize(surfaceSize, surfaceSize); |
| 1556 | 1557 |
| 1557 // Draw one frame and then immediately rebuild the layer tree to mimic a tre
e synchronization. | 1558 // Draw one frame and then immediately rebuild the layer tree to mimic a tre
e synchronization. |
| 1558 initializeRendererAndDrawFrame(); | 1559 initializeRendererAndDrawFrame(); |
| 1559 m_hostImpl->activeTree()->DetachLayerTree(); | 1560 m_hostImpl->activeTree()->DetachLayerTree(); |
| 1560 m_hostImpl->activeTree()->SetRootLayer(createScrollableLayer(2, surfaceSize)
); | 1561 m_hostImpl->activeTree()->SetRootLayer(createScrollableLayer(2, surfaceSize)
); |
| 1561 m_hostImpl->activeTree()->FindRootScrollLayer(); | 1562 m_hostImpl->activeTree()->DidBecomeActive(); |
| 1562 | 1563 |
| 1563 // Scrolling should still work even though we did not draw yet. | 1564 // Scrolling should still work even though we did not draw yet. |
| 1564 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::Whee
l), InputHandlerClient::ScrollStarted); | 1565 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(5, 5), InputHandlerClient::Whee
l), InputHandlerClient::ScrollStarted); |
| 1565 } | 1566 } |
| 1566 | 1567 |
| 1567 TEST_P(LayerTreeHostImplTest, scrollAxisAlignedRotatedLayer) | 1568 TEST_P(LayerTreeHostImplTest, scrollAxisAlignedRotatedLayer) |
| 1568 { | 1569 { |
| 1569 setupScrollAndContentsLayers(gfx::Size(100, 100)); | 1570 setupScrollAndContentsLayers(gfx::Size(100, 100)); |
| 1570 | 1571 |
| 1571 // Rotate the root layer 90 degrees counter-clockwise about its center. | 1572 // Rotate the root layer 90 degrees counter-clockwise about its center. |
| (...skipping 2453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4025 | 4026 |
| 4026 gfx::Size layoutSurfaceSize(10, 20); | 4027 gfx::Size layoutSurfaceSize(10, 20); |
| 4027 gfx::Size deviceSurfaceSize(layoutSurfaceSize.width() * static_cast<int>(dev
iceScaleFactor), | 4028 gfx::Size deviceSurfaceSize(layoutSurfaceSize.width() * static_cast<int>(dev
iceScaleFactor), |
| 4028 layoutSurfaceSize.height() * static_cast<int>(de
viceScaleFactor)); | 4029 layoutSurfaceSize.height() * static_cast<int>(de
viceScaleFactor)); |
| 4029 float pageScale = 2; | 4030 float pageScale = 2; |
| 4030 scoped_ptr<LayerImpl> root = createScrollableLayer(1, layoutSurfaceSize); | 4031 scoped_ptr<LayerImpl> root = createScrollableLayer(1, layoutSurfaceSize); |
| 4031 // For this test we want to force scrolls to only pan the pinchZoomViewport | 4032 // For this test we want to force scrolls to only pan the pinchZoomViewport |
| 4032 // and not the document, we can verify commit/redraw are requested. | 4033 // and not the document, we can verify commit/redraw are requested. |
| 4033 root->setMaxScrollOffset(gfx::Vector2d()); | 4034 root->setMaxScrollOffset(gfx::Vector2d()); |
| 4034 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); | 4035 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); |
| 4035 m_hostImpl->activeTree()->FindRootScrollLayer(); | 4036 m_hostImpl->activeTree()->DidBecomeActive(); |
| 4036 m_hostImpl->setViewportSize(layoutSurfaceSize, deviceSurfaceSize); | 4037 m_hostImpl->setViewportSize(layoutSurfaceSize, deviceSurfaceSize); |
| 4037 m_hostImpl->setPageScaleFactorAndLimits(1, 1, pageScale); | 4038 m_hostImpl->setPageScaleFactorAndLimits(1, 1, pageScale); |
| 4038 initializeRendererAndDrawFrame(); | 4039 initializeRendererAndDrawFrame(); |
| 4039 | 4040 |
| 4040 // Set new page scale on impl thread by pinching. | 4041 // Set new page scale on impl thread by pinching. |
| 4041 m_hostImpl->pinchGestureBegin(); | 4042 m_hostImpl->pinchGestureBegin(); |
| 4042 m_hostImpl->pinchGestureUpdate(pageScale, gfx::Point()); | 4043 m_hostImpl->pinchGestureUpdate(pageScale, gfx::Point()); |
| 4043 m_hostImpl->pinchGestureEnd(); | 4044 m_hostImpl->pinchGestureEnd(); |
| 4044 drawOneFrame(); | 4045 drawOneFrame(); |
| 4045 | 4046 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4098 | 4099 |
| 4099 gfx::Size layoutSurfaceSize(10, 20); | 4100 gfx::Size layoutSurfaceSize(10, 20); |
| 4100 gfx::Size deviceSurfaceSize(layoutSurfaceSize.width() * static_cast<int>(dev
iceScaleFactor), | 4101 gfx::Size deviceSurfaceSize(layoutSurfaceSize.width() * static_cast<int>(dev
iceScaleFactor), |
| 4101 layoutSurfaceSize.height() * static_cast<int>(de
viceScaleFactor)); | 4102 layoutSurfaceSize.height() * static_cast<int>(de
viceScaleFactor)); |
| 4102 float pageScale = 2; | 4103 float pageScale = 2; |
| 4103 scoped_ptr<LayerImpl> root = createScrollableLayer(1, layoutSurfaceSize); | 4104 scoped_ptr<LayerImpl> root = createScrollableLayer(1, layoutSurfaceSize); |
| 4104 // For this test we want to force scrolls to move the pinchZoomViewport so | 4105 // For this test we want to force scrolls to move the pinchZoomViewport so |
| 4105 // we can see the scroll component on the implTransform. | 4106 // we can see the scroll component on the implTransform. |
| 4106 root->setMaxScrollOffset(gfx::Vector2d()); | 4107 root->setMaxScrollOffset(gfx::Vector2d()); |
| 4107 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); | 4108 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); |
| 4108 m_hostImpl->activeTree()->FindRootScrollLayer(); | 4109 m_hostImpl->activeTree()->DidBecomeActive(); |
| 4109 m_hostImpl->setViewportSize(layoutSurfaceSize, deviceSurfaceSize); | 4110 m_hostImpl->setViewportSize(layoutSurfaceSize, deviceSurfaceSize); |
| 4110 m_hostImpl->setPageScaleFactorAndLimits(1, 1, pageScale); | 4111 m_hostImpl->setPageScaleFactorAndLimits(1, 1, pageScale); |
| 4111 initializeRendererAndDrawFrame(); | 4112 initializeRendererAndDrawFrame(); |
| 4112 | 4113 |
| 4113 // Set new page scale on impl thread by pinching. | 4114 // Set new page scale on impl thread by pinching. |
| 4114 m_hostImpl->pinchGestureBegin(); | 4115 m_hostImpl->pinchGestureBegin(); |
| 4115 m_hostImpl->pinchGestureUpdate(pageScale, gfx::Point()); | 4116 m_hostImpl->pinchGestureUpdate(pageScale, gfx::Point()); |
| 4116 m_hostImpl->pinchGestureEnd(); | 4117 m_hostImpl->pinchGestureEnd(); |
| 4117 drawOneFrame(); | 4118 drawOneFrame(); |
| 4118 | 4119 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4183 | 4184 |
| 4184 gfx::Size layoutSurfaceSize(10, 20); | 4185 gfx::Size layoutSurfaceSize(10, 20); |
| 4185 gfx::Size deviceSurfaceSize(layoutSurfaceSize.width() * static_cast<int>(dev
iceScaleFactor), | 4186 gfx::Size deviceSurfaceSize(layoutSurfaceSize.width() * static_cast<int>(dev
iceScaleFactor), |
| 4186 layoutSurfaceSize.height() * static_cast<int>(de
viceScaleFactor)); | 4187 layoutSurfaceSize.height() * static_cast<int>(de
viceScaleFactor)); |
| 4187 float pageScale = 2; | 4188 float pageScale = 2; |
| 4188 scoped_ptr<LayerImpl> root = createScrollableLayer(1, layoutSurfaceSize); | 4189 scoped_ptr<LayerImpl> root = createScrollableLayer(1, layoutSurfaceSize); |
| 4189 // For this test we want to scrolls to move both the document and the | 4190 // For this test we want to scrolls to move both the document and the |
| 4190 // pinchZoomViewport so we can see some scroll component on the implTransfor
m. | 4191 // pinchZoomViewport so we can see some scroll component on the implTransfor
m. |
| 4191 root->setMaxScrollOffset(gfx::Vector2d(3, 4)); | 4192 root->setMaxScrollOffset(gfx::Vector2d(3, 4)); |
| 4192 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); | 4193 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); |
| 4193 m_hostImpl->activeTree()->FindRootScrollLayer(); | 4194 m_hostImpl->activeTree()->DidBecomeActive(); |
| 4194 m_hostImpl->setViewportSize(layoutSurfaceSize, deviceSurfaceSize); | 4195 m_hostImpl->setViewportSize(layoutSurfaceSize, deviceSurfaceSize); |
| 4195 m_hostImpl->setPageScaleFactorAndLimits(1, 1, pageScale); | 4196 m_hostImpl->setPageScaleFactorAndLimits(1, 1, pageScale); |
| 4196 initializeRendererAndDrawFrame(); | 4197 initializeRendererAndDrawFrame(); |
| 4197 | 4198 |
| 4198 // Set new page scale on impl thread by pinching. | 4199 // Set new page scale on impl thread by pinching. |
| 4199 m_hostImpl->pinchGestureBegin(); | 4200 m_hostImpl->pinchGestureBegin(); |
| 4200 m_hostImpl->pinchGestureUpdate(pageScale, gfx::Point()); | 4201 m_hostImpl->pinchGestureUpdate(pageScale, gfx::Point()); |
| 4201 m_hostImpl->pinchGestureEnd(); | 4202 m_hostImpl->pinchGestureEnd(); |
| 4202 drawOneFrame(); | 4203 drawOneFrame(); |
| 4203 | 4204 |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4307 | 4308 |
| 4308 gfx::Size layoutSurfaceSize(10, 20); | 4309 gfx::Size layoutSurfaceSize(10, 20); |
| 4309 gfx::Size deviceSurfaceSize(layoutSurfaceSize.width() * static_cast<int>(dev
iceScaleFactor), | 4310 gfx::Size deviceSurfaceSize(layoutSurfaceSize.width() * static_cast<int>(dev
iceScaleFactor), |
| 4310 layoutSurfaceSize.height() * static_cast<int>(de
viceScaleFactor)); | 4311 layoutSurfaceSize.height() * static_cast<int>(de
viceScaleFactor)); |
| 4311 float pageScale = 2; | 4312 float pageScale = 2; |
| 4312 scoped_ptr<LayerImpl> root = createScrollableLayer(1, layoutSurfaceSize); | 4313 scoped_ptr<LayerImpl> root = createScrollableLayer(1, layoutSurfaceSize); |
| 4313 // For this test we want to scrolls to move both the document and the | 4314 // For this test we want to scrolls to move both the document and the |
| 4314 // pinchZoomViewport so we can see some scroll component on the implTransfor
m. | 4315 // pinchZoomViewport so we can see some scroll component on the implTransfor
m. |
| 4315 root->setMaxScrollOffset(gfx::Vector2d(3, 4)); | 4316 root->setMaxScrollOffset(gfx::Vector2d(3, 4)); |
| 4316 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); | 4317 m_hostImpl->activeTree()->SetRootLayer(root.Pass()); |
| 4317 m_hostImpl->activeTree()->FindRootScrollLayer(); | 4318 m_hostImpl->activeTree()->DidBecomeActive(); |
| 4318 m_hostImpl->setViewportSize(layoutSurfaceSize, deviceSurfaceSize); | 4319 m_hostImpl->setViewportSize(layoutSurfaceSize, deviceSurfaceSize); |
| 4319 m_hostImpl->setPageScaleFactorAndLimits(1, 1, pageScale); | 4320 m_hostImpl->setPageScaleFactorAndLimits(1, 1, pageScale); |
| 4320 initializeRendererAndDrawFrame(); | 4321 initializeRendererAndDrawFrame(); |
| 4321 | 4322 |
| 4322 // Set new page scale on impl thread by pinching. | 4323 // Set new page scale on impl thread by pinching. |
| 4323 m_hostImpl->pinchGestureBegin(); | 4324 m_hostImpl->pinchGestureBegin(); |
| 4324 m_hostImpl->pinchGestureUpdate(pageScale, gfx::Point()); | 4325 m_hostImpl->pinchGestureUpdate(pageScale, gfx::Point()); |
| 4325 m_hostImpl->pinchGestureEnd(); | 4326 m_hostImpl->pinchGestureEnd(); |
| 4326 drawOneFrame(); | 4327 drawOneFrame(); |
| 4327 | 4328 |
| (...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4684 m_hostImpl->didDrawAllLayers(frame); | 4685 m_hostImpl->didDrawAllLayers(frame); |
| 4685 } | 4686 } |
| 4686 } | 4687 } |
| 4687 | 4688 |
| 4688 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, | 4689 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, |
| 4689 LayerTreeHostImplTest, | 4690 LayerTreeHostImplTest, |
| 4690 ::testing::Values(false, true)); | 4691 ::testing::Values(false, true)); |
| 4691 | 4692 |
| 4692 } // namespace | 4693 } // namespace |
| 4693 } // namespace cc | 4694 } // namespace cc |
| OLD | NEW |