Index: chrome/browser/extensions/convert_web_app.cc |
diff --git a/chrome/browser/extensions/convert_web_app.cc b/chrome/browser/extensions/convert_web_app.cc |
index 04becdc5bc131a6311d3419d11a14cfb0dce5ed9..d74dbae31c9dcbb3ca92c9679792041c8755c5ea 100644 |
--- a/chrome/browser/extensions/convert_web_app.cc |
+++ b/chrome/browser/extensions/convert_web_app.cc |
@@ -112,14 +112,23 @@ scoped_refptr<Extension> ConvertWebAppToExtension( |
web_app.generated_icon_color)); |
} |
- // Add the icons. |
+ // Add the icons and linked icon information. |
base::DictionaryValue* icons = new base::DictionaryValue(); |
root->Set(keys::kIcons, icons); |
- for (size_t i = 0; i < web_app.icons.size(); ++i) { |
- std::string size = base::StringPrintf("%i", web_app.icons[i].width); |
+ base::ListValue* linked_icons = new base::ListValue(); |
+ root->Set(keys::kLinkedAppIcons, linked_icons); |
+ for (const auto& icon : web_app.icons) { |
+ std::string size = base::StringPrintf("%i", icon.width); |
std::string icon_path = base::StringPrintf("%s/%s.png", kIconsDirName, |
size.c_str()); |
icons->SetString(size, icon_path); |
+ |
+ if (icon.url.is_valid()) { |
+ base::DictionaryValue* linked_icon = new base::DictionaryValue(); |
+ linked_icon->SetString(keys::kLinkedAppIconURL, icon.url.spec()); |
+ linked_icon->SetInteger(keys::kLinkedAppIconSize, icon.width); |
+ linked_icons->Append(linked_icon); |
+ } |
} |
// Write the manifest. |