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

Unified Diff: chrome/browser/ui/webui/options/media_galleries_handler.cc

Issue 14556015: [Media Galleries] Lazily initialize the storage monitor. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase Created 7 years, 7 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/ui/webui/options/media_galleries_handler.cc
diff --git a/chrome/browser/ui/webui/options/media_galleries_handler.cc b/chrome/browser/ui/webui/options/media_galleries_handler.cc
index de76e34b104df31ee4274c9028fc6e1f518231ce..ad100acc08e136993453855f21a9e854be53d45f 100644
--- a/chrome/browser/ui/webui/options/media_galleries_handler.cc
+++ b/chrome/browser/ui/webui/options/media_galleries_handler.cc
@@ -26,7 +26,8 @@ using chrome::MediaGalleriesPreferences;
using chrome::MediaGalleriesPrefInfoMap;
using chrome::MediaGalleryPrefInfo;
-MediaGalleriesHandler::MediaGalleriesHandler() {
+MediaGalleriesHandler::MediaGalleriesHandler()
+ : weak_ptr_factory_(this) {
}
MediaGalleriesHandler::~MediaGalleriesHandler() {
@@ -77,9 +78,14 @@ void MediaGalleriesHandler::RegisterMessages() {
void MediaGalleriesHandler::OnGalleriesChanged() {
Profile* profile = Profile::FromWebUI(web_ui());
- chrome::MediaGalleriesPreferences* preferences =
- g_browser_process->media_file_system_registry()->GetPreferences(profile);
+ g_browser_process->media_file_system_registry()->GetPreferencesAsync(
+ profile,
+ base::Bind(&MediaGalleriesHandler::OnGalleriesChangedWithPreferences,
+ weak_ptr_factory_.GetWeakPtr()));
+}
+void MediaGalleriesHandler::OnGalleriesChangedWithPreferences(
+ chrome::MediaGalleriesPreferences* preferences) {
ListValue list;
const MediaGalleriesPrefInfoMap& galleries = preferences->known_galleries();
for (MediaGalleriesPrefInfoMap::const_iterator iter = galleries.begin();
@@ -123,19 +129,31 @@ void MediaGalleriesHandler::HandleForgetGallery(const base::ListValue* args) {
return;
}
- chrome::MediaGalleriesPreferences* prefs =
- g_browser_process->media_file_system_registry()->GetPreferences(
- Profile::FromWebUI(web_ui()));
- prefs->ForgetGalleryById(id);
+ g_browser_process->media_file_system_registry()->GetPreferencesAsync(
+ Profile::FromWebUI(web_ui()),
+ base::Bind(&MediaGalleriesHandler::HandleForgetGalleryWithPreferences,
+ weak_ptr_factory_.GetWeakPtr(), id));
+}
+
+void MediaGalleriesHandler::HandleForgetGalleryWithPreferences(
+ uint64 id,
+ chrome::MediaGalleriesPreferences* preferences) {
+ preferences->ForgetGalleryById(id);
}
void MediaGalleriesHandler::FileSelected(const base::FilePath& path,
int index,
void* params) {
- chrome::MediaGalleriesPreferences* prefs =
- g_browser_process->media_file_system_registry()->GetPreferences(
- Profile::FromWebUI(web_ui()));
- prefs->AddGalleryByPath(path);
+ g_browser_process->media_file_system_registry()->GetPreferencesAsync(
+ Profile::FromWebUI(web_ui()),
+ base::Bind(&MediaGalleriesHandler::FileSelectedWithPreferences,
+ weak_ptr_factory_.GetWeakPtr(), path));
+}
+
+void MediaGalleriesHandler::FileSelectedWithPreferences(
+ base::FilePath path,
+ chrome::MediaGalleriesPreferences* preferences) {
+ preferences->AddGalleryByPath(path);
}
} // namespace options

Powered by Google App Engine
This is Rietveld 408576698