Index: extensions/common/permissions/media_galleries_permission.cc |
diff --git a/extensions/common/permissions/media_galleries_permission.cc b/extensions/common/permissions/media_galleries_permission.cc |
index baf71624b45d3618d27087782bac579a80454bf8..1d7838a1f63eabf4d7c2b0ebf90811f1a0d6234a 100644 |
--- a/extensions/common/permissions/media_galleries_permission.cc |
+++ b/extensions/common/permissions/media_galleries_permission.cc |
@@ -56,14 +56,25 @@ MediaGalleriesPermission::MediaGalleriesPermission( |
MediaGalleriesPermission::~MediaGalleriesPermission() { |
} |
-bool MediaGalleriesPermission::FromValue(const base::Value* value, |
- std::string* error) { |
+bool MediaGalleriesPermission::FromValue( |
+ const base::Value* value, |
+ std::string* error, |
+ std::vector<std::string>* unhandled_permissions) { |
+ std::vector<std::string> unhandled_sub_permissions; |
if (!SetDisjunctionPermission<MediaGalleriesPermissionData, |
- MediaGalleriesPermission>::FromValue(value, |
- error)) { |
+ MediaGalleriesPermission>::FromValue( |
+ value, error, &unhandled_sub_permissions)) { |
+ unhandled_permissions->insert(unhandled_permissions->end(), |
+ unhandled_sub_permissions.begin(), |
+ unhandled_sub_permissions.end()); |
return false; |
} |
+ for (size_t i = 0; i < unhandled_sub_permissions.size(); i++) { |
+ unhandled_permissions->push_back( |
+ "{\"mediaGalleries\": [" + unhandled_sub_permissions[i] + "]}"); |
+ } |
+ |
bool has_read = false; |
bool has_copy_to = false; |
bool has_delete = false; |