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 #include "chrome/browser/media_galleries/media_galleries_preferences.h" | 5 #include "chrome/browser/media_galleries/media_galleries_preferences.h" |
6 | 6 |
7 #include "base/base_paths_posix.h" | 7 #include "base/base_paths_posix.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/i18n/time_formatting.h" | 9 #include "base/i18n/time_formatting.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 } | 368 } |
369 | 369 |
370 on_initialize_callbacks_.push_back(callback); | 370 on_initialize_callbacks_.push_back(callback); |
371 if (on_initialize_callbacks_.size() > 1) | 371 if (on_initialize_callbacks_.size() > 1) |
372 return; | 372 return; |
373 | 373 |
374 // This counter must match the number of async methods dispatched below. | 374 // This counter must match the number of async methods dispatched below. |
375 // It cannot be incremented inline with each callback, as some may return | 375 // It cannot be incremented inline with each callback, as some may return |
376 // synchronously, decrement the counter to 0, and prematurely trigger | 376 // synchronously, decrement the counter to 0, and prematurely trigger |
377 // FinishInitialization. | 377 // FinishInitialization. |
378 pre_initialization_callbacks_waiting_ = 2; | 378 pre_initialization_callbacks_waiting_ = 3; |
379 | 379 |
380 // We determine the freshness of the profile here, before any of the finders | 380 // We determine the freshness of the profile here, before any of the finders |
381 // return and add media galleries to it. | 381 // return and add media galleries to it. |
382 bool need_to_add_default_galleries = APIHasBeenUsed(profile_); | 382 bool need_to_add_default_galleries = APIHasBeenUsed(profile_); |
383 StorageMonitor::GetInstance()->EnsureInitialized( | 383 StorageMonitor::GetInstance()->EnsureInitialized( |
384 base::Bind(&MediaGalleriesPreferences::OnStorageMonitorInit, | 384 base::Bind(&MediaGalleriesPreferences::OnStorageMonitorInit, |
385 weak_factory_.GetWeakPtr(), need_to_add_default_galleries)); | 385 weak_factory_.GetWeakPtr(), need_to_add_default_galleries)); |
386 | 386 |
387 // Look for optional default galleries every time. | 387 // Look for optional default galleries every time. |
388 itunes::ITunesFinder::FindITunesLibrary( | 388 itunes::ITunesFinder::FindITunesLibrary( |
389 base::Bind(&MediaGalleriesPreferences::OnFinderDeviceID, | 389 base::Bind(&MediaGalleriesPreferences::OnFinderDeviceID, |
390 weak_factory_.GetWeakPtr())); | 390 weak_factory_.GetWeakPtr())); |
391 | 391 |
| 392 picasa::FindPicasaDatabase( |
| 393 base::Bind(&MediaGalleriesPreferences::OnFinderDeviceID, |
| 394 weak_factory_.GetWeakPtr())); |
| 395 |
392 #if 0 | 396 #if 0 |
393 iphoto::FindIPhotoLibrary( | 397 iphoto::FindIPhotoLibrary( |
394 base::Bind(&MediaGalleriesPreferences::OnFinderDeviceID, | 398 base::Bind(&MediaGalleriesPreferences::OnFinderDeviceID, |
395 weak_factory_.GetWeakPtr())); | 399 weak_factory_.GetWeakPtr())); |
396 #endif | 400 #endif |
397 | |
398 // TODO(tommycli): Turn on when Picasa code is ready. | |
399 #if 0 | |
400 picasa::PicasaFinder::FindPicasaDatabaseOnUIThread( | |
401 base::Bind(&MediaGalleriesPreferences::OnFinderDeviceID, | |
402 weak_factory_.GetWeakPtr())); | |
403 #endif | |
404 } | 401 } |
405 | 402 |
406 bool MediaGalleriesPreferences::IsInitialized() const { return initialized_; } | 403 bool MediaGalleriesPreferences::IsInitialized() const { return initialized_; } |
407 | 404 |
408 Profile* MediaGalleriesPreferences::profile() { return profile_; } | 405 Profile* MediaGalleriesPreferences::profile() { return profile_; } |
409 | 406 |
410 void MediaGalleriesPreferences::OnInitializationCallbackReturned() { | 407 void MediaGalleriesPreferences::OnInitializationCallbackReturned() { |
411 DCHECK(!IsInitialized()); | 408 DCHECK(!IsInitialized()); |
412 DCHECK(pre_initialization_callbacks_waiting_ > 0); | 409 DCHECK(pre_initialization_callbacks_waiting_ > 0); |
413 if (--pre_initialization_callbacks_waiting_ == 0) | 410 if (--pre_initialization_callbacks_waiting_ == 0) |
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1074 if (extension_prefs_for_testing_) | 1071 if (extension_prefs_for_testing_) |
1075 return extension_prefs_for_testing_; | 1072 return extension_prefs_for_testing_; |
1076 return extensions::ExtensionPrefs::Get(profile_); | 1073 return extensions::ExtensionPrefs::Get(profile_); |
1077 } | 1074 } |
1078 | 1075 |
1079 void MediaGalleriesPreferences::SetExtensionPrefsForTesting( | 1076 void MediaGalleriesPreferences::SetExtensionPrefsForTesting( |
1080 extensions::ExtensionPrefs* extension_prefs) { | 1077 extensions::ExtensionPrefs* extension_prefs) { |
1081 DCHECK(IsInitialized()); | 1078 DCHECK(IsInitialized()); |
1082 extension_prefs_for_testing_ = extension_prefs; | 1079 extension_prefs_for_testing_ = extension_prefs; |
1083 } | 1080 } |
OLD | NEW |