• slan's avatar
    Reland "[Chromecast] Use base::FeatureList to control features." · aab6bf24
    slan authored
    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}
    aab6bf24
cast_features_browsertest.cc 12.3 KB