| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/extensions_service.h" | 5 #include "chrome/browser/extensions/extensions_service.h" |
| 6 | 6 |
| 7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/gfx/png_encoder.h" | 10 #include "base/gfx/png_encoder.h" |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 #include "base/registry.h" | 43 #include "base/registry.h" |
| 44 #include "base/win_util.h" | 44 #include "base/win_util.h" |
| 45 #endif | 45 #endif |
| 46 | 46 |
| 47 // ExtensionsService. | 47 // ExtensionsService. |
| 48 | 48 |
| 49 const char* ExtensionsService::kInstallDirectoryName = "Extensions"; | 49 const char* ExtensionsService::kInstallDirectoryName = "Extensions"; |
| 50 const char* ExtensionsService::kCurrentVersionFileName = "Current Version"; | 50 const char* ExtensionsService::kCurrentVersionFileName = "Current Version"; |
| 51 const char* ExtensionsServiceBackend::kTempExtensionName = "TEMP_INSTALL"; | 51 const char* ExtensionsServiceBackend::kTempExtensionName = "TEMP_INSTALL"; |
| 52 | 52 |
| 53 const char* ExtensionsService::kExtensionFileMagic = "Cr24"; |
| 54 |
| 53 namespace { | 55 namespace { |
| 54 // Chromium Extension magic number | |
| 55 const char kExtensionFileMagic[] = "Cr24"; | |
| 56 | |
| 57 struct ExtensionHeader { | |
| 58 char magic[sizeof(kExtensionFileMagic) - 1]; | |
| 59 uint32 version; | |
| 60 size_t header_size; | |
| 61 size_t manifest_size; | |
| 62 }; | |
| 63 | |
| 64 const size_t kZipHashBytes = 32; // SHA-256 | |
| 65 const size_t kZipHashHexBytes = kZipHashBytes * 2; // Hex string is 2x size. | |
| 66 | 56 |
| 67 // A preference that keeps track of extension settings. This is a dictionary | 57 // A preference that keeps track of extension settings. This is a dictionary |
| 68 // object read from the Preferences file, keyed off of extension id's. | 58 // object read from the Preferences file, keyed off of extension id's. |
| 69 const wchar_t kExternalExtensionsPref[] = L"extensions.settings"; | 59 const wchar_t kExternalExtensionsPref[] = L"extensions.settings"; |
| 70 | 60 |
| 71 // A preference keeping track of how the extension was installed. | 61 // A preference keeping track of how the extension was installed. |
| 72 const wchar_t kLocation[] = L"location"; | 62 const wchar_t kLocation[] = L"location"; |
| 73 const wchar_t kState[] = L"state"; | 63 const wchar_t kState[] = L"state"; |
| 74 | 64 |
| 75 // Registry key where registry defined extension installers live. | 65 // Registry key where registry defined extension installers live. |
| (...skipping 1187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1263 | 1253 |
| 1264 bool ExtensionsServiceBackend::ShouldInstall(const std::string& id, | 1254 bool ExtensionsServiceBackend::ShouldInstall(const std::string& id, |
| 1265 const std::string& version) { | 1255 const std::string& version) { |
| 1266 FilePath dir(install_directory_.AppendASCII(id.c_str())); | 1256 FilePath dir(install_directory_.AppendASCII(id.c_str())); |
| 1267 std::string current_version; | 1257 std::string current_version; |
| 1268 if (ReadCurrentVersion(dir, ¤t_version)) { | 1258 if (ReadCurrentVersion(dir, ¤t_version)) { |
| 1269 return CheckCurrentVersion(version, current_version, dir); | 1259 return CheckCurrentVersion(version, current_version, dir); |
| 1270 } | 1260 } |
| 1271 return true; | 1261 return true; |
| 1272 } | 1262 } |
| OLD | NEW |