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

Side by Side Diff: content/browser/appcache/appcache_url_request_job_unittest.cc

Issue 1170623003: Revert "content: Remove use of MessageLoopProxy and deprecated MessageLoop APIs" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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
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 <stack> 5 #include <stack>
6 #include <utility> 6 #include <utility>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
11 #include "base/compiler_specific.h" 11 #include "base/compiler_specific.h"
12 #include "base/location.h"
13 #include "base/logging.h" 12 #include "base/logging.h"
14 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/scoped_ptr.h"
15 #include "base/pickle.h" 14 #include "base/pickle.h"
16 #include "base/single_thread_task_runner.h"
17 #include "base/synchronization/waitable_event.h" 15 #include "base/synchronization/waitable_event.h"
18 #include "base/thread_task_runner_handle.h"
19 #include "base/threading/thread.h" 16 #include "base/threading/thread.h"
20 #include "content/browser/appcache/appcache_response.h" 17 #include "content/browser/appcache/appcache_response.h"
21 #include "content/browser/appcache/appcache_url_request_job.h" 18 #include "content/browser/appcache/appcache_url_request_job.h"
22 #include "content/browser/appcache/mock_appcache_service.h" 19 #include "content/browser/appcache/mock_appcache_service.h"
23 #include "net/base/io_buffer.h" 20 #include "net/base/io_buffer.h"
24 #include "net/base/net_errors.h" 21 #include "net/base/net_errors.h"
25 #include "net/base/request_priority.h" 22 #include "net/base/request_priority.h"
26 #include "net/http/http_response_headers.h" 23 #include "net/http/http_response_headers.h"
27 #include "net/url_request/url_request.h" 24 #include "net/url_request/url_request.h"
28 #include "net/url_request/url_request_context.h" 25 #include "net/url_request/url_request_context.h"
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 210
214 static void TearDownTestCase() { 211 static void TearDownTestCase() {
215 io_thread_.reset(NULL); 212 io_thread_.reset(NULL);
216 } 213 }
217 214
218 AppCacheURLRequestJobTest() {} 215 AppCacheURLRequestJobTest() {}
219 216
220 template <class Method> 217 template <class Method>
221 void RunTestOnIOThread(Method method) { 218 void RunTestOnIOThread(Method method) {
222 test_finished_event_ .reset(new base::WaitableEvent(false, false)); 219 test_finished_event_ .reset(new base::WaitableEvent(false, false));
223 io_thread_->task_runner()->PostTask( 220 io_thread_->message_loop()->PostTask(
224 FROM_HERE, base::Bind(&AppCacheURLRequestJobTest::MethodWrapper<Method>, 221 FROM_HERE, base::Bind(&AppCacheURLRequestJobTest::MethodWrapper<Method>,
225 base::Unretained(this), method)); 222 base::Unretained(this), method));
226 test_finished_event_->Wait(); 223 test_finished_event_->Wait();
227 } 224 }
228 225
229 void SetUpTest() { 226 void SetUpTest() {
230 DCHECK(base::MessageLoop::current() == io_thread_->message_loop()); 227 DCHECK(base::MessageLoop::current() == io_thread_->message_loop());
231 DCHECK(task_stack_.empty()); 228 DCHECK(task_stack_.empty());
232 229
233 storage_delegate_.reset(new MockStorageDelegate(this)); 230 storage_delegate_.reset(new MockStorageDelegate(this));
(...skipping 29 matching lines...) Expand all
263 DCHECK(!job_factory_->has_job()); 260 DCHECK(!job_factory_->has_job());
264 empty_context_.reset(); 261 empty_context_.reset();
265 job_factory_.reset(); 262 job_factory_.reset();
266 url_request_delegate_.reset(); 263 url_request_delegate_.reset();
267 } 264 }
268 265
269 void TestFinished() { 266 void TestFinished() {
270 // We unwind the stack prior to finishing up to let stack 267 // We unwind the stack prior to finishing up to let stack
271 // based objects get deleted. 268 // based objects get deleted.
272 DCHECK(base::MessageLoop::current() == io_thread_->message_loop()); 269 DCHECK(base::MessageLoop::current() == io_thread_->message_loop());
273 base::ThreadTaskRunnerHandle::Get()->PostTask( 270 base::MessageLoop::current()->PostTask(
274 FROM_HERE, base::Bind(&AppCacheURLRequestJobTest::TestFinishedUnwound, 271 FROM_HERE,
275 base::Unretained(this))); 272 base::Bind(&AppCacheURLRequestJobTest::TestFinishedUnwound,
273 base::Unretained(this)));
276 } 274 }
277 275
278 void TestFinishedUnwound() { 276 void TestFinishedUnwound() {
279 TearDownTest(); 277 TearDownTest();
280 test_finished_event_->Signal(); 278 test_finished_event_->Signal();
281 } 279 }
282 280
283 void PushNextTask(const base::Closure& task) { 281 void PushNextTask(const base::Closure& task) {
284 task_stack_.push(std::pair<base::Closure, bool>(task, false)); 282 task_stack_.push(std::pair<base::Closure, bool>(task, false));
285 } 283 }
286 284
287 void PushNextTaskAsImmediate(const base::Closure& task) { 285 void PushNextTaskAsImmediate(const base::Closure& task) {
288 task_stack_.push(std::pair<base::Closure, bool>(task, true)); 286 task_stack_.push(std::pair<base::Closure, bool>(task, true));
289 } 287 }
290 288
291 void ScheduleNextTask() { 289 void ScheduleNextTask() {
292 DCHECK(base::MessageLoop::current() == io_thread_->message_loop()); 290 DCHECK(base::MessageLoop::current() == io_thread_->message_loop());
293 if (task_stack_.empty()) { 291 if (task_stack_.empty()) {
294 TestFinished(); 292 TestFinished();
295 return; 293 return;
296 } 294 }
297 base::Closure task =task_stack_.top().first; 295 base::Closure task =task_stack_.top().first;
298 bool immediate = task_stack_.top().second; 296 bool immediate = task_stack_.top().second;
299 task_stack_.pop(); 297 task_stack_.pop();
300 if (immediate) 298 if (immediate)
301 task.Run(); 299 task.Run();
302 else 300 else
303 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, task); 301 base::MessageLoop::current()->PostTask(FROM_HERE, task);
304 } 302 }
305 303
306 // Wrappers to call AppCacheResponseReader/Writer Read and Write methods 304 // Wrappers to call AppCacheResponseReader/Writer Read and Write methods
307 305
308 void WriteBasicResponse() { 306 void WriteBasicResponse() {
309 scoped_refptr<IOBuffer> body(new WrappedIOBuffer(kHttpBasicBody)); 307 scoped_refptr<IOBuffer> body(new WrappedIOBuffer(kHttpBasicBody));
310 std::string raw_headers(kHttpBasicHeaders, arraysize(kHttpBasicHeaders)); 308 std::string raw_headers(kHttpBasicHeaders, arraysize(kHttpBasicHeaders));
311 WriteResponse( 309 WriteResponse(
312 MakeHttpResponseInfo(raw_headers), body.get(), strlen(kHttpBasicBody)); 310 MakeHttpResponseInfo(raw_headers), body.get(), strlen(kHttpBasicBody));
313 } 311 }
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
863 RunTestOnIOThread(&AppCacheURLRequestJobTest::CancelRequest); 861 RunTestOnIOThread(&AppCacheURLRequestJobTest::CancelRequest);
864 } 862 }
865 863
866 TEST_F(AppCacheURLRequestJobTest, CancelRequestWithIOPending) { 864 TEST_F(AppCacheURLRequestJobTest, CancelRequestWithIOPending) {
867 RunTestOnIOThread(&AppCacheURLRequestJobTest::CancelRequestWithIOPending); 865 RunTestOnIOThread(&AppCacheURLRequestJobTest::CancelRequestWithIOPending);
868 } 866 }
869 867
870 } // namespace 868 } // namespace
871 869
872 } // namespace content 870 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/appcache/appcache_url_request_job.cc ('k') | content/browser/appcache/chrome_appcache_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698