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

Unified Diff: chrome/browser/prefs/pref_hash_calculator.cc

Issue 228763007: Revert of Improve computation of PrefHashCalculator::legacy_device_id_instance_. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/prefs/pref_hash_calculator.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/prefs/pref_hash_calculator.cc
diff --git a/chrome/browser/prefs/pref_hash_calculator.cc b/chrome/browser/prefs/pref_hash_calculator.cc
index 0a37aa58b9fb05854acff4965c8e4f75dd8c85ee..3fd951bcd237171ac5e783a51739b86eda49f58e 100644
--- a/chrome/browser/prefs/pref_hash_calculator.cc
+++ b/chrome/browser/prefs/pref_hash_calculator.cc
@@ -11,7 +11,6 @@
#include "base/logging.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
-#include "base/threading/thread_restrictions.h"
#include "base/values.h"
#include "chrome/browser/prefs/tracked/pref_hash_calculator_helper.h"
#include "crypto/hmac.h"
@@ -92,10 +91,6 @@
} // namespace
-// static
-base::LazyInstance<scoped_ptr<const std::string> >::Leaky
- PrefHashCalculator::legacy_device_id_instance_ = LAZY_INSTANCE_INITIALIZER;
-
PrefHashCalculator::PrefHashCalculator(const std::string& seed,
const std::string& device_id)
: seed_(seed),
@@ -141,29 +136,10 @@
}
std::string PrefHashCalculator::RetrieveLegacyDeviceId() const {
- scoped_ptr<const std::string>* legacy_device_id_ptr =
- legacy_device_id_instance_.Pointer();
- if (!legacy_device_id_ptr->get()) {
- // Allow IO on this thread to retrieve the legacy device ID. The result of
- // this operation is stored in |legacy_device_id_instance_| and will thus
- // only happen once in this browser's lifetime (as verified by the DCHECK
- // below). This is not ideal, but this value is required synchronously to be
- // able to continue loading prefs for this profile. This profile should then
- // be migrated to a modern device ID and subsequent loads of this profile
- // shouldn't need to run this code ever again. Another option would be to
- // kick an early task on the FILE thread to start retrieving this ID on
- // every startup and block here if the result still hasn't made it in when
- // we need it, but this isn't great either as in most cases it will be
- // computed for nothing.
- // TODO(gab): Remove this when the legacy device ID (M33) becomes
- // irrelevant.
- base::ThreadRestrictions::ScopedAllowIO allow_io;
- static bool legacy_device_id_computed = false;
- DCHECK(!legacy_device_id_computed);
- legacy_device_id_ptr->reset(
+ if (!legacy_device_id_instance_) {
+ legacy_device_id_instance_.reset(
new std::string(GenerateDeviceIdLikePrefMetricsServiceDid(
get_legacy_device_id_callback_.Run(raw_device_id_))));
- legacy_device_id_computed = true;
}
- return *legacy_device_id_ptr->get();
+ return *legacy_device_id_instance_;
}
« no previous file with comments | « chrome/browser/prefs/pref_hash_calculator.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698