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

Side by Side Diff: cc/trees/layer_tree_host_unittest.cc

Issue 134623005: Make SingleThreadProxy a SchedulerClient (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add scoped_abort_remaining_swap_promises.h Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_single_thread_client.h ('k') | cc/trees/layer_tree_host_unittest_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698