OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "cc/layers/content_layer.h" | 8 #include "cc/layers/content_layer.h" |
9 #include "cc/layers/delegated_frame_provider.h" | 9 #include "cc/layers/delegated_frame_provider.h" |
10 #include "cc/layers/delegated_frame_resource_collection.h" | 10 #include "cc/layers/delegated_frame_resource_collection.h" |
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
532 | 532 |
533 bool in_composite_; | 533 bool in_composite_; |
534 }; | 534 }; |
535 | 535 |
536 SINGLE_THREAD_NOIMPL_TEST_F(LayerTreeHostContextTestAvoidUnnecessaryComposite); | 536 SINGLE_THREAD_NOIMPL_TEST_F(LayerTreeHostContextTestAvoidUnnecessaryComposite); |
537 | 537 |
538 class LayerTreeHostContextTestLostContextSucceedsWithContent | 538 class LayerTreeHostContextTestLostContextSucceedsWithContent |
539 : public LayerTreeHostContextTestLostContextSucceeds { | 539 : public LayerTreeHostContextTestLostContextSucceeds { |
540 public: | 540 public: |
541 void SetupTree() override { | 541 void SetupTree() override { |
542 root_ = Layer::Create(); | 542 root_ = Layer::Create(layer_settings()); |
543 root_->SetBounds(gfx::Size(10, 10)); | 543 root_->SetBounds(gfx::Size(10, 10)); |
544 root_->SetIsDrawable(true); | 544 root_->SetIsDrawable(true); |
545 | 545 |
546 // Paint non-solid color. | 546 // Paint non-solid color. |
547 SkPaint paint; | 547 SkPaint paint; |
548 paint.setColor(SkColorSetARGB(100, 80, 200, 200)); | 548 paint.setColor(SkColorSetARGB(100, 80, 200, 200)); |
549 client_.add_draw_rect(gfx::Rect(0, 0, 5, 5), paint); | 549 client_.add_draw_rect(gfx::Rect(0, 0, 5, 5), paint); |
550 | 550 |
551 if (layer_tree_host()->settings().impl_side_painting) | 551 if (layer_tree_host()->settings().impl_side_painting) |
552 layer_ = FakePictureLayer::Create(&client_); | 552 layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
553 else | 553 else |
554 layer_ = FakeContentLayer::Create(&client_); | 554 layer_ = FakeContentLayer::Create(layer_settings(), &client_); |
555 layer_->SetBounds(gfx::Size(10, 10)); | 555 layer_->SetBounds(gfx::Size(10, 10)); |
556 layer_->SetIsDrawable(true); | 556 layer_->SetIsDrawable(true); |
557 | 557 |
558 root_->AddChild(layer_); | 558 root_->AddChild(layer_); |
559 | 559 |
560 layer_tree_host()->SetRootLayer(root_); | 560 layer_tree_host()->SetRootLayer(root_); |
561 LayerTreeHostContextTest::SetupTree(); | 561 LayerTreeHostContextTest::SetupTree(); |
562 } | 562 } |
563 | 563 |
564 void InvalidateAndSetNeedsCommit() override { | 564 void InvalidateAndSetNeedsCommit() override { |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
633 num_commits_(0), | 633 num_commits_(0), |
634 lost_context_(false) {} | 634 lost_context_(false) {} |
635 | 635 |
636 void SetupTree() override { | 636 void SetupTree() override { |
637 // Paint non-solid color. | 637 // Paint non-solid color. |
638 SkPaint paint; | 638 SkPaint paint; |
639 paint.setColor(SkColorSetARGB(100, 80, 200, 200)); | 639 paint.setColor(SkColorSetARGB(100, 80, 200, 200)); |
640 client_.add_draw_rect(gfx::Rect(0, 0, 5, 5), paint); | 640 client_.add_draw_rect(gfx::Rect(0, 0, 5, 5), paint); |
641 | 641 |
642 if (layer_tree_host()->settings().impl_side_painting) { | 642 if (layer_tree_host()->settings().impl_side_painting) { |
643 picture_layer_ = FakePictureLayer::Create(&client_); | 643 picture_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
644 picture_layer_->SetBounds(gfx::Size(10, 20)); | 644 picture_layer_->SetBounds(gfx::Size(10, 20)); |
645 layer_tree_host()->SetRootLayer(picture_layer_); | 645 layer_tree_host()->SetRootLayer(picture_layer_); |
646 } else { | 646 } else { |
647 content_layer_ = FakeContentLayer::Create(&client_); | 647 content_layer_ = FakeContentLayer::Create(layer_settings(), &client_); |
648 content_layer_->SetBounds(gfx::Size(10, 20)); | 648 content_layer_->SetBounds(gfx::Size(10, 20)); |
649 layer_tree_host()->SetRootLayer(content_layer_); | 649 layer_tree_host()->SetRootLayer(content_layer_); |
650 } | 650 } |
651 | 651 |
652 LayerTreeHostContextTest::SetupTree(); | 652 LayerTreeHostContextTest::SetupTree(); |
653 } | 653 } |
654 | 654 |
655 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 655 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
656 | 656 |
657 void PostEvictTextures() { | 657 void PostEvictTextures() { |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
807 LayerTreeHostContextTest::CreateContext3d(); | 807 LayerTreeHostContextTest::CreateContext3d(); |
808 if (times_to_lose_on_end_query_) { | 808 if (times_to_lose_on_end_query_) { |
809 --times_to_lose_on_end_query_; | 809 --times_to_lose_on_end_query_; |
810 context->set_times_end_query_succeeds(5); | 810 context->set_times_end_query_succeeds(5); |
811 } | 811 } |
812 return context.Pass(); | 812 return context.Pass(); |
813 } | 813 } |
814 | 814 |
815 void SetupTree() override { | 815 void SetupTree() override { |
816 if (layer_tree_host()->settings().impl_side_painting) | 816 if (layer_tree_host()->settings().impl_side_painting) |
817 parent_ = FakePictureLayer::Create(&client_); | 817 parent_ = FakePictureLayer::Create(layer_settings(), &client_); |
818 else | 818 else |
819 parent_ = FakeContentLayer::Create(&client_); | 819 parent_ = FakeContentLayer::Create(layer_settings(), &client_); |
820 | 820 |
821 parent_->SetBounds(gfx::Size(num_children_, 1)); | 821 parent_->SetBounds(gfx::Size(num_children_, 1)); |
822 | 822 |
823 for (int i = 0; i < num_children_; i++) { | 823 for (int i = 0; i < num_children_; i++) { |
824 scoped_refptr<Layer> child; | 824 scoped_refptr<Layer> child; |
825 if (layer_tree_host()->settings().impl_side_painting) | 825 if (layer_tree_host()->settings().impl_side_painting) |
826 child = FakePictureLayer::Create(&client_); | 826 child = FakePictureLayer::Create(layer_settings(), &client_); |
827 else | 827 else |
828 child = FakeContentLayer::Create(&client_); | 828 child = FakeContentLayer::Create(layer_settings(), &client_); |
829 child->SetPosition(gfx::PointF(i, 0.f)); | 829 child->SetPosition(gfx::PointF(i, 0.f)); |
830 child->SetBounds(gfx::Size(1, 1)); | 830 child->SetBounds(gfx::Size(1, 1)); |
831 parent_->AddChild(child); | 831 parent_->AddChild(child); |
832 } | 832 } |
833 | 833 |
834 layer_tree_host()->SetRootLayer(parent_); | 834 layer_tree_host()->SetRootLayer(parent_); |
835 LayerTreeHostContextTest::SetupTree(); | 835 LayerTreeHostContextTest::SetupTree(); |
836 } | 836 } |
837 | 837 |
838 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 838 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
(...skipping 15 matching lines...) Expand all Loading... |
854 SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F( | 854 SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F( |
855 LayerTreeHostContextTestLostContextWhileUpdatingResources); | 855 LayerTreeHostContextTestLostContextWhileUpdatingResources); |
856 | 856 |
857 class LayerTreeHostContextTestLayersNotified : public LayerTreeHostContextTest { | 857 class LayerTreeHostContextTestLayersNotified : public LayerTreeHostContextTest { |
858 public: | 858 public: |
859 LayerTreeHostContextTestLayersNotified() | 859 LayerTreeHostContextTestLayersNotified() |
860 : LayerTreeHostContextTest(), num_commits_(0) {} | 860 : LayerTreeHostContextTest(), num_commits_(0) {} |
861 | 861 |
862 void SetupTree() override { | 862 void SetupTree() override { |
863 if (layer_tree_host()->settings().impl_side_painting) { | 863 if (layer_tree_host()->settings().impl_side_painting) { |
864 root_ = FakePictureLayer::Create(&client_); | 864 root_ = FakePictureLayer::Create(layer_settings(), &client_); |
865 child_ = FakePictureLayer::Create(&client_); | 865 child_ = FakePictureLayer::Create(layer_settings(), &client_); |
866 grandchild_ = FakePictureLayer::Create(&client_); | 866 grandchild_ = FakePictureLayer::Create(layer_settings(), &client_); |
867 } else { | 867 } else { |
868 root_ = FakeContentLayer::Create(&client_); | 868 root_ = FakeContentLayer::Create(layer_settings(), &client_); |
869 child_ = FakeContentLayer::Create(&client_); | 869 child_ = FakeContentLayer::Create(layer_settings(), &client_); |
870 grandchild_ = FakeContentLayer::Create(&client_); | 870 grandchild_ = FakeContentLayer::Create(layer_settings(), &client_); |
871 } | 871 } |
872 | 872 |
873 root_->AddChild(child_); | 873 root_->AddChild(child_); |
874 child_->AddChild(grandchild_); | 874 child_->AddChild(grandchild_); |
875 | 875 |
876 layer_tree_host()->SetRootLayer(root_); | 876 layer_tree_host()->SetRootLayer(root_); |
877 LayerTreeHostContextTest::SetupTree(); | 877 LayerTreeHostContextTest::SetupTree(); |
878 } | 878 } |
879 | 879 |
880 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 880 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1007 ResourceId resource = child_resource_provider_->CreateResource( | 1007 ResourceId resource = child_resource_provider_->CreateResource( |
1008 gfx::Size(4, 4), GL_CLAMP_TO_EDGE, | 1008 gfx::Size(4, 4), GL_CLAMP_TO_EDGE, |
1009 ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888); | 1009 ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888); |
1010 ResourceProvider::ScopedWriteLockGL lock(child_resource_provider_.get(), | 1010 ResourceProvider::ScopedWriteLockGL lock(child_resource_provider_.get(), |
1011 resource); | 1011 resource); |
1012 | 1012 |
1013 gpu::Mailbox mailbox; | 1013 gpu::Mailbox mailbox; |
1014 gl->GenMailboxCHROMIUM(mailbox.name); | 1014 gl->GenMailboxCHROMIUM(mailbox.name); |
1015 GLuint sync_point = gl->InsertSyncPointCHROMIUM(); | 1015 GLuint sync_point = gl->InsertSyncPointCHROMIUM(); |
1016 | 1016 |
1017 scoped_refptr<Layer> root = Layer::Create(); | 1017 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
1018 root->SetBounds(gfx::Size(10, 10)); | 1018 root->SetBounds(gfx::Size(10, 10)); |
1019 root->SetIsDrawable(true); | 1019 root->SetIsDrawable(true); |
1020 | 1020 |
1021 scoped_refptr<FakeDelegatedRendererLayer> delegated = | 1021 scoped_refptr<FakeDelegatedRendererLayer> delegated = |
1022 FakeDelegatedRendererLayer::Create(delegated_frame_provider_.get()); | 1022 FakeDelegatedRendererLayer::Create(layer_settings(), |
| 1023 delegated_frame_provider_.get()); |
1023 delegated->SetBounds(gfx::Size(10, 10)); | 1024 delegated->SetBounds(gfx::Size(10, 10)); |
1024 delegated->SetIsDrawable(true); | 1025 delegated->SetIsDrawable(true); |
1025 root->AddChild(delegated); | 1026 root->AddChild(delegated); |
1026 | 1027 |
1027 scoped_refptr<Layer> layer; | 1028 scoped_refptr<Layer> layer; |
1028 if (layer_tree_host()->settings().impl_side_painting) | 1029 if (layer_tree_host()->settings().impl_side_painting) |
1029 layer = PictureLayer::Create(&client_); | 1030 layer = PictureLayer::Create(layer_settings(), &client_); |
1030 else | 1031 else |
1031 layer = ContentLayer::Create(&client_); | 1032 layer = ContentLayer::Create(layer_settings(), &client_); |
1032 layer->SetBounds(gfx::Size(10, 10)); | 1033 layer->SetBounds(gfx::Size(10, 10)); |
1033 layer->SetIsDrawable(true); | 1034 layer->SetIsDrawable(true); |
1034 root->AddChild(layer); | 1035 root->AddChild(layer); |
1035 | 1036 |
1036 scoped_refptr<TextureLayer> texture = TextureLayer::CreateForMailbox(NULL); | 1037 scoped_refptr<TextureLayer> texture = |
| 1038 TextureLayer::CreateForMailbox(layer_settings_, NULL); |
1037 texture->SetBounds(gfx::Size(10, 10)); | 1039 texture->SetBounds(gfx::Size(10, 10)); |
1038 texture->SetIsDrawable(true); | 1040 texture->SetIsDrawable(true); |
1039 texture->SetTextureMailbox( | 1041 texture->SetTextureMailbox( |
1040 TextureMailbox(mailbox, GL_TEXTURE_2D, sync_point), | 1042 TextureMailbox(mailbox, GL_TEXTURE_2D, sync_point), |
1041 SingleReleaseCallback::Create( | 1043 SingleReleaseCallback::Create( |
1042 base::Bind(&LayerTreeHostContextTestDontUseLostResources:: | 1044 base::Bind(&LayerTreeHostContextTestDontUseLostResources:: |
1043 EmptyReleaseCallback))); | 1045 EmptyReleaseCallback))); |
1044 root->AddChild(texture); | 1046 root->AddChild(texture); |
1045 | 1047 |
1046 scoped_refptr<Layer> mask; | 1048 scoped_refptr<Layer> mask; |
1047 if (layer_tree_host()->settings().impl_side_painting) | 1049 if (layer_tree_host()->settings().impl_side_painting) |
1048 mask = PictureLayer::Create(&client_); | 1050 mask = PictureLayer::Create(layer_settings_, &client_); |
1049 else | 1051 else |
1050 mask = ContentLayer::Create(&client_); | 1052 mask = ContentLayer::Create(layer_settings_, &client_); |
1051 mask->SetBounds(gfx::Size(10, 10)); | 1053 mask->SetBounds(gfx::Size(10, 10)); |
1052 | 1054 |
1053 scoped_refptr<Layer> layer_with_mask; | 1055 scoped_refptr<Layer> layer_with_mask; |
1054 if (layer_tree_host()->settings().impl_side_painting) | 1056 if (layer_tree_host()->settings().impl_side_painting) |
1055 layer_with_mask = PictureLayer::Create(&client_); | 1057 layer_with_mask = PictureLayer::Create(layer_settings_, &client_); |
1056 else | 1058 else |
1057 layer_with_mask = ContentLayer::Create(&client_); | 1059 layer_with_mask = ContentLayer::Create(layer_settings_, &client_); |
1058 layer_with_mask->SetBounds(gfx::Size(10, 10)); | 1060 layer_with_mask->SetBounds(gfx::Size(10, 10)); |
1059 layer_with_mask->SetIsDrawable(true); | 1061 layer_with_mask->SetIsDrawable(true); |
1060 layer_with_mask->SetMaskLayer(mask.get()); | 1062 layer_with_mask->SetMaskLayer(mask.get()); |
1061 root->AddChild(layer_with_mask); | 1063 root->AddChild(layer_with_mask); |
1062 | 1064 |
1063 scoped_refptr<VideoLayer> video_color = | 1065 scoped_refptr<VideoLayer> video_color = VideoLayer::Create( |
1064 VideoLayer::Create(&color_frame_provider_, media::VIDEO_ROTATION_0); | 1066 layer_settings_, &color_frame_provider_, media::VIDEO_ROTATION_0); |
1065 video_color->SetBounds(gfx::Size(10, 10)); | 1067 video_color->SetBounds(gfx::Size(10, 10)); |
1066 video_color->SetIsDrawable(true); | 1068 video_color->SetIsDrawable(true); |
1067 root->AddChild(video_color); | 1069 root->AddChild(video_color); |
1068 | 1070 |
1069 scoped_refptr<VideoLayer> video_hw = | 1071 scoped_refptr<VideoLayer> video_hw = VideoLayer::Create( |
1070 VideoLayer::Create(&hw_frame_provider_, media::VIDEO_ROTATION_0); | 1072 layer_settings_, &hw_frame_provider_, media::VIDEO_ROTATION_0); |
1071 video_hw->SetBounds(gfx::Size(10, 10)); | 1073 video_hw->SetBounds(gfx::Size(10, 10)); |
1072 video_hw->SetIsDrawable(true); | 1074 video_hw->SetIsDrawable(true); |
1073 root->AddChild(video_hw); | 1075 root->AddChild(video_hw); |
1074 | 1076 |
1075 scoped_refptr<VideoLayer> video_scaled_hw = | 1077 scoped_refptr<VideoLayer> video_scaled_hw = VideoLayer::Create( |
1076 VideoLayer::Create(&scaled_hw_frame_provider_, media::VIDEO_ROTATION_0); | 1078 layer_settings_, &scaled_hw_frame_provider_, media::VIDEO_ROTATION_0); |
1077 video_scaled_hw->SetBounds(gfx::Size(10, 10)); | 1079 video_scaled_hw->SetBounds(gfx::Size(10, 10)); |
1078 video_scaled_hw->SetIsDrawable(true); | 1080 video_scaled_hw->SetIsDrawable(true); |
1079 root->AddChild(video_scaled_hw); | 1081 root->AddChild(video_scaled_hw); |
1080 | 1082 |
1081 color_video_frame_ = VideoFrame::CreateColorFrame( | 1083 color_video_frame_ = VideoFrame::CreateColorFrame( |
1082 gfx::Size(4, 4), 0x80, 0x80, 0x80, base::TimeDelta()); | 1084 gfx::Size(4, 4), 0x80, 0x80, 0x80, base::TimeDelta()); |
1083 hw_video_frame_ = VideoFrame::WrapNativeTexture( | 1085 hw_video_frame_ = VideoFrame::WrapNativeTexture( |
1084 gpu::MailboxHolder(mailbox, GL_TEXTURE_2D, sync_point), | 1086 gpu::MailboxHolder(mailbox, GL_TEXTURE_2D, sync_point), |
1085 media::VideoFrame::ReleaseMailboxCB(), gfx::Size(4, 4), | 1087 media::VideoFrame::ReleaseMailboxCB(), gfx::Size(4, 4), |
1086 gfx::Rect(0, 0, 4, 4), gfx::Size(4, 4), base::TimeDelta(), | 1088 gfx::Rect(0, 0, 4, 4), gfx::Size(4, 4), base::TimeDelta(), |
1087 false /* allow_overlay */, true /* has_alpha */); | 1089 false /* allow_overlay */, true /* has_alpha */); |
1088 scaled_hw_video_frame_ = VideoFrame::WrapNativeTexture( | 1090 scaled_hw_video_frame_ = VideoFrame::WrapNativeTexture( |
1089 gpu::MailboxHolder(mailbox, GL_TEXTURE_2D, sync_point), | 1091 gpu::MailboxHolder(mailbox, GL_TEXTURE_2D, sync_point), |
1090 media::VideoFrame::ReleaseMailboxCB(), gfx::Size(4, 4), | 1092 media::VideoFrame::ReleaseMailboxCB(), gfx::Size(4, 4), |
1091 gfx::Rect(0, 0, 3, 2), gfx::Size(4, 4), base::TimeDelta(), | 1093 gfx::Rect(0, 0, 3, 2), gfx::Size(4, 4), base::TimeDelta(), |
1092 false /* allow_overlay */, true /* has_alpha */); | 1094 false /* allow_overlay */, true /* has_alpha */); |
1093 | 1095 |
1094 color_frame_provider_.set_frame(color_video_frame_); | 1096 color_frame_provider_.set_frame(color_video_frame_); |
1095 hw_frame_provider_.set_frame(hw_video_frame_); | 1097 hw_frame_provider_.set_frame(hw_video_frame_); |
1096 scaled_hw_frame_provider_.set_frame(scaled_hw_video_frame_); | 1098 scaled_hw_frame_provider_.set_frame(scaled_hw_video_frame_); |
1097 | 1099 |
1098 if (!delegating_renderer()) { | 1100 if (!delegating_renderer()) { |
1099 // TODO(danakj): IOSurface layer can not be transported. crbug.com/239335 | 1101 // TODO(danakj): IOSurface layer can not be transported. crbug.com/239335 |
1100 scoped_refptr<IOSurfaceLayer> io_surface = IOSurfaceLayer::Create(); | 1102 scoped_refptr<IOSurfaceLayer> io_surface = |
| 1103 IOSurfaceLayer::Create(layer_settings_); |
1101 io_surface->SetBounds(gfx::Size(10, 10)); | 1104 io_surface->SetBounds(gfx::Size(10, 10)); |
1102 io_surface->SetIsDrawable(true); | 1105 io_surface->SetIsDrawable(true); |
1103 io_surface->SetIOSurfaceProperties(1, gfx::Size(10, 10)); | 1106 io_surface->SetIOSurfaceProperties(1, gfx::Size(10, 10)); |
1104 root->AddChild(io_surface); | 1107 root->AddChild(io_surface); |
1105 } | 1108 } |
1106 | 1109 |
1107 // Enable the hud. | 1110 // Enable the hud. |
1108 LayerTreeDebugState debug_state; | 1111 LayerTreeDebugState debug_state; |
1109 debug_state.show_property_changed_rects = true; | 1112 debug_state.show_property_changed_rects = true; |
1110 layer_tree_host()->SetDebugState(debug_state); | 1113 layer_tree_host()->SetDebugState(debug_state); |
1111 | 1114 |
1112 scoped_refptr<PaintedScrollbarLayer> scrollbar = | 1115 scoped_refptr<PaintedScrollbarLayer> scrollbar = |
1113 PaintedScrollbarLayer::Create( | 1116 PaintedScrollbarLayer::Create( |
1114 scoped_ptr<Scrollbar>(new FakeScrollbar).Pass(), layer->id()); | 1117 layer_settings_, scoped_ptr<Scrollbar>(new FakeScrollbar).Pass(), |
| 1118 layer->id()); |
1115 scrollbar->SetBounds(gfx::Size(10, 10)); | 1119 scrollbar->SetBounds(gfx::Size(10, 10)); |
1116 scrollbar->SetIsDrawable(true); | 1120 scrollbar->SetIsDrawable(true); |
1117 root->AddChild(scrollbar); | 1121 root->AddChild(scrollbar); |
1118 | 1122 |
1119 layer_tree_host()->SetRootLayer(root); | 1123 layer_tree_host()->SetRootLayer(root); |
1120 LayerTreeHostContextTest::SetupTree(); | 1124 LayerTreeHostContextTest::SetupTree(); |
1121 } | 1125 } |
1122 | 1126 |
1123 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 1127 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
1124 | 1128 |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1181 delegated_resource_collection_; | 1185 delegated_resource_collection_; |
1182 scoped_refptr<DelegatedFrameProvider> delegated_frame_provider_; | 1186 scoped_refptr<DelegatedFrameProvider> delegated_frame_provider_; |
1183 | 1187 |
1184 scoped_refptr<VideoFrame> color_video_frame_; | 1188 scoped_refptr<VideoFrame> color_video_frame_; |
1185 scoped_refptr<VideoFrame> hw_video_frame_; | 1189 scoped_refptr<VideoFrame> hw_video_frame_; |
1186 scoped_refptr<VideoFrame> scaled_hw_video_frame_; | 1190 scoped_refptr<VideoFrame> scaled_hw_video_frame_; |
1187 | 1191 |
1188 FakeVideoFrameProvider color_frame_provider_; | 1192 FakeVideoFrameProvider color_frame_provider_; |
1189 FakeVideoFrameProvider hw_frame_provider_; | 1193 FakeVideoFrameProvider hw_frame_provider_; |
1190 FakeVideoFrameProvider scaled_hw_frame_provider_; | 1194 FakeVideoFrameProvider scaled_hw_frame_provider_; |
| 1195 |
| 1196 LayerSettings layer_settings_; |
1191 }; | 1197 }; |
1192 | 1198 |
1193 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostContextTestDontUseLostResources); | 1199 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostContextTestDontUseLostResources); |
1194 | 1200 |
1195 class ImplSidePaintingLayerTreeHostContextTest | 1201 class ImplSidePaintingLayerTreeHostContextTest |
1196 : public LayerTreeHostContextTest { | 1202 : public LayerTreeHostContextTest { |
1197 public: | 1203 public: |
1198 void InitializeSettings(LayerTreeSettings* settings) override { | 1204 void InitializeSettings(LayerTreeSettings* settings) override { |
1199 settings->impl_side_painting = true; | 1205 settings->impl_side_painting = true; |
1200 } | 1206 } |
1201 }; | 1207 }; |
1202 | 1208 |
1203 class LayerTreeHostContextTestImplSidePainting | 1209 class LayerTreeHostContextTestImplSidePainting |
1204 : public ImplSidePaintingLayerTreeHostContextTest { | 1210 : public ImplSidePaintingLayerTreeHostContextTest { |
1205 public: | 1211 public: |
1206 void SetupTree() override { | 1212 void SetupTree() override { |
1207 scoped_refptr<Layer> root = Layer::Create(); | 1213 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
1208 root->SetBounds(gfx::Size(10, 10)); | 1214 root->SetBounds(gfx::Size(10, 10)); |
1209 root->SetIsDrawable(true); | 1215 root->SetIsDrawable(true); |
1210 | 1216 |
1211 scoped_refptr<PictureLayer> picture = PictureLayer::Create(&client_); | 1217 scoped_refptr<PictureLayer> picture = |
| 1218 PictureLayer::Create(layer_settings(), &client_); |
1212 picture->SetBounds(gfx::Size(10, 10)); | 1219 picture->SetBounds(gfx::Size(10, 10)); |
1213 picture->SetIsDrawable(true); | 1220 picture->SetIsDrawable(true); |
1214 root->AddChild(picture); | 1221 root->AddChild(picture); |
1215 | 1222 |
1216 layer_tree_host()->SetRootLayer(root); | 1223 layer_tree_host()->SetRootLayer(root); |
1217 LayerTreeHostContextTest::SetupTree(); | 1224 LayerTreeHostContextTest::SetupTree(); |
1218 } | 1225 } |
1219 | 1226 |
1220 void BeginTest() override { | 1227 void BeginTest() override { |
1221 times_to_lose_during_commit_ = 1; | 1228 times_to_lose_during_commit_ = 1; |
1222 PostSetNeedsCommitToMainThread(); | 1229 PostSetNeedsCommitToMainThread(); |
1223 } | 1230 } |
1224 | 1231 |
1225 void AfterTest() override {} | 1232 void AfterTest() override {} |
1226 | 1233 |
1227 void DidInitializeOutputSurface() override { EndTest(); } | 1234 void DidInitializeOutputSurface() override { EndTest(); } |
1228 | 1235 |
1229 private: | 1236 private: |
1230 FakeContentLayerClient client_; | 1237 FakeContentLayerClient client_; |
1231 }; | 1238 }; |
1232 | 1239 |
1233 MULTI_THREAD_TEST_F(LayerTreeHostContextTestImplSidePainting); | 1240 MULTI_THREAD_TEST_F(LayerTreeHostContextTestImplSidePainting); |
1234 | 1241 |
1235 class ScrollbarLayerLostContext : public LayerTreeHostContextTest { | 1242 class ScrollbarLayerLostContext : public LayerTreeHostContextTest { |
1236 public: | 1243 public: |
1237 ScrollbarLayerLostContext() : commits_(0) {} | 1244 ScrollbarLayerLostContext() : commits_(0) {} |
1238 | 1245 |
1239 void BeginTest() override { | 1246 void BeginTest() override { |
1240 scoped_refptr<Layer> scroll_layer = Layer::Create(); | 1247 scoped_refptr<Layer> scroll_layer = Layer::Create(layer_settings()); |
1241 scrollbar_layer_ = | 1248 scrollbar_layer_ = FakePaintedScrollbarLayer::Create( |
1242 FakePaintedScrollbarLayer::Create(false, true, scroll_layer->id()); | 1249 layer_settings(), false, true, scroll_layer->id()); |
1243 scrollbar_layer_->SetBounds(gfx::Size(10, 100)); | 1250 scrollbar_layer_->SetBounds(gfx::Size(10, 100)); |
1244 layer_tree_host()->root_layer()->AddChild(scrollbar_layer_); | 1251 layer_tree_host()->root_layer()->AddChild(scrollbar_layer_); |
1245 layer_tree_host()->root_layer()->AddChild(scroll_layer); | 1252 layer_tree_host()->root_layer()->AddChild(scroll_layer); |
1246 PostSetNeedsCommitToMainThread(); | 1253 PostSetNeedsCommitToMainThread(); |
1247 } | 1254 } |
1248 | 1255 |
1249 void AfterTest() override {} | 1256 void AfterTest() override {} |
1250 | 1257 |
1251 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { | 1258 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { |
1252 LayerTreeHostContextTest::CommitCompleteOnThread(impl); | 1259 LayerTreeHostContextTest::CommitCompleteOnThread(impl); |
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1678 SINGLE_AND_MULTI_THREAD_TEST_F(UIResourceLostEviction); | 1685 SINGLE_AND_MULTI_THREAD_TEST_F(UIResourceLostEviction); |
1679 | 1686 |
1680 class LayerTreeHostContextTestSurfaceCreateCallback | 1687 class LayerTreeHostContextTestSurfaceCreateCallback |
1681 : public LayerTreeHostContextTest { | 1688 : public LayerTreeHostContextTest { |
1682 public: | 1689 public: |
1683 LayerTreeHostContextTestSurfaceCreateCallback() | 1690 LayerTreeHostContextTestSurfaceCreateCallback() |
1684 : LayerTreeHostContextTest() {} | 1691 : LayerTreeHostContextTest() {} |
1685 | 1692 |
1686 void SetupTree() override { | 1693 void SetupTree() override { |
1687 if (layer_tree_host()->settings().impl_side_painting) { | 1694 if (layer_tree_host()->settings().impl_side_painting) { |
1688 picture_layer_ = FakePictureLayer::Create(&client_); | 1695 picture_layer_ = FakePictureLayer::Create(layer_settings(), &client_); |
1689 picture_layer_->SetBounds(gfx::Size(10, 20)); | 1696 picture_layer_->SetBounds(gfx::Size(10, 20)); |
1690 layer_tree_host()->SetRootLayer(picture_layer_); | 1697 layer_tree_host()->SetRootLayer(picture_layer_); |
1691 } else { | 1698 } else { |
1692 content_layer_ = FakeContentLayer::Create(&client_); | 1699 content_layer_ = FakeContentLayer::Create(layer_settings(), &client_); |
1693 content_layer_->SetBounds(gfx::Size(10, 20)); | 1700 content_layer_->SetBounds(gfx::Size(10, 20)); |
1694 layer_tree_host()->SetRootLayer(content_layer_); | 1701 layer_tree_host()->SetRootLayer(content_layer_); |
1695 } | 1702 } |
1696 | 1703 |
1697 LayerTreeHostContextTest::SetupTree(); | 1704 LayerTreeHostContextTest::SetupTree(); |
1698 } | 1705 } |
1699 | 1706 |
1700 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 1707 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
1701 | 1708 |
1702 void DidCommit() override { | 1709 void DidCommit() override { |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1797 void AfterTest() override {} | 1804 void AfterTest() override {} |
1798 | 1805 |
1799 bool deferred_; | 1806 bool deferred_; |
1800 }; | 1807 }; |
1801 | 1808 |
1802 SINGLE_AND_MULTI_THREAD_TEST_F( | 1809 SINGLE_AND_MULTI_THREAD_TEST_F( |
1803 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame); | 1810 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame); |
1804 | 1811 |
1805 } // namespace | 1812 } // namespace |
1806 } // namespace cc | 1813 } // namespace cc |
OLD | NEW |