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

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

Issue 1417053005: cc: Split ThreadProxy into ProxyMain and ProxyImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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
OLDNEW
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/fake_content_layer_client.h" 7 #include "cc/test/fake_content_layer_client.h"
8 #include "cc/test/fake_picture_layer.h" 8 #include "cc/test/fake_picture_layer.h"
9 #include "cc/test/layer_tree_test.h" 9 #include "cc/test/layer_tree_test.h"
10 #include "cc/trees/thread_proxy.h" 10 #include "cc/trees/proxy_impl.h"
11 #include "cc/trees/proxy_main.h"
11 12
12 #define THREAD_PROXY_TEST_F(TEST_FIXTURE_NAME) \ 13 #define PROXY_MAIN_THREADED_TEST_F(TEST_FIXTURE_NAME) \
13 TEST_F(TEST_FIXTURE_NAME, MultiThread) { Run(true); } 14 TEST_F(TEST_FIXTURE_NAME, MultiThread) { Run(true); }
14 15
15 // Do common tests for single thread proxy and thread proxy. 16 // Do common tests for single thread proxy and proxy main in threaded mode.
16 // TODO(simonhong): Add SINGLE_THREAD_PROXY_TEST_F 17 // TODO(simonhong): Add SINGLE_THREAD_PROXY_TEST_F
17 #define PROXY_TEST_SCHEDULED_ACTION(TEST_FIXTURE_NAME) \ 18 #define PROXY_TEST_SCHEDULED_ACTION(TEST_FIXTURE_NAME) \
18 THREAD_PROXY_TEST_F(TEST_FIXTURE_NAME); 19 PROXY_MAIN_THREADED_TEST_F(TEST_FIXTURE_NAME);
19 20
20 namespace cc { 21 namespace cc {
21 22
22 class ProxyTest : public LayerTreeTest { 23 class ProxyTest : public LayerTreeTest {
23 protected: 24 protected:
24 ProxyTest() {} 25 ProxyTest() {}
25 ~ProxyTest() override {} 26 ~ProxyTest() override {}
26 27
27 void Run(bool threaded) { 28 void Run(bool threaded) {
28 // We don't need to care about delegating mode. 29 // We don't need to care about delegating mode.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 ~ProxyTestScheduledActionsBasic() override {} 65 ~ProxyTestScheduledActionsBasic() override {}
65 66
66 private: 67 private:
67 int action_phase_; 68 int action_phase_;
68 69
69 DISALLOW_COPY_AND_ASSIGN(ProxyTestScheduledActionsBasic); 70 DISALLOW_COPY_AND_ASSIGN(ProxyTestScheduledActionsBasic);
70 }; 71 };
71 72
72 PROXY_TEST_SCHEDULED_ACTION(ProxyTestScheduledActionsBasic); 73 PROXY_TEST_SCHEDULED_ACTION(ProxyTestScheduledActionsBasic);
73 74
74 class ThreadProxyTest : public ProxyTest { 75 class ProxyMainThreaded : public ProxyTest {
75 protected: 76 protected:
76 ThreadProxyTest() 77 ProxyMainThreaded()
77 : update_check_layer_( 78 : update_check_layer_(
78 FakePictureLayer::Create(layer_settings(), &client_)) {} 79 FakePictureLayer::Create(layer_settings(), &client_)) {}
79 ~ThreadProxyTest() override {} 80 ~ProxyMainThreaded() override {}
80 81
81 void SetupTree() override { 82 void SetupTree() override {
82 layer_tree_host()->SetRootLayer(update_check_layer_); 83 layer_tree_host()->SetRootLayer(update_check_layer_);
83 ProxyTest::SetupTree(); 84 ProxyTest::SetupTree();
84 } 85 }
85 86
86 const ThreadProxy::MainThreadOnly& ThreadProxyMainOnly() const {
87 DCHECK(proxy());
88 DCHECK(proxy()->HasImplThread());
89 return static_cast<const ThreadProxy*>(proxy())->main();
90 }
91
92 const ThreadProxy::CompositorThreadOnly& ThreadProxyImplOnly() const {
93 DCHECK(proxy());
94 DCHECK(proxy()->HasImplThread());
95 return static_cast<const ThreadProxy*>(proxy())->impl();
96 }
97
98 protected: 87 protected:
99 FakeContentLayerClient client_; 88 FakeContentLayerClient client_;
100 scoped_refptr<FakePictureLayer> update_check_layer_; 89 scoped_refptr<FakePictureLayer> update_check_layer_;
101 90
102 private: 91 private:
103 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTest); 92 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreaded);
104 }; 93 };
105 94
106 class ThreadProxyTestSetNeedsCommit : public ThreadProxyTest { 95 class ProxyMainThreadedSetNeedsCommit : public ProxyMainThreaded {
107 protected: 96 protected:
108 ThreadProxyTestSetNeedsCommit() {} 97 ProxyMainThreadedSetNeedsCommit() {}
109 ~ThreadProxyTestSetNeedsCommit() override {} 98 ~ProxyMainThreadedSetNeedsCommit() override {}
110 99
111 void BeginTest() override { 100 void BeginTest() override {
112 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 101 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
113 ThreadProxyMainOnly().max_requested_pipeline_stage); 102 GetProxyMain()->max_requested_pipeline_stage());
114 103
115 proxy()->SetNeedsCommit(); 104 proxy()->SetNeedsCommit();
116 105
117 EXPECT_EQ(ThreadProxy::COMMIT_PIPELINE_STAGE, 106 EXPECT_EQ(ProxyMain::COMMIT_PIPELINE_STAGE,
118 ThreadProxyMainOnly().max_requested_pipeline_stage); 107 GetProxyMain()->max_requested_pipeline_stage());
119 } 108 }
120 109
121 void DidBeginMainFrame() override { 110 void DidBeginMainFrame() override {
122 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 111 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
123 ThreadProxyMainOnly().max_requested_pipeline_stage); 112 GetProxyMain()->max_requested_pipeline_stage());
124 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 113 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
125 ThreadProxyMainOnly().current_pipeline_stage); 114 GetProxyMain()->current_pipeline_stage());
126 } 115 }
127 116
128 void DidCommit() override { 117 void DidCommit() override {
129 EXPECT_EQ(1, update_check_layer_->update_count()); 118 EXPECT_EQ(1, update_check_layer_->update_count());
130 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 119 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
131 ThreadProxyMainOnly().current_pipeline_stage); 120 GetProxyMain()->current_pipeline_stage());
132 EndTest(); 121 EndTest();
133 } 122 }
134 123
135 private: 124 private:
136 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsCommit); 125 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedSetNeedsCommit);
137 }; 126 };
138 127
139 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsCommit); 128 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedSetNeedsCommit);
140 129
141 class ThreadProxyTestSetNeedsAnimate : public ThreadProxyTest { 130 class ProxyMainThreadedSetNeedsAnimate : public ProxyMainThreaded {
142 protected: 131 protected:
143 ThreadProxyTestSetNeedsAnimate() {} 132 ProxyMainThreadedSetNeedsAnimate() {}
144 ~ThreadProxyTestSetNeedsAnimate() override {} 133 ~ProxyMainThreadedSetNeedsAnimate() override {}
145 134
146 void BeginTest() override { 135 void BeginTest() override {
147 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 136 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
148 ThreadProxyMainOnly().max_requested_pipeline_stage); 137 GetProxyMain()->max_requested_pipeline_stage());
149 138
150 proxy()->SetNeedsAnimate(); 139 proxy()->SetNeedsAnimate();
151 140
152 EXPECT_EQ(ThreadProxy::ANIMATE_PIPELINE_STAGE, 141 EXPECT_EQ(ProxyMain::ANIMATE_PIPELINE_STAGE,
153 ThreadProxyMainOnly().max_requested_pipeline_stage); 142 GetProxyMain()->max_requested_pipeline_stage());
154 } 143 }
155 144
156 void DidBeginMainFrame() override { 145 void DidBeginMainFrame() override {
157 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 146 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
158 ThreadProxyMainOnly().max_requested_pipeline_stage); 147 GetProxyMain()->max_requested_pipeline_stage());
159 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 148 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
160 ThreadProxyMainOnly().current_pipeline_stage); 149 GetProxyMain()->current_pipeline_stage());
161 } 150 }
162 151
163 void DidCommit() override { 152 void DidCommit() override {
164 EXPECT_EQ(0, update_check_layer_->update_count()); 153 EXPECT_EQ(0, update_check_layer_->update_count());
165 EndTest(); 154 EndTest();
166 } 155 }
167 156
168 private: 157 private:
169 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsAnimate); 158 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedSetNeedsAnimate);
170 }; 159 };
171 160
172 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsAnimate); 161 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedSetNeedsAnimate);
173 162
174 class ThreadProxyTestSetNeedsUpdateLayers : public ThreadProxyTest { 163 class ProxyMainThreadedSetNeedsUpdateLayers : public ProxyMainThreaded {
175 protected: 164 protected:
176 ThreadProxyTestSetNeedsUpdateLayers() {} 165 ProxyMainThreadedSetNeedsUpdateLayers() {}
177 ~ThreadProxyTestSetNeedsUpdateLayers() override {} 166 ~ProxyMainThreadedSetNeedsUpdateLayers() override {}
178 167
179 void BeginTest() override { 168 void BeginTest() override {
180 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 169 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
181 ThreadProxyMainOnly().max_requested_pipeline_stage); 170 GetProxyMain()->max_requested_pipeline_stage());
182 171
183 proxy()->SetNeedsUpdateLayers(); 172 proxy()->SetNeedsUpdateLayers();
184 173
185 EXPECT_EQ(ThreadProxy::UPDATE_LAYERS_PIPELINE_STAGE, 174 EXPECT_EQ(ProxyMain::UPDATE_LAYERS_PIPELINE_STAGE,
186 ThreadProxyMainOnly().max_requested_pipeline_stage); 175 GetProxyMain()->max_requested_pipeline_stage());
187 } 176 }
188 177
189 void DidBeginMainFrame() override { 178 void DidBeginMainFrame() override {
190 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 179 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
191 ThreadProxyMainOnly().max_requested_pipeline_stage); 180 GetProxyMain()->max_requested_pipeline_stage());
192 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 181 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
193 ThreadProxyMainOnly().current_pipeline_stage); 182 GetProxyMain()->current_pipeline_stage());
194 } 183 }
195 184
196 void DidCommit() override { 185 void DidCommit() override {
197 EXPECT_EQ(1, update_check_layer_->update_count()); 186 EXPECT_EQ(1, update_check_layer_->update_count());
198 EndTest(); 187 EndTest();
199 } 188 }
200 189
201 private: 190 private:
202 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsUpdateLayers); 191 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedSetNeedsUpdateLayers);
203 }; 192 };
204 193
205 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsUpdateLayers); 194 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedSetNeedsUpdateLayers);
206 195
207 class ThreadProxyTestSetNeedsUpdateLayersWhileAnimating 196 class ProxyMainThreadedSetNeedsUpdateLayersWhileAnimating
208 : public ThreadProxyTest { 197 : public ProxyMainThreaded {
209 protected: 198 protected:
210 ThreadProxyTestSetNeedsUpdateLayersWhileAnimating() {} 199 ProxyMainThreadedSetNeedsUpdateLayersWhileAnimating() {}
211 ~ThreadProxyTestSetNeedsUpdateLayersWhileAnimating() override {} 200 ~ProxyMainThreadedSetNeedsUpdateLayersWhileAnimating() override {}
212 201
213 void BeginTest() override { proxy()->SetNeedsAnimate(); } 202 void BeginTest() override { proxy()->SetNeedsAnimate(); }
214 203
215 void WillBeginMainFrame() override { 204 void WillBeginMainFrame() override {
216 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 205 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
217 ThreadProxyMainOnly().max_requested_pipeline_stage); 206 GetProxyMain()->max_requested_pipeline_stage());
218 EXPECT_EQ(ThreadProxy::ANIMATE_PIPELINE_STAGE, 207 EXPECT_EQ(ProxyMain::ANIMATE_PIPELINE_STAGE,
219 ThreadProxyMainOnly().current_pipeline_stage); 208 GetProxyMain()->current_pipeline_stage());
220 EXPECT_EQ(ThreadProxy::ANIMATE_PIPELINE_STAGE, 209 EXPECT_EQ(ProxyMain::ANIMATE_PIPELINE_STAGE,
221 ThreadProxyMainOnly().final_pipeline_stage); 210 GetProxyMain()->final_pipeline_stage());
222 211
223 proxy()->SetNeedsUpdateLayers(); 212 proxy()->SetNeedsUpdateLayers();
224 213
225 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 214 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
226 ThreadProxyMainOnly().max_requested_pipeline_stage); 215 GetProxyMain()->max_requested_pipeline_stage());
227 EXPECT_EQ(ThreadProxy::UPDATE_LAYERS_PIPELINE_STAGE, 216 EXPECT_EQ(ProxyMain::UPDATE_LAYERS_PIPELINE_STAGE,
228 ThreadProxyMainOnly().final_pipeline_stage); 217 GetProxyMain()->final_pipeline_stage());
229 } 218 }
230 219
231 void DidBeginMainFrame() override { 220 void DidBeginMainFrame() override {
232 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 221 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
233 ThreadProxyMainOnly().max_requested_pipeline_stage); 222 GetProxyMain()->max_requested_pipeline_stage());
234 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 223 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
235 ThreadProxyMainOnly().current_pipeline_stage); 224 GetProxyMain()->current_pipeline_stage());
236 } 225 }
237 226
238 void DidCommit() override { 227 void DidCommit() override {
239 EXPECT_EQ(1, update_check_layer_->update_count()); 228 EXPECT_EQ(1, update_check_layer_->update_count());
240 EndTest(); 229 EndTest();
241 } 230 }
242 231
243 private: 232 private:
244 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsUpdateLayersWhileAnimating); 233 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedSetNeedsUpdateLayersWhileAnimating);
245 }; 234 };
246 235
247 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsUpdateLayersWhileAnimating); 236 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedSetNeedsUpdateLayersWhileAnimating);
248 237
249 class ThreadProxyTestSetNeedsCommitWhileAnimating : public ThreadProxyTest { 238 class ProxyMainThreadedSetNeedsCommitWhileAnimating : public ProxyMainThreaded {
250 protected: 239 protected:
251 ThreadProxyTestSetNeedsCommitWhileAnimating() {} 240 ProxyMainThreadedSetNeedsCommitWhileAnimating() {}
252 ~ThreadProxyTestSetNeedsCommitWhileAnimating() override {} 241 ~ProxyMainThreadedSetNeedsCommitWhileAnimating() override {}
253 242
254 void BeginTest() override { proxy()->SetNeedsAnimate(); } 243 void BeginTest() override { proxy()->SetNeedsAnimate(); }
255 244
256 void WillBeginMainFrame() override { 245 void WillBeginMainFrame() override {
257 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 246 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
258 ThreadProxyMainOnly().max_requested_pipeline_stage); 247 GetProxyMain()->max_requested_pipeline_stage());
259 EXPECT_EQ(ThreadProxy::ANIMATE_PIPELINE_STAGE, 248 EXPECT_EQ(ProxyMain::ANIMATE_PIPELINE_STAGE,
260 ThreadProxyMainOnly().current_pipeline_stage); 249 GetProxyMain()->current_pipeline_stage());
261 EXPECT_EQ(ThreadProxy::ANIMATE_PIPELINE_STAGE, 250 EXPECT_EQ(ProxyMain::ANIMATE_PIPELINE_STAGE,
262 ThreadProxyMainOnly().final_pipeline_stage); 251 GetProxyMain()->final_pipeline_stage());
263 252
264 proxy()->SetNeedsCommit(); 253 proxy()->SetNeedsCommit();
265 254
266 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 255 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
267 ThreadProxyMainOnly().max_requested_pipeline_stage); 256 GetProxyMain()->max_requested_pipeline_stage());
268 EXPECT_EQ(ThreadProxy::COMMIT_PIPELINE_STAGE, 257 EXPECT_EQ(ProxyMain::COMMIT_PIPELINE_STAGE,
269 ThreadProxyMainOnly().final_pipeline_stage); 258 GetProxyMain()->final_pipeline_stage());
270 } 259 }
271 260
272 void DidBeginMainFrame() override { 261 void DidBeginMainFrame() override {
273 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 262 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
274 ThreadProxyMainOnly().max_requested_pipeline_stage); 263 GetProxyMain()->max_requested_pipeline_stage());
275 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 264 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
276 ThreadProxyMainOnly().current_pipeline_stage); 265 GetProxyMain()->current_pipeline_stage());
277 } 266 }
278 267
279 void DidCommit() override { 268 void DidCommit() override {
280 EXPECT_EQ(1, update_check_layer_->update_count()); 269 EXPECT_EQ(1, update_check_layer_->update_count());
281 EndTest(); 270 EndTest();
282 } 271 }
283 272
284 private: 273 private:
285 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsCommitWhileAnimating); 274 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedSetNeedsCommitWhileAnimating);
286 }; 275 };
287 276
288 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsCommitWhileAnimating); 277 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedSetNeedsCommitWhileAnimating);
289 278
290 class ThreadProxyTestCommitWaitsForActivation : public ThreadProxyTest { 279 class ProxyMainThreadedCommitWaitsForActivation : public ProxyMainThreaded {
291 protected: 280 protected:
292 ThreadProxyTestCommitWaitsForActivation() : commits_completed_(0) {} 281 ProxyMainThreadedCommitWaitsForActivation() : commits_completed_(0) {}
293 ~ThreadProxyTestCommitWaitsForActivation() override {} 282 ~ProxyMainThreadedCommitWaitsForActivation() override {}
294 283
295 void BeginTest() override { proxy()->SetNeedsCommit(); } 284 void BeginTest() override { proxy()->SetNeedsCommit(); }
296 285
297 void ScheduledActionCommit() override { 286 void ScheduledActionCommit() override {
298 switch (commits_completed_) { 287 switch (commits_completed_) {
299 case 0: 288 case 0:
300 // The first commit does not wait for activation. Verify that the 289 // The first commit does not wait for activation. Verify that the
301 // completion event is cleared. 290 // completion event is cleared.
302 EXPECT_FALSE(ThreadProxyImplOnly().commit_completion_event); 291 EXPECT_FALSE(GetProxyImpl()->HasCommitCompletionEvent());
303 EXPECT_FALSE(ThreadProxyImplOnly().next_commit_waits_for_activation); 292 EXPECT_FALSE(GetProxyImpl()->next_commit_waits_for_activation());
304 break; 293 break;
305 case 1: 294 case 1:
306 // The second commit should be held until activation. 295 // The second commit should be held until activation.
307 EXPECT_TRUE(ThreadProxyImplOnly().commit_completion_event); 296 EXPECT_TRUE(GetProxyImpl()->HasCommitCompletionEvent());
308 EXPECT_TRUE(ThreadProxyImplOnly().next_commit_waits_for_activation); 297 EXPECT_TRUE(GetProxyImpl()->next_commit_waits_for_activation());
309 break; 298 break;
310 case 2: 299 case 2:
311 // The third commit should not wait for activation. 300 // The third commit should not wait for activation.
312 EXPECT_FALSE(ThreadProxyImplOnly().commit_completion_event); 301 EXPECT_FALSE(GetProxyImpl()->HasCommitCompletionEvent());
313 EXPECT_FALSE(ThreadProxyImplOnly().next_commit_waits_for_activation); 302 EXPECT_FALSE(GetProxyImpl()->next_commit_waits_for_activation());
314 } 303 }
315 } 304 }
316 305
317 void DidActivateSyncTree() override { 306 void DidActivateSyncTree() override {
318 // The next_commit_waits_for_activation should have been cleared after the 307 // The next_commit_waits_for_activation should have been cleared after the
319 // sync tree is activated. 308 // sync tree is activated.
320 EXPECT_FALSE(ThreadProxyImplOnly().next_commit_waits_for_activation); 309 EXPECT_FALSE(GetProxyImpl()->next_commit_waits_for_activation());
321 } 310 }
322 311
323 void DidCommit() override { 312 void DidCommit() override {
324 switch (commits_completed_) { 313 switch (commits_completed_) {
325 case 0: 314 case 0:
326 // The first commit has been completed. Set next commit waits for 315 // The first commit has been completed. Set next commit waits for
327 // activation and start another commit. 316 // activation and start another commit.
328 commits_completed_++; 317 commits_completed_++;
329 proxy()->SetNextCommitWaitsForActivation(); 318 proxy()->SetNextCommitWaitsForActivation();
330 proxy()->SetNeedsCommit(); 319 proxy()->SetNeedsCommit();
331 case 1: 320 case 1:
332 // Start another commit to verify that this is not held until 321 // Start another commit to verify that this is not held until
333 // activation. 322 // activation.
334 commits_completed_++; 323 commits_completed_++;
335 proxy()->SetNeedsCommit(); 324 proxy()->SetNeedsCommit();
336 case 2: 325 case 2:
337 commits_completed_++; 326 commits_completed_++;
338 EndTest(); 327 EndTest();
339 } 328 }
340 } 329 }
341 330
342 void AfterTest() override { EXPECT_EQ(3, commits_completed_); } 331 void AfterTest() override { EXPECT_EQ(3, commits_completed_); }
343 332
344 private: 333 private:
345 int commits_completed_; 334 int commits_completed_;
346 335
347 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestCommitWaitsForActivation); 336 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedCommitWaitsForActivation);
348 }; 337 };
349 338
350 THREAD_PROXY_TEST_F(ThreadProxyTestCommitWaitsForActivation); 339 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedCommitWaitsForActivation);
351 340
352 } // namespace cc 341 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698