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

Side by Side Diff: chrome/browser/media_gallery/media_file_system_registry.cc

Issue 11377131: Removing PrefObserver usage, batch 4. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Respond to review comments. Created 8 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/media_gallery/media_file_system_registry.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // MediaFileSystemRegistry implementation. 5 // MediaFileSystemRegistry implementation.
6 6
7 #include "chrome/browser/media_gallery/media_file_system_registry.h" 7 #include "chrome/browser/media_gallery/media_file_system_registry.h"
8 8
9 #include <set> 9 #include <set>
10 #include <vector> 10 #include <vector>
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 preferences->GalleriesForExtension(*extension); 483 preferences->GalleriesForExtension(*extension);
484 484
485 if (galleries.empty()) { 485 if (galleries.empty()) {
486 callback.Run(std::vector<MediaFileSystemInfo>()); 486 callback.Run(std::vector<MediaFileSystemInfo>());
487 return; 487 return;
488 } 488 }
489 489
490 if (!ContainsKey(pref_change_registrar_map_, profile)) { 490 if (!ContainsKey(pref_change_registrar_map_, profile)) {
491 PrefChangeRegistrar* pref_registrar = new PrefChangeRegistrar; 491 PrefChangeRegistrar* pref_registrar = new PrefChangeRegistrar;
492 pref_registrar->Init(profile->GetPrefs()); 492 pref_registrar->Init(profile->GetPrefs());
493 pref_registrar->Add(prefs::kMediaGalleriesRememberedGalleries, this); 493 pref_registrar->Add(
494 prefs::kMediaGalleriesRememberedGalleries,
495 base::Bind(&MediaFileSystemRegistry::
496 OnMediaGalleriesRememberedGalleriesChanged,
497 base::Unretained(this),
498 pref_registrar->prefs()));
494 pref_change_registrar_map_[profile] = pref_registrar; 499 pref_change_registrar_map_[profile] = pref_registrar;
495 } 500 }
496 501
497 ExtensionGalleriesHost* extension_host = 502 ExtensionGalleriesHost* extension_host =
498 extension_hosts_map_[profile][extension->id()].get(); 503 extension_hosts_map_[profile][extension->id()].get();
499 if (!extension_host) { 504 if (!extension_host) {
500 extension_host = new ExtensionGalleriesHost( 505 extension_host = new ExtensionGalleriesHost(
501 file_system_context_.get(), 506 file_system_context_.get(),
502 base::Bind(&MediaFileSystemRegistry::OnExtensionGalleriesHostEmpty, 507 base::Bind(&MediaFileSystemRegistry::OnExtensionGalleriesHostEmpty,
503 base::Unretained(this), profile, extension->id())); 508 base::Unretained(this), profile, extension->id()));
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 system_monitor->AddDevicesChangedObserver(this); 670 system_monitor->AddDevicesChangedObserver(this);
666 } 671 }
667 672
668 MediaFileSystemRegistry::~MediaFileSystemRegistry() { 673 MediaFileSystemRegistry::~MediaFileSystemRegistry() {
669 // SystemMonitor may be NULL in unit tests. 674 // SystemMonitor may be NULL in unit tests.
670 SystemMonitor* system_monitor = SystemMonitor::Get(); 675 SystemMonitor* system_monitor = SystemMonitor::Get();
671 if (system_monitor) 676 if (system_monitor)
672 system_monitor->RemoveDevicesChangedObserver(this); 677 system_monitor->RemoveDevicesChangedObserver(this);
673 } 678 }
674 679
675 void MediaFileSystemRegistry::OnPreferenceChanged( 680 void MediaFileSystemRegistry::OnMediaGalleriesRememberedGalleriesChanged(
676 PrefServiceBase* prefs, 681 PrefServiceBase* prefs) {
677 const std::string& pref_name) {
678 DCHECK_EQ(std::string(prefs::kMediaGalleriesRememberedGalleries), pref_name);
679
680 // Find the Profile that contains the source PrefService. 682 // Find the Profile that contains the source PrefService.
681 PrefChangeRegistrarMap::iterator pref_change_it = 683 PrefChangeRegistrarMap::iterator pref_change_it =
682 pref_change_registrar_map_.begin(); 684 pref_change_registrar_map_.begin();
683 for (; pref_change_it != pref_change_registrar_map_.end(); ++pref_change_it) { 685 for (; pref_change_it != pref_change_registrar_map_.end(); ++pref_change_it) {
684 if (pref_change_it->first->GetPrefs() == prefs) 686 if (pref_change_it->first->GetPrefs() == prefs)
685 break; 687 break;
686 } 688 }
687 DCHECK(pref_change_it != pref_change_registrar_map_.end()); 689 DCHECK(pref_change_it != pref_change_registrar_map_.end());
688 Profile* profile = pref_change_it->first; 690 Profile* profile = pref_change_it->first;
689 691
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 753
752 PrefChangeRegistrarMap::iterator pref_it = 754 PrefChangeRegistrarMap::iterator pref_it =
753 pref_change_registrar_map_.find(profile); 755 pref_change_registrar_map_.find(profile);
754 DCHECK(pref_it != pref_change_registrar_map_.end()); 756 DCHECK(pref_it != pref_change_registrar_map_.end());
755 delete pref_it->second; 757 delete pref_it->second;
756 pref_change_registrar_map_.erase(pref_it); 758 pref_change_registrar_map_.erase(pref_it);
757 } 759 }
758 } 760 }
759 761
760 } // namespace chrome 762 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/browser/media_gallery/media_file_system_registry.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698