[Extensions Features] Migrate FeatureSwitch native_crx_bindings
FeatureSwitch::native_crx_bindings() controls the native bindings
experiment. Now, the metrics Features API (base::Feature[List]) has all
the same capabilities as FeatureSwitch (commandline, runtime, and
variation toggling). Migrate native_crx_bindings to use the Features
API.
Bug: 784476
Change-Id: Ic57e258d1d3b6cacc153eba915b2386109dd2a69
Reviewed-on: https://chromium-review.googlesource.com/772840
Reviewed-by: Ilya Sherman <[email protected]>
Reviewed-by: Istiaque Ahmed <[email protected]>
Commit-Queue: Devlin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#518529}
diff --git a/chrome/browser/extensions/service_worker_apitest.cc b/chrome/browser/extensions/service_worker_apitest.cc
index b0b7d32..c69cf2e 100644
--- a/chrome/browser/extensions/service_worker_apitest.cc
+++ b/chrome/browser/extensions/service_worker_apitest.cc
@@ -43,7 +43,7 @@
#include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/process_manager.h"
-#include "extensions/common/switches.h"
+#include "extensions/common/extension_features.h"
#include "extensions/test/background_page_watcher.h"
#include "extensions/test/extension_test_message_listener.h"
#include "extensions/test/result_catcher.h"
@@ -111,17 +111,21 @@
~ServiceWorkerTest() override {}
+ void SetUp() override {
+ if (GetParam() == NATIVE_BINDINGS) {
+ scoped_feature_list_.InitAndEnableFeature(features::kNativeCrxBindings);
+ } else {
+ DCHECK_EQ(JAVASCRIPT_BINDINGS, GetParam());
+ scoped_feature_list_.InitAndDisableFeature(features::kNativeCrxBindings);
+ }
+ ExtensionApiTest::SetUp();
+ }
+
void SetUpOnMainThread() override {
ExtensionApiTest::SetUpOnMainThread();
host_resolver()->AddRule("a.com", "127.0.0.1");
}
- void SetUpCommandLine(base::CommandLine* command_line) override {
- ExtensionApiTest::SetUpCommandLine(command_line);
- command_line->AppendSwitchASCII(switches::kNativeCrxBindings,
- GetParam() == NATIVE_BINDINGS ? "1" : "0");
- }
-
protected:
// Returns the ProcessManager for the test's profile.
ProcessManager* process_manager() { return ProcessManager::Get(profile()); }
@@ -217,6 +221,8 @@
// removed.
ScopedCurrentChannel current_channel_;
+ base::test::ScopedFeatureList scoped_feature_list_;
+
DISALLOW_COPY_AND_ASSIGN(ServiceWorkerTest);
};