| Index: chrome/browser/media_galleries/media_galleries_dialog_controller.cc
|
| diff --git a/chrome/browser/media_galleries/media_galleries_dialog_controller.cc b/chrome/browser/media_galleries/media_galleries_dialog_controller.cc
|
| index 56243441a859c7a2fbf6d1202add9d090952a82f..cdc075585ffc7f5083eac29b15b0c82b1ab8e9ac 100644
|
| --- a/chrome/browser/media_galleries/media_galleries_dialog_controller.cc
|
| +++ b/chrome/browser/media_galleries/media_galleries_dialog_controller.cc
|
| @@ -98,11 +98,18 @@ MediaGalleriesDialogController::MediaGalleriesDialogController(
|
| const base::Closure& on_finish)
|
| : web_contents_(web_contents),
|
| extension_(&extension),
|
| - on_finish_(on_finish) {
|
| + on_finish_(on_finish),
|
| + weak_ptr_factory_(this) {
|
| + StorageMonitor::GetInstance()->Initialize(base::Bind(
|
| + &MediaGalleriesDialogController::OnStorageMonitorInitialized,
|
| + weak_ptr_factory_.GetWeakPtr()));
|
| +}
|
| +
|
| +void MediaGalleriesDialogController::OnStorageMonitorInitialized() {
|
| MediaFileSystemRegistry* registry =
|
| g_browser_process->media_file_system_registry();
|
| preferences_ = registry->GetPreferences(
|
| - Profile::FromBrowserContext(web_contents->GetBrowserContext()));
|
| + Profile::FromBrowserContext(web_contents_->GetBrowserContext()));
|
| InitializePermissions();
|
|
|
| dialog_.reset(MediaGalleriesDialog::Create(this));
|
| @@ -117,7 +124,8 @@ MediaGalleriesDialogController::MediaGalleriesDialogController(
|
| MediaGalleriesDialogController::MediaGalleriesDialogController()
|
| : web_contents_(NULL),
|
| extension_(NULL),
|
| - preferences_(NULL) {}
|
| + preferences_(NULL),
|
| + weak_ptr_factory_(this) {}
|
|
|
| MediaGalleriesDialogController::~MediaGalleriesDialogController() {
|
| StorageMonitor* monitor = StorageMonitor::GetInstance();
|
|
|