summaryrefslogtreecommitdiffstats
path: root/chrome/common/common_param_traits.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/common_param_traits.cc')
-rw-r--r--chrome/common/common_param_traits.cc23
1 files changed, 21 insertions, 2 deletions
diff --git a/chrome/common/common_param_traits.cc b/chrome/common/common_param_traits.cc
index 165224c..3564780 100644
--- a/chrome/common/common_param_traits.cc
+++ b/chrome/common/common_param_traits.cc
@@ -232,25 +232,36 @@ void ParamTraits<WebApplicationInfo>::Write(Message* m,
WriteParam(m, p.title);
WriteParam(m, p.description);
WriteParam(m, p.app_url);
+ WriteParam(m, p.launch_container);
WriteParam(m, p.icons.size());
+ WriteParam(m, p.permissions.size());
+
for (size_t i = 0; i < p.icons.size(); ++i) {
WriteParam(m, p.icons[i].url);
WriteParam(m, p.icons[i].width);
WriteParam(m, p.icons[i].height);
WriteParam(m, p.icons[i].data);
}
+
+ for (size_t i = 0; i < p.permissions.size(); ++i)
+ WriteParam(m, p.permissions[i]);
}
bool ParamTraits<WebApplicationInfo>::Read(
const Message* m, void** iter, WebApplicationInfo* r) {
- size_t icon_count;
+ size_t icon_count = 0;
+ size_t permissions_count = 0;
+
bool result =
ReadParam(m, iter, &r->title) &&
ReadParam(m, iter, &r->description) &&
ReadParam(m, iter, &r->app_url) &&
- ReadParam(m, iter, &icon_count);
+ ReadParam(m, iter, &r->launch_container) &&
+ ReadParam(m, iter, &icon_count) &&
+ ReadParam(m, iter, &permissions_count);
if (!result)
return false;
+
for (size_t i = 0; i < icon_count; ++i) {
param_type::IconInfo icon_info;
result =
@@ -262,6 +273,14 @@ bool ParamTraits<WebApplicationInfo>::Read(
return false;
r->icons.push_back(icon_info);
}
+
+ for (size_t i = 0; i < permissions_count; ++i) {
+ std::string permission;
+ if (!ReadParam(m, iter, &permission))
+ return false;
+ r->permissions.push_back(permission);
+ }
+
return true;
}