OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/metrics/field_trial.h" | 5 #include "base/metrics/field_trial.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/rand_util.h" | 8 #include "base/rand_util.h" |
9 #include "base/sha1.h" | 9 #include "base/sha1.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 // static | 362 // static |
363 size_t FieldTrialList::GetFieldTrialCount() { | 363 size_t FieldTrialList::GetFieldTrialCount() { |
364 if (!global_) | 364 if (!global_) |
365 return 0; | 365 return 0; |
366 AutoLock auto_lock(global_->lock_); | 366 AutoLock auto_lock(global_->lock_); |
367 return global_->registered_.size(); | 367 return global_->registered_.size(); |
368 } | 368 } |
369 | 369 |
370 // static | 370 // static |
371 bool FieldTrialList::IsOneTimeRandomizationEnabled() { | 371 bool FieldTrialList::IsOneTimeRandomizationEnabled() { |
372 DCHECK(global_); | 372 // TODO(joi): Put back a DCHECK(global_) here. First, need to make sure all |
| 373 // unit test executables have exactly one FieldTrialList instance (currently |
| 374 // they have 0 or 1). |
373 if (!global_) | 375 if (!global_) |
374 return false; | 376 return false; |
375 | 377 |
376 return !global_->client_id_.empty(); | 378 return !global_->client_id_.empty(); |
377 } | 379 } |
378 | 380 |
379 // static | 381 // static |
380 const std::string& FieldTrialList::client_id() { | 382 const std::string& FieldTrialList::client_id() { |
381 DCHECK(global_); | 383 DCHECK(global_); |
382 if (!global_) | 384 if (!global_) |
383 return EmptyString(); | 385 return EmptyString(); |
384 | 386 |
385 return global_->client_id_; | 387 return global_->client_id_; |
386 } | 388 } |
387 | 389 |
388 FieldTrial* FieldTrialList::PreLockedFind(const std::string& name) { | 390 FieldTrial* FieldTrialList::PreLockedFind(const std::string& name) { |
389 RegistrationList::iterator it = registered_.find(name); | 391 RegistrationList::iterator it = registered_.find(name); |
390 if (registered_.end() == it) | 392 if (registered_.end() == it) |
391 return NULL; | 393 return NULL; |
392 return it->second; | 394 return it->second; |
393 } | 395 } |
394 | 396 |
395 } // namespace base | 397 } // namespace base |
OLD | NEW |