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

Unified Diff: chrome/browser/extensions/api/media_galleries/media_galleries_api.cc

Issue 224963010: Media Galleries: Add a dropPermissionForMediaFileSystem() API. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
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() {

Powered by Google App Engine
This is Rietveld 408576698