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

Side by Side Diff: base/metrics/field_trial.cc

Issue 452923003: CreateTrailsFromString function now accepts argument without last separator symbol (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test case separated. empty lines added back Created 6 years, 4 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 unified diff | Download patch
« no previous file with comments | « no previous file | base/metrics/field_trial_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "base/metrics/field_trial.h" 5 #include "base/metrics/field_trial.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/build_time.h" 9 #include "base/build_time.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 if (trials_string.empty() || !global_) 407 if (trials_string.empty() || !global_)
408 return true; 408 return true;
409 409
410 size_t next_item = 0; 410 size_t next_item = 0;
411 while (next_item < trials_string.length()) { 411 while (next_item < trials_string.length()) {
412 size_t name_end = trials_string.find(kPersistentStringSeparator, next_item); 412 size_t name_end = trials_string.find(kPersistentStringSeparator, next_item);
413 if (name_end == trials_string.npos || next_item == name_end) 413 if (name_end == trials_string.npos || next_item == name_end)
414 return false; 414 return false;
415 size_t group_name_end = trials_string.find(kPersistentStringSeparator, 415 size_t group_name_end = trials_string.find(kPersistentStringSeparator,
416 name_end + 1); 416 name_end + 1);
417 if (group_name_end == trials_string.npos || name_end + 1 == group_name_end) 417 if (name_end + 1 == group_name_end)
418 return false; 418 return false;
419 if (group_name_end == trials_string.npos)
420 group_name_end = trials_string.length();
419 std::string name(trials_string, next_item, name_end - next_item); 421 std::string name(trials_string, next_item, name_end - next_item);
420 std::string group_name(trials_string, name_end + 1, 422 std::string group_name(trials_string, name_end + 1,
421 group_name_end - name_end - 1); 423 group_name_end - name_end - 1);
422 next_item = group_name_end + 1; 424 next_item = group_name_end + 1;
423 425
424 if (ignored_trial_names.find(name) != ignored_trial_names.end()) 426 if (ignored_trial_names.find(name) != ignored_trial_names.end())
425 continue; 427 continue;
426 428
427 FieldTrial* trial = CreateFieldTrial(name, group_name); 429 FieldTrial* trial = CreateFieldTrial(name, group_name);
428 if (!trial) 430 if (!trial)
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 return; 533 return;
532 } 534 }
533 AutoLock auto_lock(global_->lock_); 535 AutoLock auto_lock(global_->lock_);
534 DCHECK(!global_->PreLockedFind(trial->trial_name())); 536 DCHECK(!global_->PreLockedFind(trial->trial_name()));
535 trial->AddRef(); 537 trial->AddRef();
536 trial->SetTrialRegistered(); 538 trial->SetTrialRegistered();
537 global_->registered_[trial->trial_name()] = trial; 539 global_->registered_[trial->trial_name()] = trial;
538 } 540 }
539 541
540 } // namespace base 542 } // namespace base
OLDNEW
« no previous file with comments | « no previous file | base/metrics/field_trial_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698