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

Issue 1278403003: Initial implementation of FeatureList in base/. (Closed)

Created:
5 years, 4 months ago by Alexei Svitkine (slow)
Modified:
5 years, 3 months ago
CC:
chromium-reviews, asvitkine+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Initial implementation of FeatureList in base/. This first CL adds the initial version of FeatureList singleton class, providing support for the following: - Initial class structure and singleton registration - Support for --enable-features= and --disable-features= flags - API to test if a feature is enabled or not - Its registration in chrome_browser_main.cc - Debug checks to ensure each Feature struct is defined only once - Basic unit tests Parts that will be implemented in follow-up CLs: - Integration with FieldTrials (split out into a follow-up CL) - VariationsService integration and kill switch support - Various bits above base/ (e.g. about flags, sub-process stuff ,..) BUG=526169 Committed: https://crrev.com/bccbb867acc61bb9b8c88e3a7b0cbee6b08df0de Cr-Commit-Position: refs/heads/master@{#347438}

Patch Set 1 : #

Total comments: 10

Patch Set 2 : Address comments. #

Total comments: 10

Patch Set 3 : More comments addressed. #

Total comments: 55

Patch Set 4 : Address isherman@'s comments. #

Total comments: 11

Patch Set 5 : Rebase. #

Patch Set 6 : Move to base/ from base/metrics/ #

Patch Set 7 : Update comments. #

Patch Set 8 : Update enums and owners file. #

Patch Set 9 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+411 lines, -1 line) Patch
M base/BUILD.gn View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M base/OWNERS View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M base/base.gyp View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M base/base.gypi View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
A base/feature_list.h View 1 2 3 4 5 6 7 1 chunk +162 lines, -0 lines 0 comments Download
A base/feature_list.cc View 1 2 3 4 5 6 7 1 chunk +113 lines, -0 lines 0 comments Download
A base/feature_list_unittest.cc View 1 2 3 4 5 6 7 1 chunk +108 lines, -0 lines 0 comments Download
M chrome/browser/chrome_browser_main.cc View 1 2 3 4 5 6 7 8 2 chunks +10 lines, -0 lines 0 comments Download
M chrome/common/chrome_switches.h View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/common/chrome_switches.cc View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -1 line 0 comments Download

Messages

