OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/compiler_specific.h" | 6 #include "base/compiler_specific.h" |
7 #include "cc/test/layer_tree_test.h" | 7 #include "cc/test/layer_tree_test.h" |
8 #include "cc/trees/thread_proxy.h" | 8 #include "cc/trees/thread_proxy.h" |
9 | 9 |
10 #define THREAD_PROXY_NO_IMPL_TEST_F(TEST_FIXTURE_NAME) \ | 10 #define THREAD_PROXY_NO_IMPL_TEST_F(TEST_FIXTURE_NAME) \ |
(...skipping 10 matching lines...) Expand all Loading... |
21 // Do common tests for single thread proxy and thread proxy. | 21 // Do common tests for single thread proxy and thread proxy. |
22 // TODO(simonhong): Add SINGLE_THREAD_PROXY_TEST_F | 22 // TODO(simonhong): Add SINGLE_THREAD_PROXY_TEST_F |
23 #define PROXY_TEST_SCHEDULED_ACTION(TEST_FIXTURE_NAME) \ | 23 #define PROXY_TEST_SCHEDULED_ACTION(TEST_FIXTURE_NAME) \ |
24 THREAD_PROXY_TEST_F(TEST_FIXTURE_NAME); | 24 THREAD_PROXY_TEST_F(TEST_FIXTURE_NAME); |
25 | 25 |
26 namespace cc { | 26 namespace cc { |
27 | 27 |
28 class ProxyTest : public LayerTreeTest { | 28 class ProxyTest : public LayerTreeTest { |
29 protected: | 29 protected: |
30 ProxyTest() {} | 30 ProxyTest() {} |
31 virtual ~ProxyTest() {} | 31 ~ProxyTest() override {} |
32 | 32 |
33 void Run(bool threaded, bool impl_side_painting) { | 33 void Run(bool threaded, bool impl_side_painting) { |
34 // We don't need to care about delegating mode. | 34 // We don't need to care about delegating mode. |
35 bool delegating_renderer = true; | 35 bool delegating_renderer = true; |
36 | 36 |
37 RunTest(threaded, delegating_renderer, impl_side_painting); | 37 RunTest(threaded, delegating_renderer, impl_side_painting); |
38 } | 38 } |
39 | 39 |
40 void BeginTest() override {} | 40 void BeginTest() override {} |
41 void AfterTest() override {} | 41 void AfterTest() override {} |
(...skipping 18 matching lines...) Expand all Loading... |
60 | 60 |
61 void ScheduledActionDrawAndSwapIfPossible() override { | 61 void ScheduledActionDrawAndSwapIfPossible() override { |
62 EXPECT_EQ(3, action_phase_++); | 62 EXPECT_EQ(3, action_phase_++); |
63 EndTest(); | 63 EndTest(); |
64 } | 64 } |
65 | 65 |
66 void AfterTest() override { EXPECT_EQ(4, action_phase_); } | 66 void AfterTest() override { EXPECT_EQ(4, action_phase_); } |
67 | 67 |
68 ProxyTestScheduledActionsBasic() : action_phase_(0) { | 68 ProxyTestScheduledActionsBasic() : action_phase_(0) { |
69 } | 69 } |
70 virtual ~ProxyTestScheduledActionsBasic() {} | 70 ~ProxyTestScheduledActionsBasic() override {} |
71 | 71 |
72 private: | 72 private: |
73 int action_phase_; | 73 int action_phase_; |
74 | 74 |
75 DISALLOW_COPY_AND_ASSIGN(ProxyTestScheduledActionsBasic); | 75 DISALLOW_COPY_AND_ASSIGN(ProxyTestScheduledActionsBasic); |
76 }; | 76 }; |
77 | 77 |
78 PROXY_TEST_SCHEDULED_ACTION(ProxyTestScheduledActionsBasic); | 78 PROXY_TEST_SCHEDULED_ACTION(ProxyTestScheduledActionsBasic); |
79 | 79 |
80 class ThreadProxyTest : public ProxyTest { | 80 class ThreadProxyTest : public ProxyTest { |
81 protected: | 81 protected: |
82 ThreadProxyTest() {} | 82 ThreadProxyTest() {} |
83 virtual ~ThreadProxyTest() {} | 83 ~ThreadProxyTest() override {} |
84 | 84 |
85 const ThreadProxy::MainThreadOnly& ThreadProxyMainOnly() const { | 85 const ThreadProxy::MainThreadOnly& ThreadProxyMainOnly() const { |
86 DCHECK(proxy()); | 86 DCHECK(proxy()); |
87 DCHECK(proxy()->HasImplThread()); | 87 DCHECK(proxy()->HasImplThread()); |
88 return static_cast<const ThreadProxy*>(proxy())->main(); | 88 return static_cast<const ThreadProxy*>(proxy())->main(); |
89 } | 89 } |
90 | 90 |
91 const ThreadProxy::CompositorThreadOnly& ThreadProxyImplOnly() const { | 91 const ThreadProxy::CompositorThreadOnly& ThreadProxyImplOnly() const { |
92 DCHECK(proxy()); | 92 DCHECK(proxy()); |
93 DCHECK(proxy()->HasImplThread()); | 93 DCHECK(proxy()->HasImplThread()); |
94 return static_cast<const ThreadProxy*>(proxy())->impl(); | 94 return static_cast<const ThreadProxy*>(proxy())->impl(); |
95 } | 95 } |
96 | 96 |
97 private: | 97 private: |
98 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTest); | 98 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTest); |
99 }; | 99 }; |
100 | 100 |
101 class ThreadProxyTestSetNeedsCommit : public ThreadProxyTest { | 101 class ThreadProxyTestSetNeedsCommit : public ThreadProxyTest { |
102 protected: | 102 protected: |
103 ThreadProxyTestSetNeedsCommit() {} | 103 ThreadProxyTestSetNeedsCommit() {} |
104 virtual ~ThreadProxyTestSetNeedsCommit() {} | 104 ~ThreadProxyTestSetNeedsCommit() override {} |
105 | 105 |
106 void BeginTest() override { | 106 void BeginTest() override { |
107 EXPECT_FALSE(ThreadProxyMainOnly().commit_requested); | 107 EXPECT_FALSE(ThreadProxyMainOnly().commit_requested); |
108 EXPECT_FALSE(ThreadProxyMainOnly().commit_request_sent_to_impl_thread); | 108 EXPECT_FALSE(ThreadProxyMainOnly().commit_request_sent_to_impl_thread); |
109 | 109 |
110 proxy()->SetNeedsCommit(); | 110 proxy()->SetNeedsCommit(); |
111 | 111 |
112 EXPECT_TRUE(ThreadProxyMainOnly().commit_requested); | 112 EXPECT_TRUE(ThreadProxyMainOnly().commit_requested); |
113 EXPECT_TRUE(ThreadProxyMainOnly().commit_request_sent_to_impl_thread); | 113 EXPECT_TRUE(ThreadProxyMainOnly().commit_request_sent_to_impl_thread); |
114 } | 114 } |
115 | 115 |
116 void DidBeginMainFrame() override { | 116 void DidBeginMainFrame() override { |
117 EXPECT_FALSE(ThreadProxyMainOnly().commit_requested); | 117 EXPECT_FALSE(ThreadProxyMainOnly().commit_requested); |
118 EXPECT_FALSE(ThreadProxyMainOnly().commit_request_sent_to_impl_thread); | 118 EXPECT_FALSE(ThreadProxyMainOnly().commit_request_sent_to_impl_thread); |
119 | 119 |
120 EndTest(); | 120 EndTest(); |
121 } | 121 } |
122 | 122 |
123 private: | 123 private: |
124 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsCommit); | 124 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsCommit); |
125 }; | 125 }; |
126 | 126 |
127 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsCommit); | 127 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsCommit); |
128 | 128 |
129 } // namespace cc | 129 } // namespace cc |
OLD | NEW |