Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Side by Side Diff: chrome/browser/extensions/api/media_galleries/media_galleries_api.cc

Issue 309533007: Refactor PermissionsData pt1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Latest master Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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, &copy_to_param); 142 APIPermission::kMediaGalleries, &copy_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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698