| // Copyright 2019 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "components/optimization_guide/optimization_guide_prefs.h" |
| |
| #include "components/prefs/pref_registry_simple.h" |
| |
| namespace optimization_guide { |
| namespace prefs { |
| |
| // A dictionary pref that stores counts for the number of times a hint was |
| // attempted to be loaded and counts for the number of times a hint was actually |
| // loaded, broken down by hint source. |
| const char kHintLoadedCounts[] = "optimization_guide.hint_loaded_counts"; |
| |
| // A pref that stores the last time a hints fetch was attempted. This limits the |
| // frequency that hints are fetched and prevents a crash loop that continually |
| // fetches hints on startup. |
| const char kHintsFetcherLastFetchAttempt[] = |
| "optimization_guide.hintsfetcher.last_fetch_attempt"; |
| |
| // A dictionary pref that stores the set of hosts that cannot have hints fetched |
| // for until visited again after DataSaver was enabled. If The hash of the host |
| // is in the dictionary, then it is on the blacklist and should not be used, the |
| // |value| in the key-value pair is not used. |
| const char kHintsFetcherDataSaverTopHostBlacklist[] = |
| "optimization_guide.hintsfetcher.top_host_blacklist"; |
| |
| // An integer pref that stores the state of the blacklist for the top host |
| // provider for blacklisting hosts after DataSaver is enabled. The state maps to |
| // the HintsFetcherTopHostBlacklistState enum. |
| const char kHintsFetcherDataSaverTopHostBlacklistState[] = |
| "optimization_guide.hintsfetcher.top_host_blacklist_state"; |
| |
| // A string pref that stores the version of the Optimization Hints component |
| // that is currently being processed. This pref is cleared once processing |
| // completes. It is used for detecting a potential crash loop on processing a |
| // version of hints. |
| const char kPendingHintsProcessingVersion[] = |
| "optimization_guide.pending_hints_processing_version"; |
| |
| void RegisterProfilePrefs(PrefRegistrySimple* registry) { |
| registry->RegisterDictionaryPref(kHintLoadedCounts, PrefRegistry::LOSSY_PREF); |
| registry->RegisterInt64Pref( |
| kHintsFetcherLastFetchAttempt, |
| base::Time().ToDeltaSinceWindowsEpoch().InMicroseconds(), |
| PrefRegistry::LOSSY_PREF); |
| registry->RegisterDictionaryPref(kHintsFetcherDataSaverTopHostBlacklist, |
| PrefRegistry::LOSSY_PREF); |
| registry->RegisterIntegerPref( |
| kHintsFetcherDataSaverTopHostBlacklistState, |
| static_cast<int>(HintsFetcherTopHostBlacklistState::kNotInitialized), |
| PrefRegistry::LOSSY_PREF); |
| registry->RegisterStringPref(kPendingHintsProcessingVersion, "", |
| PrefRegistry::LOSSY_PREF); |
| } |
| |
| } // namespace prefs |
| } // namespace optimization_guide |