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

Issue 2836263003: Reland "[Chromecast] Use base::FeatureList to control features." (Closed)

Created:
3 years, 8 months ago by slan
Modified:
3 years, 7 months ago
Reviewers:
halliwell, maclellant
CC:
chromium-reviews, alokp+watch_chromium.org, lcwu+watch_chromium.org, halliwell+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland "[Chromecast] Use base::FeatureList to control features." This feature was reverted due to the new browsertest being flaky on internal Cast infrastructure: crrev.com/2838813003 === Original Commit Message === In Chromium, Finch-enabled features are controlled through base::FeatureList, a class which abstracts the experiment framework and developer overrides from client code. Though Chromecast's experiment framework is fundamentally different (in that it is server-driven) Cast builds can still make use of this class. Introduce some utilities to help. At boot-up, the pref store will be queried for experiment configs, which were cached to disk on the most recent config fetch from the last boot cycle. If a developer overrides these features from the command line, that value takes precedence. These features will be used to initialize base::FeatureList, which can then be statically queried from any client code that depends on //base. This patch does not actually introduce or convert any existing features to use this framework. BUG=714291 BUG= internal b/35424335 Review-Url: https://codereview.chromium.org/2836263003 Cr-Commit-Position: refs/heads/master@{#467998} Committed: https://chromium.googlesource.com/chromium/src/+/aab6bf24d32d931359b2d0c25fb39b3ed51fbc86

Patch Set 1 #

Patch Set 2 : Updates to cast_features_browsertest #

Total comments: 8

Patch Set 3 : halliwell comments addresses. #

Patch Set 4 : Bad includes removed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+876 lines, -5 lines) Patch
M chromecast/base/BUILD.gn View 2 chunks +3 lines, -0 lines 0 comments Download
A chromecast/base/cast_features.h View 1 chunk +52 lines, -0 lines 0 comments Download
A chromecast/base/cast_features.cc View 1 chunk +197 lines, -0 lines 0 comments Download
A chromecast/base/cast_features_unittest.cc View 1 chunk +285 lines, -0 lines 0 comments Download
M chromecast/base/pref_names.h View 1 chunk +2 lines, -0 lines 0 comments Download
M chromecast/base/pref_names.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M chromecast/browser/BUILD.gn View 2 chunks +3 lines, -0 lines 0 comments Download
M chromecast/browser/cast_browser_main_parts.h View 2 chunks +2 lines, -0 lines 0 comments Download
M chromecast/browser/cast_browser_main_parts.cc View 4 chunks +23 lines, -5 lines 0 comments Download
M chromecast/browser/pref_service_helper.cc View 1 chunk +2 lines, -0 lines 0 comments Download
A chromecast/browser/test/cast_features_browsertest.cc View 1 2 3 1 chunk +301 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (12 generated)
slan
The browsertests were flaking b/c there were implicit state dependencies between tests. I have removed ...
3 years, 8 months ago (2017-04-26 20:33:52 UTC) #2
slan
(PS2 also adds a test for experiment ids)
3 years, 8 months ago (2017-04-26 20:34:49 UTC) #3
halliwell
https://codereview.chromium.org/2836263003/diff/20001/chromecast/browser/test/cast_features_browsertest.cc File chromecast/browser/test/cast_features_browsertest.cc (right): https://codereview.chromium.org/2836263003/diff/20001/chromecast/browser/test/cast_features_browsertest.cc#newcode46 chromecast/browser/test/cast_features_browsertest.cc:46: const base::Feature kEnableBat("enable_bat", base::FEATURE_ENABLED_BY_DEFAULT); nit: would it make sense ...
3 years, 8 months ago (2017-04-27 00:04:23 UTC) #8
slan
Thanks for comments, Luke. PTAL. https://codereview.chromium.org/2836263003/diff/20001/chromecast/browser/test/cast_features_browsertest.cc File chromecast/browser/test/cast_features_browsertest.cc (right): https://codereview.chromium.org/2836263003/diff/20001/chromecast/browser/test/cast_features_browsertest.cc#newcode46 chromecast/browser/test/cast_features_browsertest.cc:46: const base::Feature kEnableBat("enable_bat", base::FEATURE_ENABLED_BY_DEFAULT); ...
3 years, 7 months ago (2017-04-27 15:36:02 UTC) #9
halliwell
On 2017/04/27 15:36:02, slan wrote: > Thanks for comments, Luke. PTAL. > > https://codereview.chromium.org/2836263003/diff/20001/chromecast/browser/test/cast_features_browsertest.cc > ...
3 years, 7 months ago (2017-04-27 18:12:00 UTC) #10
slan
On 2017/04/27 18:12:00, halliwell wrote: > On 2017/04/27 15:36:02, slan wrote: > > Thanks for ...
3 years, 7 months ago (2017-04-27 18:15:45 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2836263003/60001
3 years, 7 months ago (2017-04-28 13:41:50 UTC) #17
commit-bot: I haz the power
Committed patchset #4 (id:60001) as https://chromium.googlesource.com/chromium/src/+/aab6bf24d32d931359b2d0c25fb39b3ed51fbc86
3 years, 7 months ago (2017-04-28 15:09:54 UTC) #20
slan
3 years, 7 months ago (2017-04-29 20:02:38 UTC) #21
Message was sent while issue was closed.
A revert of this CL (patchset #4 id:60001) has been created in
https://codereview.chromium.org/2847423002/ by slan@chromium.org.

The reason for reverting is: Breaks ATV at runtime..

Powered by Google App Engine
This is Rietveld 408576698