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 |