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

Side by Side Diff: chrome/browser/media_galleries/fileapi/itunes_data_provider.cc

Issue 2318133002: Remove call to IsRunningSequenceOnCurrentThread() in media_file_system_backend.cc (Closed)
Patch Set: Leaky LazyInstance Created 4 years, 3 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/fileapi/itunes_data_provider.h" 5 #include "chrome/browser/media_galleries/fileapi/itunes_data_provider.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 base::Bind(&ITunesDataProvider::OnLibraryParsed, 192 base::Bind(&ITunesDataProvider::OnLibraryParsed,
193 weak_factory_.GetWeakPtr(), 193 weak_factory_.GetWeakPtr(),
194 ready_callback)); 194 ready_callback));
195 } 195 }
196 196
197 const base::FilePath& ITunesDataProvider::auto_add_path() const { 197 const base::FilePath& ITunesDataProvider::auto_add_path() const {
198 return auto_add_path_; 198 return auto_add_path_;
199 } 199 }
200 200
201 bool ITunesDataProvider::KnownArtist(const ArtistName& artist) const { 201 bool ITunesDataProvider::KnownArtist(const ArtistName& artist) const {
202 DCHECK(MediaFileSystemBackend::CurrentlyOnMediaTaskRunnerThread()); 202 MediaFileSystemBackend::AssertCurrentlyOnMediaSequence();
203 DCHECK(valid()); 203 DCHECK(valid());
204 return base::ContainsKey(library_, artist); 204 return base::ContainsKey(library_, artist);
205 } 205 }
206 206
207 bool ITunesDataProvider::KnownAlbum(const ArtistName& artist, 207 bool ITunesDataProvider::KnownAlbum(const ArtistName& artist,
208 const AlbumName& album) const { 208 const AlbumName& album) const {
209 DCHECK(MediaFileSystemBackend::CurrentlyOnMediaTaskRunnerThread()); 209 MediaFileSystemBackend::AssertCurrentlyOnMediaSequence();
210 DCHECK(valid()); 210 DCHECK(valid());
211 Library::const_iterator library_it = library_.find(artist); 211 Library::const_iterator library_it = library_.find(artist);
212 if (library_it == library_.end()) 212 if (library_it == library_.end())
213 return false; 213 return false;
214 return base::ContainsKey(library_it->second, album); 214 return base::ContainsKey(library_it->second, album);
215 } 215 }
216 216
217 base::FilePath ITunesDataProvider::GetTrackLocation( 217 base::FilePath ITunesDataProvider::GetTrackLocation(
218 const ArtistName& artist, const AlbumName& album, 218 const ArtistName& artist, const AlbumName& album,
219 const TrackName& track) const { 219 const TrackName& track) const {
220 DCHECK(MediaFileSystemBackend::CurrentlyOnMediaTaskRunnerThread()); 220 MediaFileSystemBackend::AssertCurrentlyOnMediaSequence();
221 DCHECK(valid()); 221 DCHECK(valid());
222 Library::const_iterator library_it = library_.find(artist); 222 Library::const_iterator library_it = library_.find(artist);
223 if (library_it == library_.end()) 223 if (library_it == library_.end())
224 return base::FilePath(); 224 return base::FilePath();
225 225
226 Artist::const_iterator artist_it = library_it->second.find(album); 226 Artist::const_iterator artist_it = library_it->second.find(album);
227 if (artist_it == library_it->second.end()) 227 if (artist_it == library_it->second.end())
228 return base::FilePath(); 228 return base::FilePath();
229 229
230 Album::const_iterator album_it = artist_it->second.find(track); 230 Album::const_iterator album_it = artist_it->second.find(track);
231 if (album_it == artist_it->second.end()) 231 if (album_it == artist_it->second.end())
232 return base::FilePath(); 232 return base::FilePath();
233 return album_it->second; 233 return album_it->second;
234 } 234 }
235 235
236 std::set<ITunesDataProvider::ArtistName> 236 std::set<ITunesDataProvider::ArtistName>
237 ITunesDataProvider::GetArtistNames() const { 237 ITunesDataProvider::GetArtistNames() const {
238 DCHECK(MediaFileSystemBackend::CurrentlyOnMediaTaskRunnerThread()); 238 MediaFileSystemBackend::AssertCurrentlyOnMediaSequence();
239 DCHECK(valid()); 239 DCHECK(valid());
240 std::set<ArtistName> result; 240 std::set<ArtistName> result;
241 Library::const_iterator it; 241 Library::const_iterator it;
242 for (it = library_.begin(); it != library_.end(); ++it) { 242 for (it = library_.begin(); it != library_.end(); ++it) {
243 result.insert(it->first); 243 result.insert(it->first);
244 } 244 }
245 return result; 245 return result;
246 } 246 }
247 247
248 std::set<ITunesDataProvider::AlbumName> ITunesDataProvider::GetAlbumNames( 248 std::set<ITunesDataProvider::AlbumName> ITunesDataProvider::GetAlbumNames(
249 const ArtistName& artist) const { 249 const ArtistName& artist) const {
250 DCHECK(MediaFileSystemBackend::CurrentlyOnMediaTaskRunnerThread()); 250 MediaFileSystemBackend::AssertCurrentlyOnMediaSequence();
251 DCHECK(valid()); 251 DCHECK(valid());
252 std::set<AlbumName> result; 252 std::set<AlbumName> result;
253 Library::const_iterator artist_lookup = library_.find(artist); 253 Library::const_iterator artist_lookup = library_.find(artist);
254 if (artist_lookup == library_.end()) 254 if (artist_lookup == library_.end())
255 return result; 255 return result;
256 256
257 const Artist& artist_entry = artist_lookup->second; 257 const Artist& artist_entry = artist_lookup->second;
258 Artist::const_iterator it; 258 Artist::const_iterator it;
259 for (it = artist_entry.begin(); it != artist_entry.end(); ++it) { 259 for (it = artist_entry.begin(); it != artist_entry.end(); ++it) {
260 result.insert(it->first); 260 result.insert(it->first);
261 } 261 }
262 return result; 262 return result;
263 } 263 }
264 264
265 ITunesDataProvider::Album ITunesDataProvider::GetAlbum( 265 ITunesDataProvider::Album ITunesDataProvider::GetAlbum(
266 const ArtistName& artist, const AlbumName& album) const { 266 const ArtistName& artist, const AlbumName& album) const {
267 DCHECK(MediaFileSystemBackend::CurrentlyOnMediaTaskRunnerThread()); 267 MediaFileSystemBackend::AssertCurrentlyOnMediaSequence();
268 DCHECK(valid()); 268 DCHECK(valid());
269 Album result; 269 Album result;
270 Library::const_iterator artist_lookup = library_.find(artist); 270 Library::const_iterator artist_lookup = library_.find(artist);
271 if (artist_lookup != library_.end()) { 271 if (artist_lookup != library_.end()) {
272 Artist::const_iterator album_lookup = artist_lookup->second.find(album); 272 Artist::const_iterator album_lookup = artist_lookup->second.find(album);
273 if (album_lookup != artist_lookup->second.end()) 273 if (album_lookup != artist_lookup->second.end())
274 result = album_lookup->second; 274 result = album_lookup->second;
275 } 275 }
276 return result; 276 return result;
277 } 277 }
278 278
279 void ITunesDataProvider::OnLibraryParsed(const ReadyCallback& ready_callback, 279 void ITunesDataProvider::OnLibraryParsed(const ReadyCallback& ready_callback,
280 bool result, 280 bool result,
281 const parser::Library& library) { 281 const parser::Library& library) {
282 DCHECK(MediaFileSystemBackend::CurrentlyOnMediaTaskRunnerThread()); 282 MediaFileSystemBackend::AssertCurrentlyOnMediaSequence();
283 set_valid(result); 283 set_valid(result);
284 if (valid()) { 284 if (valid()) {
285 library_.clear(); 285 library_.clear();
286 for (parser::Library::const_iterator artist_it = library.begin(); 286 for (parser::Library::const_iterator artist_it = library.begin();
287 artist_it != library.end(); 287 artist_it != library.end();
288 ++artist_it) { 288 ++artist_it) {
289 std::string artist_name = SanitizeName(artist_it->first); 289 std::string artist_name = SanitizeName(artist_it->first);
290 for (parser::Albums::const_iterator album_it = artist_it->second.begin(); 290 for (parser::Albums::const_iterator album_it = artist_it->second.begin();
291 album_it != artist_it->second.end(); 291 album_it != artist_it->second.end();
292 ++album_it) { 292 ++album_it) {
293 std::string album_name = SanitizeName(album_it->first); 293 std::string album_name = SanitizeName(album_it->first);
294 library_[artist_name][album_name] = 294 library_[artist_name][album_name] =
295 MakeUniqueTrackNames(album_it->second); 295 MakeUniqueTrackNames(album_it->second);
296 } 296 }
297 } 297 }
298 } 298 }
299 ready_callback.Run(valid()); 299 ready_callback.Run(valid());
300 } 300 }
301 301
302 } // namespace itunes 302 } // namespace itunes
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698