OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "net/disk_cache/simple/simple_index_file.h" | 5 #include "net/disk_cache/simple/simple_index_file.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/files/file.h" | 10 #include "base/files/file.h" |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 return it->ReadUInt64(&magic_number_) && | 182 return it->ReadUInt64(&magic_number_) && |
183 it->ReadUInt32(&version_) && | 183 it->ReadUInt32(&version_) && |
184 it->ReadUInt64(&number_of_entries_)&& | 184 it->ReadUInt64(&number_of_entries_)&& |
185 it->ReadUInt64(&cache_size_); | 185 it->ReadUInt64(&cache_size_); |
186 } | 186 } |
187 | 187 |
188 void SimpleIndexFile::SyncWriteToDisk(net::CacheType cache_type, | 188 void SimpleIndexFile::SyncWriteToDisk(net::CacheType cache_type, |
189 const base::FilePath& cache_directory, | 189 const base::FilePath& cache_directory, |
190 const base::FilePath& index_filename, | 190 const base::FilePath& index_filename, |
191 const base::FilePath& temp_index_filename, | 191 const base::FilePath& temp_index_filename, |
192 scoped_ptr<base::Pickle> pickle, | 192 std::unique_ptr<base::Pickle> pickle, |
193 const base::TimeTicks& start_time, | 193 const base::TimeTicks& start_time, |
194 bool app_on_background) { | 194 bool app_on_background) { |
195 DCHECK_EQ(index_filename.DirName().value(), | 195 DCHECK_EQ(index_filename.DirName().value(), |
196 temp_index_filename.DirName().value()); | 196 temp_index_filename.DirName().value()); |
197 base::FilePath index_file_directory = temp_index_filename.DirName(); | 197 base::FilePath index_file_directory = temp_index_filename.DirName(); |
198 if (!base::DirectoryExists(index_file_directory) && | 198 if (!base::DirectoryExists(index_file_directory) && |
199 !base::CreateDirectory(index_file_directory)) { | 199 !base::CreateDirectory(index_file_directory)) { |
200 LOG(ERROR) << "Could not create a directory to hold the index file"; | 200 LOG(ERROR) << "Could not create a directory to hold the index file"; |
201 return; | 201 return; |
202 } | 202 } |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 index_file_, out_result); | 267 index_file_, out_result); |
268 worker_pool_->PostTaskAndReply(FROM_HERE, task, callback); | 268 worker_pool_->PostTaskAndReply(FROM_HERE, task, callback); |
269 } | 269 } |
270 | 270 |
271 void SimpleIndexFile::WriteToDisk(const SimpleIndex::EntrySet& entry_set, | 271 void SimpleIndexFile::WriteToDisk(const SimpleIndex::EntrySet& entry_set, |
272 uint64_t cache_size, | 272 uint64_t cache_size, |
273 const base::TimeTicks& start, | 273 const base::TimeTicks& start, |
274 bool app_on_background, | 274 bool app_on_background, |
275 const base::Closure& callback) { | 275 const base::Closure& callback) { |
276 IndexMetadata index_metadata(entry_set.size(), cache_size); | 276 IndexMetadata index_metadata(entry_set.size(), cache_size); |
277 scoped_ptr<base::Pickle> pickle = Serialize(index_metadata, entry_set); | 277 std::unique_ptr<base::Pickle> pickle = Serialize(index_metadata, entry_set); |
278 base::Closure task = | 278 base::Closure task = |
279 base::Bind(&SimpleIndexFile::SyncWriteToDisk, | 279 base::Bind(&SimpleIndexFile::SyncWriteToDisk, |
280 cache_type_, cache_directory_, index_file_, temp_index_file_, | 280 cache_type_, cache_directory_, index_file_, temp_index_file_, |
281 base::Passed(&pickle), start, app_on_background); | 281 base::Passed(&pickle), start, app_on_background); |
282 if (callback.is_null()) | 282 if (callback.is_null()) |
283 cache_thread_->PostTask(FROM_HERE, task); | 283 cache_thread_->PostTask(FROM_HERE, task); |
284 else | 284 else |
285 cache_thread_->PostTaskAndReply(FROM_HERE, task, callback); | 285 cache_thread_->PostTaskAndReply(FROM_HERE, task, callback); |
286 } | 286 } |
287 | 287 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
358 reinterpret_cast<const char*>(index_file_map.data()), | 358 reinterpret_cast<const char*>(index_file_map.data()), |
359 index_file_map.length(), | 359 index_file_map.length(), |
360 out_last_cache_seen_by_index, | 360 out_last_cache_seen_by_index, |
361 out_result); | 361 out_result); |
362 | 362 |
363 if (!out_result->did_load) | 363 if (!out_result->did_load) |
364 simple_util::SimpleCacheDeleteFile(index_filename); | 364 simple_util::SimpleCacheDeleteFile(index_filename); |
365 } | 365 } |
366 | 366 |
367 // static | 367 // static |
368 scoped_ptr<base::Pickle> SimpleIndexFile::Serialize( | 368 std::unique_ptr<base::Pickle> SimpleIndexFile::Serialize( |
369 const SimpleIndexFile::IndexMetadata& index_metadata, | 369 const SimpleIndexFile::IndexMetadata& index_metadata, |
370 const SimpleIndex::EntrySet& entries) { | 370 const SimpleIndex::EntrySet& entries) { |
371 scoped_ptr<base::Pickle> pickle( | 371 std::unique_ptr<base::Pickle> pickle( |
372 new base::Pickle(sizeof(SimpleIndexFile::PickleHeader))); | 372 new base::Pickle(sizeof(SimpleIndexFile::PickleHeader))); |
373 | 373 |
374 index_metadata.Serialize(pickle.get()); | 374 index_metadata.Serialize(pickle.get()); |
375 for (SimpleIndex::EntrySet::const_iterator it = entries.begin(); | 375 for (SimpleIndex::EntrySet::const_iterator it = entries.begin(); |
376 it != entries.end(); ++it) { | 376 it != entries.end(); ++it) { |
377 pickle->WriteUInt64(it->first); | 377 pickle->WriteUInt64(it->first); |
378 it->second.Serialize(pickle.get()); | 378 it->second.Serialize(pickle.get()); |
379 } | 379 } |
380 return pickle; | 380 return pickle; |
381 } | 381 } |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 bool SimpleIndexFile::LegacyIsIndexFileStale( | 467 bool SimpleIndexFile::LegacyIsIndexFileStale( |
468 base::Time cache_last_modified, | 468 base::Time cache_last_modified, |
469 const base::FilePath& index_file_path) { | 469 const base::FilePath& index_file_path) { |
470 base::Time index_mtime; | 470 base::Time index_mtime; |
471 if (!simple_util::GetMTime(index_file_path, &index_mtime)) | 471 if (!simple_util::GetMTime(index_file_path, &index_mtime)) |
472 return true; | 472 return true; |
473 return index_mtime < cache_last_modified; | 473 return index_mtime < cache_last_modified; |
474 } | 474 } |
475 | 475 |
476 } // namespace disk_cache | 476 } // namespace disk_cache |
OLD | NEW |