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 // Implements the Chrome Extensions Media Galleries API. | 5 // Implements the Chrome Extensions Media Galleries API. |
6 | 6 |
7 #include "chrome/browser/extensions/api/media_galleries/media_galleries_api.h" | 7 #include "chrome/browser/extensions/api/media_galleries/media_galleries_api.h" |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 | 125 |
126 base::ListValue* ConstructFileSystemList( | 126 base::ListValue* ConstructFileSystemList( |
127 content::RenderViewHost* rvh, | 127 content::RenderViewHost* rvh, |
128 const Extension* extension, | 128 const Extension* extension, |
129 const std::vector<MediaFileSystemInfo>& filesystems) { | 129 const std::vector<MediaFileSystemInfo>& filesystems) { |
130 if (!rvh) | 130 if (!rvh) |
131 return NULL; | 131 return NULL; |
132 | 132 |
133 MediaGalleriesPermission::CheckParam read_param( | 133 MediaGalleriesPermission::CheckParam read_param( |
134 MediaGalleriesPermission::kReadPermission); | 134 MediaGalleriesPermission::kReadPermission); |
135 bool has_read_permission = PermissionsData::CheckAPIPermissionWithParam( | 135 const PermissionsData* permissions_data = |
136 extension, APIPermission::kMediaGalleries, &read_param); | 136 PermissionsData::ForExtension(extension); |
| 137 bool has_read_permission = permissions_data->CheckAPIPermissionWithParam( |
| 138 APIPermission::kMediaGalleries, &read_param); |
137 MediaGalleriesPermission::CheckParam copy_to_param( | 139 MediaGalleriesPermission::CheckParam copy_to_param( |
138 MediaGalleriesPermission::kCopyToPermission); | 140 MediaGalleriesPermission::kCopyToPermission); |
139 bool has_copy_to_permission = PermissionsData::CheckAPIPermissionWithParam( | 141 bool has_copy_to_permission = permissions_data->CheckAPIPermissionWithParam( |
140 extension, APIPermission::kMediaGalleries, ©_to_param); | 142 APIPermission::kMediaGalleries, ©_to_param); |
141 MediaGalleriesPermission::CheckParam delete_param( | 143 MediaGalleriesPermission::CheckParam delete_param( |
142 MediaGalleriesPermission::kDeletePermission); | 144 MediaGalleriesPermission::kDeletePermission); |
143 bool has_delete_permission = PermissionsData::CheckAPIPermissionWithParam( | 145 bool has_delete_permission = permissions_data->CheckAPIPermissionWithParam( |
144 extension, APIPermission::kMediaGalleries, &delete_param); | 146 APIPermission::kMediaGalleries, &delete_param); |
145 | 147 |
146 const int child_id = rvh->GetProcess()->GetID(); | 148 const int child_id = rvh->GetProcess()->GetID(); |
147 scoped_ptr<base::ListValue> list(new base::ListValue()); | 149 scoped_ptr<base::ListValue> list(new base::ListValue()); |
148 for (size_t i = 0; i < filesystems.size(); ++i) { | 150 for (size_t i = 0; i < filesystems.size(); ++i) { |
149 scoped_ptr<base::DictionaryValue> file_system_dict_value( | 151 scoped_ptr<base::DictionaryValue> file_system_dict_value( |
150 new base::DictionaryValue()); | 152 new base::DictionaryValue()); |
151 | 153 |
152 // Send the file system id so the renderer can create a valid FileSystem | 154 // Send the file system id so the renderer can create a valid FileSystem |
153 // object. | 155 // object. |
154 file_system_dict_value->SetStringWithoutPathExpansion( | 156 file_system_dict_value->SetStringWithoutPathExpansion( |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 | 192 |
191 return list.release(); | 193 return list.release(); |
192 } | 194 } |
193 | 195 |
194 bool CheckScanPermission(const extensions::Extension* extension, | 196 bool CheckScanPermission(const extensions::Extension* extension, |
195 std::string* error) { | 197 std::string* error) { |
196 DCHECK(extension); | 198 DCHECK(extension); |
197 DCHECK(error); | 199 DCHECK(error); |
198 MediaGalleriesPermission::CheckParam scan_param( | 200 MediaGalleriesPermission::CheckParam scan_param( |
199 MediaGalleriesPermission::kScanPermission); | 201 MediaGalleriesPermission::kScanPermission); |
200 bool has_scan_permission = PermissionsData::CheckAPIPermissionWithParam( | 202 bool has_scan_permission = |
201 extension, APIPermission::kMediaGalleries, &scan_param); | 203 PermissionsData::ForExtension(extension)->CheckAPIPermissionWithParam( |
| 204 APIPermission::kMediaGalleries, &scan_param); |
202 if (!has_scan_permission) | 205 if (!has_scan_permission) |
203 *error = kNoScanPermission; | 206 *error = kNoScanPermission; |
204 return has_scan_permission; | 207 return has_scan_permission; |
205 } | 208 } |
206 | 209 |
207 class SelectDirectoryDialog : public ui::SelectFileDialog::Listener, | 210 class SelectDirectoryDialog : public ui::SelectFileDialog::Listener, |
208 public base::RefCounted<SelectDirectoryDialog> { | 211 public base::RefCounted<SelectDirectoryDialog> { |
209 public: | 212 public: |
210 // Selected file path, or an empty path if the user canceled. | 213 // Selected file path, or an empty path if the user canceled. |
211 typedef base::Callback<void(const base::FilePath&)> Callback; | 214 typedef base::Callback<void(const base::FilePath&)> Callback; |
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
880 if (!parse_success) { | 883 if (!parse_success) { |
881 SendResponse(false); | 884 SendResponse(false); |
882 return; | 885 return; |
883 } | 886 } |
884 | 887 |
885 SetResult(metadata_dictionary->DeepCopy()); | 888 SetResult(metadata_dictionary->DeepCopy()); |
886 SendResponse(true); | 889 SendResponse(true); |
887 } | 890 } |
888 | 891 |
889 } // namespace extensions | 892 } // namespace extensions |
OLD | NEW |