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

Side by Side Diff: cc/trees/layer_tree_host_impl_unittest.cc

Issue 2339583002: cc: Move OnScrollOffsetAnimated to scroll tree (Closed)
Patch Set: Created 4 years, 3 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 unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_host_unittest_animation.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <cmath> 10 #include <cmath>
(...skipping 1299 matching lines...) Expand 10 before | Expand all | Expand 10 after
1310 LayerImpl::Create(host_impl_->pending_tree(), 2)); 1310 LayerImpl::Create(host_impl_->pending_tree(), 2));
1311 LayerImpl* child = root->test_properties()->children[0]; 1311 LayerImpl* child = root->test_properties()->children[0];
1312 child->SetBounds(gfx::Size(10, 10)); 1312 child->SetBounds(gfx::Size(10, 10));
1313 child->draw_properties().visible_layer_rect = gfx::Rect(10, 10); 1313 child->draw_properties().visible_layer_rect = gfx::Rect(10, 10);
1314 child->SetDrawsContent(true); 1314 child->SetDrawsContent(true);
1315 1315
1316 host_impl_->pending_tree()->SetElementIdsForTesting(); 1316 host_impl_->pending_tree()->SetElementIdsForTesting();
1317 1317
1318 AddAnimatedTransformToElementWithPlayer(child->element_id(), timeline(), 10.0, 1318 AddAnimatedTransformToElementWithPlayer(child->element_id(), timeline(), 10.0,
1319 3, 0); 1319 3, 0);
1320 host_impl_->pending_tree()->BuildPropertyTreesForTesting();
1320 1321
1321 EXPECT_FALSE(did_request_next_frame_); 1322 EXPECT_FALSE(did_request_next_frame_);
1322 EXPECT_FALSE(did_request_redraw_); 1323 EXPECT_FALSE(did_request_redraw_);
1323 EXPECT_FALSE(did_request_commit_); 1324 EXPECT_FALSE(did_request_commit_);
1324 1325
1325 host_impl_->AnimatePendingTreeAfterCommit(); 1326 host_impl_->AnimatePendingTreeAfterCommit();
1326 1327
1327 // An animation exists on the pending layer. Doing 1328 // An animation exists on the pending layer. Doing
1328 // AnimatePendingTreeAfterCommit() requests another frame. 1329 // AnimatePendingTreeAfterCommit() requests another frame.
1329 // In reality, animations without has_set_start_time() == true do not need to 1330 // In reality, animations without has_set_start_time() == true do not need to
(...skipping 30 matching lines...) Expand all
1360 LayerImpl* root = *host_impl_->active_tree()->begin(); 1361 LayerImpl* root = *host_impl_->active_tree()->begin();
1361 root->SetBounds(gfx::Size(50, 50)); 1362 root->SetBounds(gfx::Size(50, 50));
1362 root->test_properties()->force_render_surface = true; 1363 root->test_properties()->force_render_surface = true;
1363 1364
1364 root->test_properties()->AddChild( 1365 root->test_properties()->AddChild(
1365 LayerImpl::Create(host_impl_->active_tree(), 2)); 1366 LayerImpl::Create(host_impl_->active_tree(), 2));
1366 LayerImpl* child = root->test_properties()->children[0]; 1367 LayerImpl* child = root->test_properties()->children[0];
1367 child->SetBounds(gfx::Size(10, 10)); 1368 child->SetBounds(gfx::Size(10, 10));
1368 child->draw_properties().visible_layer_rect = gfx::Rect(10, 10); 1369 child->draw_properties().visible_layer_rect = gfx::Rect(10, 10);
1369 child->SetDrawsContent(true); 1370 child->SetDrawsContent(true);
1370 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1371 host_impl_->active_tree()->SetElementIdsForTesting(); 1371 host_impl_->active_tree()->SetElementIdsForTesting();
1372 1372
1373 // Add a translate from 6,7 to 8,9. 1373 // Add a translate from 6,7 to 8,9.
1374 TransformOperations start; 1374 TransformOperations start;
1375 start.AppendTranslate(6.f, 7.f, 0.f); 1375 start.AppendTranslate(6.f, 7.f, 0.f);
1376 TransformOperations end; 1376 TransformOperations end;
1377 end.AppendTranslate(8.f, 9.f, 0.f); 1377 end.AppendTranslate(8.f, 9.f, 0.f);
1378 AddAnimatedTransformToElementWithPlayer(child->element_id(), timeline(), 4.0, 1378 AddAnimatedTransformToElementWithPlayer(child->element_id(), timeline(), 4.0,
1379 start, end); 1379 start, end);
1380 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1380 1381
1381 base::TimeTicks now = base::TimeTicks::Now(); 1382 base::TimeTicks now = base::TimeTicks::Now();
1382 host_impl_->WillBeginImplFrame( 1383 host_impl_->WillBeginImplFrame(
1383 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, now)); 1384 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, now));
1384 1385
1385 // TODO(crbug.com/551134): We always request a new frame and a draw for 1386 // TODO(crbug.com/551134): We always request a new frame and a draw for
1386 // animations that are on the pending tree, but we don't need to do that 1387 // animations that are on the pending tree, but we don't need to do that
1387 // unless they are waiting for some future time to start. 1388 // unless they are waiting for some future time to start.
1388 EXPECT_TRUE(did_request_next_frame_); 1389 EXPECT_TRUE(did_request_next_frame_);
1389 EXPECT_TRUE(did_request_redraw_); 1390 EXPECT_TRUE(did_request_redraw_);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
1472 LayerImpl* root = *host_impl_->active_tree()->begin(); 1473 LayerImpl* root = *host_impl_->active_tree()->begin();
1473 root->SetBounds(gfx::Size(50, 50)); 1474 root->SetBounds(gfx::Size(50, 50));
1474 1475
1475 root->test_properties()->AddChild( 1476 root->test_properties()->AddChild(
1476 LayerImpl::Create(host_impl_->active_tree(), 2)); 1477 LayerImpl::Create(host_impl_->active_tree(), 2));
1477 LayerImpl* child = root->test_properties()->children[0]; 1478 LayerImpl* child = root->test_properties()->children[0];
1478 child->SetBounds(gfx::Size(10, 10)); 1479 child->SetBounds(gfx::Size(10, 10));
1479 child->draw_properties().visible_layer_rect = gfx::Rect(10, 10); 1480 child->draw_properties().visible_layer_rect = gfx::Rect(10, 10);
1480 child->SetDrawsContent(true); 1481 child->SetDrawsContent(true);
1481 1482
1482 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1483 host_impl_->active_tree()->SetElementIdsForTesting(); 1483 host_impl_->active_tree()->SetElementIdsForTesting();
1484 1484
1485 // Add a translate animation. 1485 // Add a translate animation.
1486 TransformOperations start; 1486 TransformOperations start;
1487 start.AppendTranslate(6.f, 7.f, 0.f); 1487 start.AppendTranslate(6.f, 7.f, 0.f);
1488 TransformOperations end; 1488 TransformOperations end;
1489 end.AppendTranslate(8.f, 9.f, 0.f); 1489 end.AppendTranslate(8.f, 9.f, 0.f);
1490 AddAnimatedTransformToElementWithPlayer(child->element_id(), timeline(), 4.0, 1490 AddAnimatedTransformToElementWithPlayer(child->element_id(), timeline(), 4.0,
1491 start, end); 1491 start, end);
1492 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1492 1493
1493 base::TimeTicks now = base::TimeTicks::Now(); 1494 base::TimeTicks now = base::TimeTicks::Now();
1494 host_impl_->WillBeginImplFrame( 1495 host_impl_->WillBeginImplFrame(
1495 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, now)); 1496 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, now));
1496 EXPECT_TRUE(did_request_next_frame_); 1497 EXPECT_TRUE(did_request_next_frame_);
1497 did_request_next_frame_ = false; 1498 did_request_next_frame_ = false;
1498 1499
1499 host_impl_->ActivateAnimations(); 1500 host_impl_->ActivateAnimations();
1500 // On activating an animation, we should request another frame so that we'll 1501 // On activating an animation, we should request another frame so that we'll
1501 // continue ticking the animation. 1502 // continue ticking the animation.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1549 root->SetBounds(gfx::Size(50, 50)); 1550 root->SetBounds(gfx::Size(50, 50));
1550 root->SetHasRenderSurface(true); 1551 root->SetHasRenderSurface(true);
1551 1552
1552 root->test_properties()->AddChild(std::unique_ptr<MissingTilesLayer>( 1553 root->test_properties()->AddChild(std::unique_ptr<MissingTilesLayer>(
1553 new MissingTilesLayer(host_impl_->active_tree(), 2))); 1554 new MissingTilesLayer(host_impl_->active_tree(), 2)));
1554 MissingTilesLayer* child = 1555 MissingTilesLayer* child =
1555 static_cast<MissingTilesLayer*>(root->test_properties()->children[0]); 1556 static_cast<MissingTilesLayer*>(root->test_properties()->children[0]);
1556 child->SetBounds(gfx::Size(10, 10)); 1557 child->SetBounds(gfx::Size(10, 10));
1557 child->draw_properties().visible_layer_rect = gfx::Rect(10, 10); 1558 child->draw_properties().visible_layer_rect = gfx::Rect(10, 10);
1558 child->SetDrawsContent(true); 1559 child->SetDrawsContent(true);
1559 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1560 1560
1561 host_impl_->active_tree()->SetElementIdsForTesting(); 1561 host_impl_->active_tree()->SetElementIdsForTesting();
1562 1562
1563 EXPECT_TRUE(child->was_ever_ready_since_last_transform_animation()); 1563 EXPECT_TRUE(child->was_ever_ready_since_last_transform_animation());
1564 1564
1565 // Add a translate from 6,7 to 8,9. 1565 // Add a translate from 6,7 to 8,9.
1566 TransformOperations start; 1566 TransformOperations start;
1567 start.AppendTranslate(6.f, 7.f, 0.f); 1567 start.AppendTranslate(6.f, 7.f, 0.f);
1568 TransformOperations end; 1568 TransformOperations end;
1569 end.AppendTranslate(8.f, 9.f, 0.f); 1569 end.AppendTranslate(8.f, 9.f, 0.f);
1570 int animation_id = AddAnimatedTransformToElementWithPlayer( 1570 int animation_id = AddAnimatedTransformToElementWithPlayer(
1571 child->element_id(), timeline(), 4.0, start, end); 1571 child->element_id(), timeline(), 4.0, start, end);
1572 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1572 1573
1573 base::TimeTicks now = base::TimeTicks::Now(); 1574 base::TimeTicks now = base::TimeTicks::Now();
1574 host_impl_->WillBeginImplFrame( 1575 host_impl_->WillBeginImplFrame(
1575 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, now)); 1576 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, now));
1576 1577
1577 host_impl_->ActivateAnimations(); 1578 host_impl_->ActivateAnimations();
1578 host_impl_->Animate(); 1579 host_impl_->Animate();
1579 1580
1580 EXPECT_FALSE(child->was_ever_ready_since_last_transform_animation()); 1581 EXPECT_FALSE(child->was_ever_ready_since_last_transform_animation());
1581 1582
(...skipping 9667 matching lines...) Expand 10 before | Expand all | Expand 10 after
11249 EXPECT_TRUE(host_impl_->use_gpu_rasterization()); 11250 EXPECT_TRUE(host_impl_->use_gpu_rasterization());
11250 11251
11251 // Re-initialize with a software output surface. 11252 // Re-initialize with a software output surface.
11252 output_surface_ = FakeOutputSurface::CreateDelegatingSoftware(); 11253 output_surface_ = FakeOutputSurface::CreateDelegatingSoftware();
11253 host_impl_->InitializeRenderer(output_surface_.get()); 11254 host_impl_->InitializeRenderer(output_surface_.get());
11254 EXPECT_FALSE(host_impl_->use_gpu_rasterization()); 11255 EXPECT_FALSE(host_impl_->use_gpu_rasterization());
11255 } 11256 }
11256 11257
11257 } // namespace 11258 } // namespace
11258 } // namespace cc 11259 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_host_unittest_animation.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698