• chaopeng's avatar
    Change ScopedFeatureList to overrides FeatureList not reset · 9c04ed55
    chaopeng authored
    The current situation is that using ScopedFeatureList resets to an
    empty feature list and then enables/disables an explicit list of
    features.
    
    That's never what you want for browser tests (or other higher-level
    tests) since it effectively overrides higher-level test configurations
    (e.g. those in fieldtrial_testing_config.json, or a bot set up to
    specifically test a feature).
    
    In this patch:
    
    1. Keep SFL::Init, SFL::InitWithFeatureList,
       SFL::InitFromCommandLine reset to empty list but add warning to
       remind developer should use them with care.
    2. Change SFL::InitAndEnableFeature, SFL::InitAndDisableFeature and
       SFL::InitWithFeatures to not reset but override current FeatureList
       with given enables/disables.
    
    We also add unit tests for ScopedFeatureList.
    
    BUG=713390
    
    Review-Url: https://codereview.chromium.org/2834583002
    Cr-Commit-Position: refs/heads/master@{#468210}
    9c04ed55
scoped_feature_list.cc 5.36 KB