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

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

Issue 137313003: Media Galleries API Extension functions: Refactor Preference initialization block. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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
diff --git a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
index 228d6ee91fcd89e985d738d5c1913e0240fee272..1daa0eaf63c224c3a637501e78b07352b1603719 100644
--- a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
+++ b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
@@ -66,22 +66,26 @@ const char kIsMediaDeviceKey[] = "isMediaDevice";
const char kIsRemovableKey[] = "isRemovable";
const char kNameKey[] = "name";
+MediaFileSystemRegistry* media_file_system_registry() {
+ return g_browser_process->media_file_system_registry();
+}
+
// Checks whether the MediaGalleries API is currently accessible (it may be
-// disallowed even if an extension has the requisite permission).
-bool ApiIsAccessible(std::string* error) {
+// disallowed even if an extension has the requisite permission). Then
+// initializes the MediaGalleriesPreferences
+bool Setup(Profile* profile, std::string* error, base::Closure callback) {
if (!ChromeSelectFilePolicy::FileSelectDialogsAllowed()) {
*error = std::string(kDisallowedByPolicy) +
prefs::kAllowFileSelectionDialogs;
return false;
}
+ MediaGalleriesPreferences* preferences =
+ media_file_system_registry()->GetPreferences(profile);
+ preferences->EnsureInitialized(callback);
return true;
}
-MediaFileSystemRegistry* media_file_system_registry() {
- return g_browser_process->media_file_system_registry();
-}
-
WebContents* GetWebContents(content::RenderViewHost* rvh,
Profile* profile,
const std::string& app_id) {
@@ -228,9 +232,6 @@ MediaGalleriesGetMediaFileSystemsFunction::
~MediaGalleriesGetMediaFileSystemsFunction() {}
bool MediaGalleriesGetMediaFileSystemsFunction::RunImpl() {
- if (!ApiIsAccessible(&error_))
- return false;
-
media_galleries::UsageCount(media_galleries::GET_MEDIA_FILE_SYSTEMS);
scoped_ptr<GetMediaFileSystems::Params> params(
GetMediaFileSystems::Params::Create(*args_));
@@ -242,13 +243,9 @@ bool MediaGalleriesGetMediaFileSystemsFunction::RunImpl() {
interactive = params->details->interactive;
}
- MediaGalleriesPreferences* preferences =
- media_file_system_registry()->GetPreferences(GetProfile());
- preferences->EnsureInitialized(base::Bind(
- &MediaGalleriesGetMediaFileSystemsFunction::OnPreferencesInit,
- this,
+ return Setup(GetProfile(), &error_, base::Bind(
+ &MediaGalleriesGetMediaFileSystemsFunction::OnPreferencesInit, this,
interactive));
- return true;
}
void MediaGalleriesGetMediaFileSystemsFunction::OnPreferencesInit(
@@ -339,17 +336,11 @@ MediaGalleriesGetAllMediaFileSystemMetadataFunction::
~MediaGalleriesGetAllMediaFileSystemMetadataFunction() {}
bool MediaGalleriesGetAllMediaFileSystemMetadataFunction::RunImpl() {
- if (!ApiIsAccessible(&error_))
- return false;
-
media_galleries::UsageCount(
media_galleries::GET_ALL_MEDIA_FILE_SYSTEM_METADATA);
- MediaGalleriesPreferences* preferences =
- media_file_system_registry()->GetPreferences(GetProfile());
- preferences->EnsureInitialized(base::Bind(
+ return Setup(GetProfile(), &error_, base::Bind(
&MediaGalleriesGetAllMediaFileSystemMetadataFunction::OnPreferencesInit,
this));
- return true;
}
void MediaGalleriesGetAllMediaFileSystemMetadataFunction::OnPreferencesInit() {
@@ -407,16 +398,9 @@ MediaGalleriesAddUserSelectedFolderFunction::
~MediaGalleriesAddUserSelectedFolderFunction() {}
bool MediaGalleriesAddUserSelectedFolderFunction::RunImpl() {
- if (!ApiIsAccessible(&error_))
- return false;
-
media_galleries::UsageCount(media_galleries::ADD_USER_SELECTED_FOLDER);
- MediaGalleriesPreferences* preferences =
- media_file_system_registry()->GetPreferences(GetProfile());
- preferences->EnsureInitialized(base::Bind(
- &MediaGalleriesAddUserSelectedFolderFunction::OnPreferencesInit,
- this));
- return true;
+ return Setup(GetProfile(), &error_, base::Bind(
+ &MediaGalleriesAddUserSelectedFolderFunction::OnPreferencesInit, this));
}
void MediaGalleriesAddUserSelectedFolderFunction::OnPreferencesInit() {
@@ -508,9 +492,6 @@ MediaGalleriesAddUserSelectedFolderFunction::GetMediaFileSystemsForExtension(
MediaGalleriesGetMetadataFunction::~MediaGalleriesGetMetadataFunction() {}
bool MediaGalleriesGetMetadataFunction::RunImpl() {
- if (!ApiIsAccessible(&error_))
- return false;
-
std::string blob_uuid;
EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &blob_uuid));
@@ -522,20 +503,16 @@ bool MediaGalleriesGetMetadataFunction::RunImpl() {
if (!options)
return false;
- MediaGalleriesPreferences* preferences =
- media_file_system_registry()->GetPreferences(GetProfile());
bool mime_type_only = options->metadata_type ==
MediaGalleries::GET_METADATA_TYPE_MIMETYPEONLY;
- preferences->EnsureInitialized(base::Bind(
- &MediaGalleriesGetMetadataFunction::OnPreferencesInit,
- this, mime_type_only, blob_uuid));
- return true;
+ return Setup(GetProfile(), &error_, base::Bind(
+ &MediaGalleriesGetMetadataFunction::OnPreferencesInit, this,
+ mime_type_only, blob_uuid));
}
void MediaGalleriesGetMetadataFunction::OnPreferencesInit(
- bool mime_type_only,
- const std::string& blob_uuid) {
+ bool mime_type_only, const std::string& blob_uuid) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
// BlobReader is self-deleting.

Powered by Google App Engine
This is Rietveld 408576698