| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "net/base/mock_file_stream.h" | 5 #include "net/base/mock_file_stream.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 | 9 |
| 10 namespace net { | 10 namespace net { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 : FileStream(file.Pass(), task_runner), | 26 : FileStream(file.Pass(), task_runner), |
| 27 forced_error_(OK), | 27 forced_error_(OK), |
| 28 async_error_(false), | 28 async_error_(false), |
| 29 throttled_(false), | 29 throttled_(false), |
| 30 weak_factory_(this) { | 30 weak_factory_(this) { |
| 31 } | 31 } |
| 32 | 32 |
| 33 MockFileStream::~MockFileStream() { | 33 MockFileStream::~MockFileStream() { |
| 34 } | 34 } |
| 35 | 35 |
| 36 int MockFileStream::Seek(base::File::Whence whence, int64 offset, | 36 int MockFileStream::Seek(base::File::Whence whence, |
| 37 int64_t offset, |
| 37 const Int64CompletionCallback& callback) { | 38 const Int64CompletionCallback& callback) { |
| 38 Int64CompletionCallback wrapped_callback = | 39 Int64CompletionCallback wrapped_callback = |
| 39 base::Bind(&MockFileStream::DoCallback64, | 40 base::Bind(&MockFileStream::DoCallback64, |
| 40 weak_factory_.GetWeakPtr(), callback); | 41 weak_factory_.GetWeakPtr(), callback); |
| 41 if (forced_error_ == OK) | 42 if (forced_error_ == OK) |
| 42 return FileStream::Seek(whence, offset, wrapped_callback); | 43 return FileStream::Seek(whence, offset, wrapped_callback); |
| 43 return ErrorCallback64(wrapped_callback); | 44 return ErrorCallback64(wrapped_callback); |
| 44 } | 45 } |
| 45 | 46 |
| 46 int MockFileStream::Read(IOBuffer* buf, | 47 int MockFileStream::Read(IOBuffer* buf, |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 int result) { | 95 int result) { |
| 95 if (!throttled_) { | 96 if (!throttled_) { |
| 96 callback.Run(result); | 97 callback.Run(result); |
| 97 return; | 98 return; |
| 98 } | 99 } |
| 99 CHECK(throttled_task_.is_null()); | 100 CHECK(throttled_task_.is_null()); |
| 100 throttled_task_ = base::Bind(callback, result); | 101 throttled_task_ = base::Bind(callback, result); |
| 101 } | 102 } |
| 102 | 103 |
| 103 void MockFileStream::DoCallback64(const Int64CompletionCallback& callback, | 104 void MockFileStream::DoCallback64(const Int64CompletionCallback& callback, |
| 104 int64 result) { | 105 int64_t result) { |
| 105 if (!throttled_) { | 106 if (!throttled_) { |
| 106 callback.Run(result); | 107 callback.Run(result); |
| 107 return; | 108 return; |
| 108 } | 109 } |
| 109 CHECK(throttled_task_.is_null()); | 110 CHECK(throttled_task_.is_null()); |
| 110 throttled_task_ = base::Bind(callback, result); | 111 throttled_task_ = base::Bind(callback, result); |
| 111 } | 112 } |
| 112 | 113 |
| 113 int MockFileStream::ErrorCallback(const CompletionCallback& callback) { | 114 int MockFileStream::ErrorCallback(const CompletionCallback& callback) { |
| 114 CHECK_NE(OK, forced_error_); | 115 CHECK_NE(OK, forced_error_); |
| 115 if (async_error_) { | 116 if (async_error_) { |
| 116 base::MessageLoop::current()->PostTask( | 117 base::MessageLoop::current()->PostTask( |
| 117 FROM_HERE, base::Bind(callback, forced_error_)); | 118 FROM_HERE, base::Bind(callback, forced_error_)); |
| 118 clear_forced_error(); | 119 clear_forced_error(); |
| 119 return ERR_IO_PENDING; | 120 return ERR_IO_PENDING; |
| 120 } | 121 } |
| 121 int ret = forced_error_; | 122 int ret = forced_error_; |
| 122 clear_forced_error(); | 123 clear_forced_error(); |
| 123 return ret; | 124 return ret; |
| 124 } | 125 } |
| 125 | 126 |
| 126 int64 MockFileStream::ErrorCallback64(const Int64CompletionCallback& callback) { | 127 int64_t MockFileStream::ErrorCallback64( |
| 128 const Int64CompletionCallback& callback) { |
| 127 CHECK_NE(OK, forced_error_); | 129 CHECK_NE(OK, forced_error_); |
| 128 if (async_error_) { | 130 if (async_error_) { |
| 129 base::MessageLoop::current()->PostTask( | 131 base::MessageLoop::current()->PostTask( |
| 130 FROM_HERE, base::Bind(callback, forced_error_)); | 132 FROM_HERE, base::Bind(callback, forced_error_)); |
| 131 clear_forced_error(); | 133 clear_forced_error(); |
| 132 return ERR_IO_PENDING; | 134 return ERR_IO_PENDING; |
| 133 } | 135 } |
| 134 int64 ret = forced_error_; | 136 int64_t ret = forced_error_; |
| 135 clear_forced_error(); | 137 clear_forced_error(); |
| 136 return ret; | 138 return ret; |
| 137 } | 139 } |
| 138 | 140 |
| 139 } // namespace testing | 141 } // namespace testing |
| 140 | 142 |
| 141 } // namespace net | 143 } // namespace net |
| OLD | NEW |