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

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: Update ProxyImpl and ProxyMain class structure. Created 5 years 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 client_.set_bounds(update_check_layer_->bounds()); 85 client_.set_bounds(update_check_layer_->bounds());
85 } 86 }
86 87
87 const ThreadProxy::MainThreadOnly& ThreadProxyMainOnly() const {
88 DCHECK(task_runner_provider());
89 DCHECK(task_runner_provider()->HasImplThread());
90 DCHECK(proxy());
91 return static_cast<const ThreadProxy*>(proxy())->main();
92 }
93
94 const ThreadProxy::CompositorThreadOnly& ThreadProxyImplOnly() const {
95 DCHECK(task_runner_provider());
96 DCHECK(task_runner_provider()->HasImplThread());
97 DCHECK(proxy());
98 return static_cast<const ThreadProxy*>(proxy())->impl();
99 }
100
101 protected: 88 protected:
102 FakeContentLayerClient client_; 89 FakeContentLayerClient client_;
103 scoped_refptr<FakePictureLayer> update_check_layer_; 90 scoped_refptr<FakePictureLayer> update_check_layer_;
104 91
105 private: 92 private:
106 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTest); 93 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreaded);
107 }; 94 };
108 95
109 class ThreadProxyTestSetNeedsCommit : public ThreadProxyTest { 96 class ProxyMainThreadedSetNeedsCommit : public ProxyMainThreaded {
110 protected: 97 protected:
111 ThreadProxyTestSetNeedsCommit() {} 98 ProxyMainThreadedSetNeedsCommit() {}
112 ~ThreadProxyTestSetNeedsCommit() override {} 99 ~ProxyMainThreadedSetNeedsCommit() override {}
113 100
114 void BeginTest() override { 101 void BeginTest() override {
115 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 102 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
116 ThreadProxyMainOnly().max_requested_pipeline_stage); 103 GetProxyMain()->max_requested_pipeline_stage());
117 104
118 proxy()->SetNeedsCommit(); 105 proxy()->SetNeedsCommit();
119 106
120 EXPECT_EQ(ThreadProxy::COMMIT_PIPELINE_STAGE, 107 EXPECT_EQ(ProxyMain::COMMIT_PIPELINE_STAGE,
121 ThreadProxyMainOnly().max_requested_pipeline_stage); 108 GetProxyMain()->max_requested_pipeline_stage());
122 } 109 }
123 110
124 void DidBeginMainFrame() override { 111 void DidBeginMainFrame() override {
125 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 112 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
126 ThreadProxyMainOnly().max_requested_pipeline_stage); 113 GetProxyMain()->max_requested_pipeline_stage());
127 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 114 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
128 ThreadProxyMainOnly().current_pipeline_stage); 115 GetProxyMain()->current_pipeline_stage());
129 } 116 }
130 117
131 void DidCommit() override { 118 void DidCommit() override {
132 EXPECT_EQ(1, update_check_layer_->update_count()); 119 EXPECT_EQ(1, update_check_layer_->update_count());
133 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 120 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
134 ThreadProxyMainOnly().current_pipeline_stage); 121 GetProxyMain()->current_pipeline_stage());
135 EndTest(); 122 EndTest();
136 } 123 }
137 124
138 private: 125 private:
139 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsCommit); 126 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedSetNeedsCommit);
140 }; 127 };
141 128
142 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsCommit); 129 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedSetNeedsCommit);
143 130
144 class ThreadProxyTestSetNeedsAnimate : public ThreadProxyTest { 131 class ProxyMainThreadedSetNeedsAnimate : public ProxyMainThreaded {
145 protected: 132 protected:
146 ThreadProxyTestSetNeedsAnimate() {} 133 ProxyMainThreadedSetNeedsAnimate() {}
147 ~ThreadProxyTestSetNeedsAnimate() override {} 134 ~ProxyMainThreadedSetNeedsAnimate() override {}
148 135
149 void BeginTest() override { 136 void BeginTest() override {
150 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 137 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
151 ThreadProxyMainOnly().max_requested_pipeline_stage); 138 GetProxyMain()->max_requested_pipeline_stage());
152 139
153 proxy()->SetNeedsAnimate(); 140 proxy()->SetNeedsAnimate();
154 141
155 EXPECT_EQ(ThreadProxy::ANIMATE_PIPELINE_STAGE, 142 EXPECT_EQ(ProxyMain::ANIMATE_PIPELINE_STAGE,
156 ThreadProxyMainOnly().max_requested_pipeline_stage); 143 GetProxyMain()->max_requested_pipeline_stage());
157 } 144 }
158 145
159 void DidBeginMainFrame() override { 146 void DidBeginMainFrame() override {
160 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 147 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
161 ThreadProxyMainOnly().max_requested_pipeline_stage); 148 GetProxyMain()->max_requested_pipeline_stage());
162 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 149 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
163 ThreadProxyMainOnly().current_pipeline_stage); 150 GetProxyMain()->current_pipeline_stage());
164 } 151 }
165 152
166 void DidCommit() override { 153 void DidCommit() override {
167 EXPECT_EQ(0, update_check_layer_->update_count()); 154 EXPECT_EQ(0, update_check_layer_->update_count());
168 EndTest(); 155 EndTest();
169 } 156 }
170 157
171 private: 158 private:
172 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsAnimate); 159 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedSetNeedsAnimate);
173 }; 160 };
174 161
175 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsAnimate); 162 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedSetNeedsAnimate);
176 163
177 class ThreadProxyTestSetNeedsUpdateLayers : public ThreadProxyTest { 164 class ProxyMainThreadedSetNeedsUpdateLayers : public ProxyMainThreaded {
178 protected: 165 protected:
179 ThreadProxyTestSetNeedsUpdateLayers() {} 166 ProxyMainThreadedSetNeedsUpdateLayers() {}
180 ~ThreadProxyTestSetNeedsUpdateLayers() override {} 167 ~ProxyMainThreadedSetNeedsUpdateLayers() override {}
181 168
182 void BeginTest() override { 169 void BeginTest() override {
183 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 170 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
184 ThreadProxyMainOnly().max_requested_pipeline_stage); 171 GetProxyMain()->max_requested_pipeline_stage());
185 172
186 proxy()->SetNeedsUpdateLayers(); 173 proxy()->SetNeedsUpdateLayers();
187 174
188 EXPECT_EQ(ThreadProxy::UPDATE_LAYERS_PIPELINE_STAGE, 175 EXPECT_EQ(ProxyMain::UPDATE_LAYERS_PIPELINE_STAGE,
189 ThreadProxyMainOnly().max_requested_pipeline_stage); 176 GetProxyMain()->max_requested_pipeline_stage());
190 } 177 }
191 178
192 void DidBeginMainFrame() override { 179 void DidBeginMainFrame() override {
193 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 180 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
194 ThreadProxyMainOnly().max_requested_pipeline_stage); 181 GetProxyMain()->max_requested_pipeline_stage());
195 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 182 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
196 ThreadProxyMainOnly().current_pipeline_stage); 183 GetProxyMain()->current_pipeline_stage());
197 } 184 }
198 185
199 void DidCommit() override { 186 void DidCommit() override {
200 EXPECT_EQ(1, update_check_layer_->update_count()); 187 EXPECT_EQ(1, update_check_layer_->update_count());
201 EndTest(); 188 EndTest();
202 } 189 }
203 190
204 private: 191 private:
205 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsUpdateLayers); 192 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedSetNeedsUpdateLayers);
206 }; 193 };
207 194
208 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsUpdateLayers); 195 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedSetNeedsUpdateLayers);
209 196
210 class ThreadProxyTestSetNeedsUpdateLayersWhileAnimating 197 class ProxyMainThreadedSetNeedsUpdateLayersWhileAnimating
211 : public ThreadProxyTest { 198 : public ProxyMainThreaded {
212 protected: 199 protected:
213 ThreadProxyTestSetNeedsUpdateLayersWhileAnimating() {} 200 ProxyMainThreadedSetNeedsUpdateLayersWhileAnimating() {}
214 ~ThreadProxyTestSetNeedsUpdateLayersWhileAnimating() override {} 201 ~ProxyMainThreadedSetNeedsUpdateLayersWhileAnimating() override {}
215 202
216 void BeginTest() override { proxy()->SetNeedsAnimate(); } 203 void BeginTest() override { proxy()->SetNeedsAnimate(); }
217 204
218 void WillBeginMainFrame() override { 205 void WillBeginMainFrame() override {
219 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 206 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
220 ThreadProxyMainOnly().max_requested_pipeline_stage); 207 GetProxyMain()->max_requested_pipeline_stage());
221 EXPECT_EQ(ThreadProxy::ANIMATE_PIPELINE_STAGE, 208 EXPECT_EQ(ProxyMain::ANIMATE_PIPELINE_STAGE,
222 ThreadProxyMainOnly().current_pipeline_stage); 209 GetProxyMain()->current_pipeline_stage());
223 EXPECT_EQ(ThreadProxy::ANIMATE_PIPELINE_STAGE, 210 EXPECT_EQ(ProxyMain::ANIMATE_PIPELINE_STAGE,
224 ThreadProxyMainOnly().final_pipeline_stage); 211 GetProxyMain()->final_pipeline_stage());
225 212
226 proxy()->SetNeedsUpdateLayers(); 213 proxy()->SetNeedsUpdateLayers();
227 214
228 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 215 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
229 ThreadProxyMainOnly().max_requested_pipeline_stage); 216 GetProxyMain()->max_requested_pipeline_stage());
230 EXPECT_EQ(ThreadProxy::UPDATE_LAYERS_PIPELINE_STAGE, 217 EXPECT_EQ(ProxyMain::UPDATE_LAYERS_PIPELINE_STAGE,
231 ThreadProxyMainOnly().final_pipeline_stage); 218 GetProxyMain()->final_pipeline_stage());
232 } 219 }
233 220
234 void DidBeginMainFrame() override { 221 void DidBeginMainFrame() override {
235 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 222 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
236 ThreadProxyMainOnly().max_requested_pipeline_stage); 223 GetProxyMain()->max_requested_pipeline_stage());
237 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 224 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
238 ThreadProxyMainOnly().current_pipeline_stage); 225 GetProxyMain()->current_pipeline_stage());
239 } 226 }
240 227
241 void DidCommit() override { 228 void DidCommit() override {
242 EXPECT_EQ(1, update_check_layer_->update_count()); 229 EXPECT_EQ(1, update_check_layer_->update_count());
243 EndTest(); 230 EndTest();
244 } 231 }
245 232
246 private: 233 private:
247 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsUpdateLayersWhileAnimating); 234 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedSetNeedsUpdateLayersWhileAnimating);
248 }; 235 };
249 236
250 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsUpdateLayersWhileAnimating); 237 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedSetNeedsUpdateLayersWhileAnimating);
251 238
252 class ThreadProxyTestSetNeedsCommitWhileAnimating : public ThreadProxyTest { 239 class ProxyMainThreadedSetNeedsCommitWhileAnimating : public ProxyMainThreaded {
253 protected: 240 protected:
254 ThreadProxyTestSetNeedsCommitWhileAnimating() {} 241 ProxyMainThreadedSetNeedsCommitWhileAnimating() {}
255 ~ThreadProxyTestSetNeedsCommitWhileAnimating() override {} 242 ~ProxyMainThreadedSetNeedsCommitWhileAnimating() override {}
256 243
257 void BeginTest() override { proxy()->SetNeedsAnimate(); } 244 void BeginTest() override { proxy()->SetNeedsAnimate(); }
258 245
259 void WillBeginMainFrame() override { 246 void WillBeginMainFrame() override {
260 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 247 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
261 ThreadProxyMainOnly().max_requested_pipeline_stage); 248 GetProxyMain()->max_requested_pipeline_stage());
262 EXPECT_EQ(ThreadProxy::ANIMATE_PIPELINE_STAGE, 249 EXPECT_EQ(ProxyMain::ANIMATE_PIPELINE_STAGE,
263 ThreadProxyMainOnly().current_pipeline_stage); 250 GetProxyMain()->current_pipeline_stage());
264 EXPECT_EQ(ThreadProxy::ANIMATE_PIPELINE_STAGE, 251 EXPECT_EQ(ProxyMain::ANIMATE_PIPELINE_STAGE,
265 ThreadProxyMainOnly().final_pipeline_stage); 252 GetProxyMain()->final_pipeline_stage());
266 253
267 proxy()->SetNeedsCommit(); 254 proxy()->SetNeedsCommit();
268 255
269 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 256 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
270 ThreadProxyMainOnly().max_requested_pipeline_stage); 257 GetProxyMain()->max_requested_pipeline_stage());
271 EXPECT_EQ(ThreadProxy::COMMIT_PIPELINE_STAGE, 258 EXPECT_EQ(ProxyMain::COMMIT_PIPELINE_STAGE,
272 ThreadProxyMainOnly().final_pipeline_stage); 259 GetProxyMain()->final_pipeline_stage());
273 } 260 }
274 261
275 void DidBeginMainFrame() override { 262 void DidBeginMainFrame() override {
276 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 263 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
277 ThreadProxyMainOnly().max_requested_pipeline_stage); 264 GetProxyMain()->max_requested_pipeline_stage());
278 EXPECT_EQ(ThreadProxy::NO_PIPELINE_STAGE, 265 EXPECT_EQ(ProxyMain::NO_PIPELINE_STAGE,
279 ThreadProxyMainOnly().current_pipeline_stage); 266 GetProxyMain()->current_pipeline_stage());
280 } 267 }
281 268
282 void DidCommit() override { 269 void DidCommit() override {
283 EXPECT_EQ(1, update_check_layer_->update_count()); 270 EXPECT_EQ(1, update_check_layer_->update_count());
284 EndTest(); 271 EndTest();
285 } 272 }
286 273
287 private: 274 private:
288 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestSetNeedsCommitWhileAnimating); 275 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedSetNeedsCommitWhileAnimating);
289 }; 276 };
290 277
291 THREAD_PROXY_TEST_F(ThreadProxyTestSetNeedsCommitWhileAnimating); 278 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedSetNeedsCommitWhileAnimating);
292 279
293 class ThreadProxyTestCommitWaitsForActivation : public ThreadProxyTest { 280 class ProxyMainThreadedCommitWaitsForActivation : public ProxyMainThreaded {
294 protected: 281 protected:
295 ThreadProxyTestCommitWaitsForActivation() : commits_completed_(0) {} 282 ProxyMainThreadedCommitWaitsForActivation() : commits_completed_(0) {}
296 ~ThreadProxyTestCommitWaitsForActivation() override {} 283 ~ProxyMainThreadedCommitWaitsForActivation() override {}
297 284
298 void BeginTest() override { proxy()->SetNeedsCommit(); } 285 void BeginTest() override { proxy()->SetNeedsCommit(); }
299 286
300 void ScheduledActionCommit() override { 287 void ScheduledActionCommit() override {
301 switch (commits_completed_) { 288 switch (commits_completed_) {
302 case 0: 289 case 0:
303 // The first commit does not wait for activation. Verify that the 290 // The first commit does not wait for activation. Verify that the
304 // completion event is cleared. 291 // completion event is cleared.
305 EXPECT_FALSE(ThreadProxyImplOnly().commit_completion_event); 292 EXPECT_FALSE(GetProxyImpl()->HasCommitCompletionEventForTesting());
306 EXPECT_FALSE(ThreadProxyImplOnly().next_commit_waits_for_activation); 293 EXPECT_FALSE(
294 GetProxyImpl()->GetNextCommitWaitsForActivationForTesting());
307 break; 295 break;
308 case 1: 296 case 1:
309 // The second commit should be held until activation. 297 // The second commit should be held until activation.
310 EXPECT_TRUE(ThreadProxyImplOnly().commit_completion_event); 298 EXPECT_TRUE(GetProxyImpl()->HasCommitCompletionEventForTesting());
311 EXPECT_TRUE(ThreadProxyImplOnly().next_commit_waits_for_activation); 299 EXPECT_TRUE(
300 GetProxyImpl()->GetNextCommitWaitsForActivationForTesting());
312 break; 301 break;
313 case 2: 302 case 2:
314 // The third commit should not wait for activation. 303 // The third commit should not wait for activation.
315 EXPECT_FALSE(ThreadProxyImplOnly().commit_completion_event); 304 EXPECT_FALSE(GetProxyImpl()->HasCommitCompletionEventForTesting());
316 EXPECT_FALSE(ThreadProxyImplOnly().next_commit_waits_for_activation); 305 EXPECT_FALSE(
306 GetProxyImpl()->GetNextCommitWaitsForActivationForTesting());
317 } 307 }
318 } 308 }
319 309
320 void DidActivateSyncTree() override { 310 void DidActivateSyncTree() override {
321 // The next_commit_waits_for_activation should have been cleared after the 311 // The next_commit_waits_for_activation should have been cleared after the
322 // sync tree is activated. 312 // sync tree is activated.
323 EXPECT_FALSE(ThreadProxyImplOnly().next_commit_waits_for_activation); 313 EXPECT_FALSE(GetProxyImpl()->GetNextCommitWaitsForActivationForTesting());
324 } 314 }
325 315
326 void DidCommit() override { 316 void DidCommit() override {
327 switch (commits_completed_) { 317 switch (commits_completed_) {
328 case 0: 318 case 0:
329 // The first commit has been completed. Set next commit waits for 319 // The first commit has been completed. Set next commit waits for
330 // activation and start another commit. 320 // activation and start another commit.
331 commits_completed_++; 321 commits_completed_++;
332 proxy()->SetNextCommitWaitsForActivation(); 322 proxy()->SetNextCommitWaitsForActivation();
333 proxy()->SetNeedsCommit(); 323 proxy()->SetNeedsCommit();
334 case 1: 324 case 1:
335 // Start another commit to verify that this is not held until 325 // Start another commit to verify that this is not held until
336 // activation. 326 // activation.
337 commits_completed_++; 327 commits_completed_++;
338 proxy()->SetNeedsCommit(); 328 proxy()->SetNeedsCommit();
339 case 2: 329 case 2:
340 commits_completed_++; 330 commits_completed_++;
341 EndTest(); 331 EndTest();
342 } 332 }
343 } 333 }
344 334
345 void AfterTest() override { EXPECT_EQ(3, commits_completed_); } 335 void AfterTest() override { EXPECT_EQ(3, commits_completed_); }
346 336
347 private: 337 private:
348 int commits_completed_; 338 int commits_completed_;
349 339
350 DISALLOW_COPY_AND_ASSIGN(ThreadProxyTestCommitWaitsForActivation); 340 DISALLOW_COPY_AND_ASSIGN(ProxyMainThreadedCommitWaitsForActivation);
351 }; 341 };
352 342
353 THREAD_PROXY_TEST_F(ThreadProxyTestCommitWaitsForActivation); 343 PROXY_MAIN_THREADED_TEST_F(ProxyMainThreadedCommitWaitsForActivation);
354 344
355 } // namespace cc 345 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698