| OLD | NEW |
| (Empty) |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "cc/trees/layer_tree_settings.h" | |
| 6 | |
| 7 #include "cc/proto/layer_tree_settings.pb.h" | |
| 8 #include "testing/gtest/include/gtest/gtest.h" | |
| 9 | |
| 10 namespace cc { | |
| 11 namespace { | |
| 12 | |
| 13 void VerifySerializeAndDeserialize(const LayerTreeSettings& settings1) { | |
| 14 proto::LayerTreeSettings proto; | |
| 15 settings1.ToProtobuf(&proto); | |
| 16 LayerTreeSettings settings2; | |
| 17 settings2.FromProtobuf(proto); | |
| 18 EXPECT_EQ(settings1, settings2); | |
| 19 } | |
| 20 | |
| 21 TEST(LayerTreeSettingsTest, DefaultValues) { | |
| 22 LayerTreeSettings settings; | |
| 23 VerifySerializeAndDeserialize(settings); | |
| 24 } | |
| 25 | |
| 26 TEST(LayerTreeSettingsTest, AllMembersChanged) { | |
| 27 LayerTreeSettings settings; | |
| 28 RendererSettings rs; | |
| 29 rs.texture_id_allocation_chunk_size = | |
| 30 rs.texture_id_allocation_chunk_size * 3 + 1; | |
| 31 settings.renderer_settings = rs; | |
| 32 settings.single_thread_proxy_scheduler = | |
| 33 !settings.single_thread_proxy_scheduler; | |
| 34 settings.use_external_begin_frame_source = | |
| 35 !settings.use_external_begin_frame_source; | |
| 36 settings.main_frame_before_activation_enabled = | |
| 37 !settings.main_frame_before_activation_enabled; | |
| 38 settings.using_synchronous_renderer_compositor = | |
| 39 !settings.using_synchronous_renderer_compositor; | |
| 40 settings.can_use_lcd_text = !settings.can_use_lcd_text; | |
| 41 settings.use_distance_field_text = !settings.use_distance_field_text; | |
| 42 settings.gpu_rasterization_enabled = !settings.gpu_rasterization_enabled; | |
| 43 settings.gpu_rasterization_forced = !settings.gpu_rasterization_forced; | |
| 44 settings.gpu_rasterization_msaa_sample_count = | |
| 45 settings.gpu_rasterization_msaa_sample_count * 3 + 1; | |
| 46 settings.gpu_rasterization_skewport_target_time_in_seconds = | |
| 47 settings.gpu_rasterization_skewport_target_time_in_seconds * 3 + 1; | |
| 48 settings.create_low_res_tiling = !settings.create_low_res_tiling; | |
| 49 settings.scrollbar_animator = LayerTreeSettings::THINNING; | |
| 50 settings.scrollbar_fade_delay_ms = settings.scrollbar_fade_delay_ms * 3 + 1; | |
| 51 settings.scrollbar_fade_resize_delay_ms = | |
| 52 settings.scrollbar_fade_resize_delay_ms * 3 + 1; | |
| 53 settings.scrollbar_fade_duration_ms = | |
| 54 settings.scrollbar_fade_duration_ms * 3 + 1; | |
| 55 settings.solid_color_scrollbar_color = SK_ColorCYAN; | |
| 56 settings.timeout_and_draw_when_animation_checkerboards = | |
| 57 !settings.timeout_and_draw_when_animation_checkerboards; | |
| 58 settings.layer_transforms_should_scale_layer_contents = | |
| 59 !settings.layer_transforms_should_scale_layer_contents; | |
| 60 settings.layers_always_allowed_lcd_text = | |
| 61 !settings.layers_always_allowed_lcd_text; | |
| 62 settings.minimum_contents_scale = 0.42f; | |
| 63 settings.low_res_contents_scale_factor = 0.43f; | |
| 64 settings.top_controls_show_threshold = 0.44f; | |
| 65 settings.top_controls_hide_threshold = 0.45f; | |
| 66 settings.background_animation_rate = 0.46f; | |
| 67 settings.default_tile_size = gfx::Size(47, 48); | |
| 68 settings.max_untiled_layer_size = gfx::Size(49, 50); | |
| 69 settings.minimum_occlusion_tracking_size = gfx::Size(51, 52); | |
| 70 settings.tiling_interest_area_padding = | |
| 71 settings.tiling_interest_area_padding * 3 + 1; | |
| 72 settings.skewport_target_time_in_seconds = 0.53f; | |
| 73 settings.skewport_extrapolation_limit_in_screen_pixels = | |
| 74 settings.skewport_extrapolation_limit_in_screen_pixels * 3 + 1; | |
| 75 settings.max_memory_for_prepaint_percentage = | |
| 76 settings.max_memory_for_prepaint_percentage * 3 + 1; | |
| 77 settings.use_zero_copy = !settings.use_zero_copy; | |
| 78 settings.use_partial_raster = !settings.use_partial_raster; | |
| 79 settings.enable_elastic_overscroll = !settings.enable_elastic_overscroll; | |
| 80 settings.ignore_root_layer_flings = !settings.ignore_root_layer_flings; | |
| 81 settings.scheduled_raster_task_limit = | |
| 82 settings.scheduled_raster_task_limit * 3 + 1; | |
| 83 settings.use_occlusion_for_tile_prioritization = | |
| 84 !settings.use_occlusion_for_tile_prioritization; | |
| 85 settings.wait_for_beginframe_interval = | |
| 86 !settings.wait_for_beginframe_interval; | |
| 87 settings.max_staging_buffer_usage_in_bytes = | |
| 88 settings.max_staging_buffer_usage_in_bytes * 3 + 1; | |
| 89 settings.memory_policy_ = ManagedMemoryPolicy( | |
| 90 56, gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE, 57); | |
| 91 LayerTreeDebugState debug_state; | |
| 92 debug_state.show_fps_counter = !debug_state.show_fps_counter; | |
| 93 settings.initial_debug_state = debug_state; | |
| 94 VerifySerializeAndDeserialize(settings); | |
| 95 } | |
| 96 | |
| 97 TEST(LayerTreeSettingsTest, ArbitraryValues) { | |
| 98 LayerTreeSettings settings; | |
| 99 RendererSettings rs; | |
| 100 rs.texture_id_allocation_chunk_size = 42; | |
| 101 settings.renderer_settings = rs; | |
| 102 settings.single_thread_proxy_scheduler = true; | |
| 103 settings.use_external_begin_frame_source = true; | |
| 104 settings.main_frame_before_activation_enabled = true; | |
| 105 settings.using_synchronous_renderer_compositor = false; | |
| 106 settings.can_use_lcd_text = false; | |
| 107 settings.use_distance_field_text = false; | |
| 108 settings.gpu_rasterization_enabled = false; | |
| 109 settings.gpu_rasterization_forced = true; | |
| 110 settings.gpu_rasterization_msaa_sample_count = 10; | |
| 111 settings.gpu_rasterization_skewport_target_time_in_seconds = 0.909f; | |
| 112 settings.create_low_res_tiling = false; | |
| 113 settings.scrollbar_animator = LayerTreeSettings::LINEAR_FADE; | |
| 114 settings.scrollbar_fade_delay_ms = 13; | |
| 115 settings.scrollbar_fade_resize_delay_ms = 61; | |
| 116 settings.scrollbar_fade_duration_ms = 23; | |
| 117 settings.solid_color_scrollbar_color = SK_ColorCYAN; | |
| 118 settings.timeout_and_draw_when_animation_checkerboards = true; | |
| 119 settings.layer_transforms_should_scale_layer_contents = true; | |
| 120 settings.layers_always_allowed_lcd_text = true; | |
| 121 settings.minimum_contents_scale = 0.314f; | |
| 122 settings.low_res_contents_scale_factor = 0.49f; | |
| 123 settings.top_controls_hide_threshold = 0.666f; | |
| 124 settings.top_controls_hide_threshold = 0.51f; | |
| 125 settings.background_animation_rate = 0.52f; | |
| 126 settings.default_tile_size = gfx::Size(53, 54); | |
| 127 settings.max_untiled_layer_size = gfx::Size(55, 56); | |
| 128 settings.minimum_occlusion_tracking_size = gfx::Size(57, 58); | |
| 129 settings.tiling_interest_area_padding = 59; | |
| 130 settings.skewport_target_time_in_seconds = 0.6f; | |
| 131 settings.skewport_extrapolation_limit_in_screen_pixels = 61; | |
| 132 settings.max_memory_for_prepaint_percentage = 62; | |
| 133 settings.use_zero_copy = true; | |
| 134 settings.use_partial_raster = true; | |
| 135 settings.enable_elastic_overscroll = false; | |
| 136 settings.ignore_root_layer_flings = true; | |
| 137 settings.scheduled_raster_task_limit = 41; | |
| 138 settings.use_occlusion_for_tile_prioritization = true; | |
| 139 settings.wait_for_beginframe_interval = true; | |
| 140 settings.max_staging_buffer_usage_in_bytes = 70; | |
| 141 settings.memory_policy_ = ManagedMemoryPolicy( | |
| 142 71, gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE, 77); | |
| 143 LayerTreeDebugState debug_state; | |
| 144 debug_state.show_fps_counter = true; | |
| 145 settings.initial_debug_state = debug_state; | |
| 146 VerifySerializeAndDeserialize(settings); | |
| 147 } | |
| 148 | |
| 149 } // namespace | |
| 150 } // namespace cc | |
| OLD | NEW |