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() { |