| 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 | 61 |
| 62 | 62 |
| 63 // Generates a version for the converted app using the current date. This isn't | 63 // Generates a version for the converted app using the current date. This isn't |
| 64 // really needed, but it seems like useful information. | 64 // really needed, but it seems like useful information. |
| 65 std::string ConvertTimeToExtensionVersion(const Time& create_time) { | 65 std::string ConvertTimeToExtensionVersion(const Time& create_time) { |
| 66 Time::Exploded create_time_exploded; | 66 Time::Exploded create_time_exploded; |
| 67 create_time.UTCExplode(&create_time_exploded); | 67 create_time.UTCExplode(&create_time_exploded); |
| 68 | 68 |
| 69 double micros = static_cast<double>( | 69 double micros = static_cast<double>( |
| 70 (create_time_exploded.millisecond * Time::kMicrosecondsPerMillisecond) + | 70 (create_time_exploded.millisecond * Time::kMicrosecondsPerMillisecond) + |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 std::string size = base::StringPrintf("%i", web_app.icons[i].width); | 126 std::string size = base::StringPrintf("%i", web_app.icons[i].width); |
| 127 std::string icon_path = base::StringPrintf("%s/%s.png", kIconsDirName, | 127 std::string icon_path = base::StringPrintf("%s/%s.png", kIconsDirName, |
| 128 size.c_str()); | 128 size.c_str()); |
| 129 icons->SetString(size, icon_path); | 129 icons->SetString(size, icon_path); |
| 130 } | 130 } |
| 131 | 131 |
| 132 // Add the permissions. | 132 // Add the permissions. |
| 133 base::ListValue* permissions = new base::ListValue(); | 133 base::ListValue* permissions = new base::ListValue(); |
| 134 root->Set(keys::kPermissions, permissions); | 134 root->Set(keys::kPermissions, permissions); |
| 135 for (size_t i = 0; i < web_app.permissions.size(); ++i) { | 135 for (size_t i = 0; i < web_app.permissions.size(); ++i) { |
| 136 permissions->Append(Value::CreateStringValue(web_app.permissions[i])); | 136 permissions->Append(new base::StringValue(web_app.permissions[i])); |
| 137 } | 137 } |
| 138 | 138 |
| 139 // Add the URLs. | 139 // Add the URLs. |
| 140 base::ListValue* urls = new base::ListValue(); | 140 base::ListValue* urls = new base::ListValue(); |
| 141 root->Set(keys::kWebURLs, urls); | 141 root->Set(keys::kWebURLs, urls); |
| 142 for (size_t i = 0; i < web_app.urls.size(); ++i) { | 142 for (size_t i = 0; i < web_app.urls.size(); ++i) { |
| 143 urls->Append(Value::CreateStringValue(web_app.urls[i].spec())); | 143 urls->Append(new base::StringValue(web_app.urls[i].spec())); |
| 144 } | 144 } |
| 145 | 145 |
| 146 // Write the manifest. | 146 // Write the manifest. |
| 147 base::FilePath manifest_path = temp_dir.path().Append(kManifestFilename); | 147 base::FilePath manifest_path = temp_dir.path().Append(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 |
| (...skipping 39 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 |