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

Side by Side Diff: chrome/browser/media_galleries/media_galleries_preferences.cc

Issue 14556015: [Media Galleries] Lazily initialize the storage monitor. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Improve tracker code 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/media_galleries/media_galleries_preferences.h" 5 #include "chrome/browser/media_galleries/media_galleries_preferences.h"
6 6
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/string16.h" 10 #include "base/string16.h"
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 MediaGalleryPrefId pref_id, 612 MediaGalleryPrefId pref_id,
613 bool has_permission) { 613 bool has_permission) {
614 // The gallery may not exist anymore if the user opened a second config 614 // The gallery may not exist anymore if the user opened a second config
615 // surface concurrently and removed it. Drop the permission update if so. 615 // surface concurrently and removed it. Drop the permission update if so.
616 MediaGalleriesPrefInfoMap::const_iterator gallery_info = 616 MediaGalleriesPrefInfoMap::const_iterator gallery_info =
617 known_galleries_.find(pref_id); 617 known_galleries_.find(pref_id);
618 if (gallery_info == known_galleries_.end()) 618 if (gallery_info == known_galleries_.end())
619 return; 619 return;
620 620
621 #if defined(ENABLE_EXTENSIONS) 621 #if defined(ENABLE_EXTENSIONS)
622 extensions::GalleryWatchStateTracker* state_tracker = 622 extensions::GalleryWatchStateTracker* state_tracker =
vandebo (ex-Chrome) 2013/05/17 22:19:58 Grr, this shouldn't be here... filed bug 241903
Greg Billock 2013/05/18 06:28:40 We're using at least two mechanisms: the registry
vandebo (ex-Chrome) 2013/05/20 15:45:46 Actually three - This class already implements an
623 extensions::GalleryWatchStateTracker::GetForProfile(profile_); 623 extensions::GalleryWatchStateTracker::GetForProfile(profile_);
624 #endif 624 #endif
625 bool all_permission = HasAutoDetectedGalleryPermission(extension); 625 bool all_permission = HasAutoDetectedGalleryPermission(extension);
626 if (has_permission && all_permission) { 626 if (has_permission && all_permission) {
627 if (gallery_info->second.type == MediaGalleryPrefInfo::kAutoDetected) { 627 if (gallery_info->second.type == MediaGalleryPrefInfo::kAutoDetected) {
628 extensions::MediaGalleriesPrivateAPI::UnsetMediaGalleryPermission( 628 extensions::MediaGalleriesPrivateAPI::UnsetMediaGalleryPermission(
629 GetExtensionPrefs(), extension.id(), pref_id); 629 GetExtensionPrefs(), extension.id(), pref_id);
630 NotifyChangeObservers(extension.id()); 630 NotifyChangeObservers(extension.id());
631 #if defined(ENABLE_EXTENSIONS) 631 #if defined(ENABLE_EXTENSIONS)
632 if (state_tracker) { 632 if (state_tracker) {
633 state_tracker->OnGalleryPermissionChanged(extension.id(), pref_id, 633 state_tracker->OnGalleryPermissionChanged(extension.id(), pref_id,
634 true); 634 true, this);
635 } 635 }
636 #endif 636 #endif
637 return; 637 return;
638 } 638 }
639 } 639 }
640 640
641 if (!has_permission && !all_permission) { 641 if (!has_permission && !all_permission) {
642 extensions::MediaGalleriesPrivateAPI::UnsetMediaGalleryPermission( 642 extensions::MediaGalleriesPrivateAPI::UnsetMediaGalleryPermission(
643 GetExtensionPrefs(), extension.id(), pref_id); 643 GetExtensionPrefs(), extension.id(), pref_id);
644 } else { 644 } else {
645 extensions::MediaGalleriesPrivateAPI::SetMediaGalleryPermission( 645 extensions::MediaGalleriesPrivateAPI::SetMediaGalleryPermission(
646 GetExtensionPrefs(), extension.id(), pref_id, has_permission); 646 GetExtensionPrefs(), extension.id(), pref_id, has_permission);
647 } 647 }
648 NotifyChangeObservers(extension.id()); 648 NotifyChangeObservers(extension.id());
649 #if defined(ENABLE_EXTENSIONS) 649 #if defined(ENABLE_EXTENSIONS)
650 if (state_tracker) { 650 if (state_tracker) {
651 state_tracker->OnGalleryPermissionChanged(extension.id(), pref_id, 651 state_tracker->OnGalleryPermissionChanged(extension.id(), pref_id,
652 has_permission); 652 has_permission, this);
653 } 653 }
654 #endif 654 #endif
655 } 655 }
656 656
657 void MediaGalleriesPreferences::Shutdown() { 657 void MediaGalleriesPreferences::Shutdown() {
658 weak_factory_.InvalidateWeakPtrs(); 658 weak_factory_.InvalidateWeakPtrs();
659 profile_ = NULL; 659 profile_ = NULL;
660 } 660 }
661 661
662 // static 662 // static
(...skipping 15 matching lines...) Expand all
678 } 678 }
679 679
680 extensions::ExtensionPrefs* 680 extensions::ExtensionPrefs*
681 MediaGalleriesPreferences::GetExtensionPrefs() const { 681 MediaGalleriesPreferences::GetExtensionPrefs() const {
682 ExtensionService* extension_service = 682 ExtensionService* extension_service =
683 extensions::ExtensionSystem::Get(profile_)->extension_service(); 683 extensions::ExtensionSystem::Get(profile_)->extension_service();
684 return extension_service->extension_prefs(); 684 return extension_service->extension_prefs();
685 } 685 }
686 686
687 } // namespace chrome 687 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698