Chromium Code Reviews| Index: chrome/browser/extensions/api/media_galleries/media_galleries_api.cc |
| =================================================================== |
| --- chrome/browser/extensions/api/media_galleries/media_galleries_api.cc (revision 261942) |
| +++ chrome/browser/extensions/api/media_galleries/media_galleries_api.cc (working copy) |
| @@ -62,6 +62,8 @@ |
| namespace extensions { |
| namespace MediaGalleries = api::media_galleries; |
| +namespace DropPermissionForMediaFileSystem = |
| + MediaGalleries::DropPermissionForMediaFileSystem; |
| namespace GetMediaFileSystems = MediaGalleries::GetMediaFileSystems; |
| namespace { |
| @@ -643,6 +645,46 @@ |
| render_view_host(), GetExtension(), cb); |
| } |
| +MediaGalleriesDropPermissionForMediaFileSystemFunction:: |
| + ~MediaGalleriesDropPermissionForMediaFileSystemFunction() {} |
| + |
| +bool MediaGalleriesDropPermissionForMediaFileSystemFunction::RunImpl() { |
| + media_galleries::UsageCount( |
| + media_galleries::DROP_PERMISSION_FOR_MEDIA_FILE_SYSTEM); |
| + |
| + scoped_ptr<base::ListValue> default_results(new base::ListValue()); |
| + default_results->AppendString(base::string16()); |
| + default_results->AppendBoolean(false); |
| + SetResult(default_results.release()); |
| + |
| + scoped_ptr<DropPermissionForMediaFileSystem::Params> params( |
| + DropPermissionForMediaFileSystem::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params.get()); |
| + MediaGalleryPrefId pref_id; |
| + if (!base::StringToUint64(params->gallery_id, &pref_id)) |
| + return false; |
| + |
| + // The name of this function is too darn long! |
| +#define DROP_PERMISSION_FUNCTION \ |
| + &MediaGalleriesDropPermissionForMediaFileSystemFunction::OnPreferencesInit |
|
vandebo (ex-Chrome)
2014/04/08 14:58:45
Would wrapping at the :: be better than a macro?
Lei Zhang
2014/04/08 17:10:18
Done.
|
| + base::Closure callback = base::Bind(DROP_PERMISSION_FUNCTION, this, pref_id); |
| +#undef DROP_PERMISSION_FUNCTION |
| + return Setup(GetProfile(), &error_, callback); |
|
vandebo (ex-Chrome)
2014/04/08 14:58:45
Consider putting this in the conditional on line 6
Lei Zhang
2014/04/08 17:10:18
Code shuffled.
|
| +} |
| + |
| +void MediaGalleriesDropPermissionForMediaFileSystemFunction::OnPreferencesInit( |
| + MediaGalleryPrefId pref_id) { |
| + MediaGalleriesPreferences* preferences = |
| + media_file_system_registry()->GetPreferences(GetProfile()); |
| + bool dropped = preferences->SetGalleryPermissionForExtension( |
| + *GetExtension(), pref_id, false); |
| + scoped_ptr<base::ListValue> results(new base::ListValue()); |
| + results->AppendString(base::Uint64ToString(pref_id)); |
| + results->AppendBoolean(dropped); |
| + SetResult(results.release()); |
| + SendResponse(true); |
| +} |
| + |
| MediaGalleriesStartMediaScanFunction::~MediaGalleriesStartMediaScanFunction() {} |
| bool MediaGalleriesStartMediaScanFunction::RunImpl() { |