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

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

Issue 10821077: Add gallery permissions to Media Galleries Preferences (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 8 years, 4 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 | Annotate | Revision Log
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 10
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 129 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
130 const RenderProcessHost* rph = 130 const RenderProcessHost* rph =
131 content::Source<content::RenderProcessHost>(source).ptr(); 131 content::Source<content::RenderProcessHost>(source).ptr();
132 ChildIdToMediaFSMap::iterator child_it = media_fs_map_.find(rph); 132 ChildIdToMediaFSMap::iterator child_it = media_fs_map_.find(rph);
133 CHECK(child_it != media_fs_map_.end()); 133 CHECK(child_it != media_fs_map_.end());
134 // No need to revoke the isolated file systems. The RPH will do that. 134 // No need to revoke the isolated file systems. The RPH will do that.
135 media_fs_map_.erase(child_it); 135 media_fs_map_.erase(child_it);
136 UnregisterForRPHGoneNotifications(rph); 136 UnregisterForRPHGoneNotifications(rph);
137 } 137 }
138 138
139 std::string MediaFileSystemRegistry::GetDeviceIdFromPath(const FilePath& path) {
140 // TODO(vandebo) Do something better here, at least iterate system monitor
141 // attached media devices looking for a match. If not, return the path.
142 return path.value();
143 }
144
139 /****************** 145 /******************
140 * Private methods 146 * Private methods
141 ******************/ 147 ******************/
142 148
143 MediaFileSystemRegistry::MediaFileSystemRegistry() { 149 MediaFileSystemRegistry::MediaFileSystemRegistry() {
144 SystemMonitor::Get()->AddDevicesChangedObserver(this); 150 // SystemMonitor may be NULL in unit tests.
151 SystemMonitor* system_monitor = SystemMonitor::Get();
152 if (system_monitor)
153 system_monitor->AddDevicesChangedObserver(this);
145 } 154 }
146 155
147 MediaFileSystemRegistry::~MediaFileSystemRegistry() { 156 MediaFileSystemRegistry::~MediaFileSystemRegistry() {
148 SystemMonitor::Get()->RemoveDevicesChangedObserver(this); 157 // SystemMonitor may be NULL in unit tests.
158 SystemMonitor* system_monitor = SystemMonitor::Get();
159 if (system_monitor)
160 system_monitor->RemoveDevicesChangedObserver(this);
149 } 161 }
150 162
151 void MediaFileSystemRegistry::RegisterForRPHGoneNotifications( 163 void MediaFileSystemRegistry::RegisterForRPHGoneNotifications(
152 const content::RenderProcessHost* rph) { 164 const content::RenderProcessHost* rph) {
153 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED, 165 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED,
154 content::Source<RenderProcessHost>(rph)); 166 content::Source<RenderProcessHost>(rph));
155 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CLOSED, 167 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CLOSED,
156 content::Source<RenderProcessHost>(rph)); 168 content::Source<RenderProcessHost>(rph));
157 } 169 }
158 170
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 MediaPathToFSIDMap& child_map = child_it->second; 204 MediaPathToFSIDMap& child_map = child_it->second;
193 MediaPathToFSIDMap::iterator media_path_it = child_map.find(path); 205 MediaPathToFSIDMap::iterator media_path_it = child_map.find(path);
194 if (media_path_it == child_map.end()) 206 if (media_path_it == child_map.end())
195 continue; 207 continue;
196 isolated_context->RevokeFileSystem(media_path_it->second); 208 isolated_context->RevokeFileSystem(media_path_it->second);
197 child_map.erase(media_path_it); 209 child_map.erase(media_path_it);
198 } 210 }
199 } 211 }
200 212
201 } // namespace chrome 213 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698