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,7 @@ |
namespace extensions { |
namespace MediaGalleries = api::media_galleries; |
+namespace ForgetMediaFileSystem = MediaGalleries::ForgetMediaFileSystem; |
namespace GetMediaFileSystems = MediaGalleries::GetMediaFileSystems; |
namespace { |
@@ -643,6 +644,44 @@ |
render_view_host(), GetExtension(), cb); |
} |
+MediaGalleriesForgetMediaFileSystemFunction:: |
+ ~MediaGalleriesForgetMediaFileSystemFunction() {} |
+ |
+bool MediaGalleriesForgetMediaFileSystemFunction::RunImpl() { |
+ media_galleries::UsageCount(media_galleries::FORGET_MEDIA_FILE_SYSTEM); |
+ |
+ // Default callback return value is false. |
+ SetResult(new base::FundamentalValue(false)); |
+ |
+ scoped_ptr<ForgetMediaFileSystem::Params> params( |
+ ForgetMediaFileSystem::Params::Create(*args_)); |
+ EXTENSION_FUNCTION_VALIDATE(params.get()); |
+ const base::DictionaryValue& file_system = |
+ params->media_file_system.additional_properties; |
+ if (!file_system.HasKey(kGalleryIdKey)) |
+ return false; |
+ base::string16 pref_id_str; |
+ if (!file_system.GetString(kGalleryIdKey, &pref_id_str)) |
+ return false; |
+ MediaGalleryPrefId pref_id; |
+ if (!base::StringToUint64(pref_id_str, &pref_id)) |
+ return false; |
+ |
+ return Setup(GetProfile(), &error_, base::Bind( |
+ &MediaGalleriesForgetMediaFileSystemFunction::OnPreferencesInit, |
+ this, pref_id)); |
+} |
+ |
+void MediaGalleriesForgetMediaFileSystemFunction::OnPreferencesInit( |
+ MediaGalleryPrefId pref_id) { |
+ MediaGalleriesPreferences* preferences = |
+ media_file_system_registry()->GetPreferences(GetProfile()); |
+ bool forgotten = preferences->SetGalleryPermissionForExtension( |
+ *GetExtension(), pref_id, false); |
+ SetResult(new base::FundamentalValue(forgotten)); |
+ SendResponse(true); |
+} |
+ |
MediaGalleriesStartMediaScanFunction::~MediaGalleriesStartMediaScanFunction() {} |
bool MediaGalleriesStartMediaScanFunction::RunImpl() { |