| 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 "content/browser/renderer_host/pepper/quota_reservation.h" | 5 #include "content/browser/renderer_host/pepper/quota_reservation.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/files/file.h" |
| 10 #include "base/files/scoped_temp_dir.h" | 11 #include "base/files/scoped_temp_dir.h" |
| 11 #include "base/message_loop/message_loop.h" | 12 #include "base/message_loop/message_loop.h" |
| 12 #include "base/run_loop.h" | 13 #include "base/run_loop.h" |
| 13 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
| 14 #include "webkit/browser/fileapi/quota/quota_reservation.h" | 15 #include "webkit/browser/fileapi/quota/quota_reservation.h" |
| 15 | 16 |
| 16 using fileapi::FileSystemType; | 17 using fileapi::FileSystemType; |
| 17 using fileapi::QuotaReservationManager; | 18 using fileapi::QuotaReservationManager; |
| 18 | 19 |
| 19 namespace content { | 20 namespace content { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 35 FakeBackend() {} | 36 FakeBackend() {} |
| 36 virtual ~FakeBackend() {} | 37 virtual ~FakeBackend() {} |
| 37 | 38 |
| 38 virtual void ReserveQuota( | 39 virtual void ReserveQuota( |
| 39 const GURL& origin, | 40 const GURL& origin, |
| 40 FileSystemType type, | 41 FileSystemType type, |
| 41 int64 delta, | 42 int64 delta, |
| 42 const QuotaReservationManager::ReserveQuotaCallback& callback) OVERRIDE { | 43 const QuotaReservationManager::ReserveQuotaCallback& callback) OVERRIDE { |
| 43 base::MessageLoopProxy::current()->PostTask( | 44 base::MessageLoopProxy::current()->PostTask( |
| 44 FROM_HERE, | 45 FROM_HERE, |
| 45 base::Bind(base::IgnoreResult(callback), base::PLATFORM_FILE_OK)); | 46 base::Bind(base::IgnoreResult(callback), base::File::FILE_OK)); |
| 46 } | 47 } |
| 47 | 48 |
| 48 virtual void ReleaseReservedQuota(const GURL& origin, | 49 virtual void ReleaseReservedQuota(const GURL& origin, |
| 49 FileSystemType type, | 50 FileSystemType type, |
| 50 int64 size) OVERRIDE { | 51 int64 size) OVERRIDE { |
| 51 } | 52 } |
| 52 | 53 |
| 53 virtual void CommitQuotaUsage(const GURL& origin, | 54 virtual void CommitQuotaUsage(const GURL& origin, |
| 54 FileSystemType type, | 55 FileSystemType type, |
| 55 int64 delta) OVERRIDE { | 56 int64 delta) OVERRIDE { |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 scoped_refptr<QuotaReservation> CreateQuotaReservation( | 97 scoped_refptr<QuotaReservation> CreateQuotaReservation( |
| 97 scoped_refptr<fileapi::QuotaReservation> reservation, | 98 scoped_refptr<fileapi::QuotaReservation> reservation, |
| 98 const GURL& origin, | 99 const GURL& origin, |
| 99 FileSystemType type) { | 100 FileSystemType type) { |
| 100 // Sets reservation_ as a side effect. | 101 // Sets reservation_ as a side effect. |
| 101 return scoped_refptr<QuotaReservation>( | 102 return scoped_refptr<QuotaReservation>( |
| 102 new QuotaReservation(reservation, origin, type)); | 103 new QuotaReservation(reservation, origin, type)); |
| 103 } | 104 } |
| 104 | 105 |
| 105 void SetFileSize(const base::FilePath::StringType& file_name, int64 size) { | 106 void SetFileSize(const base::FilePath::StringType& file_name, int64 size) { |
| 106 bool created = false; | 107 base::File file(MakeFilePath(file_name), |
| 107 base::PlatformFileError error = base::PLATFORM_FILE_ERROR_FAILED; | 108 base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_WRITE); |
| 108 base::PlatformFile file = CreatePlatformFile( | 109 ASSERT_TRUE(file.IsValid()); |
| 109 MakeFilePath(file_name), | 110 ASSERT_TRUE(file.SetLength(size)); |
| 110 base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_WRITE, | |
| 111 &created, &error); | |
| 112 ASSERT_EQ(base::PLATFORM_FILE_OK, error); | |
| 113 ASSERT_TRUE(base::TruncatePlatformFile(file, size)); | |
| 114 ASSERT_TRUE(base::ClosePlatformFile(file)); | |
| 115 } | 111 } |
| 116 | 112 |
| 117 QuotaReservationManager* reservation_manager() { | 113 QuotaReservationManager* reservation_manager() { |
| 118 return reservation_manager_.get(); | 114 return reservation_manager_.get(); |
| 119 } | 115 } |
| 120 | 116 |
| 121 private: | 117 private: |
| 122 base::MessageLoop message_loop_; | 118 base::MessageLoop message_loop_; |
| 123 base::ScopedTempDir work_dir_; | 119 base::ScopedTempDir work_dir_; |
| 124 scoped_ptr<fileapi::QuotaReservationManager> reservation_manager_; | 120 scoped_ptr<fileapi::QuotaReservationManager> reservation_manager_; |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 EXPECT_EQ(amount, reserved_quota); | 240 EXPECT_EQ(amount, reserved_quota); |
| 245 EXPECT_EQ(2U, file_growths.size()); | 241 EXPECT_EQ(2U, file_growths.size()); |
| 246 EXPECT_EQ(file1_size, file_growths[kFile1ID].max_written_offset); | 242 EXPECT_EQ(file1_size, file_growths[kFile1ID].max_written_offset); |
| 247 EXPECT_EQ(file3_size, file_growths[kFile3ID].max_written_offset); | 243 EXPECT_EQ(file3_size, file_growths[kFile3ID].max_written_offset); |
| 248 | 244 |
| 249 test->CloseFile(kFile1ID, ppapi::FileGrowth(file1_size, 0)); | 245 test->CloseFile(kFile1ID, ppapi::FileGrowth(file1_size, 0)); |
| 250 test->CloseFile(kFile3ID, ppapi::FileGrowth(file3_size, 0)); | 246 test->CloseFile(kFile3ID, ppapi::FileGrowth(file3_size, 0)); |
| 251 } | 247 } |
| 252 | 248 |
| 253 } // namespace content | 249 } // namespace content |
| OLD | NEW |