| 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 "webkit/browser/fileapi/sandbox_prioritized_origin_database.h" | 5 #include "webkit/browser/fileapi/sandbox_prioritized_origin_database.h" |
| 6 | 6 |
| 7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/files/scoped_platform_file_closer.h" | 9 #include "base/files/scoped_platform_file_closer.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 if (!base::ReadFileToString(path, &buffer)) | 50 if (!base::ReadFileToString(path, &buffer)) |
| 51 return false; | 51 return false; |
| 52 Pickle pickle(buffer.data(), buffer.size()); | 52 Pickle pickle(buffer.data(), buffer.size()); |
| 53 PickleIterator iter(pickle); | 53 PickleIterator iter(pickle); |
| 54 return pickle.ReadString(&iter, origin) && !origin->empty(); | 54 return pickle.ReadString(&iter, origin) && !origin->empty(); |
| 55 } | 55 } |
| 56 | 56 |
| 57 } // namespace | 57 } // namespace |
| 58 | 58 |
| 59 SandboxPrioritizedOriginDatabase::SandboxPrioritizedOriginDatabase( | 59 SandboxPrioritizedOriginDatabase::SandboxPrioritizedOriginDatabase( |
| 60 const base::FilePath& file_system_directory) | 60 const base::FilePath& file_system_directory, |
| 61 leveldb::Env* env_override) |
| 61 : file_system_directory_(file_system_directory), | 62 : file_system_directory_(file_system_directory), |
| 63 env_override_(env_override), |
| 62 primary_origin_file_( | 64 primary_origin_file_( |
| 63 file_system_directory_.Append(kPrimaryOriginFile)) { | 65 file_system_directory_.Append(kPrimaryOriginFile)) { |
| 64 } | 66 } |
| 65 | 67 |
| 66 SandboxPrioritizedOriginDatabase::~SandboxPrioritizedOriginDatabase() { | 68 SandboxPrioritizedOriginDatabase::~SandboxPrioritizedOriginDatabase() { |
| 67 } | 69 } |
| 68 | 70 |
| 69 bool SandboxPrioritizedOriginDatabase::InitializePrimaryOrigin( | 71 bool SandboxPrioritizedOriginDatabase::InitializePrimaryOrigin( |
| 70 const std::string& origin) { | 72 const std::string& origin) { |
| 71 if (!primary_origin_database_) { | 73 if (!primary_origin_database_) { |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 bool create) { | 208 bool create) { |
| 207 MaybeLoadPrimaryOrigin(); | 209 MaybeLoadPrimaryOrigin(); |
| 208 MaybeInitializeNonPrimaryDatabase(create); | 210 MaybeInitializeNonPrimaryDatabase(create); |
| 209 } | 211 } |
| 210 | 212 |
| 211 void SandboxPrioritizedOriginDatabase::MaybeInitializeNonPrimaryDatabase( | 213 void SandboxPrioritizedOriginDatabase::MaybeInitializeNonPrimaryDatabase( |
| 212 bool create) { | 214 bool create) { |
| 213 if (origin_database_) | 215 if (origin_database_) |
| 214 return; | 216 return; |
| 215 | 217 |
| 216 origin_database_.reset(new SandboxOriginDatabase(file_system_directory_)); | 218 origin_database_.reset(new SandboxOriginDatabase(file_system_directory_, |
| 219 env_override_)); |
| 217 if (!create && !base::DirectoryExists(origin_database_->GetDatabasePath())) { | 220 if (!create && !base::DirectoryExists(origin_database_->GetDatabasePath())) { |
| 218 origin_database_.reset(); | 221 origin_database_.reset(); |
| 219 return; | 222 return; |
| 220 } | 223 } |
| 221 } | 224 } |
| 222 | 225 |
| 223 SandboxOriginDatabase* | 226 SandboxOriginDatabase* |
| 224 SandboxPrioritizedOriginDatabase::GetSandboxOriginDatabase() { | 227 SandboxPrioritizedOriginDatabase::GetSandboxOriginDatabase() { |
| 225 MaybeInitializeNonPrimaryDatabase(true); | 228 MaybeInitializeNonPrimaryDatabase(true); |
| 226 return origin_database_.get(); | 229 return origin_database_.get(); |
| 227 } | 230 } |
| 228 | 231 |
| 229 } // namespace fileapi | 232 } // namespace fileapi |
| OLD | NEW |