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

Side by Side Diff: cc/layers/scrollbar_layer_unittest.cc

Issue 537943003: Releasing Track & Thumb UIResources based on their Geometry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed review comments Created 6 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/layers/painted_scrollbar_layer.cc ('k') | 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 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 "base/containers/hash_tables.h" 5 #include "base/containers/hash_tables.h"
6 #include "cc/animation/scrollbar_animation_controller.h" 6 #include "cc/animation/scrollbar_animation_controller.h"
7 #include "cc/layers/append_quads_data.h" 7 #include "cc/layers/append_quads_data.h"
8 #include "cc/layers/painted_scrollbar_layer.h" 8 #include "cc/layers/painted_scrollbar_layer.h"
9 #include "cc/layers/painted_scrollbar_layer_impl.h" 9 #include "cc/layers/painted_scrollbar_layer_impl.h"
10 #include "cc/layers/scrollbar_layer_interface.h" 10 #include "cc/layers/scrollbar_layer_interface.h"
(...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 619
620 TEST_F(ScrollbarLayerTestMaxTextureSize, DelegatingRenderer) { 620 TEST_F(ScrollbarLayerTestMaxTextureSize, DelegatingRenderer) {
621 scoped_ptr<TestWebGraphicsContext3D> context = 621 scoped_ptr<TestWebGraphicsContext3D> context =
622 TestWebGraphicsContext3D::Create(); 622 TestWebGraphicsContext3D::Create();
623 int max_size = 0; 623 int max_size = 0;
624 context->getIntegerv(GL_MAX_TEXTURE_SIZE, &max_size); 624 context->getIntegerv(GL_MAX_TEXTURE_SIZE, &max_size);
625 SetScrollbarBounds(gfx::Size(max_size + 100, max_size + 100)); 625 SetScrollbarBounds(gfx::Size(max_size + 100, max_size + 100));
626 RunTest(true, true, true); 626 RunTest(true, true, true);
627 } 627 }
628 628
629 class MockLayerTreeHost : public LayerTreeHost { 629 class FakeLayerTreeHost : public LayerTreeHost {
630 public: 630 public:
631 MockLayerTreeHost(FakeLayerTreeHostClient* client, 631 FakeLayerTreeHost(FakeLayerTreeHostClient* client,
632 const LayerTreeSettings& settings) 632 const LayerTreeSettings& settings)
633 : LayerTreeHost(client, NULL, settings), 633 : LayerTreeHost(client, NULL, settings),
634 next_id_(1), 634 next_id_(1),
635 total_ui_resource_created_(0), 635 total_ui_resource_created_(0),
636 total_ui_resource_deleted_(0) { 636 total_ui_resource_deleted_(0) {
637 InitializeSingleThreaded(client, base::MessageLoopProxy::current()); 637 InitializeSingleThreaded(client, base::MessageLoopProxy::current());
638 } 638 }
639 639
640 virtual UIResourceId CreateUIResource(UIResourceClient* content) OVERRIDE { 640 virtual UIResourceId CreateUIResource(UIResourceClient* content) OVERRIDE {
641 total_ui_resource_created_++; 641 total_ui_resource_created_++;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 private: 675 private:
676 typedef base::hash_map<UIResourceId, UIResourceBitmap> 676 typedef base::hash_map<UIResourceId, UIResourceBitmap>
677 UIResourceBitmapMap; 677 UIResourceBitmapMap;
678 UIResourceBitmapMap ui_resource_bitmap_map_; 678 UIResourceBitmapMap ui_resource_bitmap_map_;
679 679
680 int next_id_; 680 int next_id_;
681 int total_ui_resource_created_; 681 int total_ui_resource_created_;
682 int total_ui_resource_deleted_; 682 int total_ui_resource_deleted_;
683 }; 683 };
684 684
685 685 class ScrollbarLayerTestResourceCreationAndRelease : public testing::Test {
686 class ScrollbarLayerTestResourceCreation : public testing::Test {
687 public: 686 public:
688 ScrollbarLayerTestResourceCreation() 687 ScrollbarLayerTestResourceCreationAndRelease()
689 : fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {} 688 : fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {}
690 689
691 void TestResourceUpload(int num_updates, 690 void TestResourceUpload(int num_updates,
692 size_t expected_resources, 691 size_t expected_resources,
693 int expected_created, 692 int expected_created,
694 int expected_deleted, 693 int expected_deleted,
695 bool use_solid_color_scrollbar) { 694 bool use_solid_color_scrollbar) {
696 layer_tree_host_.reset( 695 layer_tree_host_.reset(
697 new MockLayerTreeHost(&fake_client_, layer_tree_settings_)); 696 new FakeLayerTreeHost(&fake_client_, layer_tree_settings_));
698 697
699 scoped_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, false)); 698 scoped_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, false));
700 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 699 scoped_refptr<Layer> layer_tree_root = Layer::Create();
701 scoped_refptr<Layer> content_layer = Layer::Create(); 700 scoped_refptr<Layer> content_layer = Layer::Create();
702 scoped_refptr<Layer> scrollbar_layer; 701 scoped_refptr<Layer> scrollbar_layer;
703 if (use_solid_color_scrollbar) { 702 if (use_solid_color_scrollbar) {
704 const int kThumbThickness = 3; 703 const int kThumbThickness = 3;
705 const int kTrackStart = 0; 704 const int kTrackStart = 0;
706 const bool kIsLeftSideVerticalScrollbar = false; 705 const bool kIsLeftSideVerticalScrollbar = false;
707 scrollbar_layer = 706 scrollbar_layer =
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 EXPECT_EQ(expected_deleted, layer_tree_host_->TotalUIResourceDeleted()); 746 EXPECT_EQ(expected_deleted, layer_tree_host_->TotalUIResourceDeleted());
748 747
749 testing::Mock::VerifyAndClearExpectations(layer_tree_host_.get()); 748 testing::Mock::VerifyAndClearExpectations(layer_tree_host_.get());
750 749
751 scrollbar_layer->ClearRenderSurface(); 750 scrollbar_layer->ClearRenderSurface();
752 } 751 }
753 752
754 protected: 753 protected:
755 FakeLayerTreeHostClient fake_client_; 754 FakeLayerTreeHostClient fake_client_;
756 LayerTreeSettings layer_tree_settings_; 755 LayerTreeSettings layer_tree_settings_;
757 scoped_ptr<MockLayerTreeHost> layer_tree_host_; 756 scoped_ptr<FakeLayerTreeHost> layer_tree_host_;
758 }; 757 };
759 758
760 TEST_F(ScrollbarLayerTestResourceCreation, ResourceUpload) { 759 TEST_F(ScrollbarLayerTestResourceCreationAndRelease, ResourceUpload) {
761 bool use_solid_color_scrollbars = false; 760 bool use_solid_color_scrollbars = false;
762 TestResourceUpload(0, 0, 0, 0, use_solid_color_scrollbars); 761 TestResourceUpload(0, 0, 0, 0, use_solid_color_scrollbars);
763 int num_updates[3] = {1, 5, 10}; 762 int num_updates[3] = {1, 5, 10};
764 for (int j = 0; j < 3; j++) { 763 for (int j = 0; j < 3; j++) {
765 TestResourceUpload(num_updates[j], 764 TestResourceUpload(num_updates[j],
766 2, 765 2,
767 num_updates[j] * 2, 766 num_updates[j] * 2,
768 (num_updates[j] - 1) * 2, 767 (num_updates[j] - 1) * 2,
769 use_solid_color_scrollbars); 768 use_solid_color_scrollbars);
770 } 769 }
771 } 770 }
772 771
773 TEST_F(ScrollbarLayerTestResourceCreation, SolidColorNoResourceUpload) { 772 TEST_F(ScrollbarLayerTestResourceCreationAndRelease,
773 SolidColorNoResourceUpload) {
774 bool use_solid_color_scrollbars = true; 774 bool use_solid_color_scrollbars = true;
775 TestResourceUpload(0, 0, 0, 0, use_solid_color_scrollbars); 775 TestResourceUpload(0, 0, 0, 0, use_solid_color_scrollbars);
776 TestResourceUpload(1, 0, 0, 0, use_solid_color_scrollbars); 776 TestResourceUpload(1, 0, 0, 0, use_solid_color_scrollbars);
777 } 777 }
778 778
779 TEST_F(ScrollbarLayerTestResourceCreationAndRelease, TestResourceUpdate) {
780 FakeLayerTreeHostClient fake_client_(FakeLayerTreeHostClient::DIRECT_3D);
781 LayerTreeSettings layer_tree_settings_;
782 scoped_ptr<FakeLayerTreeHost> layer_tree_host_;
783
784 layer_tree_host_.reset(
785 new FakeLayerTreeHost(&fake_client_, layer_tree_settings_));
786
787 gfx::Point scrollbar_location(0, 185);
788 scoped_refptr<Layer> layer_tree_root = Layer::Create();
789 scoped_refptr<Layer> content_layer = Layer::Create();
790 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_layer =
791 FakePaintedScrollbarLayer::Create(false, true, layer_tree_root->id());
792
793 layer_tree_root->AddChild(content_layer);
794 layer_tree_root->AddChild(scrollbar_layer);
795
796 layer_tree_host_->SetRootLayer(layer_tree_root);
797
798 scrollbar_layer->SetIsDrawable(true);
799 scrollbar_layer->SetBounds(gfx::Size(100, 15));
800 scrollbar_layer->SetPosition(scrollbar_location);
801 layer_tree_root->SetBounds(gfx::Size(100, 200));
802 content_layer->SetBounds(gfx::Size(100, 200));
803
804 scrollbar_layer->draw_properties().content_bounds = gfx::Size(100, 200);
805 scrollbar_layer->draw_properties().visible_content_rect =
806 gfx::Rect(0, 0, 100, 200);
807
808 scrollbar_layer->CreateRenderSurface();
809 scrollbar_layer->draw_properties().render_target = scrollbar_layer.get();
810
811 testing::Mock::VerifyAndClearExpectations(layer_tree_host_.get());
812 EXPECT_EQ(scrollbar_layer->layer_tree_host(), layer_tree_host_.get());
813
814 ResourceUpdateQueue queue;
815 gfx::Rect screen_space_clip_rect;
816 size_t resource_count;
817 int expected_created, expected_deleted;
818 OcclusionTracker<Layer> occlusion_tracker(screen_space_clip_rect);
819 scrollbar_layer->SavePaintProperties();
820
821 resource_count = 2;
822 expected_created = 2;
823 expected_deleted = 0;
824 EXPECT_TRUE(scrollbar_layer->Update(&queue, &occlusion_tracker));
825 EXPECT_NE(0, scrollbar_layer->track_resource_id());
826 EXPECT_NE(0, scrollbar_layer->thumb_resource_id());
827 EXPECT_EQ(resource_count, layer_tree_host_->UIResourceCount());
828 EXPECT_EQ(expected_created, layer_tree_host_->TotalUIResourceCreated());
danakj 2014/09/18 18:04:46 oh these checks are great, thanks.
829 EXPECT_EQ(expected_deleted, layer_tree_host_->TotalUIResourceDeleted());
830
831 resource_count = 0;
832 expected_created = 2;
833 expected_deleted = 2;
834 scrollbar_layer->fake_scrollbar()->set_track_rect(gfx::Rect(0, 0, 0, 0));
835 EXPECT_TRUE(scrollbar_layer->Update(&queue, &occlusion_tracker));
836 EXPECT_EQ(0, scrollbar_layer->track_resource_id());
837 EXPECT_EQ(0, scrollbar_layer->thumb_resource_id());
838 EXPECT_EQ(resource_count, layer_tree_host_->UIResourceCount());
839 EXPECT_EQ(expected_created, layer_tree_host_->TotalUIResourceCreated());
840 EXPECT_EQ(expected_deleted, layer_tree_host_->TotalUIResourceDeleted());
841
842 resource_count = 0;
843 expected_created = 2;
844 expected_deleted = 2;
845 scrollbar_layer->fake_scrollbar()->set_track_rect(gfx::Rect(0, 0, 0, 0));
846 EXPECT_FALSE(scrollbar_layer->Update(&queue, &occlusion_tracker));
847 EXPECT_EQ(0, scrollbar_layer->track_resource_id());
848 EXPECT_EQ(0, scrollbar_layer->thumb_resource_id());
849 EXPECT_EQ(resource_count, layer_tree_host_->UIResourceCount());
850 EXPECT_EQ(expected_created, layer_tree_host_->TotalUIResourceCreated());
851 EXPECT_EQ(expected_deleted, layer_tree_host_->TotalUIResourceDeleted());
852
853 resource_count = 2;
854 expected_created = 4;
855 expected_deleted = 2;
856 scrollbar_layer->fake_scrollbar()->set_track_rect(gfx::Rect(30, 10, 50, 10));
857 EXPECT_TRUE(scrollbar_layer->Update(&queue, &occlusion_tracker));
858 EXPECT_NE(0, scrollbar_layer->track_resource_id());
859 EXPECT_NE(0, scrollbar_layer->thumb_resource_id());
860 EXPECT_EQ(resource_count, layer_tree_host_->UIResourceCount());
861 EXPECT_EQ(expected_created, layer_tree_host_->TotalUIResourceCreated());
862 EXPECT_EQ(expected_deleted, layer_tree_host_->TotalUIResourceDeleted());
863
864 resource_count = 1;
865 expected_created = 5;
866 expected_deleted = 4;
867 scrollbar_layer->fake_scrollbar()->set_has_thumb(false);
868 EXPECT_TRUE(scrollbar_layer->Update(&queue, &occlusion_tracker));
869 EXPECT_NE(0, scrollbar_layer->track_resource_id());
870 EXPECT_EQ(0, scrollbar_layer->thumb_resource_id());
871 EXPECT_EQ(resource_count, layer_tree_host_->UIResourceCount());
872 EXPECT_EQ(expected_created, layer_tree_host_->TotalUIResourceCreated());
873 EXPECT_EQ(expected_deleted, layer_tree_host_->TotalUIResourceDeleted());
874
875 resource_count = 0;
876 expected_created = 5;
877 expected_deleted = 5;
878 scrollbar_layer->fake_scrollbar()->set_track_rect(gfx::Rect(0, 0, 0, 0));
879 EXPECT_TRUE(scrollbar_layer->Update(&queue, &occlusion_tracker));
880 EXPECT_EQ(0, scrollbar_layer->track_resource_id());
881 EXPECT_EQ(0, scrollbar_layer->thumb_resource_id());
882 EXPECT_EQ(resource_count, layer_tree_host_->UIResourceCount());
883 EXPECT_EQ(expected_created, layer_tree_host_->TotalUIResourceCreated());
884 EXPECT_EQ(expected_deleted, layer_tree_host_->TotalUIResourceDeleted());
885
886 resource_count = 2;
887 expected_created = 7;
888 expected_deleted = 5;
889 scrollbar_layer->fake_scrollbar()->set_track_rect(gfx::Rect(30, 10, 50, 10));
890 scrollbar_layer->fake_scrollbar()->set_has_thumb(true);
891 EXPECT_TRUE(scrollbar_layer->Update(&queue, &occlusion_tracker));
892 EXPECT_NE(0, scrollbar_layer->track_resource_id());
893 EXPECT_NE(0, scrollbar_layer->thumb_resource_id());
894
895 resource_count = 1;
896 expected_created = 8;
897 expected_deleted = 7;
898 scrollbar_layer->fake_scrollbar()->set_track_rect(gfx::Rect(30, 10, 50, 10));
899 scrollbar_layer->fake_scrollbar()->set_has_thumb(false);
900 scrollbar_layer->SetBounds(gfx::Size(90, 15));
901 EXPECT_TRUE(scrollbar_layer->Update(&queue, &occlusion_tracker));
902 EXPECT_EQ(resource_count, layer_tree_host_->UIResourceCount());
903 EXPECT_EQ(expected_created, layer_tree_host_->TotalUIResourceCreated());
904 EXPECT_EQ(expected_deleted, layer_tree_host_->TotalUIResourceDeleted());
905 EXPECT_EQ(
906 gfx::Size(90, 15),
907 layer_tree_host_->ui_resource_size(scrollbar_layer->track_resource_id()));
908
909 scrollbar_layer->ResetNeedsDisplayForTesting();
910 EXPECT_FALSE(scrollbar_layer->Update(&queue, &occlusion_tracker));
911 EXPECT_NE(0, scrollbar_layer->track_resource_id());
912 EXPECT_EQ(0, scrollbar_layer->thumb_resource_id());
913 EXPECT_EQ(resource_count, layer_tree_host_->UIResourceCount());
914 EXPECT_EQ(expected_created, layer_tree_host_->TotalUIResourceCreated());
915 EXPECT_EQ(expected_deleted, layer_tree_host_->TotalUIResourceDeleted());
916
917 testing::Mock::VerifyAndClearExpectations(layer_tree_host_.get());
918 scrollbar_layer->ClearRenderSurface();
919 }
920
779 class ScaledScrollbarLayerTestResourceCreation : public testing::Test { 921 class ScaledScrollbarLayerTestResourceCreation : public testing::Test {
780 public: 922 public:
781 ScaledScrollbarLayerTestResourceCreation() 923 ScaledScrollbarLayerTestResourceCreation()
782 : fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {} 924 : fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {}
783 925
784 void TestResourceUpload(const float test_scale) { 926 void TestResourceUpload(const float test_scale) {
785 layer_tree_host_.reset( 927 layer_tree_host_.reset(
786 new MockLayerTreeHost(&fake_client_, layer_tree_settings_)); 928 new FakeLayerTreeHost(&fake_client_, layer_tree_settings_));
787 929
788 gfx::Point scrollbar_location(0, 185); 930 gfx::Point scrollbar_location(0, 185);
789 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 931 scoped_refptr<Layer> layer_tree_root = Layer::Create();
790 scoped_refptr<Layer> content_layer = Layer::Create(); 932 scoped_refptr<Layer> content_layer = Layer::Create();
791 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_layer = 933 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_layer =
792 FakePaintedScrollbarLayer::Create(false, true, layer_tree_root->id()); 934 FakePaintedScrollbarLayer::Create(false, true, layer_tree_root->id());
793 935
794 layer_tree_root->AddChild(content_layer); 936 layer_tree_root->AddChild(content_layer);
795 layer_tree_root->AddChild(scrollbar_layer); 937 layer_tree_root->AddChild(scrollbar_layer);
796 938
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 EXPECT_LE(thumb_size.height(), scrollbar_layer->content_bounds().height()); 982 EXPECT_LE(thumb_size.height(), scrollbar_layer->content_bounds().height());
841 983
842 testing::Mock::VerifyAndClearExpectations(layer_tree_host_.get()); 984 testing::Mock::VerifyAndClearExpectations(layer_tree_host_.get());
843 985
844 scrollbar_layer->ClearRenderSurface(); 986 scrollbar_layer->ClearRenderSurface();
845 } 987 }
846 988
847 protected: 989 protected:
848 FakeLayerTreeHostClient fake_client_; 990 FakeLayerTreeHostClient fake_client_;
849 LayerTreeSettings layer_tree_settings_; 991 LayerTreeSettings layer_tree_settings_;
850 scoped_ptr<MockLayerTreeHost> layer_tree_host_; 992 scoped_ptr<FakeLayerTreeHost> layer_tree_host_;
851 }; 993 };
852 994
853 TEST_F(ScaledScrollbarLayerTestResourceCreation, ScaledResourceUpload) { 995 TEST_F(ScaledScrollbarLayerTestResourceCreation, ScaledResourceUpload) {
854 // Pick a test scale that moves the scrollbar's (non-zero) position to 996 // Pick a test scale that moves the scrollbar's (non-zero) position to
855 // a non-pixel-aligned location. 997 // a non-pixel-aligned location.
856 TestResourceUpload(.041f); 998 TestResourceUpload(.041f);
857 TestResourceUpload(1.41f); 999 TestResourceUpload(1.41f);
858 TestResourceUpload(4.1f); 1000 TestResourceUpload(4.1f);
859 } 1001 }
860 1002
861 class ScaledScrollbarLayerTestScaledRasterization : public testing::Test { 1003 class ScaledScrollbarLayerTestScaledRasterization : public testing::Test {
862 public: 1004 public:
863 ScaledScrollbarLayerTestScaledRasterization() 1005 ScaledScrollbarLayerTestScaledRasterization()
864 : fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {} 1006 : fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {}
865 1007
866 void TestScale(const gfx::Rect scrollbar_rect, const float test_scale) { 1008 void TestScale(const gfx::Rect scrollbar_rect, const float test_scale) {
867 layer_tree_host_.reset( 1009 layer_tree_host_.reset(
868 new MockLayerTreeHost(&fake_client_, layer_tree_settings_)); 1010 new FakeLayerTreeHost(&fake_client_, layer_tree_settings_));
869 1011
870 bool paint_during_update = true; 1012 bool paint_during_update = true;
871 bool has_thumb = false; 1013 bool has_thumb = false;
872 scoped_refptr<Layer> layer_tree_root = Layer::Create(); 1014 scoped_refptr<Layer> layer_tree_root = Layer::Create();
873 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_layer = 1015 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_layer =
874 FakePaintedScrollbarLayer::Create(paint_during_update, 1016 FakePaintedScrollbarLayer::Create(paint_during_update,
875 has_thumb, 1017 has_thumb,
876 layer_tree_root->id()); 1018 layer_tree_root->id());
877 1019
878 layer_tree_root->AddChild(scrollbar_layer); 1020 layer_tree_root->AddChild(scrollbar_layer);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
936 // On Android, Skia uses ABGR 1078 // On Android, Skia uses ABGR
937 static SkColor argb_to_skia(SkColor c) { 1079 static SkColor argb_to_skia(SkColor c) {
938 return (SkColorGetA(c) << SK_A32_SHIFT) | 1080 return (SkColorGetA(c) << SK_A32_SHIFT) |
939 (SkColorGetR(c) << SK_R32_SHIFT) | 1081 (SkColorGetR(c) << SK_R32_SHIFT) |
940 (SkColorGetG(c) << SK_G32_SHIFT) | 1082 (SkColorGetG(c) << SK_G32_SHIFT) |
941 (SkColorGetB(c) << SK_B32_SHIFT); 1083 (SkColorGetB(c) << SK_B32_SHIFT);
942 } 1084 }
943 1085
944 FakeLayerTreeHostClient fake_client_; 1086 FakeLayerTreeHostClient fake_client_;
945 LayerTreeSettings layer_tree_settings_; 1087 LayerTreeSettings layer_tree_settings_;
946 scoped_ptr<MockLayerTreeHost> layer_tree_host_; 1088 scoped_ptr<FakeLayerTreeHost> layer_tree_host_;
947 }; 1089 };
948 1090
949 TEST_F(ScaledScrollbarLayerTestScaledRasterization, TestLostPrecisionInClip) { 1091 TEST_F(ScaledScrollbarLayerTestScaledRasterization, TestLostPrecisionInClip) {
950 // Try rasterization at coordinates and scale that caused problematic 1092 // Try rasterization at coordinates and scale that caused problematic
951 // rounding and clipping errors. 1093 // rounding and clipping errors.
952 // Vertical Scrollbars. 1094 // Vertical Scrollbars.
953 TestScale(gfx::Rect(1240, 0, 15, 1333), 2.7754839f); 1095 TestScale(gfx::Rect(1240, 0, 15, 1333), 2.7754839f);
954 TestScale(gfx::Rect(1240, 0, 15, 677), 2.46677136f); 1096 TestScale(gfx::Rect(1240, 0, 15, 677), 2.46677136f);
955 1097
956 // Horizontal Scrollbars. 1098 // Horizontal Scrollbars.
957 TestScale(gfx::Rect(0, 1240, 1333, 15), 2.7754839f); 1099 TestScale(gfx::Rect(0, 1240, 1333, 15), 2.7754839f);
958 TestScale(gfx::Rect(0, 1240, 677, 15), 2.46677136f); 1100 TestScale(gfx::Rect(0, 1240, 677, 15), 2.46677136f);
959 } 1101 }
960 1102
961 } // namespace 1103 } // namespace
962 } // namespace cc 1104 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/painted_scrollbar_layer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698