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 |