Chromium Code Reviews| Index: components/precache/content/precache_manager.cc |
| diff --git a/components/precache/content/precache_manager.cc b/components/precache/content/precache_manager.cc |
| index c8fc3dbe469b91356d7184da1d363045f4533f8a..08932cd4500223b39fa807483847ea89807b8b26 100644 |
| --- a/components/precache/content/precache_manager.cc |
| +++ b/components/precache/content/precache_manager.cc |
| @@ -15,10 +15,10 @@ |
| #include "base/metrics/field_trial.h" |
| #include "base/prefs/pref_service.h" |
| #include "base/time/time.h" |
| -#include "components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h" |
| #include "components/history/core/browser/history_service.h" |
| #include "components/precache/core/precache_database.h" |
| #include "components/precache/core/precache_switches.h" |
| +#include "components/sync_driver/sync_service.h" |
| #include "components/user_prefs/user_prefs.h" |
| #include "content/public/browser/browser_context.h" |
| #include "content/public/browser/browser_thread.h" |
| @@ -40,8 +40,10 @@ int NumTopHosts() { |
| return kNumTopHosts; |
| } |
| -PrecacheManager::PrecacheManager(content::BrowserContext* browser_context) |
| +PrecacheManager::PrecacheManager(content::BrowserContext* browser_context, |
| + sync_driver::SyncService* sync_service) |
| : browser_context_(browser_context), |
| + sync_service_(sync_service), |
| precache_database_(new PrecacheDatabase()), |
| is_precaching_(false) { |
| base::FilePath db_path(browser_context_->GetPath().Append( |
| @@ -64,9 +66,10 @@ bool PrecacheManager::IsPrecachingEnabled() { |
| } |
| bool PrecacheManager::IsPrecachingAllowed() { |
| - DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| - return user_prefs::UserPrefs::Get(browser_context_)->GetBoolean( |
| - data_reduction_proxy::prefs::kDataReductionProxyEnabled); |
| + return sync_service_ && sync_service_->IsSyncEnabledAndLoggedIn() && |
|
maxbogue
2015/06/16 19:51:27
This logic lgtm. FYI, http://crrev.com/1175243009
twifkak
2015/06/16 20:56:42
Done; thanks for the heads up.
|
| + sync_service_->HasSyncSetupCompleted() && |
| + sync_service_->GetPreferredDataTypes().Has(syncer::SESSIONS) && |
| + !sync_service_->GetEncryptedDataTypes().Has(syncer::SESSIONS); |
| } |
| void PrecacheManager::StartPrecaching( |