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

Unified Diff: chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.cc

Issue 15742010: Use MediaGalleryPreferences directly in GalleryWatchStateTracker interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Make sure to get all call sites 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/extensions/api/media_galleries_private/media_galleries_private_api.cc
diff --git a/chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.cc b/chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.cc
index 64854f673fc46b4e64c02fc6088c66577768312a..39f82e9cf97ebada476bc2c8bc56c4fe8ca5f947 100644
--- a/chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.cc
+++ b/chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.cc
@@ -23,6 +23,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 "content/public/browser/browser_thread.h"
#include "content/public/browser/render_view_host.h"
@@ -105,8 +106,7 @@ bool GetMediaGalleryPermissionFromDictionary(
///////////////////////////////////////////////////////////////////////////////
MediaGalleriesPrivateAPI::MediaGalleriesPrivateAPI(Profile* profile)
- : profile_(profile),
- tracker_(profile) {
+ : profile_(profile) {
DCHECK(profile_);
(new MediaGalleriesHandlerParser)->Register();
ExtensionSystem::Get(profile_)->event_router()->RegisterObserver(
@@ -268,24 +268,27 @@ void MediaGalleriesPrivateAPI::OnListenerAdded(
// Try to initialize the event router for the listener. If
// MediaGalleriesPrivateAPI::GetEventRouter() was called before adding
// the listener, router would be initialized.
- MaybeInitializeEventRouter();
+ MaybeInitializeEventRouterAndTracker();
}
MediaGalleriesPrivateEventRouter* MediaGalleriesPrivateAPI::GetEventRouter() {
- MaybeInitializeEventRouter();
+ MaybeInitializeEventRouterAndTracker();
return media_galleries_private_event_router_.get();
}
GalleryWatchStateTracker*
MediaGalleriesPrivateAPI::GetGalleryWatchStateTracker() {
- return &tracker_;
+ MaybeInitializeEventRouterAndTracker();
+ return tracker_.get();
}
-void MediaGalleriesPrivateAPI::MaybeInitializeEventRouter() {
+void MediaGalleriesPrivateAPI::MaybeInitializeEventRouterAndTracker() {
if (media_galleries_private_event_router_.get())
return;
media_galleries_private_event_router_.reset(
new MediaGalleriesPrivateEventRouter(profile_));
+ tracker_.reset(
+ new GalleryWatchStateTracker(profile_));
}
///////////////////////////////////////////////////////////////////////////////
@@ -304,6 +307,7 @@ bool MediaGalleriesPrivateAddGalleryWatchFunction::RunImpl() {
scoped_ptr<AddGalleryWatch::Params> params(
AddGalleryWatch::Params::Create(*args_));
EXTENSION_FUNCTION_VALIDATE(params.get());
+
base::FilePath gallery_file_path;
chrome::MediaGalleryPrefId gallery_pref_id = 0;
if (!GetGalleryFilePathAndId(params->gallery_id, profile_, GetExtension(),
@@ -438,9 +442,14 @@ bool MediaGalleriesPrivateRemoveAllGalleryWatchFunction::RunImpl() {
if (!render_view_host() || !render_view_host()->GetProcess())
return false;
+ chrome::MediaFileSystemRegistry* registry =
+ g_browser_process->media_file_system_registry();
+ chrome::MediaGalleriesPreferences* preferences =
+ registry->GetPreferences(profile_);
GalleryWatchStateTracker* state_tracker =
MediaGalleriesPrivateAPI::Get(profile_)->GetGalleryWatchStateTracker();
- state_tracker->RemoveAllGalleryWatchersForExtension(extension_id());
+ state_tracker->RemoveAllGalleryWatchersForExtension(
+ extension_id(), preferences);
#endif
return true;
}

Powered by Google App Engine
This is Rietveld 408576698