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_web_app.h" | 5 #include "chrome/browser/extensions/convert_web_app.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 #include <limits> | 8 #include <limits> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 // manifest and regenerates these extensions. | 50 // manifest and regenerates these extensions. |
51 std::string GenerateKey(const GURL& manifest_url) { | 51 std::string GenerateKey(const GURL& manifest_url) { |
52 char raw[crypto::kSHA256Length] = {0}; | 52 char raw[crypto::kSHA256Length] = {0}; |
53 std::string key; | 53 std::string key; |
54 crypto::SHA256HashString(manifest_url.spec().c_str(), raw, | 54 crypto::SHA256HashString(manifest_url.spec().c_str(), raw, |
55 crypto::kSHA256Length); | 55 crypto::kSHA256Length); |
56 base::Base64Encode(std::string(raw, crypto::kSHA256Length), &key); | 56 base::Base64Encode(std::string(raw, crypto::kSHA256Length), &key); |
57 return key; | 57 return key; |
58 } | 58 } |
59 | 59 |
60 } | 60 } // namespace |
61 | |
62 | 61 |
63 // Generates a version for the converted app using the current date. This isn't | 62 // Generates a version for the converted app using the current date. This isn't |
64 // really needed, but it seems like useful information. | 63 // really needed, but it seems like useful information. |
65 std::string ConvertTimeToExtensionVersion(const Time& create_time) { | 64 std::string ConvertTimeToExtensionVersion(const Time& create_time) { |
66 Time::Exploded create_time_exploded; | 65 Time::Exploded create_time_exploded; |
67 create_time.UTCExplode(&create_time_exploded); | 66 create_time.UTCExplode(&create_time_exploded); |
68 | 67 |
69 double micros = static_cast<double>( | 68 double micros = static_cast<double>( |
70 (create_time_exploded.millisecond * Time::kMicrosecondsPerMillisecond) + | 69 (create_time_exploded.millisecond * Time::kMicrosecondsPerMillisecond) + |
71 (create_time_exploded.second * Time::kMicrosecondsPerSecond) + | 70 (create_time_exploded.second * Time::kMicrosecondsPerSecond) + |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 } | 136 } |
138 | 137 |
139 // Add the URLs. | 138 // Add the URLs. |
140 base::ListValue* urls = new base::ListValue(); | 139 base::ListValue* urls = new base::ListValue(); |
141 root->Set(keys::kWebURLs, urls); | 140 root->Set(keys::kWebURLs, urls); |
142 for (size_t i = 0; i < web_app.urls.size(); ++i) { | 141 for (size_t i = 0; i < web_app.urls.size(); ++i) { |
143 urls->Append(Value::CreateStringValue(web_app.urls[i].spec())); | 142 urls->Append(Value::CreateStringValue(web_app.urls[i].spec())); |
144 } | 143 } |
145 | 144 |
146 // Write the manifest. | 145 // Write the manifest. |
147 base::FilePath manifest_path = temp_dir.path().Append(kManifestFilename); | 146 base::FilePath manifest_path = temp_dir.path().Append( |
| 147 filenames::kManifestFilename); |
148 JSONFileValueSerializer serializer(manifest_path); | 148 JSONFileValueSerializer serializer(manifest_path); |
149 if (!serializer.Serialize(*root)) { | 149 if (!serializer.Serialize(*root)) { |
150 LOG(ERROR) << "Could not serialize manifest."; | 150 LOG(ERROR) << "Could not serialize manifest."; |
151 return NULL; | 151 return NULL; |
152 } | 152 } |
153 | 153 |
154 // Write the icon files. | 154 // Write the icon files. |
155 base::FilePath icons_dir = temp_dir.path().AppendASCII(kIconsDirName); | 155 base::FilePath icons_dir = temp_dir.path().AppendASCII(kIconsDirName); |
156 if (!file_util::CreateDirectory(icons_dir)) { | 156 if (!file_util::CreateDirectory(icons_dir)) { |
157 LOG(ERROR) << "Could not create icons directory."; | 157 LOG(ERROR) << "Could not create icons directory."; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 if (!extension.get()) { | 193 if (!extension.get()) { |
194 LOG(ERROR) << error; | 194 LOG(ERROR) << error; |
195 return NULL; | 195 return NULL; |
196 } | 196 } |
197 | 197 |
198 temp_dir.Take(); // The caller takes ownership of the directory. | 198 temp_dir.Take(); // The caller takes ownership of the directory. |
199 return extension; | 199 return extension; |
200 } | 200 } |
201 | 201 |
202 } // namespace extensions | 202 } // namespace extensions |
OLD | NEW |