| 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 2ce167e250e1d3c03f4614033e31126100fafee6..4fbc75bfd14536d0c7844391e9e4991a8bb5dcd0 100644
|
| --- a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
|
| +++ b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
|
| @@ -19,6 +19,7 @@
|
| #include "chrome/browser/extensions/shell_window_registry.h"
|
| #include "chrome/browser/media_galleries/media_file_system_registry.h"
|
| #include "chrome/browser/media_galleries/media_galleries_dialog_controller.h"
|
| +#include "chrome/browser/storage_monitor/storage_monitor.h"
|
| #include "chrome/browser/ui/chrome_select_file_policy.h"
|
| #include "chrome/browser/ui/extensions/shell_window.h"
|
| #include "chrome/common/extensions/api/experimental_media_galleries.h"
|
| @@ -92,6 +93,15 @@ bool MediaGalleriesGetMediaFileSystemsFunction::RunImpl() {
|
| interactive = params->details->interactive;
|
| }
|
|
|
| + chrome::StorageMonitor::GetInstance()->Initialize(base::Bind(
|
| + &MediaGalleriesGetMediaFileSystemsFunction::OnStorageMonitorInit,
|
| + this,
|
| + interactive));
|
| + return true;
|
| +}
|
| +
|
| +void MediaGalleriesGetMediaFileSystemsFunction::OnStorageMonitorInit(
|
| + MediaGalleries::GetMediaFileSystemsInteractivity interactive) {
|
| switch (interactive) {
|
| case MediaGalleries::GET_MEDIA_FILE_SYSTEMS_INTERACTIVITY_YES: {
|
| // The MediaFileSystemRegistry only updates preferences for extensions
|
| @@ -101,22 +111,21 @@ bool MediaGalleriesGetMediaFileSystemsFunction::RunImpl() {
|
| // MediaFileSystemRegistry will send preference changes.
|
| GetMediaFileSystemsForExtension(base::Bind(
|
| &MediaGalleriesGetMediaFileSystemsFunction::AlwaysShowDialog, this));
|
| - return true;
|
| + return;
|
| }
|
| case MediaGalleries::GET_MEDIA_FILE_SYSTEMS_INTERACTIVITY_IF_NEEDED: {
|
| GetMediaFileSystemsForExtension(base::Bind(
|
| &MediaGalleriesGetMediaFileSystemsFunction::ShowDialogIfNoGalleries,
|
| this));
|
| - return true;
|
| + return;
|
| }
|
| case MediaGalleries::GET_MEDIA_FILE_SYSTEMS_INTERACTIVITY_NO:
|
| GetAndReturnGalleries();
|
| - return true;
|
| + return;
|
| case MediaGalleries::GET_MEDIA_FILE_SYSTEMS_INTERACTIVITY_NONE:
|
| NOTREACHED();
|
| }
|
| - NOTREACHED();
|
| - return false;
|
| + SendResponse(false);
|
| }
|
|
|
| void MediaGalleriesGetMediaFileSystemsFunction::AlwaysShowDialog(
|
| @@ -224,6 +233,7 @@ void MediaGalleriesGetMediaFileSystemsFunction::GetMediaFileSystemsForExtension(
|
| return;
|
| }
|
|
|
| + DCHECK(chrome::StorageMonitor::GetInstance()->IsInitialized());
|
| MediaFileSystemRegistry* registry =
|
| g_browser_process->media_file_system_registry();
|
| registry->GetMediaFileSystemsForExtension(
|
|
|