| OLD | NEW |
| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 #include "cc/test/fake_painted_scrollbar_layer.h" | 40 #include "cc/test/fake_painted_scrollbar_layer.h" |
| 41 #include "cc/test/fake_picture_layer.h" | 41 #include "cc/test/fake_picture_layer.h" |
| 42 #include "cc/test/fake_picture_layer_impl.h" | 42 #include "cc/test/fake_picture_layer_impl.h" |
| 43 #include "cc/test/fake_proxy.h" | 43 #include "cc/test/fake_proxy.h" |
| 44 #include "cc/test/fake_recording_source.h" | 44 #include "cc/test/fake_recording_source.h" |
| 45 #include "cc/test/fake_scoped_ui_resource.h" | 45 #include "cc/test/fake_scoped_ui_resource.h" |
| 46 #include "cc/test/fake_video_frame_provider.h" | 46 #include "cc/test/fake_video_frame_provider.h" |
| 47 #include "cc/test/geometry_test_utils.h" | 47 #include "cc/test/geometry_test_utils.h" |
| 48 #include "cc/test/layer_internals_for_test.h" | 48 #include "cc/test/layer_internals_for_test.h" |
| 49 #include "cc/test/layer_tree_test.h" | 49 #include "cc/test/layer_tree_test.h" |
| 50 #include "cc/test/push_properties_counting_layer.h" |
| 51 #include "cc/test/push_properties_counting_layer_impl.h" |
| 50 #include "cc/test/render_pass_test_utils.h" | 52 #include "cc/test/render_pass_test_utils.h" |
| 51 #include "cc/test/skia_common.h" | 53 #include "cc/test/skia_common.h" |
| 52 #include "cc/test/test_compositor_frame_sink.h" | 54 #include "cc/test/test_compositor_frame_sink.h" |
| 53 #include "cc/test/test_web_graphics_context_3d.h" | 55 #include "cc/test/test_web_graphics_context_3d.h" |
| 54 #include "cc/trees/effect_node.h" | 56 #include "cc/trees/effect_node.h" |
| 55 #include "cc/trees/layer_tree_host_common.h" | 57 #include "cc/trees/layer_tree_host_common.h" |
| 56 #include "cc/trees/layer_tree_host_impl.h" | 58 #include "cc/trees/layer_tree_host_impl.h" |
| 57 #include "cc/trees/layer_tree_impl.h" | 59 #include "cc/trees/layer_tree_impl.h" |
| 58 #include "cc/trees/single_thread_proxy.h" | 60 #include "cc/trees/single_thread_proxy.h" |
| 59 #include "cc/trees/swap_promise_manager.h" | 61 #include "cc/trees/swap_promise_manager.h" |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 EXPECT_TRUE(all_tiles_required_for_activation_are_ready_to_draw_); | 281 EXPECT_TRUE(all_tiles_required_for_activation_are_ready_to_draw_); |
| 280 EXPECT_LE(size_t(1), required_for_activation_count_); | 282 EXPECT_LE(size_t(1), required_for_activation_count_); |
| 281 } | 283 } |
| 282 | 284 |
| 283 private: | 285 private: |
| 284 FakeContentLayerClient client_; | 286 FakeContentLayerClient client_; |
| 285 }; | 287 }; |
| 286 | 288 |
| 287 // No single thread test because the commit goes directly to the active tree in | 289 // No single thread test because the commit goes directly to the active tree in |
| 288 // single thread mode, so notify ready to activate is skipped. | 290 // single thread mode, so notify ready to activate is skipped. |
| 289 // No remote test because we currently don't deserialize FakePictureLayer, | 291 REMOTE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestReadyToActivateNonEmpty); |
| 290 // so on the impl side, PictureLayerImpl is created instead of | |
| 291 // FakePictureLayerImpl, see crbug/657871. | |
| 292 MULTI_THREAD_TEST_F(LayerTreeHostTestReadyToActivateNonEmpty); | |
| 293 | 292 |
| 294 // Test if the LTHI receives ReadyToDraw notifications from the TileManager when | 293 // Test if the LTHI receives ReadyToDraw notifications from the TileManager when |
| 295 // no raster tasks get scheduled. | 294 // no raster tasks get scheduled. |
| 296 class LayerTreeHostTestReadyToDrawEmpty : public LayerTreeHostTest { | 295 class LayerTreeHostTestReadyToDrawEmpty : public LayerTreeHostTest { |
| 297 public: | 296 public: |
| 298 LayerTreeHostTestReadyToDrawEmpty() | 297 LayerTreeHostTestReadyToDrawEmpty() |
| 299 : did_notify_ready_to_draw_(false), | 298 : did_notify_ready_to_draw_(false), |
| 300 all_tiles_required_for_draw_are_ready_to_draw_(false), | 299 all_tiles_required_for_draw_are_ready_to_draw_(false), |
| 301 required_for_draw_count_(0) {} | 300 required_for_draw_count_(0) {} |
| 302 | 301 |
| (...skipping 1313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1616 private: | 1615 private: |
| 1617 int num_draws_; | 1616 int num_draws_; |
| 1618 const gfx::Size bounds_; | 1617 const gfx::Size bounds_; |
| 1619 const gfx::Rect invalid_rect_; | 1618 const gfx::Rect invalid_rect_; |
| 1620 FakeContentLayerClient client_; | 1619 FakeContentLayerClient client_; |
| 1621 scoped_refptr<FakePictureLayer> root_layer_; | 1620 scoped_refptr<FakePictureLayer> root_layer_; |
| 1622 }; | 1621 }; |
| 1623 | 1622 |
| 1624 // As there's no pending tree in single-threaded case, this test should run | 1623 // As there's no pending tree in single-threaded case, this test should run |
| 1625 // only for multi-threaded case. | 1624 // only for multi-threaded case. |
| 1626 MULTI_THREAD_TEST_F(LayerTreeHostTestGpuRasterDeviceSizeChanged); | 1625 REMOTE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestGpuRasterDeviceSizeChanged); |
| 1627 | 1626 |
| 1628 class LayerTreeHostTestNoExtraCommitFromInvalidate : public LayerTreeHostTest { | 1627 class LayerTreeHostTestNoExtraCommitFromInvalidate : public LayerTreeHostTest { |
| 1629 public: | 1628 public: |
| 1630 void InitializeSettings(LayerTreeSettings* settings) override { | 1629 void InitializeSettings(LayerTreeSettings* settings) override { |
| 1631 settings->layer_transforms_should_scale_layer_contents = true; | 1630 settings->layer_transforms_should_scale_layer_contents = true; |
| 1632 } | 1631 } |
| 1633 | 1632 |
| 1634 void SetupTree() override { | 1633 void SetupTree() override { |
| 1635 root_layer_ = Layer::Create(); | 1634 root_layer_ = Layer::Create(); |
| 1636 root_layer_->SetBounds(gfx::Size(10, 20)); | 1635 root_layer_->SetBounds(gfx::Size(10, 20)); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 1666 void AfterTest() override { | 1665 void AfterTest() override { |
| 1667 EXPECT_EQ(gfx::Size(4, 4).ToString(), scaled_layer_->bounds().ToString()); | 1666 EXPECT_EQ(gfx::Size(4, 4).ToString(), scaled_layer_->bounds().ToString()); |
| 1668 } | 1667 } |
| 1669 | 1668 |
| 1670 private: | 1669 private: |
| 1671 FakeContentLayerClient client_; | 1670 FakeContentLayerClient client_; |
| 1672 scoped_refptr<Layer> root_layer_; | 1671 scoped_refptr<Layer> root_layer_; |
| 1673 scoped_refptr<Layer> scaled_layer_; | 1672 scoped_refptr<Layer> scaled_layer_; |
| 1674 }; | 1673 }; |
| 1675 | 1674 |
| 1676 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestNoExtraCommitFromInvalidate); | 1675 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestNoExtraCommitFromInvalidate); |
| 1677 | 1676 |
| 1678 class LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate | 1677 class LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate |
| 1679 : public LayerTreeHostTest { | 1678 : public LayerTreeHostTest { |
| 1680 public: | 1679 public: |
| 1681 void InitializeSettings(LayerTreeSettings* settings) override { | 1680 void InitializeSettings(LayerTreeSettings* settings) override { |
| 1682 settings->layer_transforms_should_scale_layer_contents = true; | 1681 settings->layer_transforms_should_scale_layer_contents = true; |
| 1683 } | 1682 } |
| 1684 | 1683 |
| 1685 void SetupTree() override { | 1684 void SetupTree() override { |
| 1686 root_layer_ = Layer::Create(); | 1685 root_layer_ = Layer::Create(); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1723 } | 1722 } |
| 1724 | 1723 |
| 1725 void AfterTest() override {} | 1724 void AfterTest() override {} |
| 1726 | 1725 |
| 1727 private: | 1726 private: |
| 1728 FakeContentLayerClient client_; | 1727 FakeContentLayerClient client_; |
| 1729 scoped_refptr<Layer> root_layer_; | 1728 scoped_refptr<Layer> root_layer_; |
| 1730 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_; | 1729 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_; |
| 1731 }; | 1730 }; |
| 1732 | 1731 |
| 1732 // No remote test here because PaintedScrollbarLayer is not supported by LTH |
| 1733 // remote. |
| 1733 SINGLE_AND_MULTI_THREAD_TEST_F( | 1734 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 1734 LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate); | 1735 LayerTreeHostTestNoExtraCommitFromScrollbarInvalidate); |
| 1735 | 1736 |
| 1736 class LayerTreeHostTestDeviceScaleFactorChange : public LayerTreeHostTest { | 1737 class LayerTreeHostTestDeviceScaleFactorChange : public LayerTreeHostTest { |
| 1737 public: | 1738 public: |
| 1738 void InitializeSettings(LayerTreeSettings* settings) override { | 1739 void InitializeSettings(LayerTreeSettings* settings) override { |
| 1739 settings->layer_transforms_should_scale_layer_contents = true; | 1740 settings->layer_transforms_should_scale_layer_contents = true; |
| 1740 } | 1741 } |
| 1741 | 1742 |
| 1742 void SetupTree() override { | 1743 void SetupTree() override { |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1790 } | 1791 } |
| 1791 | 1792 |
| 1792 void AfterTest() override {} | 1793 void AfterTest() override {} |
| 1793 | 1794 |
| 1794 private: | 1795 private: |
| 1795 FakeContentLayerClient client_; | 1796 FakeContentLayerClient client_; |
| 1796 scoped_refptr<Layer> root_layer_; | 1797 scoped_refptr<Layer> root_layer_; |
| 1797 scoped_refptr<Layer> child_layer_; | 1798 scoped_refptr<Layer> child_layer_; |
| 1798 }; | 1799 }; |
| 1799 | 1800 |
| 1800 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeviceScaleFactorChange); | 1801 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestDeviceScaleFactorChange); |
| 1801 | 1802 |
| 1802 class LayerTreeHostTestDeviceColorSpaceChange : public LayerTreeHostTest { | 1803 class LayerTreeHostTestDeviceColorSpaceChange : public LayerTreeHostTest { |
| 1803 public: | 1804 public: |
| 1804 void SetupTree() override { | 1805 void SetupTree() override { |
| 1805 space1_ = gfx::ColorSpace::CreateXYZD50(); | 1806 space1_ = gfx::ColorSpace::CreateXYZD50(); |
| 1806 space2_ = gfx::ColorSpace::CreateSRGB(); | 1807 space2_ = gfx::ColorSpace::CreateSRGB(); |
| 1807 | 1808 |
| 1808 root_layer_ = Layer::Create(); | 1809 root_layer_ = Layer::Create(); |
| 1809 root_layer_->SetBounds(gfx::Size(10, 20)); | 1810 root_layer_->SetBounds(gfx::Size(10, 20)); |
| 1810 | 1811 |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1913 void AfterTest() override {} | 1914 void AfterTest() override {} |
| 1914 | 1915 |
| 1915 private: | 1916 private: |
| 1916 gfx::ColorSpace space1_; | 1917 gfx::ColorSpace space1_; |
| 1917 gfx::ColorSpace space2_; | 1918 gfx::ColorSpace space2_; |
| 1918 FakeContentLayerClient client_; | 1919 FakeContentLayerClient client_; |
| 1919 scoped_refptr<Layer> root_layer_; | 1920 scoped_refptr<Layer> root_layer_; |
| 1920 scoped_refptr<Layer> child_layer_; | 1921 scoped_refptr<Layer> child_layer_; |
| 1921 }; | 1922 }; |
| 1922 | 1923 |
| 1924 // No remote test because LTH remote doesn't serialize device_color_space, so |
| 1925 // LTH in process will always use the default color space here. |
| 1926 // see crbug/658786. |
| 1923 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeviceColorSpaceChange); | 1927 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeviceColorSpaceChange); |
| 1924 | 1928 |
| 1925 class LayerTreeHostTestSetNextCommitForcesRedraw : public LayerTreeHostTest { | 1929 class LayerTreeHostTestSetNextCommitForcesRedraw : public LayerTreeHostTest { |
| 1926 public: | 1930 public: |
| 1927 LayerTreeHostTestSetNextCommitForcesRedraw() | 1931 LayerTreeHostTestSetNextCommitForcesRedraw() |
| 1928 : num_draws_(0), bounds_(50, 50), invalid_rect_(10, 10, 20, 20) {} | 1932 : num_draws_(0), bounds_(50, 50), invalid_rect_(10, 10, 20, 20) {} |
| 1929 | 1933 |
| 1930 void BeginTest() override { | 1934 void BeginTest() override { |
| 1931 root_layer_ = FakePictureLayer::Create(&client_); | 1935 root_layer_ = FakePictureLayer::Create(&client_); |
| 1932 root_layer_->SetIsDrawable(true); | 1936 root_layer_->SetIsDrawable(true); |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2003 private: | 2007 private: |
| 2004 int num_draws_; | 2008 int num_draws_; |
| 2005 const gfx::Size bounds_; | 2009 const gfx::Size bounds_; |
| 2006 const gfx::Rect invalid_rect_; | 2010 const gfx::Rect invalid_rect_; |
| 2007 FakeContentLayerClient client_; | 2011 FakeContentLayerClient client_; |
| 2008 scoped_refptr<FakePictureLayer> root_layer_; | 2012 scoped_refptr<FakePictureLayer> root_layer_; |
| 2009 }; | 2013 }; |
| 2010 | 2014 |
| 2011 // This test blocks activation which is not supported for single thread mode. | 2015 // This test blocks activation which is not supported for single thread mode. |
| 2012 MULTI_THREAD_BLOCKNOTIFY_TEST_F(LayerTreeHostTestSetNextCommitForcesRedraw); | 2016 MULTI_THREAD_BLOCKNOTIFY_TEST_F(LayerTreeHostTestSetNextCommitForcesRedraw); |
| 2017 REMOTE_TEST_F(LayerTreeHostTestSetNextCommitForcesRedraw); |
| 2013 | 2018 |
| 2014 // Tests that if a layer is not drawn because of some reason in the parent then | 2019 // Tests that if a layer is not drawn because of some reason in the parent then |
| 2015 // its damage is preserved until the next time it is drawn. | 2020 // its damage is preserved until the next time it is drawn. |
| 2016 class LayerTreeHostTestUndrawnLayersDamageLater : public LayerTreeHostTest { | 2021 class LayerTreeHostTestUndrawnLayersDamageLater : public LayerTreeHostTest { |
| 2017 public: | 2022 public: |
| 2018 void InitializeSettings(LayerTreeSettings* settings) override { | 2023 void InitializeSettings(LayerTreeSettings* settings) override { |
| 2019 // If we don't set the minimum contents scale, it's harder to verify whether | 2024 // If we don't set the minimum contents scale, it's harder to verify whether |
| 2020 // the damage we get is correct. For other scale amounts, please see | 2025 // the damage we get is correct. For other scale amounts, please see |
| 2021 // LayerTreeHostTestDamageWithScale. | 2026 // LayerTreeHostTestDamageWithScale. |
| 2022 settings->minimum_contents_scale = 1.f; | 2027 settings->minimum_contents_scale = 1.f; |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2099 | 2104 |
| 2100 void AfterTest() override {} | 2105 void AfterTest() override {} |
| 2101 | 2106 |
| 2102 private: | 2107 private: |
| 2103 FakeContentLayerClient client_; | 2108 FakeContentLayerClient client_; |
| 2104 scoped_refptr<FakePictureLayer> root_layer_; | 2109 scoped_refptr<FakePictureLayer> root_layer_; |
| 2105 scoped_refptr<FakePictureLayer> parent_layer_; | 2110 scoped_refptr<FakePictureLayer> parent_layer_; |
| 2106 scoped_refptr<FakePictureLayer> child_layer_; | 2111 scoped_refptr<FakePictureLayer> child_layer_; |
| 2107 }; | 2112 }; |
| 2108 | 2113 |
| 2109 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestUndrawnLayersDamageLater); | 2114 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestUndrawnLayersDamageLater); |
| 2110 | 2115 |
| 2111 // Tests that if a layer is not drawn because of some reason in the parent then | 2116 // Tests that if a layer is not drawn because of some reason in the parent then |
| 2112 // its damage is preserved until the next time it is drawn. | 2117 // its damage is preserved until the next time it is drawn. |
| 2113 class LayerTreeHostTestDamageWithScale : public LayerTreeHostTest { | 2118 class LayerTreeHostTestDamageWithScale : public LayerTreeHostTest { |
| 2114 public: | 2119 public: |
| 2115 LayerTreeHostTestDamageWithScale() {} | 2120 LayerTreeHostTestDamageWithScale() {} |
| 2116 | 2121 |
| 2117 void SetupTree() override { | 2122 void SetupTree() override { |
| 2118 client_.set_fill_with_nonsolid_color(true); | 2123 client_.set_fill_with_nonsolid_color(true); |
| 2119 | 2124 |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2204 } | 2209 } |
| 2205 | 2210 |
| 2206 void AfterTest() override {} | 2211 void AfterTest() override {} |
| 2207 | 2212 |
| 2208 private: | 2213 private: |
| 2209 FakeContentLayerClient client_; | 2214 FakeContentLayerClient client_; |
| 2210 scoped_refptr<Layer> root_layer_; | 2215 scoped_refptr<Layer> root_layer_; |
| 2211 scoped_refptr<Layer> child_layer_; | 2216 scoped_refptr<Layer> child_layer_; |
| 2212 }; | 2217 }; |
| 2213 | 2218 |
| 2214 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDamageWithScale); | 2219 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestDamageWithScale); |
| 2215 | 2220 |
| 2216 // This test verifies that properties on the layer tree host are commited | 2221 // This test verifies that properties on the layer tree host are commited |
| 2217 // to the impl side. | 2222 // to the impl side. |
| 2218 class LayerTreeHostTestCommit : public LayerTreeHostTest { | 2223 class LayerTreeHostTestCommit : public LayerTreeHostTest { |
| 2219 public: | 2224 public: |
| 2220 LayerTreeHostTestCommit() {} | 2225 LayerTreeHostTestCommit() {} |
| 2221 | 2226 |
| 2222 void BeginTest() override { | 2227 void BeginTest() override { |
| 2223 layer_tree()->SetViewportSize(gfx::Size(20, 20)); | 2228 layer_tree()->SetViewportSize(gfx::Size(20, 20)); |
| 2224 layer_tree()->set_background_color(SK_ColorGRAY); | 2229 layer_tree()->set_background_color(SK_ColorGRAY); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 2248 impl->active_tree()->event_listener_properties( | 2253 impl->active_tree()->event_listener_properties( |
| 2249 EventListenerClass::kTouchEndOrCancel)); | 2254 EventListenerClass::kTouchEndOrCancel)); |
| 2250 EXPECT_TRUE(impl->active_tree()->have_scroll_event_handlers()); | 2255 EXPECT_TRUE(impl->active_tree()->have_scroll_event_handlers()); |
| 2251 | 2256 |
| 2252 EndTest(); | 2257 EndTest(); |
| 2253 } | 2258 } |
| 2254 | 2259 |
| 2255 void AfterTest() override {} | 2260 void AfterTest() override {} |
| 2256 }; | 2261 }; |
| 2257 | 2262 |
| 2258 MULTI_THREAD_TEST_F(LayerTreeHostTestCommit); | 2263 REMOTE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestCommit); |
| 2259 | 2264 |
| 2260 // This test verifies that LayerTreeHostImpl's current frame time gets | 2265 // This test verifies that LayerTreeHostImpl's current frame time gets |
| 2261 // updated in consecutive frames when it doesn't draw due to tree | 2266 // updated in consecutive frames when it doesn't draw due to tree |
| 2262 // activation failure. | 2267 // activation failure. |
| 2263 class LayerTreeHostTestFrameTimeUpdatesAfterActivationFails | 2268 class LayerTreeHostTestFrameTimeUpdatesAfterActivationFails |
| 2264 : public LayerTreeHostTest { | 2269 : public LayerTreeHostTest { |
| 2265 public: | 2270 public: |
| 2266 LayerTreeHostTestFrameTimeUpdatesAfterActivationFails() | 2271 LayerTreeHostTestFrameTimeUpdatesAfterActivationFails() |
| 2267 : frame_count_with_pending_tree_(0) {} | 2272 : frame_count_with_pending_tree_(0) {} |
| 2268 | 2273 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2306 void AfterTest() override {} | 2311 void AfterTest() override {} |
| 2307 | 2312 |
| 2308 private: | 2313 private: |
| 2309 int frame_count_with_pending_tree_; | 2314 int frame_count_with_pending_tree_; |
| 2310 base::TimeTicks first_frame_time_; | 2315 base::TimeTicks first_frame_time_; |
| 2311 }; | 2316 }; |
| 2312 | 2317 |
| 2313 // This test blocks activation which is not supported for single thread mode. | 2318 // This test blocks activation which is not supported for single thread mode. |
| 2314 MULTI_THREAD_BLOCKNOTIFY_TEST_F( | 2319 MULTI_THREAD_BLOCKNOTIFY_TEST_F( |
| 2315 LayerTreeHostTestFrameTimeUpdatesAfterActivationFails); | 2320 LayerTreeHostTestFrameTimeUpdatesAfterActivationFails); |
| 2321 REMOTE_TEST_F(LayerTreeHostTestFrameTimeUpdatesAfterActivationFails); |
| 2316 | 2322 |
| 2317 // This test verifies that LayerTreeHostImpl's current frame time gets | 2323 // This test verifies that LayerTreeHostImpl's current frame time gets |
| 2318 // updated in consecutive frames when it draws in each frame. | 2324 // updated in consecutive frames when it draws in each frame. |
| 2319 class LayerTreeHostTestFrameTimeUpdatesAfterDraw : public LayerTreeHostTest { | 2325 class LayerTreeHostTestFrameTimeUpdatesAfterDraw : public LayerTreeHostTest { |
| 2320 public: | 2326 public: |
| 2321 LayerTreeHostTestFrameTimeUpdatesAfterDraw() : frame_(0) {} | 2327 LayerTreeHostTestFrameTimeUpdatesAfterDraw() : frame_(0) {} |
| 2322 | 2328 |
| 2323 void BeginTest() override { | 2329 void BeginTest() override { |
| 2324 layer_tree()->SetViewportSize(gfx::Size(20, 20)); | 2330 layer_tree()->SetViewportSize(gfx::Size(20, 20)); |
| 2325 layer_tree()->set_background_color(SK_ColorGRAY); | 2331 layer_tree()->set_background_color(SK_ColorGRAY); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 2354 EXPECT_EQ(0, frame_); | 2360 EXPECT_EQ(0, frame_); |
| 2355 } | 2361 } |
| 2356 | 2362 |
| 2357 void AfterTest() override {} | 2363 void AfterTest() override {} |
| 2358 | 2364 |
| 2359 private: | 2365 private: |
| 2360 int frame_; | 2366 int frame_; |
| 2361 base::TimeTicks first_frame_time_; | 2367 base::TimeTicks first_frame_time_; |
| 2362 }; | 2368 }; |
| 2363 | 2369 |
| 2364 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestFrameTimeUpdatesAfterDraw); | 2370 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestFrameTimeUpdatesAfterDraw); |
| 2365 | 2371 |
| 2366 // Verifies that StartPageScaleAnimation events propagate correctly | 2372 // Verifies that StartPageScaleAnimation events propagate correctly |
| 2367 // from LayerTreeHost to LayerTreeHostImpl in the MT compositor. | 2373 // from LayerTreeHost to LayerTreeHostImpl in the MT compositor. |
| 2368 class LayerTreeHostTestStartPageScaleAnimation : public LayerTreeHostTest { | 2374 class LayerTreeHostTestStartPageScaleAnimation : public LayerTreeHostTest { |
| 2369 public: | 2375 public: |
| 2370 LayerTreeHostTestStartPageScaleAnimation() {} | 2376 LayerTreeHostTestStartPageScaleAnimation() {} |
| 2371 | 2377 |
| 2372 void SetupTree() override { | 2378 void SetupTree() override { |
| 2373 LayerTreeHostTest::SetupTree(); | 2379 LayerTreeHostTest::SetupTree(); |
| 2374 | 2380 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2432 } | 2438 } |
| 2433 } | 2439 } |
| 2434 | 2440 |
| 2435 void AfterTest() override {} | 2441 void AfterTest() override {} |
| 2436 | 2442 |
| 2437 FakeContentLayerClient client_; | 2443 FakeContentLayerClient client_; |
| 2438 scoped_refptr<Layer> scroll_layer_; | 2444 scoped_refptr<Layer> scroll_layer_; |
| 2439 }; | 2445 }; |
| 2440 | 2446 |
| 2441 // Single thread proxy does not support impl-side page scale changes. | 2447 // Single thread proxy does not support impl-side page scale changes. |
| 2448 // Remote test does not support page scale animation. |
| 2442 MULTI_THREAD_TEST_F(LayerTreeHostTestStartPageScaleAnimation); | 2449 MULTI_THREAD_TEST_F(LayerTreeHostTestStartPageScaleAnimation); |
| 2443 | 2450 |
| 2444 class LayerTreeHostTestSetVisible : public LayerTreeHostTest { | 2451 class LayerTreeHostTestSetVisible : public LayerTreeHostTest { |
| 2445 public: | 2452 public: |
| 2446 LayerTreeHostTestSetVisible() : num_draws_(0) {} | 2453 LayerTreeHostTestSetVisible() : num_draws_(0) {} |
| 2447 | 2454 |
| 2448 void BeginTest() override { | 2455 void BeginTest() override { |
| 2449 PostSetNeedsCommitToMainThread(); | 2456 PostSetNeedsCommitToMainThread(); |
| 2450 } | 2457 } |
| 2451 | 2458 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 2462 ++num_draws_; | 2469 ++num_draws_; |
| 2463 EndTest(); | 2470 EndTest(); |
| 2464 } | 2471 } |
| 2465 | 2472 |
| 2466 void AfterTest() override { EXPECT_EQ(1, num_draws_); } | 2473 void AfterTest() override { EXPECT_EQ(1, num_draws_); } |
| 2467 | 2474 |
| 2468 private: | 2475 private: |
| 2469 int num_draws_; | 2476 int num_draws_; |
| 2470 }; | 2477 }; |
| 2471 | 2478 |
| 2472 MULTI_THREAD_TEST_F(LayerTreeHostTestSetVisible); | 2479 REMOTE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSetVisible); |
| 2473 | 2480 |
| 2474 class LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers | 2481 class LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers |
| 2475 : public LayerTreeHostTest { | 2482 : public LayerTreeHostTest { |
| 2476 public: | 2483 public: |
| 2477 LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers() {} | 2484 LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers() {} |
| 2478 | 2485 |
| 2479 void BeginTest() override { | 2486 void BeginTest() override { |
| 2480 client_.set_fill_with_nonsolid_color(true); | 2487 client_.set_fill_with_nonsolid_color(true); |
| 2481 root_layer_ = FakePictureLayer::Create(&client_); | 2488 root_layer_ = FakePictureLayer::Create(&client_); |
| 2482 child_layer_ = FakePictureLayer::Create(&client_); | 2489 child_layer_ = FakePictureLayer::Create(&client_); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2564 } | 2571 } |
| 2565 | 2572 |
| 2566 void AfterTest() override {} | 2573 void AfterTest() override {} |
| 2567 | 2574 |
| 2568 private: | 2575 private: |
| 2569 FakeContentLayerClient client_; | 2576 FakeContentLayerClient client_; |
| 2570 scoped_refptr<FakePictureLayer> root_layer_; | 2577 scoped_refptr<FakePictureLayer> root_layer_; |
| 2571 scoped_refptr<FakePictureLayer> child_layer_; | 2578 scoped_refptr<FakePictureLayer> child_layer_; |
| 2572 }; | 2579 }; |
| 2573 | 2580 |
| 2574 MULTI_THREAD_TEST_F(LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers); | 2581 REMOTE_AND_MULTI_THREAD_TEST_F( |
| 2582 LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers); |
| 2575 | 2583 |
| 2576 class LayerTreeHostTestContinuousInvalidate : public LayerTreeHostTest { | 2584 class LayerTreeHostTestContinuousInvalidate : public LayerTreeHostTest { |
| 2577 public: | 2585 public: |
| 2578 LayerTreeHostTestContinuousInvalidate() | 2586 LayerTreeHostTestContinuousInvalidate() |
| 2579 : num_commit_complete_(0), num_draw_layers_(0) {} | 2587 : num_commit_complete_(0), num_draw_layers_(0) {} |
| 2580 | 2588 |
| 2581 void BeginTest() override { | 2589 void BeginTest() override { |
| 2582 layer_tree()->SetViewportSize(gfx::Size(10, 10)); | 2590 layer_tree()->SetViewportSize(gfx::Size(10, 10)); |
| 2583 layer_tree()->root_layer()->SetBounds(gfx::Size(10, 10)); | 2591 layer_tree()->root_layer()->SetBounds(gfx::Size(10, 10)); |
| 2584 | 2592 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 2614 EXPECT_EQ(1, num_commit_complete_); | 2622 EXPECT_EQ(1, num_commit_complete_); |
| 2615 } | 2623 } |
| 2616 | 2624 |
| 2617 private: | 2625 private: |
| 2618 FakeContentLayerClient client_; | 2626 FakeContentLayerClient client_; |
| 2619 scoped_refptr<Layer> layer_; | 2627 scoped_refptr<Layer> layer_; |
| 2620 int num_commit_complete_; | 2628 int num_commit_complete_; |
| 2621 int num_draw_layers_; | 2629 int num_draw_layers_; |
| 2622 }; | 2630 }; |
| 2623 | 2631 |
| 2624 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestContinuousInvalidate); | 2632 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestContinuousInvalidate); |
| 2625 | 2633 |
| 2626 class LayerTreeHostTestDeferCommits : public LayerTreeHostTest { | 2634 class LayerTreeHostTestDeferCommits : public LayerTreeHostTest { |
| 2627 public: | 2635 public: |
| 2628 LayerTreeHostTestDeferCommits() | 2636 LayerTreeHostTestDeferCommits() |
| 2629 : num_will_begin_impl_frame_(0), num_send_begin_main_frame_(0) {} | 2637 : num_will_begin_impl_frame_(0), num_send_begin_main_frame_(0) {} |
| 2630 | 2638 |
| 2631 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 2639 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 2632 | 2640 |
| 2633 void WillBeginImplFrameOnThread(LayerTreeHostImpl* host_impl, | 2641 void WillBeginImplFrameOnThread(LayerTreeHostImpl* host_impl, |
| 2634 const BeginFrameArgs& args) override { | 2642 const BeginFrameArgs& args) override { |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2672 void AfterTest() override { | 2680 void AfterTest() override { |
| 2673 EXPECT_GE(num_will_begin_impl_frame_, 5); | 2681 EXPECT_GE(num_will_begin_impl_frame_, 5); |
| 2674 EXPECT_EQ(2, num_send_begin_main_frame_); | 2682 EXPECT_EQ(2, num_send_begin_main_frame_); |
| 2675 } | 2683 } |
| 2676 | 2684 |
| 2677 private: | 2685 private: |
| 2678 int num_will_begin_impl_frame_; | 2686 int num_will_begin_impl_frame_; |
| 2679 int num_send_begin_main_frame_; | 2687 int num_send_begin_main_frame_; |
| 2680 }; | 2688 }; |
| 2681 | 2689 |
| 2682 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeferCommits); | 2690 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestDeferCommits); |
| 2683 | 2691 |
| 2684 class LayerTreeHostTestCompositeImmediatelyStateTransitions | 2692 class LayerTreeHostTestCompositeImmediatelyStateTransitions |
| 2685 : public LayerTreeHostTest { | 2693 : public LayerTreeHostTest { |
| 2686 public: | 2694 public: |
| 2687 enum { | 2695 enum { |
| 2688 kInvalid, | 2696 kInvalid, |
| 2689 kStartedTest, | 2697 kStartedTest, |
| 2690 kStartedImplFrame, | 2698 kStartedImplFrame, |
| 2691 kStartedMainFrame, | 2699 kStartedMainFrame, |
| 2692 kStartedCommit, | 2700 kStartedCommit, |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2831 } | 2839 } |
| 2832 } | 2840 } |
| 2833 | 2841 |
| 2834 void AfterTest() override {} | 2842 void AfterTest() override {} |
| 2835 | 2843 |
| 2836 private: | 2844 private: |
| 2837 FakeContentLayerClient client_; | 2845 FakeContentLayerClient client_; |
| 2838 int num_tiles_rastered_; | 2846 int num_tiles_rastered_; |
| 2839 }; | 2847 }; |
| 2840 | 2848 |
| 2841 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestLCDChange); | 2849 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestLCDChange); |
| 2842 | 2850 |
| 2843 class LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled | 2851 class LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled |
| 2844 : public LayerTreeHostTest { | 2852 : public LayerTreeHostTest { |
| 2845 public: | 2853 public: |
| 2846 void InitializeSettings(LayerTreeSettings* settings) override { | 2854 void InitializeSettings(LayerTreeSettings* settings) override { |
| 2847 settings->using_synchronous_renderer_compositor = true; | 2855 settings->using_synchronous_renderer_compositor = true; |
| 2848 } | 2856 } |
| 2849 | 2857 |
| 2850 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 2858 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 2851 | 2859 |
| 2852 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { | 2860 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { |
| 2853 // The BeginFrame notification is turned off now but will get enabled | 2861 // The BeginFrame notification is turned off now but will get enabled |
| 2854 // once we return. End test while it's enabled. | 2862 // once we return. End test while it's enabled. |
| 2855 ImplThreadTaskRunner()->PostTask( | 2863 ImplThreadTaskRunner()->PostTask( |
| 2856 FROM_HERE, | 2864 FROM_HERE, |
| 2857 base::Bind(&LayerTreeHostTest::EndTest, base::Unretained(this))); | 2865 base::Bind(&LayerTreeHostTest::EndTest, base::Unretained(this))); |
| 2858 } | 2866 } |
| 2859 | 2867 |
| 2860 void AfterTest() override {} | 2868 void AfterTest() override {} |
| 2861 }; | 2869 }; |
| 2862 | 2870 |
| 2871 // No remote test since synchronous renderer compositor is not supported for LTH |
| 2872 // remote. |
| 2863 MULTI_THREAD_TEST_F( | 2873 MULTI_THREAD_TEST_F( |
| 2864 LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled); | 2874 LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled); |
| 2865 | 2875 |
| 2866 class LayerTreeHostTestAbortedCommitDoesntStall : public LayerTreeHostTest { | 2876 class LayerTreeHostTestAbortedCommitDoesntStall : public LayerTreeHostTest { |
| 2867 protected: | 2877 protected: |
| 2868 LayerTreeHostTestAbortedCommitDoesntStall() | 2878 LayerTreeHostTestAbortedCommitDoesntStall() |
| 2869 : commit_count_(0), commit_abort_count_(0), commit_complete_count_(0) {} | 2879 : commit_count_(0), commit_abort_count_(0), commit_complete_count_(0) {} |
| 2870 | 2880 |
| 2871 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 2881 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 2872 | 2882 |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2977 ImplThreadTaskRunner()->PostTask( | 2987 ImplThreadTaskRunner()->PostTask( |
| 2978 FROM_HERE, base::Bind(&OnDrawCompositorFrameSink::OnDraw, | 2988 FROM_HERE, base::Bind(&OnDrawCompositorFrameSink::OnDraw, |
| 2979 base::Unretained(compositor_frame_sink_), | 2989 base::Unretained(compositor_frame_sink_), |
| 2980 resourceless_software_draw)); | 2990 resourceless_software_draw)); |
| 2981 } | 2991 } |
| 2982 } | 2992 } |
| 2983 | 2993 |
| 2984 OnDrawCompositorFrameSink* compositor_frame_sink_ = nullptr; | 2994 OnDrawCompositorFrameSink* compositor_frame_sink_ = nullptr; |
| 2985 }; | 2995 }; |
| 2986 | 2996 |
| 2997 // No remote test since synchronous renderer compositor is not supported for LTH |
| 2998 // remote. |
| 2987 MULTI_THREAD_TEST_F( | 2999 MULTI_THREAD_TEST_F( |
| 2988 LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor); | 3000 LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor); |
| 2989 | 3001 |
| 2990 class LayerTreeHostTestUninvertibleTransformDoesNotBlockActivation | 3002 class LayerTreeHostTestUninvertibleTransformDoesNotBlockActivation |
| 2991 : public LayerTreeHostTest { | 3003 : public LayerTreeHostTest { |
| 2992 protected: | 3004 protected: |
| 2993 void SetupTree() override { | 3005 void SetupTree() override { |
| 2994 LayerTreeHostTest::SetupTree(); | 3006 LayerTreeHostTest::SetupTree(); |
| 2995 | 3007 |
| 2996 scoped_refptr<Layer> layer = PictureLayer::Create(&client_); | 3008 scoped_refptr<Layer> layer = PictureLayer::Create(&client_); |
| 2997 layer->SetTransform(gfx::Transform(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); | 3009 layer->SetTransform(gfx::Transform(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); |
| 2998 layer->SetBounds(gfx::Size(10, 10)); | 3010 layer->SetBounds(gfx::Size(10, 10)); |
| 2999 layer_tree()->root_layer()->AddChild(layer); | 3011 layer_tree()->root_layer()->AddChild(layer); |
| 3000 client_.set_bounds(layer->bounds()); | 3012 client_.set_bounds(layer->bounds()); |
| 3001 } | 3013 } |
| 3002 | 3014 |
| 3003 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 3015 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 3004 | 3016 |
| 3005 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { | 3017 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { |
| 3006 EndTest(); | 3018 EndTest(); |
| 3007 } | 3019 } |
| 3008 | 3020 |
| 3009 void AfterTest() override {} | 3021 void AfterTest() override {} |
| 3010 | 3022 |
| 3011 FakeContentLayerClient client_; | 3023 FakeContentLayerClient client_; |
| 3012 }; | 3024 }; |
| 3013 | 3025 |
| 3014 SINGLE_AND_MULTI_THREAD_TEST_F( | 3026 SINGLE_MULTI_AND_REMOTE_TEST_F( |
| 3015 LayerTreeHostTestUninvertibleTransformDoesNotBlockActivation); | 3027 LayerTreeHostTestUninvertibleTransformDoesNotBlockActivation); |
| 3016 | 3028 |
| 3017 class LayerTreeHostTestNumFramesPending : public LayerTreeHostTest { | 3029 class LayerTreeHostTestNumFramesPending : public LayerTreeHostTest { |
| 3018 public: | 3030 public: |
| 3019 void BeginTest() override { | 3031 void BeginTest() override { |
| 3020 frame_ = 0; | 3032 frame_ = 0; |
| 3021 PostSetNeedsCommitToMainThread(); | 3033 PostSetNeedsCommitToMainThread(); |
| 3022 } | 3034 } |
| 3023 | 3035 |
| 3024 // Round 1: commit + draw | 3036 // Round 1: commit + draw |
| (...skipping 28 matching lines...) Expand all Loading... |
| 3053 break; | 3065 break; |
| 3054 } | 3066 } |
| 3055 } | 3067 } |
| 3056 | 3068 |
| 3057 void AfterTest() override {} | 3069 void AfterTest() override {} |
| 3058 | 3070 |
| 3059 protected: | 3071 protected: |
| 3060 int frame_; | 3072 int frame_; |
| 3061 }; | 3073 }; |
| 3062 | 3074 |
| 3063 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestNumFramesPending); | 3075 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestNumFramesPending); |
| 3064 | 3076 |
| 3065 class LayerTreeHostTestResourcelessSoftwareDraw : public LayerTreeHostTest { | 3077 class LayerTreeHostTestResourcelessSoftwareDraw : public LayerTreeHostTest { |
| 3066 protected: | 3078 protected: |
| 3067 void InitializeSettings(LayerTreeSettings* settings) override { | 3079 void InitializeSettings(LayerTreeSettings* settings) override { |
| 3068 settings->using_synchronous_renderer_compositor = true; | 3080 settings->using_synchronous_renderer_compositor = true; |
| 3069 } | 3081 } |
| 3070 | 3082 |
| 3071 void SetupTree() override { | 3083 void SetupTree() override { |
| 3072 root_layer_ = FakePictureLayer::Create(&client_); | 3084 root_layer_ = FakePictureLayer::Create(&client_); |
| 3073 root_layer_->SetIsDrawable(true); | 3085 root_layer_->SetIsDrawable(true); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3159 private: | 3171 private: |
| 3160 OnDrawCompositorFrameSink* compositor_frame_sink_ = nullptr; | 3172 OnDrawCompositorFrameSink* compositor_frame_sink_ = nullptr; |
| 3161 FakeContentLayerClient client_; | 3173 FakeContentLayerClient client_; |
| 3162 scoped_refptr<Layer> root_layer_; | 3174 scoped_refptr<Layer> root_layer_; |
| 3163 scoped_refptr<Layer> parent_layer_; | 3175 scoped_refptr<Layer> parent_layer_; |
| 3164 scoped_refptr<Layer> child_layer_; | 3176 scoped_refptr<Layer> child_layer_; |
| 3165 int draw_count_ = 0; | 3177 int draw_count_ = 0; |
| 3166 }; | 3178 }; |
| 3167 | 3179 |
| 3168 // Resourceless is not used for SingleThreadProxy, so it is unimplemented. | 3180 // Resourceless is not used for SingleThreadProxy, so it is unimplemented. |
| 3181 // No remote test since synchronous renderer compositor is not supported for LTH |
| 3182 // remote. |
| 3169 MULTI_THREAD_TEST_F(LayerTreeHostTestResourcelessSoftwareDraw); | 3183 MULTI_THREAD_TEST_F(LayerTreeHostTestResourcelessSoftwareDraw); |
| 3170 | 3184 |
| 3171 // Test for UI Resource management. | 3185 // Test for UI Resource management. |
| 3172 class LayerTreeHostTestUIResource : public LayerTreeHostTest { | 3186 class LayerTreeHostTestUIResource : public LayerTreeHostTest { |
| 3173 public: | 3187 public: |
| 3174 LayerTreeHostTestUIResource() : num_ui_resources_(0) {} | 3188 LayerTreeHostTestUIResource() : num_ui_resources_(0) {} |
| 3175 | 3189 |
| 3176 void InitializeSettings(LayerTreeSettings* settings) override { | 3190 void InitializeSettings(LayerTreeSettings* settings) override { |
| 3177 settings->renderer_settings.texture_id_allocation_chunk_size = 1; | 3191 settings->renderer_settings.texture_id_allocation_chunk_size = 1; |
| 3178 } | 3192 } |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3255 | 3269 |
| 3256 void CreateResource() { | 3270 void CreateResource() { |
| 3257 ui_resources_[num_ui_resources_++] = | 3271 ui_resources_[num_ui_resources_++] = |
| 3258 FakeScopedUIResource::Create(layer_tree_host()->GetUIResourceManager()); | 3272 FakeScopedUIResource::Create(layer_tree_host()->GetUIResourceManager()); |
| 3259 } | 3273 } |
| 3260 | 3274 |
| 3261 std::unique_ptr<FakeScopedUIResource> ui_resources_[5]; | 3275 std::unique_ptr<FakeScopedUIResource> ui_resources_[5]; |
| 3262 int num_ui_resources_; | 3276 int num_ui_resources_; |
| 3263 }; | 3277 }; |
| 3264 | 3278 |
| 3279 // No remote test since LTH remote does not support UIResourceLayers and |
| 3280 // PaintedScrollbarLayers, which uses UIResourceManager. |
| 3265 MULTI_THREAD_TEST_F(LayerTreeHostTestUIResource); | 3281 MULTI_THREAD_TEST_F(LayerTreeHostTestUIResource); |
| 3266 | 3282 |
| 3267 class PushPropertiesCountingLayerImpl : public LayerImpl { | |
| 3268 public: | |
| 3269 static std::unique_ptr<PushPropertiesCountingLayerImpl> Create( | |
| 3270 LayerTreeImpl* tree_impl, | |
| 3271 int id) { | |
| 3272 return base::WrapUnique(new PushPropertiesCountingLayerImpl(tree_impl, id)); | |
| 3273 } | |
| 3274 | |
| 3275 ~PushPropertiesCountingLayerImpl() override {} | |
| 3276 | |
| 3277 void PushPropertiesTo(LayerImpl* layer) override { | |
| 3278 LayerImpl::PushPropertiesTo(layer); | |
| 3279 push_properties_count_++; | |
| 3280 // Push state to the active tree because we can only access it from there. | |
| 3281 static_cast<PushPropertiesCountingLayerImpl*>(layer) | |
| 3282 ->push_properties_count_ = push_properties_count_; | |
| 3283 } | |
| 3284 | |
| 3285 std::unique_ptr<LayerImpl> CreateLayerImpl( | |
| 3286 LayerTreeImpl* tree_impl) override { | |
| 3287 return PushPropertiesCountingLayerImpl::Create(tree_impl, id()); | |
| 3288 } | |
| 3289 | |
| 3290 size_t push_properties_count() const { return push_properties_count_; } | |
| 3291 void reset_push_properties_count() { push_properties_count_ = 0; } | |
| 3292 | |
| 3293 private: | |
| 3294 size_t push_properties_count_; | |
| 3295 | |
| 3296 PushPropertiesCountingLayerImpl(LayerTreeImpl* tree_impl, int id) | |
| 3297 : LayerImpl(tree_impl, id), push_properties_count_(0) { | |
| 3298 SetBounds(gfx::Size(1, 1)); | |
| 3299 } | |
| 3300 }; | |
| 3301 | |
| 3302 class PushPropertiesCountingLayer : public Layer { | |
| 3303 public: | |
| 3304 static scoped_refptr<PushPropertiesCountingLayer> Create() { | |
| 3305 return new PushPropertiesCountingLayer(); | |
| 3306 } | |
| 3307 | |
| 3308 void PushPropertiesTo(LayerImpl* layer) override { | |
| 3309 Layer::PushPropertiesTo(layer); | |
| 3310 push_properties_count_++; | |
| 3311 if (persist_needs_push_properties_) { | |
| 3312 GetLayerTree()->AddLayerShouldPushProperties(this); | |
| 3313 } | |
| 3314 } | |
| 3315 | |
| 3316 // Something to make this layer push properties, but no other layer. | |
| 3317 void MakePushProperties() { SetContentsOpaque(!contents_opaque()); } | |
| 3318 | |
| 3319 std::unique_ptr<LayerImpl> CreateLayerImpl( | |
| 3320 LayerTreeImpl* tree_impl) override { | |
| 3321 return PushPropertiesCountingLayerImpl::Create(tree_impl, id()); | |
| 3322 } | |
| 3323 | |
| 3324 void SetDrawsContent(bool draws_content) { SetIsDrawable(draws_content); } | |
| 3325 | |
| 3326 size_t push_properties_count() const { return push_properties_count_; } | |
| 3327 void reset_push_properties_count() { push_properties_count_ = 0; } | |
| 3328 | |
| 3329 void set_persist_needs_push_properties(bool persist) { | |
| 3330 persist_needs_push_properties_ = persist; | |
| 3331 } | |
| 3332 | |
| 3333 private: | |
| 3334 PushPropertiesCountingLayer() | |
| 3335 : push_properties_count_(0), persist_needs_push_properties_(false) { | |
| 3336 SetBounds(gfx::Size(1, 1)); | |
| 3337 } | |
| 3338 ~PushPropertiesCountingLayer() override {} | |
| 3339 | |
| 3340 size_t push_properties_count_; | |
| 3341 bool persist_needs_push_properties_; | |
| 3342 }; | |
| 3343 | |
| 3344 class LayerTreeHostTestLayersPushProperties : public LayerTreeHostTest { | 3283 class LayerTreeHostTestLayersPushProperties : public LayerTreeHostTest { |
| 3345 protected: | 3284 protected: |
| 3346 void BeginTest() override { | 3285 void BeginTest() override { |
| 3347 num_commits_ = 0; | 3286 num_commits_ = 0; |
| 3348 expected_push_properties_root_ = 0; | 3287 expected_push_properties_root_ = 0; |
| 3349 expected_push_properties_child_ = 0; | 3288 expected_push_properties_child_ = 0; |
| 3350 expected_push_properties_grandchild_ = 0; | 3289 expected_push_properties_grandchild_ = 0; |
| 3351 expected_push_properties_child2_ = 0; | 3290 expected_push_properties_child2_ = 0; |
| 3352 expected_push_properties_other_root_ = 0; | 3291 expected_push_properties_other_root_ = 0; |
| 3353 expected_push_properties_leaf_layer_ = 0; | 3292 expected_push_properties_leaf_layer_ = 0; |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3534 scoped_refptr<PushPropertiesCountingLayer> other_root_; | 3473 scoped_refptr<PushPropertiesCountingLayer> other_root_; |
| 3535 scoped_refptr<PushPropertiesCountingLayer> leaf_always_pushing_layer_; | 3474 scoped_refptr<PushPropertiesCountingLayer> leaf_always_pushing_layer_; |
| 3536 size_t expected_push_properties_root_; | 3475 size_t expected_push_properties_root_; |
| 3537 size_t expected_push_properties_child_; | 3476 size_t expected_push_properties_child_; |
| 3538 size_t expected_push_properties_child2_; | 3477 size_t expected_push_properties_child2_; |
| 3539 size_t expected_push_properties_grandchild_; | 3478 size_t expected_push_properties_grandchild_; |
| 3540 size_t expected_push_properties_other_root_; | 3479 size_t expected_push_properties_other_root_; |
| 3541 size_t expected_push_properties_leaf_layer_; | 3480 size_t expected_push_properties_leaf_layer_; |
| 3542 }; | 3481 }; |
| 3543 | 3482 |
| 3483 // No remote test because LTH remote does not build property trees, so layers |
| 3484 // to push properties are different between engine and client. |
| 3485 // See crbug/655795. |
| 3544 MULTI_THREAD_TEST_F(LayerTreeHostTestLayersPushProperties); | 3486 MULTI_THREAD_TEST_F(LayerTreeHostTestLayersPushProperties); |
| 3545 | 3487 |
| 3546 class LayerTreeHostTestImplLayersPushProperties | 3488 class LayerTreeHostTestImplLayersPushProperties |
| 3547 : public LayerTreeHostTestLayersPushProperties { | 3489 : public LayerTreeHostTestLayersPushProperties { |
| 3548 protected: | 3490 protected: |
| 3549 void BeginTest() override { | 3491 void BeginTest() override { |
| 3550 expected_push_properties_root_impl_ = 0; | 3492 expected_push_properties_root_impl_ = 0; |
| 3551 expected_push_properties_child_impl_ = 0; | 3493 expected_push_properties_child_impl_ = 0; |
| 3552 expected_push_properties_grandchild_impl_ = 0; | 3494 expected_push_properties_grandchild_impl_ = 0; |
| 3553 expected_push_properties_child2_impl_ = 0; | 3495 expected_push_properties_child2_impl_ = 0; |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3730 leaf_always_pushing_layer_impl_->push_properties_count()); | 3672 leaf_always_pushing_layer_impl_->push_properties_count()); |
| 3731 } | 3673 } |
| 3732 | 3674 |
| 3733 size_t expected_push_properties_root_impl_; | 3675 size_t expected_push_properties_root_impl_; |
| 3734 size_t expected_push_properties_child_impl_; | 3676 size_t expected_push_properties_child_impl_; |
| 3735 size_t expected_push_properties_child2_impl_; | 3677 size_t expected_push_properties_child2_impl_; |
| 3736 size_t expected_push_properties_grandchild_impl_; | 3678 size_t expected_push_properties_grandchild_impl_; |
| 3737 size_t expected_push_properties_grandchild2_impl_; | 3679 size_t expected_push_properties_grandchild2_impl_; |
| 3738 }; | 3680 }; |
| 3739 | 3681 |
| 3740 // In single thread there's no pending tree to push properties from. | 3682 // No remote test because LTH remote does not build property trees, so layers |
| 3683 // to push properties are different between engine and client. |
| 3684 // See crbug/655795. |
| 3741 MULTI_THREAD_TEST_F(LayerTreeHostTestImplLayersPushProperties); | 3685 MULTI_THREAD_TEST_F(LayerTreeHostTestImplLayersPushProperties); |
| 3742 | 3686 |
| 3743 class LayerTreeHostTestPropertyChangesDuringUpdateArePushed | 3687 class LayerTreeHostTestPropertyChangesDuringUpdateArePushed |
| 3744 : public LayerTreeHostTest { | 3688 : public LayerTreeHostTest { |
| 3745 protected: | 3689 protected: |
| 3746 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 3690 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 3747 | 3691 |
| 3748 void SetupTree() override { | 3692 void SetupTree() override { |
| 3749 root_ = Layer::Create(); | 3693 root_ = Layer::Create(); |
| 3750 root_->SetBounds(gfx::Size(1, 1)); | 3694 root_->SetBounds(gfx::Size(1, 1)); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3788 break; | 3732 break; |
| 3789 } | 3733 } |
| 3790 } | 3734 } |
| 3791 | 3735 |
| 3792 void AfterTest() override {} | 3736 void AfterTest() override {} |
| 3793 | 3737 |
| 3794 scoped_refptr<Layer> root_; | 3738 scoped_refptr<Layer> root_; |
| 3795 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_layer_; | 3739 scoped_refptr<FakePaintedScrollbarLayer> scrollbar_layer_; |
| 3796 }; | 3740 }; |
| 3797 | 3741 |
| 3742 // No remote test since remote LTH does not support PaintedScrollbarLayer. |
| 3798 MULTI_THREAD_TEST_F(LayerTreeHostTestPropertyChangesDuringUpdateArePushed); | 3743 MULTI_THREAD_TEST_F(LayerTreeHostTestPropertyChangesDuringUpdateArePushed); |
| 3799 | 3744 |
| 3800 class LayerTreeHostTestSetDrawableCausesCommit : public LayerTreeHostTest { | 3745 class LayerTreeHostTestSetDrawableCausesCommit : public LayerTreeHostTest { |
| 3801 protected: | 3746 protected: |
| 3802 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 3747 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 3803 | 3748 |
| 3804 void SetupTree() override { | 3749 void SetupTree() override { |
| 3805 root_ = PushPropertiesCountingLayer::Create(); | 3750 root_ = PushPropertiesCountingLayer::Create(); |
| 3806 child_ = PushPropertiesCountingLayer::Create(); | 3751 child_ = PushPropertiesCountingLayer::Create(); |
| 3807 root_->AddChild(child_); | 3752 root_->AddChild(child_); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3848 break; | 3793 break; |
| 3849 } | 3794 } |
| 3850 } | 3795 } |
| 3851 | 3796 |
| 3852 void AfterTest() override {} | 3797 void AfterTest() override {} |
| 3853 | 3798 |
| 3854 scoped_refptr<PushPropertiesCountingLayer> root_; | 3799 scoped_refptr<PushPropertiesCountingLayer> root_; |
| 3855 scoped_refptr<PushPropertiesCountingLayer> child_; | 3800 scoped_refptr<PushPropertiesCountingLayer> child_; |
| 3856 }; | 3801 }; |
| 3857 | 3802 |
| 3858 MULTI_THREAD_TEST_F(LayerTreeHostTestSetDrawableCausesCommit); | 3803 REMOTE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSetDrawableCausesCommit); |
| 3859 | 3804 |
| 3860 class LayerTreeHostTestCasePushPropertiesThreeGrandChildren | 3805 class LayerTreeHostTestCasePushPropertiesThreeGrandChildren |
| 3861 : public LayerTreeHostTest { | 3806 : public LayerTreeHostTest { |
| 3862 protected: | 3807 protected: |
| 3863 void BeginTest() override { | 3808 void BeginTest() override { |
| 3864 expected_push_properties_root_ = 0; | 3809 expected_push_properties_root_ = 0; |
| 3865 expected_push_properties_child_ = 0; | 3810 expected_push_properties_child_ = 0; |
| 3866 expected_push_properties_grandchild1_ = 0; | 3811 expected_push_properties_grandchild1_ = 0; |
| 3867 expected_push_properties_grandchild2_ = 0; | 3812 expected_push_properties_grandchild2_ = 0; |
| 3868 expected_push_properties_grandchild3_ = 0; | 3813 expected_push_properties_grandchild3_ = 0; |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3921 EXPECT_TRUE(layer_tree()->LayerNeedsPushPropertiesForTesting( | 3866 EXPECT_TRUE(layer_tree()->LayerNeedsPushPropertiesForTesting( |
| 3922 grandchild3_.get())); | 3867 grandchild3_.get())); |
| 3923 break; | 3868 break; |
| 3924 case 1: | 3869 case 1: |
| 3925 EndTest(); | 3870 EndTest(); |
| 3926 break; | 3871 break; |
| 3927 } | 3872 } |
| 3928 } | 3873 } |
| 3929 }; | 3874 }; |
| 3930 | 3875 |
| 3931 MULTI_THREAD_TEST_F(LayerTreeHostTestPushPropertiesAddingToTreeRequiresPush); | 3876 REMOTE_AND_MULTI_THREAD_TEST_F( |
| 3877 LayerTreeHostTestPushPropertiesAddingToTreeRequiresPush); |
| 3932 | 3878 |
| 3933 class LayerTreeHostTestPushPropertiesRemovingChildStopsRecursion | 3879 class LayerTreeHostTestPushPropertiesRemovingChildStopsRecursion |
| 3934 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { | 3880 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { |
| 3935 protected: | 3881 protected: |
| 3936 void DidCommitAndDrawFrame() override { | 3882 void DidCommitAndDrawFrame() override { |
| 3937 int last_source_frame_number = layer_tree_host()->SourceFrameNumber() - 1; | 3883 int last_source_frame_number = layer_tree_host()->SourceFrameNumber() - 1; |
| 3938 switch (last_source_frame_number) { | 3884 switch (last_source_frame_number) { |
| 3939 case 0: | 3885 case 0: |
| 3940 layer_tree()->SetRootLayer(root_); | 3886 layer_tree()->SetRootLayer(root_); |
| 3941 break; | 3887 break; |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4004 EXPECT_FALSE( | 3950 EXPECT_FALSE( |
| 4005 layer_tree()->LayerNeedsPushPropertiesForTesting(root_.get())); | 3951 layer_tree()->LayerNeedsPushPropertiesForTesting(root_.get())); |
| 4006 EXPECT_FALSE( | 3952 EXPECT_FALSE( |
| 4007 layer_tree()->LayerNeedsPushPropertiesForTesting(child_.get())); | 3953 layer_tree()->LayerNeedsPushPropertiesForTesting(child_.get())); |
| 4008 EndTest(); | 3954 EndTest(); |
| 4009 break; | 3955 break; |
| 4010 } | 3956 } |
| 4011 } | 3957 } |
| 4012 }; | 3958 }; |
| 4013 | 3959 |
| 4014 MULTI_THREAD_TEST_F(LayerTreeHostTestPushPropertiesRemovingChildStopsRecursion); | 3960 REMOTE_AND_MULTI_THREAD_TEST_F( |
| 3961 LayerTreeHostTestPushPropertiesRemovingChildStopsRecursion); |
| 4015 | 3962 |
| 4016 class LayerTreeHostTestPushPropertiesRemovingChildStopsRecursionWithPersistence | 3963 class LayerTreeHostTestPushPropertiesRemovingChildStopsRecursionWithPersistence |
| 4017 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { | 3964 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { |
| 4018 protected: | 3965 protected: |
| 4019 void DidCommitAndDrawFrame() override { | 3966 void DidCommitAndDrawFrame() override { |
| 4020 LayerTree* layer_tree = layer_tree_host()->GetLayerTree(); | 3967 LayerTree* layer_tree = layer_tree_host()->GetLayerTree(); |
| 4021 int last_source_frame_number = layer_tree_host()->SourceFrameNumber() - 1; | 3968 int last_source_frame_number = layer_tree_host()->SourceFrameNumber() - 1; |
| 4022 switch (last_source_frame_number) { | 3969 switch (last_source_frame_number) { |
| 4023 case 0: | 3970 case 0: |
| 4024 layer_tree->SetRootLayer(root_); | 3971 layer_tree->SetRootLayer(root_); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 4052 EXPECT_FALSE( | 3999 EXPECT_FALSE( |
| 4053 layer_tree->LayerNeedsPushPropertiesForTesting(root_.get())); | 4000 layer_tree->LayerNeedsPushPropertiesForTesting(root_.get())); |
| 4054 EXPECT_FALSE( | 4001 EXPECT_FALSE( |
| 4055 layer_tree->LayerNeedsPushPropertiesForTesting(child_.get())); | 4002 layer_tree->LayerNeedsPushPropertiesForTesting(child_.get())); |
| 4056 EndTest(); | 4003 EndTest(); |
| 4057 break; | 4004 break; |
| 4058 } | 4005 } |
| 4059 } | 4006 } |
| 4060 }; | 4007 }; |
| 4061 | 4008 |
| 4062 MULTI_THREAD_TEST_F( | 4009 REMOTE_AND_MULTI_THREAD_TEST_F( |
| 4063 LayerTreeHostTestPushPropertiesRemovingChildStopsRecursionWithPersistence); | 4010 LayerTreeHostTestPushPropertiesRemovingChildStopsRecursionWithPersistence); |
| 4064 | 4011 |
| 4065 class LayerTreeHostTestPushPropertiesSetPropertiesWhileOutsideTree | 4012 class LayerTreeHostTestPushPropertiesSetPropertiesWhileOutsideTree |
| 4066 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { | 4013 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { |
| 4067 protected: | 4014 protected: |
| 4068 void DidCommitAndDrawFrame() override { | 4015 void DidCommitAndDrawFrame() override { |
| 4069 LayerTree* layer_tree = layer_tree_host()->GetLayerTree(); | 4016 LayerTree* layer_tree = layer_tree_host()->GetLayerTree(); |
| 4070 int last_source_frame_number = layer_tree_host()->SourceFrameNumber() - 1; | 4017 int last_source_frame_number = layer_tree_host()->SourceFrameNumber() - 1; |
| 4071 switch (last_source_frame_number) { | 4018 switch (last_source_frame_number) { |
| 4072 case 0: | 4019 case 0: |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4121 layer_tree->LayerNeedsPushPropertiesForTesting(root_.get())); | 4068 layer_tree->LayerNeedsPushPropertiesForTesting(root_.get())); |
| 4122 EXPECT_TRUE( | 4069 EXPECT_TRUE( |
| 4123 layer_tree->LayerNeedsPushPropertiesForTesting(child_.get())); | 4070 layer_tree->LayerNeedsPushPropertiesForTesting(child_.get())); |
| 4124 | 4071 |
| 4125 EndTest(); | 4072 EndTest(); |
| 4126 break; | 4073 break; |
| 4127 } | 4074 } |
| 4128 } | 4075 } |
| 4129 }; | 4076 }; |
| 4130 | 4077 |
| 4131 MULTI_THREAD_TEST_F( | 4078 REMOTE_AND_MULTI_THREAD_TEST_F( |
| 4132 LayerTreeHostTestPushPropertiesSetPropertiesWhileOutsideTree); | 4079 LayerTreeHostTestPushPropertiesSetPropertiesWhileOutsideTree); |
| 4133 | 4080 |
| 4134 class LayerTreeHostTestPushPropertiesSetPropertyInParentThenChild | 4081 class LayerTreeHostTestPushPropertiesSetPropertyInParentThenChild |
| 4135 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { | 4082 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { |
| 4136 protected: | 4083 protected: |
| 4137 void DidCommitAndDrawFrame() override { | 4084 void DidCommitAndDrawFrame() override { |
| 4138 LayerTree* layer_tree = layer_tree_host()->GetLayerTree(); | 4085 LayerTree* layer_tree = layer_tree_host()->GetLayerTree(); |
| 4139 int last_source_frame_number = layer_tree_host()->SourceFrameNumber() - 1; | 4086 int last_source_frame_number = layer_tree_host()->SourceFrameNumber() - 1; |
| 4140 switch (last_source_frame_number) { | 4087 switch (last_source_frame_number) { |
| 4141 case 0: | 4088 case 0: |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4186 | 4133 |
| 4187 EXPECT_FALSE( | 4134 EXPECT_FALSE( |
| 4188 layer_tree->LayerNeedsPushPropertiesForTesting(root_.get())); | 4135 layer_tree->LayerNeedsPushPropertiesForTesting(root_.get())); |
| 4189 | 4136 |
| 4190 EndTest(); | 4137 EndTest(); |
| 4191 break; | 4138 break; |
| 4192 } | 4139 } |
| 4193 } | 4140 } |
| 4194 }; | 4141 }; |
| 4195 | 4142 |
| 4196 MULTI_THREAD_TEST_F( | 4143 REMOTE_AND_MULTI_THREAD_TEST_F( |
| 4197 LayerTreeHostTestPushPropertiesSetPropertyInParentThenChild); | 4144 LayerTreeHostTestPushPropertiesSetPropertyInParentThenChild); |
| 4198 | 4145 |
| 4199 class LayerTreeHostTestPushPropertiesSetPropertyInChildThenParent | 4146 class LayerTreeHostTestPushPropertiesSetPropertyInChildThenParent |
| 4200 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { | 4147 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { |
| 4201 protected: | 4148 protected: |
| 4202 void DidCommitAndDrawFrame() override { | 4149 void DidCommitAndDrawFrame() override { |
| 4203 LayerTree* layer_tree = layer_tree_host()->GetLayerTree(); | 4150 LayerTree* layer_tree = layer_tree_host()->GetLayerTree(); |
| 4204 int last_source_frame_number = layer_tree_host()->SourceFrameNumber() - 1; | 4151 int last_source_frame_number = layer_tree_host()->SourceFrameNumber() - 1; |
| 4205 switch (last_source_frame_number) { | 4152 switch (last_source_frame_number) { |
| 4206 case 0: | 4153 case 0: |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4251 | 4198 |
| 4252 EXPECT_FALSE( | 4199 EXPECT_FALSE( |
| 4253 layer_tree->LayerNeedsPushPropertiesForTesting(root_.get())); | 4200 layer_tree->LayerNeedsPushPropertiesForTesting(root_.get())); |
| 4254 | 4201 |
| 4255 EndTest(); | 4202 EndTest(); |
| 4256 break; | 4203 break; |
| 4257 } | 4204 } |
| 4258 } | 4205 } |
| 4259 }; | 4206 }; |
| 4260 | 4207 |
| 4261 MULTI_THREAD_TEST_F( | 4208 REMOTE_AND_MULTI_THREAD_TEST_F( |
| 4262 LayerTreeHostTestPushPropertiesSetPropertyInChildThenParent); | 4209 LayerTreeHostTestPushPropertiesSetPropertyInChildThenParent); |
| 4263 | 4210 |
| 4264 // This test verifies that the tree activation callback is invoked correctly. | 4211 // This test verifies that the tree activation callback is invoked correctly. |
| 4265 class LayerTreeHostTestTreeActivationCallback : public LayerTreeHostTest { | 4212 class LayerTreeHostTestTreeActivationCallback : public LayerTreeHostTest { |
| 4266 public: | 4213 public: |
| 4267 LayerTreeHostTestTreeActivationCallback() | 4214 LayerTreeHostTestTreeActivationCallback() |
| 4268 : num_commits_(0), callback_count_(0) {} | 4215 : num_commits_(0), callback_count_(0) {} |
| 4269 | 4216 |
| 4270 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 4217 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 4271 | 4218 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4310 base::Unretained(this)) | 4257 base::Unretained(this)) |
| 4311 : base::Closure()); | 4258 : base::Closure()); |
| 4312 } | 4259 } |
| 4313 | 4260 |
| 4314 void ActivationCallback() { ++callback_count_; } | 4261 void ActivationCallback() { ++callback_count_; } |
| 4315 | 4262 |
| 4316 int num_commits_; | 4263 int num_commits_; |
| 4317 int callback_count_; | 4264 int callback_count_; |
| 4318 }; | 4265 }; |
| 4319 | 4266 |
| 4320 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestTreeActivationCallback); | 4267 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestTreeActivationCallback); |
| 4321 | 4268 |
| 4322 class LayerInvalidateCausesDraw : public LayerTreeHostTest { | 4269 class LayerInvalidateCausesDraw : public LayerTreeHostTest { |
| 4323 public: | 4270 public: |
| 4324 LayerInvalidateCausesDraw() : num_commits_(0), num_draws_(0) {} | 4271 LayerInvalidateCausesDraw() : num_commits_(0), num_draws_(0) {} |
| 4325 | 4272 |
| 4326 void BeginTest() override { | 4273 void BeginTest() override { |
| 4327 ASSERT_TRUE(invalidate_layer_) | 4274 ASSERT_TRUE(invalidate_layer_) |
| 4328 << "Derived tests must set this in SetupTree"; | 4275 << "Derived tests must set this in SetupTree"; |
| 4329 | 4276 |
| 4330 // One initial commit. | 4277 // One initial commit. |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4373 video_layer->SetIsDrawable(true); | 4320 video_layer->SetIsDrawable(true); |
| 4374 layer_tree()->root_layer()->AddChild(video_layer); | 4321 layer_tree()->root_layer()->AddChild(video_layer); |
| 4375 | 4322 |
| 4376 invalidate_layer_ = video_layer; | 4323 invalidate_layer_ = video_layer; |
| 4377 } | 4324 } |
| 4378 | 4325 |
| 4379 private: | 4326 private: |
| 4380 FakeVideoFrameProvider provider_; | 4327 FakeVideoFrameProvider provider_; |
| 4381 }; | 4328 }; |
| 4382 | 4329 |
| 4330 // LTH remote does not support VideoLayer. |
| 4383 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestVideoLayerInvalidate); | 4331 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestVideoLayerInvalidate); |
| 4384 | 4332 |
| 4385 class LayerTreeHostTestPushHiddenLayer : public LayerTreeHostTest { | 4333 class LayerTreeHostTestPushHiddenLayer : public LayerTreeHostTest { |
| 4386 protected: | 4334 protected: |
| 4387 void SetupTree() override { | 4335 void SetupTree() override { |
| 4388 root_layer_ = Layer::Create(); | 4336 root_layer_ = Layer::Create(); |
| 4389 root_layer_->SetPosition(gfx::PointF()); | 4337 root_layer_->SetPosition(gfx::PointF()); |
| 4390 root_layer_->SetBounds(gfx::Size(10, 10)); | 4338 root_layer_->SetBounds(gfx::Size(10, 10)); |
| 4391 | 4339 |
| 4392 parent_layer_ = SolidColorLayer::Create(); | 4340 parent_layer_ = SolidColorLayer::Create(); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4440 } | 4388 } |
| 4441 } | 4389 } |
| 4442 | 4390 |
| 4443 void AfterTest() override {} | 4391 void AfterTest() override {} |
| 4444 | 4392 |
| 4445 scoped_refptr<Layer> root_layer_; | 4393 scoped_refptr<Layer> root_layer_; |
| 4446 scoped_refptr<SolidColorLayer> parent_layer_; | 4394 scoped_refptr<SolidColorLayer> parent_layer_; |
| 4447 scoped_refptr<SolidColorLayer> child_layer_; | 4395 scoped_refptr<SolidColorLayer> child_layer_; |
| 4448 }; | 4396 }; |
| 4449 | 4397 |
| 4450 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPushHiddenLayer); | 4398 SINGLE_MULTI_AND_REMOTE_TEST_F(LayerTreeHostTestPushHiddenLayer); |
| 4451 | 4399 |
| 4452 class LayerTreeHostTestUpdateLayerInEmptyViewport : public LayerTreeHostTest { | 4400 class LayerTreeHostTestUpdateLayerInEmptyViewport : public LayerTreeHostTest { |
| 4453 protected: | 4401 protected: |
| 4454 void SetupTree() override { | 4402 void SetupTree() override { |
| 4455 root_layer_ = FakePictureLayer::Create(&client_); | 4403 root_layer_ = FakePictureLayer::Create(&client_); |
| 4456 root_layer_->SetBounds(gfx::Size(10, 10)); | 4404 root_layer_->SetBounds(gfx::Size(10, 10)); |
| 4457 | 4405 |
| 4458 layer_tree()->SetRootLayer(root_layer_); | 4406 layer_tree()->SetRootLayer(root_layer_); |
| 4459 LayerTreeHostTest::SetupTree(); | 4407 LayerTreeHostTest::SetupTree(); |
| 4460 client_.set_bounds(root_layer_->bounds()); | 4408 client_.set_bounds(root_layer_->bounds()); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 4473 EXPECT_GT(root_layer_->update_count(), 0); | 4421 EXPECT_GT(root_layer_->update_count(), 0); |
| 4474 EndTest(); | 4422 EndTest(); |
| 4475 } | 4423 } |
| 4476 | 4424 |
| 4477 void AfterTest() override {} | 4425 void AfterTest() override {} |
| 4478 | 4426 |
| 4479 FakeContentLayerClient client_; | 4427 FakeContentLayerClient client_; |
| 4480 scoped_refptr<FakePictureLayer> root_layer_; | 4428 scoped_refptr<FakePictureLayer> root_layer_; |
| 4481 }; | 4429 }; |
| 4482 | 4430 |
| 4483 MULTI_THREAD_TEST_F(LayerTreeHostTestUpdateLayerInEmptyViewport); | 4431 REMOTE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestUpdateLayerInEmptyViewport); |
| 4484 | 4432 |
| 4485 class LayerTreeHostTestElasticOverscroll : public LayerTreeHostTest { | 4433 class LayerTreeHostTestElasticOverscroll : public LayerTreeHostTest { |
| 4486 public: | 4434 public: |
| 4487 LayerTreeHostTestElasticOverscroll() | 4435 LayerTreeHostTestElasticOverscroll() |
| 4488 : scroll_elasticity_helper_(nullptr), num_draws_(0) {} | 4436 : scroll_elasticity_helper_(nullptr), num_draws_(0) {} |
| 4489 | 4437 |
| 4490 void InitializeSettings(LayerTreeSettings* settings) override { | 4438 void InitializeSettings(LayerTreeSettings* settings) override { |
| 4491 settings->enable_elastic_overscroll = true; | 4439 settings->enable_elastic_overscroll = true; |
| 4492 } | 4440 } |
| 4493 | 4441 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4568 void AfterTest() override {} | 4516 void AfterTest() override {} |
| 4569 | 4517 |
| 4570 private: | 4518 private: |
| 4571 FakeContentLayerClient client_; | 4519 FakeContentLayerClient client_; |
| 4572 scoped_refptr<Layer> root_layer_; | 4520 scoped_refptr<Layer> root_layer_; |
| 4573 ScrollElasticityHelper* scroll_elasticity_helper_; | 4521 ScrollElasticityHelper* scroll_elasticity_helper_; |
| 4574 int content_layer_id_; | 4522 int content_layer_id_; |
| 4575 int num_draws_; | 4523 int num_draws_; |
| 4576 }; | 4524 }; |
| 4577 | 4525 |
| 4526 // Remote test does not support enable_elastic_overscroll. |
| 4578 MULTI_THREAD_TEST_F(LayerTreeHostTestElasticOverscroll); | 4527 MULTI_THREAD_TEST_F(LayerTreeHostTestElasticOverscroll); |
| 4579 | 4528 |
| 4580 struct TestSwapPromiseResult { | 4529 struct TestSwapPromiseResult { |
| 4581 TestSwapPromiseResult() | 4530 TestSwapPromiseResult() |
| 4582 : did_activate_called(false), | 4531 : did_activate_called(false), |
| 4583 did_swap_called(false), | 4532 did_swap_called(false), |
| 4584 did_not_swap_called(false), | 4533 did_not_swap_called(false), |
| 4585 dtor_called(false), | 4534 dtor_called(false), |
| 4586 reason(SwapPromise::COMMIT_FAILS) {} | 4535 reason(SwapPromise::COMMIT_FAILS) {} |
| 4587 | 4536 |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4672 // The pinned active swap promise should not activate, but should swap. | 4621 // The pinned active swap promise should not activate, but should swap. |
| 4673 EXPECT_FALSE(pinned_active_swap_promise_result_.did_activate_called); | 4622 EXPECT_FALSE(pinned_active_swap_promise_result_.did_activate_called); |
| 4674 EXPECT_TRUE(pinned_active_swap_promise_result_.did_swap_called); | 4623 EXPECT_TRUE(pinned_active_swap_promise_result_.did_swap_called); |
| 4675 } | 4624 } |
| 4676 | 4625 |
| 4677 TestSwapPromiseResult pending_swap_promise_result_; | 4626 TestSwapPromiseResult pending_swap_promise_result_; |
| 4678 TestSwapPromiseResult active_swap_promise_result_; | 4627 TestSwapPromiseResult active_swap_promise_result_; |
| 4679 TestSwapPromiseResult pinned_active_swap_promise_result_; | 4628 TestSwapPromiseResult pinned_active_swap_promise_result_; |
| 4680 }; | 4629 }; |
| 4681 | 4630 |
| 4631 // No remote test because this test compares the swap promises result between |
| 4632 // LTH in process and LTH impl. LTH remote runs its own swap promise, and we |
| 4633 // don't send swap promises to the client. |
| 4682 MULTI_THREAD_TEST_F(PinnedLayerTreeSwapPromise); | 4634 MULTI_THREAD_TEST_F(PinnedLayerTreeSwapPromise); |
| 4683 | 4635 |
| 4684 class LayerTreeHostTestBreakSwapPromise : public LayerTreeHostTest { | 4636 class LayerTreeHostTestBreakSwapPromise : public LayerTreeHostTest { |
| 4685 protected: | 4637 protected: |
| 4686 LayerTreeHostTestBreakSwapPromise() | 4638 LayerTreeHostTestBreakSwapPromise() |
| 4687 : commit_count_(0), commit_complete_count_(0) {} | 4639 : commit_count_(0), commit_complete_count_(0) {} |
| 4688 | 4640 |
| 4689 void WillBeginMainFrame() override { | 4641 void WillBeginMainFrame() override { |
| 4690 ASSERT_LE(commit_count_, 2); | 4642 ASSERT_LE(commit_count_, 2); |
| 4691 std::unique_ptr<SwapPromise> swap_promise( | 4643 std::unique_ptr<SwapPromise> swap_promise( |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4769 EXPECT_EQ(SwapPromise::SWAP_FAILS, swap_promise_result_[2].reason); | 4721 EXPECT_EQ(SwapPromise::SWAP_FAILS, swap_promise_result_[2].reason); |
| 4770 EXPECT_TRUE(swap_promise_result_[2].dtor_called); | 4722 EXPECT_TRUE(swap_promise_result_[2].dtor_called); |
| 4771 } | 4723 } |
| 4772 } | 4724 } |
| 4773 | 4725 |
| 4774 int commit_count_; | 4726 int commit_count_; |
| 4775 int commit_complete_count_; | 4727 int commit_complete_count_; |
| 4776 TestSwapPromiseResult swap_promise_result_[3]; | 4728 TestSwapPromiseResult swap_promise_result_[3]; |
| 4777 }; | 4729 }; |
| 4778 | 4730 |
| 4731 // No remote test because LTH remote runs its own swap promises, and we |
| 4732 // don't send swap promises to the LTH in process on the client side. |
| 4779 MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromise); | 4733 MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromise); |
| 4780 | 4734 |
| 4781 class LayerTreeHostTestKeepSwapPromise : public LayerTreeHostTest { | 4735 class LayerTreeHostTestKeepSwapPromise : public LayerTreeHostTest { |
| 4782 public: | 4736 public: |
| 4783 LayerTreeHostTestKeepSwapPromise() {} | 4737 LayerTreeHostTestKeepSwapPromise() {} |
| 4784 | 4738 |
| 4785 void BeginTest() override { | 4739 void BeginTest() override { |
| 4786 layer_ = SolidColorLayer::Create(); | 4740 layer_ = SolidColorLayer::Create(); |
| 4787 layer_->SetIsDrawable(true); | 4741 layer_->SetIsDrawable(true); |
| 4788 layer_->SetBounds(gfx::Size(10, 10)); | 4742 layer_->SetBounds(gfx::Size(10, 10)); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4860 } | 4814 } |
| 4861 | 4815 |
| 4862 void AfterTest() override {} | 4816 void AfterTest() override {} |
| 4863 | 4817 |
| 4864 private: | 4818 private: |
| 4865 int num_swaps_ = 0; | 4819 int num_swaps_ = 0; |
| 4866 scoped_refptr<Layer> layer_; | 4820 scoped_refptr<Layer> layer_; |
| 4867 TestSwapPromiseResult swap_promise_result_; | 4821 TestSwapPromiseResult swap_promise_result_; |
| 4868 }; | 4822 }; |
| 4869 | 4823 |
| 4824 // No remote test because LTH remote runs its own swap promises, and we |
| 4825 // don't send swap promises to the LTH in process on the client side. |
| 4870 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestKeepSwapPromise); | 4826 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestKeepSwapPromise); |
| 4871 | 4827 |
| 4872 class LayerTreeHostTestKeepSwapPromiseMFBA : public LayerTreeHostTest { | 4828 class LayerTreeHostTestKeepSwapPromiseMFBA : public LayerTreeHostTest { |
| 4873 public: | 4829 public: |
| 4874 LayerTreeHostTestKeepSwapPromiseMFBA() {} | 4830 LayerTreeHostTestKeepSwapPromiseMFBA() {} |
| 4875 | 4831 |
| 4876 void InitializeSettings(LayerTreeSettings* settings) override { | 4832 void InitializeSettings(LayerTreeSettings* settings) override { |
| 4877 settings->main_frame_before_activation_enabled = true; | 4833 settings->main_frame_before_activation_enabled = true; |
| 4878 } | 4834 } |
| 4879 | 4835 |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4974 } | 4930 } |
| 4975 | 4931 |
| 4976 void AfterTest() override { EXPECT_EQ(1, num_swaps_); } | 4932 void AfterTest() override { EXPECT_EQ(1, num_swaps_); } |
| 4977 | 4933 |
| 4978 private: | 4934 private: |
| 4979 int num_swaps_ = 0; | 4935 int num_swaps_ = 0; |
| 4980 scoped_refptr<Layer> layer_; | 4936 scoped_refptr<Layer> layer_; |
| 4981 TestSwapPromiseResult swap_promise_result_; | 4937 TestSwapPromiseResult swap_promise_result_; |
| 4982 }; | 4938 }; |
| 4983 | 4939 |
| 4940 // No remote test because LTH remote runs its own swap promises, and we |
| 4941 // don't send swap promises to the LTH in process on the client side. |
| 4984 MULTI_THREAD_TEST_F(LayerTreeHostTestKeepSwapPromiseMFBA); | 4942 MULTI_THREAD_TEST_F(LayerTreeHostTestKeepSwapPromiseMFBA); |
| 4985 | 4943 |
| 4986 class LayerTreeHostTestBreakSwapPromiseForVisibility | 4944 class LayerTreeHostTestBreakSwapPromiseForVisibility |
| 4987 : public LayerTreeHostTest { | 4945 : public LayerTreeHostTest { |
| 4988 protected: | 4946 protected: |
| 4989 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 4947 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 4990 | 4948 |
| 4991 void SetVisibleFalseAndQueueSwapPromise() { | 4949 void SetVisibleFalseAndQueueSwapPromise() { |
| 4992 layer_tree_host()->SetVisible(false); | 4950 layer_tree_host()->SetVisible(false); |
| 4993 std::unique_ptr<SwapPromise> swap_promise( | 4951 std::unique_ptr<SwapPromise> swap_promise( |
| (...skipping 22 matching lines...) Expand all Loading... |
| 5016 EXPECT_FALSE(swap_promise_result_.did_swap_called); | 4974 EXPECT_FALSE(swap_promise_result_.did_swap_called); |
| 5017 EXPECT_TRUE(swap_promise_result_.did_not_swap_called); | 4975 EXPECT_TRUE(swap_promise_result_.did_not_swap_called); |
| 5018 EXPECT_EQ(SwapPromise::COMMIT_FAILS, swap_promise_result_.reason); | 4976 EXPECT_EQ(SwapPromise::COMMIT_FAILS, swap_promise_result_.reason); |
| 5019 EXPECT_TRUE(swap_promise_result_.dtor_called); | 4977 EXPECT_TRUE(swap_promise_result_.dtor_called); |
| 5020 } | 4978 } |
| 5021 } | 4979 } |
| 5022 | 4980 |
| 5023 TestSwapPromiseResult swap_promise_result_; | 4981 TestSwapPromiseResult swap_promise_result_; |
| 5024 }; | 4982 }; |
| 5025 | 4983 |
| 4984 // No remote test because LTH remote runs its own swap promises, and we |
| 4985 // don't send swap promises to the LTH in process on the client side. |
| 5026 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromiseForVisibility); | 4986 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromiseForVisibility); |
| 5027 | 4987 |
| 5028 class SimpleSwapPromiseMonitor : public SwapPromiseMonitor { | 4988 class SimpleSwapPromiseMonitor : public SwapPromiseMonitor { |
| 5029 public: | 4989 public: |
| 5030 SimpleSwapPromiseMonitor(LayerTreeHost* layer_tree_host, | 4990 SimpleSwapPromiseMonitor(LayerTreeHost* layer_tree_host, |
| 5031 LayerTreeHostImpl* layer_tree_host_impl, | 4991 LayerTreeHostImpl* layer_tree_host_impl, |
| 5032 int* set_needs_commit_count, | 4992 int* set_needs_commit_count, |
| 5033 int* set_needs_redraw_count) | 4993 int* set_needs_redraw_count) |
| 5034 : SwapPromiseMonitor( | 4994 : SwapPromiseMonitor( |
| 5035 (layer_tree_host ? layer_tree_host->GetSwapPromiseManager() | 4995 (layer_tree_host ? layer_tree_host->GetSwapPromiseManager() |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5099 EXPECT_EQ(3, set_needs_commit_count); | 5059 EXPECT_EQ(3, set_needs_commit_count); |
| 5100 EXPECT_EQ(0, set_needs_redraw_count); | 5060 EXPECT_EQ(0, set_needs_redraw_count); |
| 5101 } | 5061 } |
| 5102 | 5062 |
| 5103 EndTest(); | 5063 EndTest(); |
| 5104 } | 5064 } |
| 5105 | 5065 |
| 5106 void AfterTest() override {} | 5066 void AfterTest() override {} |
| 5107 }; | 5067 }; |
| 5108 | 5068 |
| 5069 // No remote test because LTH remote runs its own swap promises, and we |
| 5070 // don't send swap promises to the LTH in process on the client side. |
| 5109 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSimpleSwapPromiseMonitor); | 5071 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSimpleSwapPromiseMonitor); |
| 5110 | 5072 |
| 5111 class LayerTreeHostTestHighResRequiredAfterEvictingUIResources | 5073 class LayerTreeHostTestHighResRequiredAfterEvictingUIResources |
| 5112 : public LayerTreeHostTest { | 5074 : public LayerTreeHostTest { |
| 5113 protected: | 5075 protected: |
| 5114 void SetupTree() override { | 5076 void SetupTree() override { |
| 5115 LayerTreeHostTest::SetupTree(); | 5077 LayerTreeHostTest::SetupTree(); |
| 5116 ui_resource_ = | 5078 ui_resource_ = |
| 5117 FakeScopedUIResource::Create(layer_tree_host()->GetUIResourceManager()); | 5079 FakeScopedUIResource::Create(layer_tree_host()->GetUIResourceManager()); |
| 5118 client_.set_bounds(layer_tree()->root_layer()->bounds()); | 5080 client_.set_bounds(layer_tree()->root_layer()->bounds()); |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5320 EndTest(); | 5282 EndTest(); |
| 5321 } | 5283 } |
| 5322 | 5284 |
| 5323 void AfterTest() override {} | 5285 void AfterTest() override {} |
| 5324 | 5286 |
| 5325 FakeContentLayerClient layer_client_; | 5287 FakeContentLayerClient layer_client_; |
| 5326 FakePictureLayer* layer_; | 5288 FakePictureLayer* layer_; |
| 5327 FakeRecordingSource* recording_source_; | 5289 FakeRecordingSource* recording_source_; |
| 5328 }; | 5290 }; |
| 5329 | 5291 |
| 5292 // No remote test since we does not send gpu rasterization flag to the client. |
| 5293 // See crbug/650431. |
| 5330 MULTI_THREAD_TEST_F(LayerTreeHostTestGpuRasterizationEnabled); | 5294 MULTI_THREAD_TEST_F(LayerTreeHostTestGpuRasterizationEnabled); |
| 5331 | 5295 |
| 5332 class LayerTreeHostTestGpuRasterizationReenabled : public LayerTreeHostTest { | 5296 class LayerTreeHostTestGpuRasterizationReenabled : public LayerTreeHostTest { |
| 5333 protected: | 5297 protected: |
| 5334 void InitializeSettings(LayerTreeSettings* settings) override { | 5298 void InitializeSettings(LayerTreeSettings* settings) override { |
| 5335 EXPECT_FALSE(settings->gpu_rasterization_enabled); | 5299 EXPECT_FALSE(settings->gpu_rasterization_enabled); |
| 5336 settings->gpu_rasterization_enabled = true; | 5300 settings->gpu_rasterization_enabled = true; |
| 5337 } | 5301 } |
| 5338 | 5302 |
| 5339 void SetupTree() override { | 5303 void SetupTree() override { |
| (...skipping 1690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7030 EndTest(); | 6994 EndTest(); |
| 7031 } | 6995 } |
| 7032 | 6996 |
| 7033 void AfterTest() override {} | 6997 void AfterTest() override {} |
| 7034 }; | 6998 }; |
| 7035 | 6999 |
| 7036 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSubmitFrameResources); | 7000 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSubmitFrameResources); |
| 7037 | 7001 |
| 7038 } // namespace | 7002 } // namespace |
| 7039 } // namespace cc | 7003 } // namespace cc |
| OLD | NEW |