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

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

Issue 24269007: Media Galleries API: Fix MediaGalleriesPreferences finders race. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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 fe8a8578c0a6ec11f0f3b30eaba116c6d5c0c040..1167e22cffb06538db79f7242ff1a1daffe5db50 100644
--- a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
+++ b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
@@ -21,8 +21,8 @@
#include "chrome/browser/media_galleries/media_file_system_registry.h"
#include "chrome/browser/media_galleries/media_galleries_dialog_controller.h"
#include "chrome/browser/media_galleries/media_galleries_histograms.h"
+#include "chrome/browser/media_galleries/media_galleries_preferences.h"
#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/storage_monitor/storage_monitor.h"
#include "chrome/browser/ui/chrome_select_file_policy.h"
#include "chrome/common/extensions/api/media_galleries.h"
#include "chrome/common/extensions/extension.h"
@@ -93,14 +93,18 @@ bool MediaGalleriesGetMediaFileSystemsFunction::RunImpl() {
interactive = params->details->interactive;
}
- StorageMonitor::GetInstance()->EnsureInitialized(base::Bind(
- &MediaGalleriesGetMediaFileSystemsFunction::OnStorageMonitorInit,
+ Profile* profile = Profile::FromBrowserContext(
+ render_view_host()->GetProcess()->GetBrowserContext());
+ MediaGalleriesPreferences* preferences =
+ g_browser_process->media_file_system_registry()->GetPreferences(profile);
+ preferences->EnsureInitialized(base::Bind(
+ &MediaGalleriesGetMediaFileSystemsFunction::OnPreferencesInit,
this,
interactive));
return true;
}
-void MediaGalleriesGetMediaFileSystemsFunction::OnStorageMonitorInit(
+void MediaGalleriesGetMediaFileSystemsFunction::OnPreferencesInit(
MediaGalleries::GetMediaFileSystemsInteractivity interactive) {
switch (interactive) {
case MediaGalleries::GET_MEDIA_FILE_SYSTEMS_INTERACTIVITY_YES: {
@@ -238,8 +242,8 @@ void MediaGalleriesGetMediaFileSystemsFunction::GetMediaFileSystemsForExtension(
cb.Run(std::vector<MediaFileSystemInfo>());
return;
}
-
- DCHECK(StorageMonitor::GetInstance()->IsInitialized());
+ DCHECK(g_browser_process->media_file_system_registry()->
+ GetPreferences(profile_)->IsInitialized());
MediaFileSystemRegistry* registry =
g_browser_process->media_file_system_registry();
registry->GetMediaFileSystemsForExtension(

Powered by Google App Engine
This is Rietveld 408576698