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 <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/synchronization/lock.h" | 10 #include "base/synchronization/lock.h" |
(...skipping 1875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1886 virtual void AfterTest() OVERRIDE { | 1886 virtual void AfterTest() OVERRIDE { |
1887 EXPECT_EQ(1, num_commits_deferred_); | 1887 EXPECT_EQ(1, num_commits_deferred_); |
1888 EXPECT_EQ(2, num_complete_commits_); | 1888 EXPECT_EQ(2, num_complete_commits_); |
1889 } | 1889 } |
1890 | 1890 |
1891 private: | 1891 private: |
1892 int num_commits_deferred_; | 1892 int num_commits_deferred_; |
1893 int num_complete_commits_; | 1893 int num_complete_commits_; |
1894 }; | 1894 }; |
1895 | 1895 |
1896 MULTI_THREAD_TEST_F(LayerTreeHostTestDeferCommits); | 1896 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeferCommits); |
1897 | 1897 |
1898 class LayerTreeHostWithProxy : public LayerTreeHost { | 1898 class LayerTreeHostWithProxy : public LayerTreeHost { |
1899 public: | 1899 public: |
1900 LayerTreeHostWithProxy(FakeLayerTreeHostClient* client, | 1900 LayerTreeHostWithProxy(FakeLayerTreeHostClient* client, |
1901 const LayerTreeSettings& settings, | 1901 const LayerTreeSettings& settings, |
1902 scoped_ptr<FakeProxy> proxy) | 1902 scoped_ptr<FakeProxy> proxy) |
1903 : LayerTreeHost(client, NULL, settings) { | 1903 : LayerTreeHost(client, NULL, settings) { |
1904 proxy->SetLayerTreeHost(this); | 1904 proxy->SetLayerTreeHost(this); |
1905 InitializeForTesting(proxy.PassAs<Proxy>()); | 1905 InitializeForTesting(proxy.PassAs<Proxy>()); |
1906 } | 1906 } |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1959 | 1959 |
1960 EXPECT_EQ(10u, host.MaxPartialTextureUpdates()); | 1960 EXPECT_EQ(10u, host.MaxPartialTextureUpdates()); |
1961 } | 1961 } |
1962 } | 1962 } |
1963 | 1963 |
1964 TEST(LayerTreeHostTest, PartialUpdatesWithGLRenderer) { | 1964 TEST(LayerTreeHostTest, PartialUpdatesWithGLRenderer) { |
1965 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D); | 1965 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D); |
1966 | 1966 |
1967 LayerTreeSettings settings; | 1967 LayerTreeSettings settings; |
1968 settings.max_partial_texture_updates = 4; | 1968 settings.max_partial_texture_updates = 4; |
| 1969 settings.single_thread_proxy_scheduler = false; |
1969 | 1970 |
1970 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 1971 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( |
1971 new TestSharedBitmapManager()); | 1972 new TestSharedBitmapManager()); |
1972 scoped_ptr<LayerTreeHost> host = | 1973 scoped_ptr<LayerTreeHost> host = |
1973 LayerTreeHost::CreateSingleThreaded(&client, | 1974 LayerTreeHost::CreateSingleThreaded(&client, |
1974 &client, | 1975 &client, |
1975 shared_bitmap_manager.get(), | 1976 shared_bitmap_manager.get(), |
1976 settings, | 1977 settings, |
1977 base::MessageLoopProxy::current()); | 1978 base::MessageLoopProxy::current()); |
1978 host->Composite(base::TimeTicks::Now()); | 1979 host->Composite(base::TimeTicks::Now()); |
1979 | 1980 |
1980 EXPECT_EQ(4u, host->settings().max_partial_texture_updates); | 1981 EXPECT_EQ(4u, host->settings().max_partial_texture_updates); |
1981 } | 1982 } |
1982 | 1983 |
1983 TEST(LayerTreeHostTest, PartialUpdatesWithSoftwareRenderer) { | 1984 TEST(LayerTreeHostTest, PartialUpdatesWithSoftwareRenderer) { |
1984 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_SOFTWARE); | 1985 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_SOFTWARE); |
1985 | 1986 |
1986 LayerTreeSettings settings; | 1987 LayerTreeSettings settings; |
1987 settings.max_partial_texture_updates = 4; | 1988 settings.max_partial_texture_updates = 4; |
| 1989 settings.single_thread_proxy_scheduler = false; |
1988 | 1990 |
1989 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 1991 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( |
1990 new TestSharedBitmapManager()); | 1992 new TestSharedBitmapManager()); |
1991 scoped_ptr<LayerTreeHost> host = | 1993 scoped_ptr<LayerTreeHost> host = |
1992 LayerTreeHost::CreateSingleThreaded(&client, | 1994 LayerTreeHost::CreateSingleThreaded(&client, |
1993 &client, | 1995 &client, |
1994 shared_bitmap_manager.get(), | 1996 shared_bitmap_manager.get(), |
1995 settings, | 1997 settings, |
1996 base::MessageLoopProxy::current()); | 1998 base::MessageLoopProxy::current()); |
1997 host->Composite(base::TimeTicks::Now()); | 1999 host->Composite(base::TimeTicks::Now()); |
1998 | 2000 |
1999 EXPECT_EQ(4u, host->settings().max_partial_texture_updates); | 2001 EXPECT_EQ(4u, host->settings().max_partial_texture_updates); |
2000 } | 2002 } |
2001 | 2003 |
2002 TEST(LayerTreeHostTest, PartialUpdatesWithDelegatingRendererAndGLContent) { | 2004 TEST(LayerTreeHostTest, PartialUpdatesWithDelegatingRendererAndGLContent) { |
2003 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_3D); | 2005 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_3D); |
2004 | 2006 |
2005 LayerTreeSettings settings; | 2007 LayerTreeSettings settings; |
2006 settings.max_partial_texture_updates = 4; | 2008 settings.max_partial_texture_updates = 4; |
| 2009 settings.single_thread_proxy_scheduler = false; |
2007 | 2010 |
2008 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 2011 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( |
2009 new TestSharedBitmapManager()); | 2012 new TestSharedBitmapManager()); |
2010 scoped_ptr<LayerTreeHost> host = | 2013 scoped_ptr<LayerTreeHost> host = |
2011 LayerTreeHost::CreateSingleThreaded(&client, | 2014 LayerTreeHost::CreateSingleThreaded(&client, |
2012 &client, | 2015 &client, |
2013 shared_bitmap_manager.get(), | 2016 shared_bitmap_manager.get(), |
2014 settings, | 2017 settings, |
2015 base::MessageLoopProxy::current()); | 2018 base::MessageLoopProxy::current()); |
2016 host->Composite(base::TimeTicks::Now()); | 2019 host->Composite(base::TimeTicks::Now()); |
2017 | 2020 |
2018 EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); | 2021 EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); |
2019 } | 2022 } |
2020 | 2023 |
2021 TEST(LayerTreeHostTest, | 2024 TEST(LayerTreeHostTest, |
2022 PartialUpdatesWithDelegatingRendererAndSoftwareContent) { | 2025 PartialUpdatesWithDelegatingRendererAndSoftwareContent) { |
2023 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_SOFTWARE); | 2026 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_SOFTWARE); |
2024 | 2027 |
2025 LayerTreeSettings settings; | 2028 LayerTreeSettings settings; |
2026 settings.max_partial_texture_updates = 4; | 2029 settings.max_partial_texture_updates = 4; |
| 2030 settings.single_thread_proxy_scheduler = false; |
2027 | 2031 |
2028 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 2032 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( |
2029 new TestSharedBitmapManager()); | 2033 new TestSharedBitmapManager()); |
2030 scoped_ptr<LayerTreeHost> host = | 2034 scoped_ptr<LayerTreeHost> host = |
2031 LayerTreeHost::CreateSingleThreaded(&client, | 2035 LayerTreeHost::CreateSingleThreaded(&client, |
2032 &client, | 2036 &client, |
2033 shared_bitmap_manager.get(), | 2037 shared_bitmap_manager.get(), |
2034 settings, | 2038 settings, |
2035 base::MessageLoopProxy::current()); | 2039 base::MessageLoopProxy::current()); |
2036 host->Composite(base::TimeTicks::Now()); | 2040 host->Composite(base::TimeTicks::Now()); |
(...skipping 2528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4565 EXPECT_FALSE(swap_promise_result_.did_swap_called); | 4569 EXPECT_FALSE(swap_promise_result_.did_swap_called); |
4566 EXPECT_TRUE(swap_promise_result_.did_not_swap_called); | 4570 EXPECT_TRUE(swap_promise_result_.did_not_swap_called); |
4567 EXPECT_EQ(SwapPromise::COMMIT_FAILS, swap_promise_result_.reason); | 4571 EXPECT_EQ(SwapPromise::COMMIT_FAILS, swap_promise_result_.reason); |
4568 EXPECT_TRUE(swap_promise_result_.dtor_called); | 4572 EXPECT_TRUE(swap_promise_result_.dtor_called); |
4569 } | 4573 } |
4570 } | 4574 } |
4571 | 4575 |
4572 TestSwapPromiseResult swap_promise_result_; | 4576 TestSwapPromiseResult swap_promise_result_; |
4573 }; | 4577 }; |
4574 | 4578 |
4575 MULTI_THREAD_TEST_F( | 4579 SINGLE_AND_MULTI_THREAD_TEST_F( |
4576 LayerTreeHostTestBreakSwapPromiseForVisibilityAbortedCommit); | 4580 LayerTreeHostTestBreakSwapPromiseForVisibilityAbortedCommit); |
4577 | 4581 |
4578 class LayerTreeHostTestBreakSwapPromiseForContextAbortedCommit | 4582 class LayerTreeHostTestBreakSwapPromiseForContextAbortedCommit |
4579 : public LayerTreeHostTest { | 4583 : public LayerTreeHostTest { |
4580 protected: | 4584 protected: |
4581 virtual void BeginTest() OVERRIDE { PostSetNeedsCommitToMainThread(); } | 4585 virtual void BeginTest() OVERRIDE { PostSetNeedsCommitToMainThread(); } |
4582 | 4586 |
4583 virtual void DidCommit() OVERRIDE { | 4587 virtual void DidCommit() OVERRIDE { |
4584 if (TestEnded()) | 4588 if (TestEnded()) |
4585 return; | 4589 return; |
(...skipping 30 matching lines...) Expand all Loading... |
4616 EXPECT_FALSE(swap_promise_result_.did_swap_called); | 4620 EXPECT_FALSE(swap_promise_result_.did_swap_called); |
4617 EXPECT_TRUE(swap_promise_result_.did_not_swap_called); | 4621 EXPECT_TRUE(swap_promise_result_.did_not_swap_called); |
4618 EXPECT_EQ(SwapPromise::COMMIT_FAILS, swap_promise_result_.reason); | 4622 EXPECT_EQ(SwapPromise::COMMIT_FAILS, swap_promise_result_.reason); |
4619 EXPECT_TRUE(swap_promise_result_.dtor_called); | 4623 EXPECT_TRUE(swap_promise_result_.dtor_called); |
4620 } | 4624 } |
4621 } | 4625 } |
4622 | 4626 |
4623 TestSwapPromiseResult swap_promise_result_; | 4627 TestSwapPromiseResult swap_promise_result_; |
4624 }; | 4628 }; |
4625 | 4629 |
4626 MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromiseForContextAbortedCommit); | 4630 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 4631 LayerTreeHostTestBreakSwapPromiseForContextAbortedCommit); |
4627 | 4632 |
4628 class SimpleSwapPromiseMonitor : public SwapPromiseMonitor { | 4633 class SimpleSwapPromiseMonitor : public SwapPromiseMonitor { |
4629 public: | 4634 public: |
4630 SimpleSwapPromiseMonitor(LayerTreeHost* layer_tree_host, | 4635 SimpleSwapPromiseMonitor(LayerTreeHost* layer_tree_host, |
4631 LayerTreeHostImpl* layer_tree_host_impl, | 4636 LayerTreeHostImpl* layer_tree_host_impl, |
4632 int* set_needs_commit_count, | 4637 int* set_needs_commit_count, |
4633 int* set_needs_redraw_count) | 4638 int* set_needs_redraw_count) |
4634 : SwapPromiseMonitor(layer_tree_host, layer_tree_host_impl), | 4639 : SwapPromiseMonitor(layer_tree_host, layer_tree_host_impl), |
4635 set_needs_commit_count_(set_needs_commit_count) {} | 4640 set_needs_commit_count_(set_needs_commit_count) {} |
4636 | 4641 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4701 EXPECT_EQ(3, set_needs_commit_count); | 4706 EXPECT_EQ(3, set_needs_commit_count); |
4702 EXPECT_EQ(0, set_needs_redraw_count); | 4707 EXPECT_EQ(0, set_needs_redraw_count); |
4703 } | 4708 } |
4704 | 4709 |
4705 EndTest(); | 4710 EndTest(); |
4706 } | 4711 } |
4707 | 4712 |
4708 virtual void AfterTest() OVERRIDE {} | 4713 virtual void AfterTest() OVERRIDE {} |
4709 }; | 4714 }; |
4710 | 4715 |
4711 MULTI_THREAD_TEST_F(LayerTreeHostTestSimpleSwapPromiseMonitor); | 4716 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSimpleSwapPromiseMonitor); |
4712 | 4717 |
4713 class LayerTreeHostTestHighResRequiredAfterEvictingUIResources | 4718 class LayerTreeHostTestHighResRequiredAfterEvictingUIResources |
4714 : public LayerTreeHostTest { | 4719 : public LayerTreeHostTest { |
4715 protected: | 4720 protected: |
4716 virtual void InitializeSettings(LayerTreeSettings* settings) OVERRIDE { | 4721 virtual void InitializeSettings(LayerTreeSettings* settings) OVERRIDE { |
4717 settings->impl_side_painting = true; | 4722 settings->impl_side_painting = true; |
4718 } | 4723 } |
4719 | 4724 |
4720 virtual void SetupTree() OVERRIDE { | 4725 virtual void SetupTree() OVERRIDE { |
4721 LayerTreeHostTest::SetupTree(); | 4726 LayerTreeHostTest::SetupTree(); |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5027 const gfx::Size bounds_; | 5032 const gfx::Size bounds_; |
5028 FakeContentLayerClient client_; | 5033 FakeContentLayerClient client_; |
5029 scoped_refptr<ContentLayerWithUpdateTracking> content_layer_; | 5034 scoped_refptr<ContentLayerWithUpdateTracking> content_layer_; |
5030 scoped_refptr<FakePictureLayer> picture_layer_; | 5035 scoped_refptr<FakePictureLayer> picture_layer_; |
5031 Layer* child_layer_; | 5036 Layer* child_layer_; |
5032 }; | 5037 }; |
5033 | 5038 |
5034 MULTI_THREAD_TEST_F(LayerTreeHostTestContinuousPainting); | 5039 MULTI_THREAD_TEST_F(LayerTreeHostTestContinuousPainting); |
5035 | 5040 |
5036 } // namespace cc | 5041 } // namespace cc |
OLD | NEW |