Total messages: 59 (33 generated)
Alexei Svitkine (slow)
5 years, 3 months ago (2015-08-28 18:31:23 UTC) #23
Alexei Svitkine (slow)
+isherman
5 years, 3 months ago (2015-08-28 19:25:07 UTC) #26
rkaplow
https://codereview.chromium.org/1278403003/diff/420001/base/metrics/feature_list.h File base/metrics/feature_list.h (right): https://codereview.chromium.org/1278403003/diff/420001/base/metrics/feature_list.h#newcode23 base/metrics/feature_list.h:23: // The name of the feagture. feature https://codereview.chromium.org/1278403003/diff/420001/base/metrics/feature_list.h#newcode43 base/metrics/feature_list.h:43: ...
5 years, 3 months ago (2015-08-30 19:36:22 UTC) #27
Alexei Svitkine (slow)
https://codereview.chromium.org/1278403003/diff/420001/base/metrics/feature_list.h File base/metrics/feature_list.h (right): https://codereview.chromium.org/1278403003/diff/420001/base/metrics/feature_list.h#newcode23 base/metrics/feature_list.h:23: // The name of the feagture. On 2015/08/30 19:36:22, ...
5 years, 3 months ago (2015-08-31 16:21:01 UTC) #28
brettw
https://codereview.chromium.org/1278403003/diff/440001/base/metrics/feature_list.h File base/metrics/feature_list.h (right): https://codereview.chromium.org/1278403003/diff/440001/base/metrics/feature_list.h#newcode5 base/metrics/feature_list.h:5: #ifndef BASE_METRICS_FEATURE_LIST_H_ I think this would actually be better ...
5 years, 3 months ago (2015-08-31 21:26:01 UTC) #29
Alexei Svitkine (slow)
https://codereview.chromium.org/1278403003/diff/440001/base/metrics/feature_list.h File base/metrics/feature_list.h (right): https://codereview.chromium.org/1278403003/diff/440001/base/metrics/feature_list.h#newcode5 base/metrics/feature_list.h:5: #ifndef BASE_METRICS_FEATURE_LIST_H_ On 2015/08/31 21:26:00, brettw wrote: > I ...
5 years, 3 months ago (2015-08-31 21:59:10 UTC) #30
Ilya Sherman
https://codereview.chromium.org/1278403003/diff/420001/base/metrics/feature_list.h File base/metrics/feature_list.h (right): https://codereview.chromium.org/1278403003/diff/420001/base/metrics/feature_list.h#newcode27 base/metrics/feature_list.h:27: const bool default_state; Let's use an enum rather than ...
5 years, 3 months ago (2015-09-01 03:55:27 UTC) #31
Alexei Svitkine (slow)
Thanks! Ilya's comments addressed, PTAL. Have not yet moved the code from base/metrics to base/, ...
5 years, 3 months ago (2015-09-01 15:53:44 UTC) #32
Alexei Svitkine (slow)
Now moved to base/ from base/metrics/
5 years, 3 months ago (2015-09-01 19:43:23 UTC) #33
Ilya Sherman
Thanks, Alexei! Pretty much LGTM % some final nits. https://codereview.chromium.org/1278403003/diff/460001/base/metrics/feature_list.h File base/metrics/feature_list.h (right): https://codereview.chromium.org/1278403003/diff/460001/base/metrics/feature_list.h#newcode109 base/metrics/feature_list.h:109: ...
5 years, 3 months ago (2015-09-01 20:17:17 UTC) #34
Alexei Svitkine (slow)
https://codereview.chromium.org/1278403003/diff/460001/base/metrics/feature_list_unittest.cc File base/metrics/feature_list_unittest.cc (right): https://codereview.chromium.org/1278403003/diff/460001/base/metrics/feature_list_unittest.cc#newcode84 base/metrics/feature_list_unittest.cc:84: TEST_F(FeatureListTest, CheckFeatureIdentity) { On 2015/09/01 20:17:17, Ilya Sherman wrote: ...
5 years, 3 months ago (2015-09-01 21:18:39 UTC) #35
Ilya Sherman
https://codereview.chromium.org/1278403003/diff/480001/base/metrics/feature_list.h File base/metrics/feature_list.h (right): https://codereview.chromium.org/1278403003/diff/480001/base/metrics/feature_list.h#newcode35 base/metrics/feature_list.h:35: const FeatureState default_state; On 2015/09/01 21:18:39, Alexei Svitkine wrote: ...
5 years, 3 months ago (2015-09-01 21:20:37 UTC) #36
Alexei Svitkine (slow)
https://codereview.chromium.org/1278403003/diff/480001/base/metrics/feature_list.h File base/metrics/feature_list.h (right): https://codereview.chromium.org/1278403003/diff/480001/base/metrics/feature_list.h#newcode35 base/metrics/feature_list.h:35: const FeatureState default_state; On 2015/09/01 21:20:37, Ilya Sherman wrote: ...
5 years, 3 months ago (2015-09-01 21:36:00 UTC) #37
rkaplow
On 2015/09/01 21:36:00, Alexei Svitkine wrote: > https://codereview.chromium.org/1278403003/diff/480001/base/metrics/feature_list.h > File base/metrics/feature_list.h (right): > > https://codereview.chromium.org/1278403003/diff/480001/base/metrics/feature_list.h#newcode35 ...
5 years, 3 months ago (2015-09-02 15:13:43 UTC) #38
rkaplow
lgtm
5 years, 3 months ago (2015-09-02 15:13:51 UTC) #39
Alexei Svitkine (slow)
Thanks, PTAL! https://codereview.chromium.org/1278403003/diff/480001/base/metrics/feature_list.h File base/metrics/feature_list.h (right): https://codereview.chromium.org/1278403003/diff/480001/base/metrics/feature_list.h#newcode35 base/metrics/feature_list.h:35: const FeatureState default_state; On 2015/09/01 21:36:00, Alexei ...
5 years, 3 months ago (2015-09-02 15:52:59 UTC) #41
Ilya Sherman
Still LGTM -- thanks =)
5 years, 3 months ago (2015-09-02 23:37:24 UTC) #42
Alexei Svitkine (slow)
BrettW: friendly ping On Wed, Sep 2, 2015 at 7:37 PM, <isherman@chromium.org> wrote: > Still ...
5 years, 3 months ago (2015-09-03 15:01:11 UTC) #43
brettw
Whoops, sorry. LGTM
5 years, 3 months ago (2015-09-03 23:17:41 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1278403003/580001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1278403003/580001
5 years, 3 months ago (2015-09-04 01:25:37 UTC) #47
commit-bot: I haz the power
Try jobs failed on following builders: ios_rel_device_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device_ninja/builds/107667)
5 years, 3 months ago (2015-09-04 01:34:01 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1278403003/580001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1278403003/580001
5 years, 3 months ago (2015-09-04 12:59:15 UTC) #51
commit-bot: I haz the power
Try jobs failed on following builders: ios_rel_device_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device_ninja/builds/107825)
5 years, 3 months ago (2015-09-04 13:01:40 UTC) #53
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1278403003/600001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1278403003/600001
5 years, 3 months ago (2015-09-04 15:33:27 UTC) #56
commit-bot: I haz the power
Committed patchset #9 (id:600001)
5 years, 3 months ago (2015-09-04 17:17:51 UTC) #57
commit-bot: I haz the power
5 years, 3 months ago (2015-09-04 17:18:21 UTC) #58
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/bccbb867acc61bb9b8c88e3a7b0cbee6b08df0de
Cr-Commit-Position: refs/heads/master@{#347438}

Powered by Google App Engine
This is Rietveld 408576698