Sync the Flash permission toggle in the page info dialog

The Flash permission toggle is shown in page info iff Flash was ever
used on a given website.

When ephemeral Flash permissions are enabled, we Sync this piece
of information to make the toggle appear on all devices, to somewhat
counteract the reduced usability of the ephemeral permission.

At the same time, migrate the Feature object to //components so that
we can refer to it from the relevant code.

Bug: 850062
Change-Id: I69a843233e8c1f13abdd7027fddeb4d4692a5af6
Reviewed-on: https://chromium-review.googlesource.com/1109685
Commit-Queue: Martin Šrámek <[email protected]>
Reviewed-by: Ramin Halavati <[email protected]>
Cr-Commit-Position: refs/heads/master@{#569589}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index c630f0c..3b5e9730 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -49,6 +49,7 @@
 #include "components/browser_sync/browser_sync_switches.h"
 #include "components/browsing_data/core/features.h"
 #include "components/cloud_devices/common/cloud_devices_switches.h"
+#include "components/content_settings/core/common/features.h"
 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_features.h"
 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
 #include "components/dom_distiller/core/dom_distiller_switches.h"
@@ -3935,7 +3936,8 @@
     {"enable-ephemeral-flash-permission",
      flag_descriptions::kEnableEphemeralFlashPermissionName,
      flag_descriptions::kEnableEphemeralFlashPermissionDescription, kOsDesktop,
-     SINGLE_VALUE_TYPE(switches::kEnableEphemeralFlashPermission)},
+     FEATURE_VALUE_TYPE(
+         content_settings::features::kEnableEphemeralFlashPermission)},
 
     // NOTE: Adding a new flag requires adding a corresponding entry to enum
     // "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag