Revert of Change ScopedFeatureList to overrides FeatureList not reset (patchset #1 id:1 of https://codereview.chromium.org/2962963002/ )

Reason for revert:
Causing Mac bots to OOM on AppShimInteractiveTest tests

https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.mac%2FMac10.10_Tests%2F20150%2F%2B%2Frecipes%2Fsteps%2Finteractive_ui_tests%2F0%2Fstdout

Original issue's description:
> Reland of Change ScopedFeatureList to overrides FeatureList not reset (patchset #1 id:1 of https://codereview.chromium.org/2850073002/ )
>
> Reason for revert:
> The ASAN failure is fixed at https://codereview.chromium.org/2874693002/.
>
> This patch is ready for reland.
>
> Original issue's description:
> > Revert of Change ScopedFeatureList to overrides FeatureList not reset (patchset #6 id:140001 of https://codereview.chromium.org/2834583002/ )
> >
> > Reason for revert:
> > Mac ASAN bots reporting use-after-free errors.
> >
> > Original issue's description:
> > > Change ScopedFeatureList to overrides FeatureList not reset
> > >
> > > 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}
> > > Committed: https://chromium.googlesource.com/chromium/src/+/9c04ed553bd7abe820a6a93c5e8981e6738881a9
> >
> > TBR=isherman@chromium.org,asvitkine@chromium.org,thakis@chromium.org,chaopeng@chromium.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=713390
> >
> > Review-Url: https://codereview.chromium.org/2850073002
> > Cr-Commit-Position: refs/heads/master@{#468263}
> > Committed: https://chromium.googlesource.com/chromium/src/+/6c14f269fb196627c72a810205488d694b63a7d5
>
> TBR=isherman@chromium.org,asvitkine@chromium.org,thakis@chromium.org,thestig@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=713390
>
> Review-Url: https://codereview.chromium.org/2962963002
> Cr-Commit-Position: refs/heads/master@{#483631}
> Committed: https://chromium.googlesource.com/chromium/src/+/04afdfd65fe04ef71fa9918d8fea0f2bc6356836

TBR=isherman@chromium.org,asvitkine@chromium.org,thakis@chromium.org,thestig@chromium.org,chaopeng@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=713390

Review-Url: https://codereview.chromium.org/2964623002
Cr-Commit-Position: refs/heads/master@{#483641}
4 files changed