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

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: Fix merge 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..298bfe9acb760135066f91b431772b91344efe73 100644
--- a/chrome/browser/ui/webui/options/media_galleries_handler.cc
+++ b/chrome/browser/ui/webui/options/media_galleries_handler.cc
@@ -11,6 +11,7 @@
#include "chrome/browser/media_galleries/media_file_system_registry.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/chrome_notification_types.h"
#include "chrome/common/pref_names.h"
@@ -26,7 +27,8 @@ using chrome::MediaGalleriesPreferences;
using chrome::MediaGalleriesPrefInfoMap;
using chrome::MediaGalleryPrefInfo;
-MediaGalleriesHandler::MediaGalleriesHandler() {
+MediaGalleriesHandler::MediaGalleriesHandler()
+ : weak_ptr_factory_(this) {
}
MediaGalleriesHandler::~MediaGalleriesHandler() {
@@ -49,6 +51,12 @@ void MediaGalleriesHandler::GetLocalizedValues(DictionaryValue* values) {
}
void MediaGalleriesHandler::InitializePage() {
+ chrome::StorageMonitor::GetInstance()->Initialize(
+ base::Bind(&MediaGalleriesHandler::InitializeOnStorageMonitorInit,
+ weak_ptr_factory_.GetWeakPtr()));
+}
+
+void MediaGalleriesHandler::InitializeOnStorageMonitorInit() {
Profile* profile = Profile::FromWebUI(web_ui());
if (!chrome::MediaGalleriesPreferences::APIHasBeenUsed(profile))
return;
@@ -65,6 +73,12 @@ void MediaGalleriesHandler::InitializePage() {
}
void MediaGalleriesHandler::RegisterMessages() {
+ chrome::StorageMonitor::GetInstance()->Initialize(
+ base::Bind(&MediaGalleriesHandler::RegisterOnStorageMonitorInit,
+ weak_ptr_factory_.GetWeakPtr()));
+}
+
+void MediaGalleriesHandler::RegisterOnStorageMonitorInit() {
web_ui()->RegisterMessageCallback(
"addNewGallery",
base::Bind(&MediaGalleriesHandler::HandleAddNewGallery,
@@ -76,6 +90,7 @@ void MediaGalleriesHandler::RegisterMessages() {
}
void MediaGalleriesHandler::OnGalleriesChanged() {
+ DCHECK(chrome::StorageMonitor::GetInstance()->IsInitialized());
Profile* profile = Profile::FromWebUI(web_ui());
chrome::MediaGalleriesPreferences* preferences =
g_browser_process->media_file_system_registry()->GetPreferences(profile);
@@ -123,19 +138,21 @@ void MediaGalleriesHandler::HandleForgetGallery(const base::ListValue* args) {
return;
}
- chrome::MediaGalleriesPreferences* prefs =
+ DCHECK(chrome::StorageMonitor::GetInstance()->IsInitialized());
+ chrome::MediaGalleriesPreferences* preferences =
g_browser_process->media_file_system_registry()->GetPreferences(
Profile::FromWebUI(web_ui()));
- prefs->ForgetGalleryById(id);
+ preferences->ForgetGalleryById(id);
}
void MediaGalleriesHandler::FileSelected(const base::FilePath& path,
int index,
void* params) {
- chrome::MediaGalleriesPreferences* prefs =
+ DCHECK(chrome::StorageMonitor::GetInstance()->IsInitialized());
+ chrome::MediaGalleriesPreferences* preferences =
g_browser_process->media_file_system_registry()->GetPreferences(
Profile::FromWebUI(web_ui()));
- prefs->AddGalleryByPath(path);
+ preferences->AddGalleryByPath(path);
}
} // namespace options

Powered by Google App Engine
This is Rietveld 408576698