| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 | 77 |
| 78 class BlobURLRequestJobFactory; | 78 class BlobURLRequestJobFactory; |
| 79 | 79 |
| 80 } // namespace (anonymous) | 80 } // namespace (anonymous) |
| 81 | 81 |
| 82 class FileWriterDelegateTest : public PlatformTest { | 82 class FileWriterDelegateTest : public PlatformTest { |
| 83 public: | 83 public: |
| 84 FileWriterDelegateTest() {} | 84 FileWriterDelegateTest() {} |
| 85 | 85 |
| 86 protected: | 86 protected: |
| 87 virtual void SetUp() OVERRIDE; | 87 virtual void SetUp() override; |
| 88 virtual void TearDown() OVERRIDE; | 88 virtual void TearDown() override; |
| 89 | 89 |
| 90 int64 usage() { | 90 int64 usage() { |
| 91 return file_system_context_->GetQuotaUtil(kFileSystemType) | 91 return file_system_context_->GetQuotaUtil(kFileSystemType) |
| 92 ->GetOriginUsageOnFileTaskRunner( | 92 ->GetOriginUsageOnFileTaskRunner( |
| 93 file_system_context_.get(), kOrigin, kFileSystemType); | 93 file_system_context_.get(), kOrigin, kFileSystemType); |
| 94 } | 94 } |
| 95 | 95 |
| 96 int64 GetFileSizeOnDisk(const char* test_file_path) { | 96 int64 GetFileSizeOnDisk(const char* test_file_path) { |
| 97 // There might be in-flight flush/write. | 97 // There might be in-flight flush/write. |
| 98 base::MessageLoop::current()->PostTask( | 98 base::MessageLoop::current()->PostTask( |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 public: | 168 public: |
| 169 FileWriterDelegateTestJob(net::URLRequest* request, | 169 FileWriterDelegateTestJob(net::URLRequest* request, |
| 170 net::NetworkDelegate* network_delegate, | 170 net::NetworkDelegate* network_delegate, |
| 171 const std::string& content) | 171 const std::string& content) |
| 172 : net::URLRequestJob(request, network_delegate), | 172 : net::URLRequestJob(request, network_delegate), |
| 173 content_(content), | 173 content_(content), |
| 174 remaining_bytes_(content.length()), | 174 remaining_bytes_(content.length()), |
| 175 cursor_(0) { | 175 cursor_(0) { |
| 176 } | 176 } |
| 177 | 177 |
| 178 virtual void Start() OVERRIDE { | 178 virtual void Start() override { |
| 179 base::MessageLoop::current()->PostTask( | 179 base::MessageLoop::current()->PostTask( |
| 180 FROM_HERE, | 180 FROM_HERE, |
| 181 base::Bind(&FileWriterDelegateTestJob::NotifyHeadersComplete, this)); | 181 base::Bind(&FileWriterDelegateTestJob::NotifyHeadersComplete, this)); |
| 182 } | 182 } |
| 183 | 183 |
| 184 virtual bool ReadRawData(net::IOBuffer* buf, | 184 virtual bool ReadRawData(net::IOBuffer* buf, |
| 185 int buf_size, | 185 int buf_size, |
| 186 int *bytes_read) OVERRIDE { | 186 int *bytes_read) override { |
| 187 if (remaining_bytes_ < buf_size) | 187 if (remaining_bytes_ < buf_size) |
| 188 buf_size = static_cast<int>(remaining_bytes_); | 188 buf_size = static_cast<int>(remaining_bytes_); |
| 189 | 189 |
| 190 for (int i = 0; i < buf_size; ++i) | 190 for (int i = 0; i < buf_size; ++i) |
| 191 buf->data()[i] = content_[cursor_++]; | 191 buf->data()[i] = content_[cursor_++]; |
| 192 remaining_bytes_ -= buf_size; | 192 remaining_bytes_ -= buf_size; |
| 193 | 193 |
| 194 SetStatus(net::URLRequestStatus()); | 194 SetStatus(net::URLRequestStatus()); |
| 195 *bytes_read = buf_size; | 195 *bytes_read = buf_size; |
| 196 return true; | 196 return true; |
| 197 } | 197 } |
| 198 | 198 |
| 199 virtual int GetResponseCode() const OVERRIDE { | 199 virtual int GetResponseCode() const override { |
| 200 return 200; | 200 return 200; |
| 201 } | 201 } |
| 202 | 202 |
| 203 protected: | 203 protected: |
| 204 virtual ~FileWriterDelegateTestJob() {} | 204 virtual ~FileWriterDelegateTestJob() {} |
| 205 | 205 |
| 206 private: | 206 private: |
| 207 std::string content_; | 207 std::string content_; |
| 208 int remaining_bytes_; | 208 int remaining_bytes_; |
| 209 int cursor_; | 209 int cursor_; |
| 210 }; | 210 }; |
| 211 | 211 |
| 212 class BlobURLRequestJobFactory : public net::URLRequestJobFactory { | 212 class BlobURLRequestJobFactory : public net::URLRequestJobFactory { |
| 213 public: | 213 public: |
| 214 explicit BlobURLRequestJobFactory(const char** content_data) | 214 explicit BlobURLRequestJobFactory(const char** content_data) |
| 215 : content_data_(content_data) { | 215 : content_data_(content_data) { |
| 216 } | 216 } |
| 217 | 217 |
| 218 virtual net::URLRequestJob* MaybeCreateJobWithProtocolHandler( | 218 virtual net::URLRequestJob* MaybeCreateJobWithProtocolHandler( |
| 219 const std::string& scheme, | 219 const std::string& scheme, |
| 220 net::URLRequest* request, | 220 net::URLRequest* request, |
| 221 net::NetworkDelegate* network_delegate) const OVERRIDE { | 221 net::NetworkDelegate* network_delegate) const override { |
| 222 return new FileWriterDelegateTestJob( | 222 return new FileWriterDelegateTestJob( |
| 223 request, network_delegate, *content_data_); | 223 request, network_delegate, *content_data_); |
| 224 } | 224 } |
| 225 | 225 |
| 226 virtual bool IsHandledProtocol(const std::string& scheme) const OVERRIDE { | 226 virtual bool IsHandledProtocol(const std::string& scheme) const override { |
| 227 return scheme == "blob"; | 227 return scheme == "blob"; |
| 228 } | 228 } |
| 229 | 229 |
| 230 virtual bool IsHandledURL(const GURL& url) const OVERRIDE { | 230 virtual bool IsHandledURL(const GURL& url) const override { |
| 231 return url.SchemeIs("blob"); | 231 return url.SchemeIs("blob"); |
| 232 } | 232 } |
| 233 | 233 |
| 234 virtual bool IsSafeRedirectTarget(const GURL& location) const OVERRIDE { | 234 virtual bool IsSafeRedirectTarget(const GURL& location) const override { |
| 235 return true; | 235 return true; |
| 236 } | 236 } |
| 237 | 237 |
| 238 private: | 238 private: |
| 239 const char** content_data_; | 239 const char** content_data_; |
| 240 | 240 |
| 241 DISALLOW_COPY_AND_ASSIGN(BlobURLRequestJobFactory); | 241 DISALLOW_COPY_AND_ASSIGN(BlobURLRequestJobFactory); |
| 242 }; | 242 }; |
| 243 | 243 |
| 244 } // namespace (anonymous) | 244 } // namespace (anonymous) |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 file_writer_delegate_.reset(); | 477 file_writer_delegate_.reset(); |
| 478 | 478 |
| 479 EXPECT_EQ(pre_write_usage + allowed_growth, usage()); | 479 EXPECT_EQ(pre_write_usage + allowed_growth, usage()); |
| 480 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); | 480 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); |
| 481 EXPECT_EQ(kOverlap + allowed_growth, result.bytes_written()); | 481 EXPECT_EQ(kOverlap + allowed_growth, result.bytes_written()); |
| 482 EXPECT_EQ(base::File::FILE_ERROR_NO_SPACE, result.status()); | 482 EXPECT_EQ(base::File::FILE_ERROR_NO_SPACE, result.status()); |
| 483 } | 483 } |
| 484 } | 484 } |
| 485 | 485 |
| 486 } // namespace content | 486 } // namespace content |
| OLD | NEW |