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

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

Issue 563523002: cc: Change LayerTreeHost unit tests to use impl painting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased to ToT to use new non-solid color paint. Created 6 years, 1 month 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 | « no previous file | no next file » | 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.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/synchronization/lock.h" 10 #include "base/synchronization/lock.h"
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 int num_draws_; 265 int num_draws_;
266 }; 266 };
267 267
268 MULTI_THREAD_TEST_F(LayerTreeHostTestSetNeedsRedraw); 268 MULTI_THREAD_TEST_F(LayerTreeHostTestSetNeedsRedraw);
269 269
270 // After setNeedsRedrawRect(invalid_rect) the final damage_rect 270 // After setNeedsRedrawRect(invalid_rect) the final damage_rect
271 // must contain invalid_rect. 271 // must contain invalid_rect.
272 class LayerTreeHostTestSetNeedsRedrawRect : public LayerTreeHostTest { 272 class LayerTreeHostTestSetNeedsRedrawRect : public LayerTreeHostTest {
273 public: 273 public:
274 LayerTreeHostTestSetNeedsRedrawRect() 274 LayerTreeHostTestSetNeedsRedrawRect()
275 : num_draws_(0), 275 : num_draws_(0), bounds_(50, 50), invalid_rect_(10, 10, 20, 20) {}
276 bounds_(50, 50),
277 invalid_rect_(10, 10, 20, 20),
278 root_layer_(ContentLayer::Create(&client_)) {}
279 276
280 void BeginTest() override { 277 virtual void BeginTest() override {
danakj 2014/11/12 16:44:27 remove virtual, override is enough
sohanjg 2014/11/13 09:14:27 Done.
278 if (layer_tree_host()->settings().impl_side_painting)
279 root_layer_ = FakePictureLayer::Create(&client_);
280 else
281 root_layer_ = ContentLayer::Create(&client_);
281 root_layer_->SetIsDrawable(true); 282 root_layer_->SetIsDrawable(true);
282 root_layer_->SetBounds(bounds_); 283 root_layer_->SetBounds(bounds_);
283 layer_tree_host()->SetRootLayer(root_layer_); 284 layer_tree_host()->SetRootLayer(root_layer_);
284 layer_tree_host()->SetViewportSize(bounds_); 285 layer_tree_host()->SetViewportSize(bounds_);
285 PostSetNeedsCommitToMainThread(); 286 PostSetNeedsCommitToMainThread();
286 } 287 }
287 288
288 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, 289 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
289 LayerTreeHostImpl::FrameData* frame_data, 290 LayerTreeHostImpl::FrameData* frame_data,
290 DrawResult draw_result) override { 291 DrawResult draw_result) override {
(...skipping 23 matching lines...) Expand all
314 num_draws_++; 315 num_draws_++;
315 } 316 }
316 317
317 void AfterTest() override { EXPECT_EQ(2, num_draws_); } 318 void AfterTest() override { EXPECT_EQ(2, num_draws_); }
318 319
319 private: 320 private:
320 int num_draws_; 321 int num_draws_;
321 const gfx::Size bounds_; 322 const gfx::Size bounds_;
322 const gfx::Rect invalid_rect_; 323 const gfx::Rect invalid_rect_;
323 FakeContentLayerClient client_; 324 FakeContentLayerClient client_;
324 scoped_refptr<ContentLayer> root_layer_; 325 scoped_refptr<Layer> root_layer_;
325 }; 326 };
326 327
327 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSetNeedsRedrawRect); 328 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSetNeedsRedrawRect);
328 329
329 class LayerTreeHostTestNoExtraCommitFromInvalidate : public LayerTreeHostTest { 330 class LayerTreeHostTestNoExtraCommitFromInvalidate : public LayerTreeHostTest {
330 public: 331 public:
331 void InitializeSettings(LayerTreeSettings* settings) override { 332 void InitializeSettings(LayerTreeSettings* settings) override {
332 settings->layer_transforms_should_scale_layer_contents = true; 333 settings->layer_transforms_should_scale_layer_contents = true;
333 } 334 }
334 335
335 void SetupTree() override { 336 void SetupTree() override {
336 root_layer_ = Layer::Create(); 337 root_layer_ = Layer::Create();
337 root_layer_->SetBounds(gfx::Size(10, 20)); 338 root_layer_->SetBounds(gfx::Size(10, 20));
338 339
339 scaled_layer_ = FakeContentLayer::Create(&client_); 340 if (layer_tree_host()->settings().impl_side_painting)
341 scaled_layer_ = FakePictureLayer::Create(&client_);
342 else
343 scaled_layer_ = FakeContentLayer::Create(&client_);
340 scaled_layer_->SetBounds(gfx::Size(1, 1)); 344 scaled_layer_->SetBounds(gfx::Size(1, 1));
341 root_layer_->AddChild(scaled_layer_); 345 root_layer_->AddChild(scaled_layer_);
342 346
343 layer_tree_host()->SetRootLayer(root_layer_); 347 layer_tree_host()->SetRootLayer(root_layer_);
344 LayerTreeHostTest::SetupTree(); 348 LayerTreeHostTest::SetupTree();
345 } 349 }
346 350
347 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 351 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
348 352
349 void DrawLayersOnThread(LayerTreeHostImpl* host_impl) override { 353 void DrawLayersOnThread(LayerTreeHostImpl* host_impl) override {
350 if (host_impl->active_tree()->source_frame_number() == 1) 354 if (host_impl->active_tree()->source_frame_number() == 1)
351 EndTest(); 355 EndTest();
352 } 356 }
353 357
354 void DidCommit() override { 358 void DidCommit() override {
355 switch (layer_tree_host()->source_frame_number()) { 359 switch (layer_tree_host()->source_frame_number()) {
356 case 1: 360 case 1:
357 // Changing the device scale factor causes a commit. It also changes 361 // SetBounds grows the layer and exposes new content.
358 // the content bounds of |scaled_layer_|, which should not generate 362 if (layer_tree_host()->settings().impl_side_painting)
danakj 2014/11/12 16:44:27 {}
sohanjg 2014/11/13 09:14:27 Done.
359 // a second commit as a result. 363 scaled_layer_->SetBounds(gfx::Size(4, 4));
360 layer_tree_host()->SetDeviceScaleFactor(4.f); 364 else
danakj 2014/11/12 16:44:27 {}
sohanjg 2014/11/13 09:14:27 Done.
365 // Changing the device scale factor causes a commit. It also changes
366 // the content bounds of |scaled_layer_|, which should not generate
367 // a second commit as a result.
368 layer_tree_host()->SetDeviceScaleFactor(4.f);
361 break; 369 break;
362 default: 370 default:
363 // No extra commits. 371 // No extra commits.
364 EXPECT_EQ(2, layer_tree_host()->source_frame_number()); 372 EXPECT_EQ(2, layer_tree_host()->source_frame_number());
365 } 373 }
366 } 374 }
367 375
368 void AfterTest() override { 376 void AfterTest() override {
369 EXPECT_EQ(gfx::Size(4, 4).ToString(), 377 EXPECT_EQ(gfx::Size(4, 4).ToString(),
370 scaled_layer_->content_bounds().ToString()); 378 scaled_layer_->content_bounds().ToString());
371 } 379 }
372 380
373 private: 381 private:
374 FakeContentLayerClient client_; 382 FakeContentLayerClient client_;
375 scoped_refptr<Layer> root_layer_; 383 scoped_refptr<Layer> root_layer_;
376 scoped_refptr<FakeContentLayer> scaled_layer_; 384 scoped_refptr<Layer> scaled_layer_;
377 }; 385 };
378 386
379 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestNoExtraCommitFromInvalidate); 387 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestNoExtraCommitFromInvalidate);
380 388
381 class LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate 389 class LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate
382 : public LayerTreeHostTest { 390 : public LayerTreeHostTest {
383 public: 391 public:
384 void InitializeSettings(LayerTreeSettings* settings) override { 392 void InitializeSettings(LayerTreeSettings* settings) override {
385 settings->layer_transforms_should_scale_layer_contents = true; 393 settings->layer_transforms_should_scale_layer_contents = true;
386 } 394 }
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 scoped_refptr<Layer> root_layer_; 441 scoped_refptr<Layer> root_layer_;
434 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_; 442 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_;
435 }; 443 };
436 444
437 SINGLE_AND_MULTI_THREAD_TEST_F( 445 SINGLE_AND_MULTI_THREAD_TEST_F(
438 LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate); 446 LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate);
439 447
440 class LayerTreeHostTestSetNextCommitForcesRedraw : public LayerTreeHostTest { 448 class LayerTreeHostTestSetNextCommitForcesRedraw : public LayerTreeHostTest {
441 public: 449 public:
442 LayerTreeHostTestSetNextCommitForcesRedraw() 450 LayerTreeHostTestSetNextCommitForcesRedraw()
443 : num_draws_(0), 451 : num_draws_(0), bounds_(50, 50), invalid_rect_(10, 10, 20, 20) {}
444 bounds_(50, 50),
445 invalid_rect_(10, 10, 20, 20),
446 root_layer_(ContentLayer::Create(&client_)) {}
447 452
448 void BeginTest() override { 453 virtual void BeginTest() override {
danakj 2014/11/12 16:44:27 ditto for all the virtuals
sohanjg 2014/11/13 09:14:27 Done.
454 if (layer_tree_host()->settings().impl_side_painting)
455 root_layer_ = FakePictureLayer::Create(&client_);
456 else
457 root_layer_ = ContentLayer::Create(&client_);
449 root_layer_->SetIsDrawable(true); 458 root_layer_->SetIsDrawable(true);
450 root_layer_->SetBounds(bounds_); 459 root_layer_->SetBounds(bounds_);
451 layer_tree_host()->SetRootLayer(root_layer_); 460 layer_tree_host()->SetRootLayer(root_layer_);
452 layer_tree_host()->SetViewportSize(bounds_); 461 layer_tree_host()->SetViewportSize(bounds_);
453 PostSetNeedsCommitToMainThread(); 462 PostSetNeedsCommitToMainThread();
454 } 463 }
455 464
456 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { 465 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override {
457 if (num_draws_ == 3 && host_impl->settings().impl_side_painting) 466 if (num_draws_ == 3 && host_impl->settings().impl_side_painting)
458 host_impl->SetNeedsRedrawRect(invalid_rect_); 467 host_impl->SetNeedsRedrawRect(invalid_rect_);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 num_draws_++; 524 num_draws_++;
516 } 525 }
517 526
518 void AfterTest() override { EXPECT_EQ(5, num_draws_); } 527 void AfterTest() override { EXPECT_EQ(5, num_draws_); }
519 528
520 private: 529 private:
521 int num_draws_; 530 int num_draws_;
522 const gfx::Size bounds_; 531 const gfx::Size bounds_;
523 const gfx::Rect invalid_rect_; 532 const gfx::Rect invalid_rect_;
524 FakeContentLayerClient client_; 533 FakeContentLayerClient client_;
525 scoped_refptr<ContentLayer> root_layer_; 534 scoped_refptr<Layer> root_layer_;
526 }; 535 };
527 536
528 SINGLE_AND_MULTI_THREAD_BLOCKNOTIFY_TEST_F( 537 SINGLE_AND_MULTI_THREAD_BLOCKNOTIFY_TEST_F(
529 LayerTreeHostTestSetNextCommitForcesRedraw); 538 LayerTreeHostTestSetNextCommitForcesRedraw);
530 539
531 // Tests that if a layer is not drawn because of some reason in the parent then 540 // Tests that if a layer is not drawn because of some reason in the parent then
532 // its damage is preserved until the next time it is drawn. 541 // its damage is preserved until the next time it is drawn.
533 class LayerTreeHostTestUndrawnLayersDamageLater : public LayerTreeHostTest { 542 class LayerTreeHostTestUndrawnLayersDamageLater : public LayerTreeHostTest {
534 public: 543 public:
535 LayerTreeHostTestUndrawnLayersDamageLater() 544 LayerTreeHostTestUndrawnLayersDamageLater() {}
536 : root_layer_(ContentLayer::Create(&client_)) {}
537 545
538 void SetupTree() override { 546 virtual void SetupTree() override {
547 if (layer_tree_host()->settings().impl_side_painting)
548 root_layer_ = FakePictureLayer::Create(&client_);
549 else
550 root_layer_ = ContentLayer::Create(&client_);
539 root_layer_->SetIsDrawable(true); 551 root_layer_->SetIsDrawable(true);
540 root_layer_->SetBounds(gfx::Size(50, 50)); 552 root_layer_->SetBounds(gfx::Size(50, 50));
541 layer_tree_host()->SetRootLayer(root_layer_); 553 layer_tree_host()->SetRootLayer(root_layer_);
542 554
543 // The initially transparent layer has a larger child layer, which is 555 // The initially transparent layer has a larger child layer, which is
544 // not initially drawn because of the this (parent) layer. 556 // not initially drawn because of the this (parent) layer.
545 parent_layer_ = FakeContentLayer::Create(&client_); 557 if (layer_tree_host()->settings().impl_side_painting)
558 parent_layer_ = FakePictureLayer::Create(&client_);
559 else
560 parent_layer_ = FakeContentLayer::Create(&client_);
546 parent_layer_->SetBounds(gfx::Size(15, 15)); 561 parent_layer_->SetBounds(gfx::Size(15, 15));
547 parent_layer_->SetOpacity(0.0f); 562 parent_layer_->SetOpacity(0.0f);
548 root_layer_->AddChild(parent_layer_); 563 root_layer_->AddChild(parent_layer_);
549 564
550 child_layer_ = FakeContentLayer::Create(&client_); 565 if (layer_tree_host()->settings().impl_side_painting)
566 child_layer_ = FakePictureLayer::Create(&client_);
567 else
568 child_layer_ = FakeContentLayer::Create(&client_);
551 child_layer_->SetBounds(gfx::Size(25, 25)); 569 child_layer_->SetBounds(gfx::Size(25, 25));
552 parent_layer_->AddChild(child_layer_); 570 parent_layer_->AddChild(child_layer_);
553 571
554 LayerTreeHostTest::SetupTree(); 572 LayerTreeHostTest::SetupTree();
555 } 573 }
556 574
557 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 575 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
558 576
559 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, 577 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
560 LayerTreeHostImpl::FrameData* frame_data, 578 LayerTreeHostImpl::FrameData* frame_data,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 break; 623 break;
606 default: 624 default:
607 NOTREACHED(); 625 NOTREACHED();
608 } 626 }
609 } 627 }
610 628
611 void AfterTest() override {} 629 void AfterTest() override {}
612 630
613 private: 631 private:
614 FakeContentLayerClient client_; 632 FakeContentLayerClient client_;
615 scoped_refptr<ContentLayer> root_layer_; 633 scoped_refptr<Layer> root_layer_;
616 scoped_refptr<FakeContentLayer> parent_layer_; 634 scoped_refptr<Layer> parent_layer_;
617 scoped_refptr<FakeContentLayer> child_layer_; 635 scoped_refptr<Layer> child_layer_;
618 }; 636 };
619 637
620 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestUndrawnLayersDamageLater); 638 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestUndrawnLayersDamageLater);
621 639
622 // Tests that if a layer is not drawn because of some reason in the parent, 640 // Tests that if a layer is not drawn because of some reason in the parent,
623 // causing its content bounds to not be computed, then when it is later drawn, 641 // causing its content bounds to not be computed, then when it is later drawn,
624 // its content bounds get pushed. 642 // its content bounds get pushed.
625 class LayerTreeHostTestUndrawnLayersPushContentBoundsLater 643 class LayerTreeHostTestUndrawnLayersPushContentBoundsLater
626 : public LayerTreeHostTest { 644 : public LayerTreeHostTest {
627 public: 645 public:
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 } 998 }
981 ~ContentLayerWithUpdateTracking() override {} 999 ~ContentLayerWithUpdateTracking() override {}
982 1000
983 int paint_contents_count_; 1001 int paint_contents_count_;
984 }; 1002 };
985 1003
986 // Layer opacity change during paint should not prevent compositor resources 1004 // Layer opacity change during paint should not prevent compositor resources
987 // from being updated during commit. 1005 // from being updated during commit.
988 class LayerTreeHostTestOpacityChange : public LayerTreeHostTest { 1006 class LayerTreeHostTestOpacityChange : public LayerTreeHostTest {
989 public: 1007 public:
990 LayerTreeHostTestOpacityChange() 1008 LayerTreeHostTestOpacityChange() : test_opacity_change_delegate_() {}
991 : test_opacity_change_delegate_(),
992 update_check_layer_(ContentLayerWithUpdateTracking::Create(
993 &test_opacity_change_delegate_)) {
994 test_opacity_change_delegate_.SetTestLayer(update_check_layer_.get());
995 }
996 1009
997 void BeginTest() override { 1010 virtual void BeginTest() override {
1011 if (layer_tree_host()->settings().impl_side_painting) {
1012 update_check_picture_layer_ =
1013 FakePictureLayer::Create(&test_opacity_change_delegate_);
1014 test_opacity_change_delegate_.SetTestLayer(
1015 update_check_picture_layer_.get());
1016 is_impl_paint = true;
1017 } else {
1018 update_check_content_layer_ = ContentLayerWithUpdateTracking::Create(
1019 &test_opacity_change_delegate_);
1020 test_opacity_change_delegate_.SetTestLayer(
1021 update_check_content_layer_.get());
1022 is_impl_paint = false;
1023 }
998 layer_tree_host()->SetViewportSize(gfx::Size(10, 10)); 1024 layer_tree_host()->SetViewportSize(gfx::Size(10, 10));
999 layer_tree_host()->root_layer()->AddChild(update_check_layer_); 1025 if (layer_tree_host()->settings().impl_side_painting)
1026 layer_tree_host()->root_layer()->AddChild(update_check_picture_layer_);
1027 else
1028 layer_tree_host()->root_layer()->AddChild(update_check_content_layer_);
1000 1029
1001 PostSetNeedsCommitToMainThread(); 1030 PostSetNeedsCommitToMainThread();
1002 } 1031 }
1003 1032
1004 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { EndTest(); } 1033 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { EndTest(); }
1005 1034
1006 void AfterTest() override { 1035 void AfterTest() override {
1007 // Update() should have been called once. 1036 // Update() should have been called once.
1008 EXPECT_EQ(1, update_check_layer_->PaintContentsCount()); 1037 if (is_impl_paint)
1038 EXPECT_EQ(1u, update_check_picture_layer_->update_count());
1039 else
1040 EXPECT_EQ(1, update_check_content_layer_->PaintContentsCount());
1009 } 1041 }
1010 1042
1011 private: 1043 private:
1012 TestOpacityChangeLayerDelegate test_opacity_change_delegate_; 1044 TestOpacityChangeLayerDelegate test_opacity_change_delegate_;
1013 scoped_refptr<ContentLayerWithUpdateTracking> update_check_layer_; 1045 scoped_refptr<ContentLayerWithUpdateTracking> update_check_content_layer_;
1046 scoped_refptr<FakePictureLayer> update_check_picture_layer_;
1047 bool is_impl_paint;
danakj 2014/11/12 16:44:27 is_impl_paint_
1014 }; 1048 };
1015 1049
1016 MULTI_THREAD_TEST_F(LayerTreeHostTestOpacityChange); 1050 MULTI_THREAD_TEST_F(LayerTreeHostTestOpacityChange);
1017 1051
1018 class NoScaleContentLayer : public ContentLayer {
1019 public:
1020 static scoped_refptr<NoScaleContentLayer> Create(ContentLayerClient* client) {
1021 return make_scoped_refptr(new NoScaleContentLayer(client));
1022 }
1023
1024 void CalculateContentsScale(float ideal_contents_scale,
1025 float* contents_scale_x,
1026 float* contents_scale_y,
1027 gfx::Size* contentBounds) override {
1028 // Skip over the ContentLayer's method to the base Layer class.
1029 Layer::CalculateContentsScale(ideal_contents_scale,
1030 contents_scale_x,
1031 contents_scale_y,
1032 contentBounds);
1033 }
1034
1035 private:
1036 explicit NoScaleContentLayer(ContentLayerClient* client)
1037 : ContentLayer(client) {}
1038 ~NoScaleContentLayer() override {}
1039 };
1040
1041 class LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers 1052 class LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers
1042 : public LayerTreeHostTest { 1053 : public LayerTreeHostTest {
1043 public: 1054 public:
1044 LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers() 1055 LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers() {}
1045 : root_layer_(NoScaleContentLayer::Create(&client_)),
1046 child_layer_(ContentLayer::Create(&client_)) {}
1047 1056
1048 void BeginTest() override { 1057 virtual void InitializeSettings(LayerTreeSettings* settings) override {
1058 // PictureLayer can only be used with impl side painting enabled.
1059 settings->impl_side_painting = true;
1060 }
1061
1062 virtual void BeginTest() override {
1063 // Paint non-solid color.
1064 client_.set_fill_with_nonsolid_color(true);
1065 root_layer_ = FakePictureLayer::Create(&client_);
1066 child_layer_ = FakePictureLayer::Create(&client_);
1067
1049 layer_tree_host()->SetViewportSize(gfx::Size(60, 60)); 1068 layer_tree_host()->SetViewportSize(gfx::Size(60, 60));
1050 layer_tree_host()->SetDeviceScaleFactor(1.5); 1069 layer_tree_host()->SetDeviceScaleFactor(1.5);
1051 EXPECT_EQ(gfx::Size(60, 60), layer_tree_host()->device_viewport_size()); 1070 EXPECT_EQ(gfx::Size(60, 60), layer_tree_host()->device_viewport_size());
1052 1071
1053 root_layer_->AddChild(child_layer_); 1072 root_layer_->AddChild(child_layer_);
1054 1073
1055 root_layer_->SetIsDrawable(true); 1074 root_layer_->SetIsDrawable(true);
1056 root_layer_->SetBounds(gfx::Size(30, 30)); 1075 root_layer_->SetBounds(gfx::Size(30, 30));
1057 1076
1058 child_layer_->SetIsDrawable(true); 1077 child_layer_->SetIsDrawable(true);
(...skipping 10 matching lines...) Expand all
1069 EXPECT_EQ(0, impl->active_tree()->source_frame_number()); 1088 EXPECT_EQ(0, impl->active_tree()->source_frame_number());
1070 // Device scale factor should come over to impl. 1089 // Device scale factor should come over to impl.
1071 EXPECT_NEAR(impl->device_scale_factor(), 1.5f, 0.00001f); 1090 EXPECT_NEAR(impl->device_scale_factor(), 1.5f, 0.00001f);
1072 1091
1073 // Both layers are on impl. 1092 // Both layers are on impl.
1074 ASSERT_EQ(1u, impl->active_tree()->root_layer()->children().size()); 1093 ASSERT_EQ(1u, impl->active_tree()->root_layer()->children().size());
1075 1094
1076 // Device viewport is scaled. 1095 // Device viewport is scaled.
1077 EXPECT_EQ(gfx::Size(60, 60), impl->DrawViewportSize()); 1096 EXPECT_EQ(gfx::Size(60, 60), impl->DrawViewportSize());
1078 1097
1079 LayerImpl* root = impl->active_tree()->root_layer(); 1098 FakePictureLayerImpl* root =
1080 LayerImpl* child = impl->active_tree()->root_layer()->children()[0]; 1099 static_cast<FakePictureLayerImpl*>(impl->active_tree()->root_layer());
1100 FakePictureLayerImpl* child = static_cast<FakePictureLayerImpl*>(
1101 impl->active_tree()->root_layer()->children()[0]);
1081 1102
1082 // Positions remain in layout pixels. 1103 // Positions remain in layout pixels.
1083 EXPECT_EQ(gfx::Point(0, 0), root->position()); 1104 EXPECT_EQ(gfx::Point(0, 0), root->position());
1084 EXPECT_EQ(gfx::Point(2, 2), child->position()); 1105 EXPECT_EQ(gfx::Point(2, 2), child->position());
1085 1106
1086 // Compute all the layer transforms for the frame. 1107 // Compute all the layer transforms for the frame.
1087 LayerTreeHostImpl::FrameData frame_data; 1108 LayerTreeHostImpl::FrameData frame_data;
1088 impl->PrepareToDraw(&frame_data); 1109 impl->PrepareToDraw(&frame_data);
1089 impl->DidDrawAllLayers(frame_data); 1110 impl->DidDrawAllLayers(frame_data);
1090 1111
1091 const LayerImplList& render_surface_layer_list = 1112 const LayerImplList& render_surface_layer_list =
1092 *frame_data.render_surface_layer_list; 1113 *frame_data.render_surface_layer_list;
1093 1114
1094 // Both layers should be drawing into the root render surface. 1115 // Both layers should be drawing into the root render surface.
1095 ASSERT_EQ(1u, render_surface_layer_list.size()); 1116 ASSERT_EQ(1u, render_surface_layer_list.size());
1096 ASSERT_EQ(root->render_surface(), 1117 ASSERT_EQ(root->render_surface(),
1097 render_surface_layer_list[0]->render_surface()); 1118 render_surface_layer_list[0]->render_surface());
1098 ASSERT_EQ(2u, root->render_surface()->layer_list().size()); 1119 ASSERT_EQ(2u, root->render_surface()->layer_list().size());
1099 1120
1100 // The root render surface is the size of the viewport. 1121 // The root render surface is the size of the viewport.
1101 EXPECT_RECT_EQ(gfx::Rect(0, 0, 60, 60), 1122 EXPECT_RECT_EQ(gfx::Rect(0, 0, 60, 60),
1102 root->render_surface()->content_rect()); 1123 root->render_surface()->content_rect());
1103 1124
1104 // The content bounds of the child should be scaled. 1125 // The max tiling scale of the child should be scaled.
1105 gfx::Size child_bounds_scaled = 1126 EXPECT_FLOAT_EQ(1.5f, child->MaximumTilingContentsScale());
1106 gfx::ToCeiledSize(gfx::ScaleSize(child->bounds(), 1.5));
1107 EXPECT_EQ(child_bounds_scaled, child->content_bounds());
1108 1127
1109 gfx::Transform scale_transform; 1128 gfx::Transform scale_transform;
1110 scale_transform.Scale(impl->device_scale_factor(), 1129 scale_transform.Scale(impl->device_scale_factor(),
1111 impl->device_scale_factor()); 1130 impl->device_scale_factor());
1112 1131
1113 // The root layer is scaled by 2x. 1132 // The root layer is scaled by 2x.
1114 gfx::Transform root_screen_space_transform = scale_transform; 1133 gfx::Transform root_screen_space_transform = scale_transform;
1115 gfx::Transform root_draw_transform = scale_transform; 1134 gfx::Transform root_draw_transform = scale_transform;
1116 1135
1117 EXPECT_EQ(root_draw_transform, root->draw_transform()); 1136 EXPECT_EQ(root_draw_transform, root->draw_transform());
1118 EXPECT_EQ(root_screen_space_transform, root->screen_space_transform()); 1137 EXPECT_EQ(root_screen_space_transform, root->screen_space_transform());
1119 1138
1120 // The child is at position 2,2, which is transformed to 3,3 after the scale 1139 // The child is at position 2,2, which is transformed to 3,3 after the scale
1121 gfx::Transform child_screen_space_transform; 1140 gfx::Transform child_transform;
1122 child_screen_space_transform.Translate(3.f, 3.f); 1141 child_transform.Translate(3.f, 3.f);
1123 gfx::Transform child_draw_transform = child_screen_space_transform; 1142 child_transform.Scale(child->MaximumTilingContentsScale(),
1143 child->MaximumTilingContentsScale());
1124 1144
1125 EXPECT_TRANSFORMATION_MATRIX_EQ(child_draw_transform, 1145 EXPECT_TRANSFORMATION_MATRIX_EQ(child_transform, child->draw_transform());
1126 child->draw_transform()); 1146 EXPECT_TRANSFORMATION_MATRIX_EQ(child_transform,
1127 EXPECT_TRANSFORMATION_MATRIX_EQ(child_screen_space_transform,
1128 child->screen_space_transform()); 1147 child->screen_space_transform());
1129 1148
1130 EndTest(); 1149 EndTest();
1131 } 1150 }
1132 1151
1133 void AfterTest() override {} 1152 void AfterTest() override {}
1134 1153
1135 private: 1154 private:
1136 FakeContentLayerClient client_; 1155 FakeContentLayerClient client_;
1137 scoped_refptr<NoScaleContentLayer> root_layer_; 1156 scoped_refptr<FakePictureLayer> root_layer_;
1138 scoped_refptr<ContentLayer> child_layer_; 1157 scoped_refptr<FakePictureLayer> child_layer_;
1139 }; 1158 };
1140 1159
1141 MULTI_THREAD_TEST_F(LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers); 1160 MULTI_THREAD_TEST_F(LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers);
1142 1161
1162 // TODO(sohanjg) : Remove it once impl-side painting ships everywhere.
1143 // Verify atomicity of commits and reuse of textures. 1163 // Verify atomicity of commits and reuse of textures.
1144 class LayerTreeHostTestDirectRendererAtomicCommit : public LayerTreeHostTest { 1164 class LayerTreeHostTestDirectRendererAtomicCommit : public LayerTreeHostTest {
1145 public: 1165 public:
1146 void InitializeSettings(LayerTreeSettings* settings) override { 1166 void InitializeSettings(LayerTreeSettings* settings) override {
1147 settings->texture_id_allocation_chunk_size = 1; 1167 settings->texture_id_allocation_chunk_size = 1;
1148 // Make sure partial texture updates are turned off. 1168 // Make sure partial texture updates are turned off.
1149 settings->max_partial_texture_updates = 0; 1169 settings->max_partial_texture_updates = 0;
1150 // Linear fade animator prevents scrollbars from drawing immediately. 1170 // Linear fade animator prevents scrollbars from drawing immediately.
1151 settings->scrollbar_animator = LayerTreeSettings::NoAnimator; 1171 settings->scrollbar_animator = LayerTreeSettings::NoAnimator;
1152 } 1172 }
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
1241 protected: 1261 protected:
1242 FakeContentLayerClient client_; 1262 FakeContentLayerClient client_;
1243 scoped_refptr<FakeContentLayer> layer_; 1263 scoped_refptr<FakeContentLayer> layer_;
1244 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_; 1264 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_;
1245 int drew_frame_; 1265 int drew_frame_;
1246 }; 1266 };
1247 1267
1248 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F( 1268 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(
1249 LayerTreeHostTestDirectRendererAtomicCommit); 1269 LayerTreeHostTestDirectRendererAtomicCommit);
1250 1270
1271 // TODO(sohanjg) : Remove it once impl-side painting ships everywhere.
1251 class LayerTreeHostTestDelegatingRendererAtomicCommit 1272 class LayerTreeHostTestDelegatingRendererAtomicCommit
1252 : public LayerTreeHostTestDirectRendererAtomicCommit { 1273 : public LayerTreeHostTestDirectRendererAtomicCommit {
1253 public: 1274 public:
1254 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { 1275 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override {
1255 ASSERT_EQ(0u, layer_tree_host()->settings().max_partial_texture_updates); 1276 ASSERT_EQ(0u, layer_tree_host()->settings().max_partial_texture_updates);
1256 1277
1257 TestWebGraphicsContext3D* context = TestContext(); 1278 TestWebGraphicsContext3D* context = TestContext();
1258 1279
1259 switch (impl->active_tree()->source_frame_number()) { 1280 switch (impl->active_tree()->source_frame_number()) {
1260 case 0: 1281 case 0:
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1308 layer->RemoveAllChildren(); 1329 layer->RemoveAllChildren();
1309 if (parent) 1330 if (parent)
1310 parent->AddChild(layer); 1331 parent->AddChild(layer);
1311 layer->SetTransform(transform); 1332 layer->SetTransform(transform);
1312 layer->SetTransformOrigin(transform_origin); 1333 layer->SetTransformOrigin(transform_origin);
1313 layer->SetPosition(position); 1334 layer->SetPosition(position);
1314 layer->SetBounds(bounds); 1335 layer->SetBounds(bounds);
1315 layer->SetContentsOpaque(opaque); 1336 layer->SetContentsOpaque(opaque);
1316 } 1337 }
1317 1338
1339 // TODO(sohanjg) : Remove it once impl-side painting ships everywhere.
1318 class LayerTreeHostTestAtomicCommitWithPartialUpdate 1340 class LayerTreeHostTestAtomicCommitWithPartialUpdate
1319 : public LayerTreeHostTest { 1341 : public LayerTreeHostTest {
1320 public: 1342 public:
1321 void InitializeSettings(LayerTreeSettings* settings) override { 1343 void InitializeSettings(LayerTreeSettings* settings) override {
1322 settings->texture_id_allocation_chunk_size = 1; 1344 settings->texture_id_allocation_chunk_size = 1;
1323 // Allow one partial texture update. 1345 // Allow one partial texture update.
1324 settings->max_partial_texture_updates = 1; 1346 settings->max_partial_texture_updates = 1;
1325 // No partial updates when impl side painting is enabled. 1347 // No partial updates when impl side painting is enabled.
1326 settings->impl_side_painting = false; 1348 settings->impl_side_painting = false;
1327 } 1349 }
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
1481 private: 1503 private:
1482 FakeContentLayerClient client_; 1504 FakeContentLayerClient client_;
1483 scoped_refptr<FakeContentLayer> parent_; 1505 scoped_refptr<FakeContentLayer> parent_;
1484 scoped_refptr<FakeContentLayer> child_; 1506 scoped_refptr<FakeContentLayer> child_;
1485 }; 1507 };
1486 1508
1487 // Partial updates are not possible with a delegating renderer. 1509 // Partial updates are not possible with a delegating renderer.
1488 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( 1510 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(
1489 LayerTreeHostTestAtomicCommitWithPartialUpdate); 1511 LayerTreeHostTestAtomicCommitWithPartialUpdate);
1490 1512
1513 // TODO(sohanjg) : Make it work with impl-side painting.
1491 class LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit 1514 class LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit
1492 : public LayerTreeHostTest { 1515 : public LayerTreeHostTest {
1493 protected: 1516 protected:
1494 void SetupTree() override { 1517 void SetupTree() override {
1495 root_layer_ = FakeContentLayer::Create(&client_); 1518 root_layer_ = FakeContentLayer::Create(&client_);
1496 root_layer_->SetBounds(gfx::Size(100, 100)); 1519 root_layer_->SetBounds(gfx::Size(100, 100));
1497 1520
1498 surface_layer1_ = FakeContentLayer::Create(&client_); 1521 surface_layer1_ = FakeContentLayer::Create(&client_);
1499 surface_layer1_->SetBounds(gfx::Size(100, 100)); 1522 surface_layer1_->SetBounds(gfx::Size(100, 100));
1500 surface_layer1_->SetForceRenderSurface(true); 1523 surface_layer1_->SetForceRenderSurface(true);
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
1801 1824
1802 class LayerTreeHostTestContinuousInvalidate : public LayerTreeHostTest { 1825 class LayerTreeHostTestContinuousInvalidate : public LayerTreeHostTest {
1803 public: 1826 public:
1804 LayerTreeHostTestContinuousInvalidate() 1827 LayerTreeHostTestContinuousInvalidate()
1805 : num_commit_complete_(0), num_draw_layers_(0) {} 1828 : num_commit_complete_(0), num_draw_layers_(0) {}
1806 1829
1807 void BeginTest() override { 1830 void BeginTest() override {
1808 layer_tree_host()->SetViewportSize(gfx::Size(10, 10)); 1831 layer_tree_host()->SetViewportSize(gfx::Size(10, 10));
1809 layer_tree_host()->root_layer()->SetBounds(gfx::Size(10, 10)); 1832 layer_tree_host()->root_layer()->SetBounds(gfx::Size(10, 10));
1810 1833
1811 content_layer_ = ContentLayer::Create(&client_); 1834 if (layer_tree_host()->settings().impl_side_painting)
1812 content_layer_->SetBounds(gfx::Size(10, 10)); 1835 layer_ = FakePictureLayer::Create(&client_);
1813 content_layer_->SetPosition(gfx::PointF(0.f, 0.f)); 1836 else
1814 content_layer_->SetIsDrawable(true); 1837 layer_ = FakeContentLayer::Create(&client_);
1815 layer_tree_host()->root_layer()->AddChild(content_layer_); 1838
1839 layer_->SetBounds(gfx::Size(10, 10));
1840 layer_->SetPosition(gfx::PointF(0.f, 0.f));
1841 layer_->SetIsDrawable(true);
1842 layer_tree_host()->root_layer()->AddChild(layer_);
1816 1843
1817 PostSetNeedsCommitToMainThread(); 1844 PostSetNeedsCommitToMainThread();
1818 } 1845 }
1819 1846
1820 void DidCommitAndDrawFrame() override { 1847 void DidCommitAndDrawFrame() override {
1821 if (num_draw_layers_ == 2) 1848 if (num_draw_layers_ == 2)
1822 return; 1849 return;
1823 content_layer_->SetNeedsDisplay(); 1850 layer_->SetNeedsDisplay();
1824 } 1851 }
1825 1852
1826 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { 1853 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override {
1827 if (num_draw_layers_ == 1) 1854 if (num_draw_layers_ == 1)
1828 num_commit_complete_++; 1855 num_commit_complete_++;
1829 } 1856 }
1830 1857
1831 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { 1858 void DrawLayersOnThread(LayerTreeHostImpl* impl) override {
1832 num_draw_layers_++; 1859 num_draw_layers_++;
1833 if (num_draw_layers_ == 2) 1860 if (num_draw_layers_ == 2)
1834 EndTest(); 1861 EndTest();
1835 } 1862 }
1836 1863
1837 void AfterTest() override { 1864 void AfterTest() override {
1838 // Check that we didn't commit twice between first and second draw. 1865 // Check that we didn't commit twice between first and second draw.
1839 EXPECT_EQ(1, num_commit_complete_); 1866 EXPECT_EQ(1, num_commit_complete_);
1840 } 1867 }
1841 1868
1842 private: 1869 private:
1843 FakeContentLayerClient client_; 1870 FakeContentLayerClient client_;
1844 scoped_refptr<Layer> content_layer_; 1871 scoped_refptr<Layer> layer_;
1845 int num_commit_complete_; 1872 int num_commit_complete_;
1846 int num_draw_layers_; 1873 int num_draw_layers_;
1847 }; 1874 };
1848 1875
1849 MULTI_THREAD_NOIMPL_TEST_F(LayerTreeHostTestContinuousInvalidate); 1876 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestContinuousInvalidate);
1850 1877
1851 class LayerTreeHostTestDeferCommits : public LayerTreeHostTest { 1878 class LayerTreeHostTestDeferCommits : public LayerTreeHostTest {
1852 public: 1879 public:
1853 LayerTreeHostTestDeferCommits() 1880 LayerTreeHostTestDeferCommits()
1854 : num_commits_deferred_(0), num_complete_commits_(0) {} 1881 : num_commits_deferred_(0), num_complete_commits_(0) {}
1855 1882
1856 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 1883 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
1857 1884
1858 void DidDeferCommit() override { 1885 void DidDeferCommit() override {
1859 num_commits_deferred_++; 1886 num_commits_deferred_++;
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
2038 shared_bitmap_manager.get(), 2065 shared_bitmap_manager.get(),
2039 NULL, 2066 NULL,
2040 settings, 2067 settings,
2041 base::MessageLoopProxy::current()); 2068 base::MessageLoopProxy::current());
2042 client.SetLayerTreeHost(host.get()); 2069 client.SetLayerTreeHost(host.get());
2043 host->Composite(base::TimeTicks::Now()); 2070 host->Composite(base::TimeTicks::Now());
2044 2071
2045 EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); 2072 EXPECT_EQ(0u, host->MaxPartialTextureUpdates());
2046 } 2073 }
2047 2074
2075 // TODO(sohanjg) : Remove it once impl-side painting ships everywhere.
2048 class LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted 2076 class LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted
2049 : public LayerTreeHostTest { 2077 : public LayerTreeHostTest {
2050 public: 2078 public:
2051 LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted() 2079 LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted()
2052 : root_layer_(FakeContentLayer::Create(&client_)), 2080 : root_layer_(FakeContentLayer::Create(&client_)),
2053 child_layer1_(FakeContentLayer::Create(&client_)), 2081 child_layer1_(FakeContentLayer::Create(&client_)),
2054 child_layer2_(FakeContentLayer::Create(&client_)), 2082 child_layer2_(FakeContentLayer::Create(&client_)),
2055 num_commits_(0) {} 2083 num_commits_(0) {}
2056 2084
2057 void BeginTest() override { 2085 void BeginTest() override {
(...skipping 2292 matching lines...) Expand 10 before | Expand all | Expand 10 after
4350 output_surface->SetMemoryPolicyToSetAtBind( 4378 output_surface->SetMemoryPolicyToSetAtBind(
4351 make_scoped_ptr(new ManagedMemoryPolicy( 4379 make_scoped_ptr(new ManagedMemoryPolicy(
4352 second_context_provider_.get() ? second_output_surface_memory_limit_ 4380 second_context_provider_.get() ? second_output_surface_memory_limit_
4353 : first_output_surface_memory_limit_, 4381 : first_output_surface_memory_limit_,
4354 gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE, 4382 gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE,
4355 ManagedMemoryPolicy::kDefaultNumResourcesLimit))); 4383 ManagedMemoryPolicy::kDefaultNumResourcesLimit)));
4356 return output_surface.Pass(); 4384 return output_surface.Pass();
4357 } 4385 }
4358 4386
4359 void SetupTree() override { 4387 void SetupTree() override {
4360 root_ = FakeContentLayer::Create(&client_); 4388 if (layer_tree_host()->settings().impl_side_painting)
4389 root_ = FakePictureLayer::Create(&client_);
4390 else
4391 root_ = FakeContentLayer::Create(&client_);
4361 root_->SetBounds(gfx::Size(20, 20)); 4392 root_->SetBounds(gfx::Size(20, 20));
4362 layer_tree_host()->SetRootLayer(root_); 4393 layer_tree_host()->SetRootLayer(root_);
4363 LayerTreeHostTest::SetupTree(); 4394 LayerTreeHostTest::SetupTree();
4364 } 4395 }
4365 4396
4366 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 4397 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
4367 4398
4368 void DidCommitAndDrawFrame() override { 4399 void DidCommitAndDrawFrame() override {
4369 // Lost context sometimes takes two frames to recreate. The third frame 4400 // Lost context sometimes takes two frames to recreate. The third frame
4370 // is sometimes aborted, so wait until the fourth frame to verify that 4401 // is sometimes aborted, so wait until the fourth frame to verify that
(...skipping 21 matching lines...) Expand all
4392 } 4423 }
4393 } 4424 }
4394 4425
4395 void AfterTest() override {} 4426 void AfterTest() override {}
4396 4427
4397 scoped_refptr<TestContextProvider> first_context_provider_; 4428 scoped_refptr<TestContextProvider> first_context_provider_;
4398 scoped_refptr<TestContextProvider> second_context_provider_; 4429 scoped_refptr<TestContextProvider> second_context_provider_;
4399 size_t first_output_surface_memory_limit_; 4430 size_t first_output_surface_memory_limit_;
4400 size_t second_output_surface_memory_limit_; 4431 size_t second_output_surface_memory_limit_;
4401 FakeContentLayerClient client_; 4432 FakeContentLayerClient client_;
4402 scoped_refptr<FakeContentLayer> root_; 4433 scoped_refptr<Layer> root_;
4403 }; 4434 };
4404 4435
4405 // No output to copy for delegated renderers.
4406 SINGLE_AND_MULTI_THREAD_TEST_F( 4436 SINGLE_AND_MULTI_THREAD_TEST_F(
4407 LayerTreeHostTestSetMemoryPolicyOnLostOutputSurface); 4437 LayerTreeHostTestSetMemoryPolicyOnLostOutputSurface);
4408 4438
4409 struct TestSwapPromiseResult { 4439 struct TestSwapPromiseResult {
4410 TestSwapPromiseResult() 4440 TestSwapPromiseResult()
4411 : did_swap_called(false), 4441 : did_swap_called(false),
4412 did_not_swap_called(false), 4442 did_not_swap_called(false),
4413 dtor_called(false), 4443 dtor_called(false),
4414 reason(SwapPromise::DID_NOT_SWAP_UNKNOWN) {} 4444 reason(SwapPromise::DID_NOT_SWAP_UNKNOWN) {}
4415 4445
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after
5199 void AfterTest() override { 5229 void AfterTest() override {
5200 EXPECT_TRUE(deltas_sent_to_client_); 5230 EXPECT_TRUE(deltas_sent_to_client_);
5201 } 5231 }
5202 5232
5203 ScrollAndScaleSet info_; 5233 ScrollAndScaleSet info_;
5204 bool deltas_sent_to_client_; 5234 bool deltas_sent_to_client_;
5205 }; 5235 };
5206 5236
5207 MULTI_THREAD_TEST_F(LayerTreeHostAcceptsDeltasFromImplWithoutRootLayer); 5237 MULTI_THREAD_TEST_F(LayerTreeHostAcceptsDeltasFromImplWithoutRootLayer);
5208 } // namespace cc 5238 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698