| 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 |