| 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 root->SetString(keys::kDescription, UTF16ToUTF8(web_app.description)); | 115 root->SetString(keys::kDescription, UTF16ToUTF8(web_app.description)); |
| 116 root->SetString(keys::kLaunchWebURL, web_app.app_url.spec()); | 116 root->SetString(keys::kLaunchWebURL, web_app.app_url.spec()); |
| 117 | 117 |
| 118 if (!web_app.launch_container.empty()) | 118 if (!web_app.launch_container.empty()) |
| 119 root->SetString(keys::kLaunchContainer, web_app.launch_container); | 119 root->SetString(keys::kLaunchContainer, web_app.launch_container); |
| 120 | 120 |
| 121 // Add the icons. | 121 // Add the icons. |
| 122 DictionaryValue* icons = new DictionaryValue(); | 122 DictionaryValue* icons = new DictionaryValue(); |
| 123 root->Set(keys::kIcons, icons); | 123 root->Set(keys::kIcons, icons); |
| 124 for (size_t i = 0; i < web_app.icons.size(); ++i) { | 124 for (size_t i = 0; i < web_app.icons.size(); ++i) { |
| 125 std::string size = StringPrintf("%i", web_app.icons[i].width); | 125 std::string size = base::StringPrintf("%i", web_app.icons[i].width); |
| 126 std::string icon_path = StringPrintf("%s/%s.png", kIconsDirName, | 126 std::string icon_path = base::StringPrintf("%s/%s.png", kIconsDirName, |
| 127 size.c_str()); | 127 size.c_str()); |
| 128 icons->SetString(size, icon_path); | 128 icons->SetString(size, icon_path); |
| 129 } | 129 } |
| 130 | 130 |
| 131 // Add the permissions. | 131 // Add the permissions. |
| 132 ListValue* permissions = new ListValue(); | 132 ListValue* permissions = new ListValue(); |
| 133 root->Set(keys::kPermissions, permissions); | 133 root->Set(keys::kPermissions, permissions); |
| 134 for (size_t i = 0; i < web_app.permissions.size(); ++i) { | 134 for (size_t i = 0; i < web_app.permissions.size(); ++i) { |
| 135 permissions->Append(Value::CreateStringValue(web_app.permissions[i])); | 135 permissions->Append(Value::CreateStringValue(web_app.permissions[i])); |
| 136 } | 136 } |
| 137 | 137 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 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."; |
| 158 return NULL; | 158 return NULL; |
| 159 } | 159 } |
| 160 for (size_t i = 0; i < web_app.icons.size(); ++i) { | 160 for (size_t i = 0; i < web_app.icons.size(); ++i) { |
| 161 // Skip unfetched bitmaps. | 161 // Skip unfetched bitmaps. |
| 162 if (web_app.icons[i].data.config() == SkBitmap::kNo_Config) | 162 if (web_app.icons[i].data.config() == SkBitmap::kNo_Config) |
| 163 continue; | 163 continue; |
| 164 | 164 |
| 165 base::FilePath icon_file = icons_dir.AppendASCII( | 165 base::FilePath icon_file = icons_dir.AppendASCII( |
| 166 StringPrintf("%i.png", web_app.icons[i].width)); | 166 base::StringPrintf("%i.png", web_app.icons[i].width)); |
| 167 std::vector<unsigned char> image_data; | 167 std::vector<unsigned char> image_data; |
| 168 if (!gfx::PNGCodec::EncodeBGRASkBitmap(web_app.icons[i].data, | 168 if (!gfx::PNGCodec::EncodeBGRASkBitmap(web_app.icons[i].data, |
| 169 false, | 169 false, |
| 170 &image_data)) { | 170 &image_data)) { |
| 171 LOG(ERROR) << "Could not create icon file."; | 171 LOG(ERROR) << "Could not create icon file."; |
| 172 return NULL; | 172 return NULL; |
| 173 } | 173 } |
| 174 | 174 |
| 175 const char* image_data_ptr = reinterpret_cast<const char*>(&image_data[0]); | 175 const char* image_data_ptr = reinterpret_cast<const char*>(&image_data[0]); |
| 176 if (!file_util::WriteFile(icon_file, image_data_ptr, image_data.size())) { | 176 if (!file_util::WriteFile(icon_file, image_data_ptr, image_data.size())) { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 193 if (!extension) { | 193 if (!extension) { |
| 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 |