| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chrome/browser/extensions/updater/local_extension_cache.h" | 5 #include "chrome/browser/extensions/updater/local_extension_cache.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/files/file_enumerator.h" | 8 #include "base/files/file_enumerator.h" |
| 9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
| 10 #include "base/sequenced_task_runner.h" | 10 #include "base/sequenced_task_runner.h" |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 base::Bind(&base::DoNothing), callback); | 68 base::Bind(&base::DoNothing), callback); |
| 69 } | 69 } |
| 70 | 70 |
| 71 // static | 71 // static |
| 72 LocalExtensionCache::CacheMap::iterator LocalExtensionCache::FindExtension( | 72 LocalExtensionCache::CacheMap::iterator LocalExtensionCache::FindExtension( |
| 73 CacheMap& cache, | 73 CacheMap& cache, |
| 74 const std::string& id, | 74 const std::string& id, |
| 75 const std::string& expected_hash) { | 75 const std::string& expected_hash) { |
| 76 CacheHit hit = cache.equal_range(id); | 76 CacheHit hit = cache.equal_range(id); |
| 77 CacheMap::iterator empty_hash = cache.end(); | 77 CacheMap::iterator empty_hash = cache.end(); |
| 78 std::string hash = base::StringToLowerASCII(expected_hash); | 78 std::string hash = base::ToLowerASCII(expected_hash); |
| 79 for (CacheMap::iterator it = hit.first; it != hit.second; ++it) { | 79 for (CacheMap::iterator it = hit.first; it != hit.second; ++it) { |
| 80 if (expected_hash.empty() || it->second.expected_hash == hash) { | 80 if (expected_hash.empty() || it->second.expected_hash == hash) { |
| 81 return it; | 81 return it; |
| 82 } | 82 } |
| 83 if (it->second.expected_hash.empty()) { | 83 if (it->second.expected_hash.empty()) { |
| 84 empty_hash = it; | 84 empty_hash = it; |
| 85 } | 85 } |
| 86 } | 86 } |
| 87 return empty_hash; | 87 return empty_hash; |
| 88 } | 88 } |
| (...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 | 430 |
| 431 n = version.find('-'); | 431 n = version.find('-'); |
| 432 if (n != std::string::npos && n + 1 < version.size()) { | 432 if (n != std::string::npos && n + 1 < version.size()) { |
| 433 expected_hash = version.substr(n + 1, version.size() - n - 1); | 433 expected_hash = version.substr(n + 1, version.size() - n - 1); |
| 434 version.resize(n); | 434 version.resize(n); |
| 435 } | 435 } |
| 436 } | 436 } |
| 437 } | 437 } |
| 438 | 438 |
| 439 // Enforce a lower-case id. | 439 // Enforce a lower-case id. |
| 440 id = base::StringToLowerASCII(id); | 440 id = base::ToLowerASCII(id); |
| 441 if (!crx_file::id_util::IdIsValid(id)) { | 441 if (!crx_file::id_util::IdIsValid(id)) { |
| 442 LOG(ERROR) << "Bad extension id in cache: " << id; | 442 LOG(ERROR) << "Bad extension id in cache: " << id; |
| 443 id.clear(); | 443 id.clear(); |
| 444 } | 444 } |
| 445 | 445 |
| 446 if (!Version(version).IsValid()) { | 446 if (!Version(version).IsValid()) { |
| 447 LOG(ERROR) << "Bad extension version in cache: " << version; | 447 LOG(ERROR) << "Bad extension version in cache: " << version; |
| 448 version.clear(); | 448 version.clear(); |
| 449 } | 449 } |
| 450 | 450 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 479 base::TouchFile(file_path, time, time); | 479 base::TouchFile(file_path, time, time); |
| 480 } | 480 } |
| 481 | 481 |
| 482 // static | 482 // static |
| 483 std::string LocalExtensionCache::ExtensionFileName( | 483 std::string LocalExtensionCache::ExtensionFileName( |
| 484 const std::string& id, | 484 const std::string& id, |
| 485 const std::string& version, | 485 const std::string& version, |
| 486 const std::string& expected_hash) { | 486 const std::string& expected_hash) { |
| 487 std::string filename = id + "-" + version; | 487 std::string filename = id + "-" + version; |
| 488 if (!expected_hash.empty()) | 488 if (!expected_hash.empty()) |
| 489 filename += "-" + base::StringToLowerASCII(expected_hash); | 489 filename += "-" + base::ToLowerASCII(expected_hash); |
| 490 filename += kCRXFileExtension; | 490 filename += kCRXFileExtension; |
| 491 return filename; | 491 return filename; |
| 492 } | 492 } |
| 493 | 493 |
| 494 // static | 494 // static |
| 495 void LocalExtensionCache::BackendInstallCacheEntry( | 495 void LocalExtensionCache::BackendInstallCacheEntry( |
| 496 base::WeakPtr<LocalExtensionCache> local_cache, | 496 base::WeakPtr<LocalExtensionCache> local_cache, |
| 497 const base::FilePath& cache_dir, | 497 const base::FilePath& cache_dir, |
| 498 const std::string& id, | 498 const std::string& id, |
| 499 const std::string& expected_hash, | 499 const std::string& expected_hash, |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 605 } | 605 } |
| 606 } | 606 } |
| 607 | 607 |
| 608 LocalExtensionCache::CacheItemInfo::CacheItemInfo( | 608 LocalExtensionCache::CacheItemInfo::CacheItemInfo( |
| 609 const std::string& version, | 609 const std::string& version, |
| 610 const std::string& expected_hash, | 610 const std::string& expected_hash, |
| 611 const base::Time& last_used, | 611 const base::Time& last_used, |
| 612 uint64 size, | 612 uint64 size, |
| 613 const base::FilePath& file_path) | 613 const base::FilePath& file_path) |
| 614 : version(version), | 614 : version(version), |
| 615 expected_hash(base::StringToLowerASCII(expected_hash)), | 615 expected_hash(base::ToLowerASCII(expected_hash)), |
| 616 last_used(last_used), | 616 last_used(last_used), |
| 617 size(size), | 617 size(size), |
| 618 file_path(file_path) { | 618 file_path(file_path) { |
| 619 } | 619 } |
| 620 | 620 |
| 621 LocalExtensionCache::CacheItemInfo::~CacheItemInfo() { | 621 LocalExtensionCache::CacheItemInfo::~CacheItemInfo() { |
| 622 } | 622 } |
| 623 | 623 |
| 624 } // namespace extensions | 624 } // namespace extensions |
| OLD | NEW |