| OLD | NEW | 
|    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  Loading... | 
|  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  Loading... | 
|  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  Loading... | 
|  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 | 
| OLD | NEW |