OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/convert_user_script.h" | 5 #include "chrome/browser/extensions/convert_user_script.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
11 #include "base/file_util.h" | 11 #include "base/file_util.h" |
12 #include "base/files/file_path.h" | 12 #include "base/files/file_path.h" |
13 #include "base/files/scoped_temp_dir.h" | 13 #include "base/files/scoped_temp_dir.h" |
14 #include "base/json/json_file_value_serializer.h" | 14 #include "base/json/json_file_value_serializer.h" |
15 #include "base/path_service.h" | 15 #include "base/path_service.h" |
16 #include "base/strings/string_util.h" | 16 #include "base/strings/string_util.h" |
17 #include "base/strings/utf_string_conversions.h" | 17 #include "base/strings/utf_string_conversions.h" |
18 #include "chrome/browser/extensions/user_script_master.h" | 18 #include "chrome/browser/extensions/user_script_loader.h" |
19 #include "chrome/common/chrome_paths.h" | 19 #include "chrome/common/chrome_paths.h" |
20 #include "crypto/sha2.h" | 20 #include "crypto/sha2.h" |
21 #include "extensions/common/constants.h" | 21 #include "extensions/common/constants.h" |
22 #include "extensions/common/extension.h" | 22 #include "extensions/common/extension.h" |
23 #include "extensions/common/file_util.h" | 23 #include "extensions/common/file_util.h" |
24 #include "extensions/common/manifest_constants.h" | 24 #include "extensions/common/manifest_constants.h" |
25 #include "extensions/common/user_script.h" | 25 #include "extensions/common/user_script.h" |
26 #include "url/gurl.h" | 26 #include "url/gurl.h" |
27 | 27 |
28 namespace extensions { | 28 namespace extensions { |
29 | 29 |
30 namespace keys = manifest_keys; | 30 namespace keys = manifest_keys; |
31 namespace values = manifest_values; | 31 namespace values = manifest_values; |
32 | 32 |
33 scoped_refptr<Extension> ConvertUserScriptToExtension( | 33 scoped_refptr<Extension> ConvertUserScriptToExtension( |
34 const base::FilePath& user_script_path, const GURL& original_url, | 34 const base::FilePath& user_script_path, const GURL& original_url, |
35 const base::FilePath& extensions_dir, base::string16* error) { | 35 const base::FilePath& extensions_dir, base::string16* error) { |
36 std::string content; | 36 std::string content; |
37 if (!base::ReadFileToString(user_script_path, &content)) { | 37 if (!base::ReadFileToString(user_script_path, &content)) { |
38 *error = base::ASCIIToUTF16("Could not read source file."); | 38 *error = base::ASCIIToUTF16("Could not read source file."); |
39 return NULL; | 39 return NULL; |
40 } | 40 } |
41 | 41 |
42 if (!base::IsStringUTF8(content)) { | 42 if (!base::IsStringUTF8(content)) { |
43 *error = base::ASCIIToUTF16("User script must be UTF8 encoded."); | 43 *error = base::ASCIIToUTF16("User script must be UTF8 encoded."); |
44 return NULL; | 44 return NULL; |
45 } | 45 } |
46 | 46 |
47 UserScript script; | 47 UserScript script; |
48 if (!UserScriptMaster::ParseMetadataHeader(content, &script)) { | 48 if (!UserScriptLoader::ParseMetadataHeader(content, &script)) { |
49 *error = base::ASCIIToUTF16("Invalid script header."); | 49 *error = base::ASCIIToUTF16("Invalid script header."); |
50 return NULL; | 50 return NULL; |
51 } | 51 } |
52 | 52 |
53 base::FilePath install_temp_dir = | 53 base::FilePath install_temp_dir = |
54 file_util::GetInstallTempDir(extensions_dir); | 54 file_util::GetInstallTempDir(extensions_dir); |
55 if (install_temp_dir.empty()) { | 55 if (install_temp_dir.empty()) { |
56 *error = base::ASCIIToUTF16( | 56 *error = base::ASCIIToUTF16( |
57 "Could not get path to profile temporary directory."); | 57 "Could not get path to profile temporary directory."); |
58 return NULL; | 58 return NULL; |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 if (!extension.get()) { | 183 if (!extension.get()) { |
184 NOTREACHED() << "Could not init extension " << *error; | 184 NOTREACHED() << "Could not init extension " << *error; |
185 return NULL; | 185 return NULL; |
186 } | 186 } |
187 | 187 |
188 temp_dir.Take(); // The caller takes ownership of the directory. | 188 temp_dir.Take(); // The caller takes ownership of the directory. |
189 return extension; | 189 return extension; |
190 } | 190 } |
191 | 191 |
192 } // namespace extensions | 192 } // namespace extensions |
OLD | NEW |