Commit 38cbc746 authored by Ian Clelland's avatar Ian Clelland Committed by Commit Bot

Make featurepolicyexperimentalfeatures part of the experimental web platform features

(Except for vibration; that one still gets its own flag)

Bug: 810879
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: I97bdcc651e6c3d99cc0aff279e83080ea153d031
Reviewed-on: https://chromium-review.googlesource.com/912157Reviewed-by: default avatarPavel Feldman <pfeldman@chromium.org>
Commit-Queue: Ian Clelland <iclelland@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536717}
parent ec0a8bfd
...@@ -646,7 +646,7 @@ class SitePerProcessFeaturePolicyBrowserTest ...@@ -646,7 +646,7 @@ class SitePerProcessFeaturePolicyBrowserTest
// https://crbug.com/623682 // https://crbug.com/623682
command_line->AppendSwitchASCII( command_line->AppendSwitchASCII(
switches::kEnableBlinkFeatures, switches::kEnableBlinkFeatures,
"FeaturePolicy,FeaturePolicyExperimentalFeatures"); "FeaturePolicyExperimentalFeatures,FeaturePolicyVibrateFeature");
} }
blink::ParsedFeaturePolicy CreateFPHeader( blink::ParsedFeaturePolicy CreateFPHeader(
......
...@@ -5058,12 +5058,12 @@ crbug.com/591099 http/tests/devtools/text-autosizing-override.js [ Failure ] ...@@ -5058,12 +5058,12 @@ crbug.com/591099 http/tests/devtools/text-autosizing-override.js [ Failure ]
crbug.com/591099 http/tests/devtools/tracing/scroll-invalidations.js [ Failure ] crbug.com/591099 http/tests/devtools/tracing/scroll-invalidations.js [ Failure ]
crbug.com/591099 http/tests/devtools/tracing/timeline-misc/timeline-bound-function.js [ Failure ] crbug.com/591099 http/tests/devtools/tracing/timeline-misc/timeline-bound-function.js [ Failure ]
crbug.com/591099 http/tests/devtools/tracing/timeline-paint/timeline-paint-with-layout-invalidations-on-deleted-node.js [ Failure ] crbug.com/591099 http/tests/devtools/tracing/timeline-paint/timeline-paint-with-layout-invalidations-on-deleted-node.js [ Failure ]
crbug.com/591099 http/tests/feature-policy-experimental-features/vibrate-allowed-by-container-policy-relocate-and-no-reload.html [ Timeout ] crbug.com/591099 http/tests/feature-policy-vibrate/vibrate-allowed-by-container-policy-relocate-and-no-reload.html [ Timeout ]
crbug.com/591099 http/tests/feature-policy-experimental-features/vibrate-allowed-by-container-policy-relocate-and-reload.html [ Timeout ] crbug.com/591099 http/tests/feature-policy-vibrate/vibrate-allowed-by-container-policy-relocate-and-reload.html [ Timeout ]
crbug.com/591099 http/tests/feature-policy-experimental-features/vibrate-allowed-by-container-policy.html [ Timeout ] crbug.com/591099 http/tests/feature-policy-vibrate/vibrate-allowed-by-container-policy.html [ Timeout ]
crbug.com/591099 http/tests/feature-policy-experimental-features/vibrate-disabled.php [ Timeout ] crbug.com/591099 http/tests/feature-policy-vibrate/vibrate-disabled.php [ Timeout ]
crbug.com/591099 http/tests/feature-policy-experimental-features/vibrate-enabledforall.php [ Timeout ] crbug.com/591099 http/tests/feature-policy-vibrate/vibrate-enabledforall.php [ Timeout ]
crbug.com/591099 http/tests/feature-policy-experimental-features/vibrate-enabledforself.php [ Timeout ] crbug.com/591099 http/tests/feature-policy-vibrate/vibrate-enabledforself.php [ Timeout ]
crbug.com/591099 http/tests/feature-policy/fullscreen-disabled.php [ Pass ] crbug.com/591099 http/tests/feature-policy/fullscreen-disabled.php [ Pass ]
crbug.com/591099 http/tests/feature-policy/payment-disabled.php [ Pass ] crbug.com/591099 http/tests/feature-policy/payment-disabled.php [ Pass ]
crbug.com/591099 http/tests/feature-policy/payment-enabledforall.php [ Pass ] crbug.com/591099 http/tests/feature-policy/payment-enabledforall.php [ Pass ]
...@@ -6644,7 +6644,7 @@ crbug.com/591099 virtual/color_space/fast/canvas/color-space/canvas-getImageData ...@@ -6644,7 +6644,7 @@ crbug.com/591099 virtual/color_space/fast/canvas/color-space/canvas-getImageData
crbug.com/591099 virtual/color_space/fast/canvas/color-space/display_linear-rgb.html [ Pass ] crbug.com/591099 virtual/color_space/fast/canvas/color-space/display_linear-rgb.html [ Pass ]
crbug.com/591099 virtual/color_space/fast/canvas/color-space/imageData-colorManagedBehavior.html [ Pass ] crbug.com/591099 virtual/color_space/fast/canvas/color-space/imageData-colorManagedBehavior.html [ Pass ]
crbug.com/591099 virtual/exotic-color-space/ [ Skip ] crbug.com/591099 virtual/exotic-color-space/ [ Skip ]
crbug.com/591099 virtual/feature-policy-experimental-features/ [ Skip ] crbug.com/591099 virtual/feature-policy-vibrate/ [ Skip ]
crbug.com/591099 virtual/gpu-rasterization/images/12-55.html [ Failure ] crbug.com/591099 virtual/gpu-rasterization/images/12-55.html [ Failure ]
crbug.com/591099 virtual/gpu-rasterization/images/182.html [ Failure Timeout ] crbug.com/591099 virtual/gpu-rasterization/images/182.html [ Failure Timeout ]
crbug.com/591099 virtual/gpu-rasterization/images/2-dht.html [ Failure ] crbug.com/591099 virtual/gpu-rasterization/images/2-dht.html [ Failure ]
......
...@@ -439,14 +439,9 @@ ...@@ -439,14 +439,9 @@
"--enable-slimming-paint-v175"] "--enable-slimming-paint-v175"]
}, },
{ {
"prefix": "feature-policy-experimental-features", "prefix": "feature-policy-vibrate",
"base": "http/tests/feature-policy-experimental-features", "base": "http/tests/feature-policy-vibrate",
"args": ["--enable-blink-features=FeaturePolicyExperimentalFeatures"] "args": ["--enable-blink-features=FeaturePolicyVibrateFeature"]
},
{
"prefix": "feature-policy-experimental-features",
"base": "external/wpt/feature-policy/experimental-features",
"args": ["--enable-blink-features=FeaturePolicyExperimentalFeatures"]
}, },
{ {
"prefix": "print_browser", "prefix": "print_browser",
......
This is a testharness.js-based test.
FAIL Test image with attribute undefined=undefined and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg assert_equals: width: expected 300 but got 64
FAIL Test image with attribute undefined=undefined and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png assert_equals: width: expected 300 but got 32
FAIL Test image with attribute undefined=undefined and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg assert_equals: width: expected 300 but got 769
FAIL Test video with attribute undefined=undefined and attribute undefined=undefined assert_equals: width: expected 300 but got 320
FAIL Test image with attribute width=500 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg assert_equals: height: expected 150 but got 500
FAIL Test image with attribute width=500 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png assert_equals: height: expected 150 but got 500
FAIL Test image with attribute width=500 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg assert_equals: height: expected 150 but got 375
FAIL Test video with attribute width=500 and attribute undefined=undefined assert_equals: height: expected 150 but got 375
FAIL Test image with attribute height=800 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg assert_equals: width: expected 300 but got 800
FAIL Test image with attribute height=800 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png assert_equals: width: expected 300 but got 800
FAIL Test image with attribute height=800 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg assert_equals: width: expected 300 but got 1067
FAIL Test video with attribute height=800 and attribute undefined=undefined assert_equals: width: expected 300 but got 1066.65625
FAIL Test image with attribute style=width:500px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg assert_equals: height: expected 150 but got 500
FAIL Test image with attribute style=width:500px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png assert_equals: height: expected 150 but got 500
FAIL Test image with attribute style=width:500px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg assert_equals: height: expected 150 but got 375
FAIL Test video with attribute style=width:500px; and attribute undefined=undefined assert_equals: height: expected 150 but got 375
FAIL Test image with attribute style=height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg assert_equals: width: expected 300 but got 800
FAIL Test image with attribute style=height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png assert_equals: width: expected 300 but got 800
FAIL Test image with attribute style=height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg assert_equals: width: expected 300 but got 1067
FAIL Test video with attribute style=height:800px; and attribute undefined=undefined assert_equals: width: expected 300 but got 1066.65625
PASS Test image with attribute width=500 and attribute height=800 on src /feature-policy/experimental-features/resources/image.jpg
PASS Test image with attribute width=500 and attribute height=800 on src /feature-policy/experimental-features/resources/image.png
PASS Test image with attribute width=500 and attribute height=800 on src /feature-policy/experimental-features/resources/image.svg
PASS Test video with attribute width=500 and attribute height=800
PASS Test image with attribute style=width:500px;height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg
PASS Test image with attribute style=width:500px;height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png
PASS Test image with attribute style=width:500px;height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg
PASS Test video with attribute style=width:500px;height:800px; and attribute undefined=undefined
FAIL Test image size is correctly rendered in iframe of src /feature-policy/experimental-features/resources/feature-policy-image.html assert_equals: width expected 300 but got 64
FAIL Test image size is correctly rendered in iframe of src https://www.web-platform.test:8444/feature-policy/experimental-features/resources/feature-policy-image.html assert_equals: width expected 300 but got 64
Harness: the test ran to completion.
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
<title>Feature-Policy Vibrate Relocated</title> <title>Feature-Policy Vibrate Relocated</title>
<script> <script>
window.onload = function() { window.onload = function() {
document.location = "http://localhost:8000/feature-policy-experimental-features/resources/feature-policy-vibrate.html"; document.location = "http://localhost:8000/feature-policy-vibrate/resources/feature-policy-vibrate.html";
} }
</script> </script>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<script> <script>
window.onload = function () { window.onload = function () {
var iframe = document.querySelector('iframe'); var iframe = document.querySelector('iframe');
var src = "http://localhost:8000/feature-policy-experimental-features/resources/feature-policy-vibrate.html"; var src = "http://localhost:8000/feature-policy-vibrate/resources/feature-policy-vibrate.html";
iframe.addEventListener('load', sendClick); iframe.addEventListener('load', sendClick);
promise_test(function() { promise_test(function() {
iframe.src = src; iframe.src = src;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<script> <script>
var srcs = [ var srcs = [
"resources/feature-policy-vibrate.html", "resources/feature-policy-vibrate.html",
"http://localhost:8000/feature-policy-experimental-features/resources/feature-policy-vibrate.html"]; "http://localhost:8000/feature-policy-vibrate/resources/feature-policy-vibrate.html"];
window.onload = function () { window.onload = function () {
var iframe = document.querySelector('iframe'); var iframe = document.querySelector('iframe');
......
CONSOLE ERROR: Error with Feature-Policy header: Unrecognized feature: 'vibrate'. CONSOLE ERROR: Error with Feature-Policy header: Unrecognized feature: 'vibrate'.
This is a testharness.js-based test. This is a testharness.js-based test.
FAIL Navigator.vibrate disabled on URL: resources/feature-policy-vibrate.html assert_false: navigator.vibrate(): expected false got true FAIL Navigator.vibrate disabled on URL: resources/feature-policy-vibrate.html assert_false: navigator.vibrate(): expected false got true
FAIL Navigator.vibrate disabled on URL: http://localhost:8000/feature-policy-experimental-features/resources/feature-policy-vibrate.html assert_false: navigator.vibrate(): expected false got true FAIL Navigator.vibrate disabled on URL: http://localhost:8000/feature-policy-vibrate/resources/feature-policy-vibrate.html assert_false: navigator.vibrate(): expected false got true
Harness: the test ran to completion. Harness: the test ran to completion.
...@@ -17,7 +17,7 @@ Header("Feature-Policy: vibrate 'none'"); ...@@ -17,7 +17,7 @@ Header("Feature-Policy: vibrate 'none'");
<script> <script>
var srcs = [ var srcs = [
"resources/feature-policy-vibrate.html", "resources/feature-policy-vibrate.html",
"http://localhost:8000/feature-policy-experimental-features/resources/feature-policy-vibrate.html"]; "http://localhost:8000/feature-policy-vibrate/resources/feature-policy-vibrate.html"];
window.onload = function () { window.onload = function () {
var iframe = document.querySelector('iframe'); var iframe = document.querySelector('iframe');
......
...@@ -17,7 +17,7 @@ Header("Feature-Policy: vibrate *"); ...@@ -17,7 +17,7 @@ Header("Feature-Policy: vibrate *");
<script> <script>
var srcs = [ var srcs = [
"resources/feature-policy-vibrate.html", "resources/feature-policy-vibrate.html",
"http://localhost:8000/feature-policy-experimental-features/resources/feature-policy-vibrate.html"]; "http://localhost:8000/feature-policy-vibrate/resources/feature-policy-vibrate.html"];
window.onload = function () { window.onload = function () {
var iframe = document.querySelector('iframe'); var iframe = document.querySelector('iframe');
......
CONSOLE ERROR: Error with Feature-Policy header: Unrecognized feature: 'vibrate'. CONSOLE ERROR: Error with Feature-Policy header: Unrecognized feature: 'vibrate'.
This is a testharness.js-based test. This is a testharness.js-based test.
PASS Navigator.vibrate enabled for self on URL: resources/feature-policy-vibrate.html PASS Navigator.vibrate enabled for self on URL: resources/feature-policy-vibrate.html
FAIL Navigator.vibrate enabled for self on URL: http://localhost:8000/feature-policy-experimental-features/resources/feature-policy-vibrate.html assert_false: navigator.vibrate(): expected false got true FAIL Navigator.vibrate enabled for self on URL: http://localhost:8000/feature-policy-vibrate/resources/feature-policy-vibrate.html assert_false: navigator.vibrate(): expected false got true
Harness: the test ran to completion. Harness: the test ran to completion.
...@@ -17,7 +17,7 @@ Header("Feature-Policy: vibrate 'self'"); ...@@ -17,7 +17,7 @@ Header("Feature-Policy: vibrate 'self'");
<script> <script>
var srcs = [ var srcs = [
"resources/feature-policy-vibrate.html", "resources/feature-policy-vibrate.html",
"http://localhost:8000/feature-policy-experimental-features/resources/feature-policy-vibrate.html"]; "http://localhost:8000/feature-policy-vibrate/resources/feature-policy-vibrate.html"];
window.onload = function () { window.onload = function () {
var iframe = document.querySelector('iframe'); var iframe = document.querySelector('iframe');
......
This is a testharness.js-based test.
PASS Test image with attribute undefined=undefined and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg
PASS Test image with attribute undefined=undefined and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png
PASS Test image with attribute undefined=undefined and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg
PASS Test video with attribute undefined=undefined and attribute undefined=undefined
PASS Test image with attribute width=500 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg
PASS Test image with attribute width=500 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png
PASS Test image with attribute width=500 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg
PASS Test video with attribute width=500 and attribute undefined=undefined
PASS Test image with attribute height=800 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg
PASS Test image with attribute height=800 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png
PASS Test image with attribute height=800 and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg
PASS Test video with attribute height=800 and attribute undefined=undefined
PASS Test image with attribute style=width:500px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg
PASS Test image with attribute style=width:500px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png
PASS Test image with attribute style=width:500px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg
PASS Test video with attribute style=width:500px; and attribute undefined=undefined
PASS Test image with attribute style=height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg
PASS Test image with attribute style=height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png
PASS Test image with attribute style=height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg
PASS Test video with attribute style=height:800px; and attribute undefined=undefined
PASS Test image with attribute width=500 and attribute height=800 on src /feature-policy/experimental-features/resources/image.jpg
PASS Test image with attribute width=500 and attribute height=800 on src /feature-policy/experimental-features/resources/image.png
PASS Test image with attribute width=500 and attribute height=800 on src /feature-policy/experimental-features/resources/image.svg
PASS Test video with attribute width=500 and attribute height=800
PASS Test image with attribute style=width:500px;height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.jpg
PASS Test image with attribute style=width:500px;height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.png
PASS Test image with attribute style=width:500px;height:800px; and attribute undefined=undefined on src /feature-policy/experimental-features/resources/image.svg
PASS Test video with attribute style=width:500px;height:800px; and attribute undefined=undefined
PASS Test image size is correctly rendered in iframe of src /feature-policy/experimental-features/resources/feature-policy-image.html
PASS Test image size is correctly rendered in iframe of src https://www.web-platform.test:8444/feature-policy/experimental-features/resources/feature-policy-image.html
Harness: the test ran to completion.
...@@ -2,6 +2,6 @@ CONSOLE ERROR: line 15: Navigator.vibrate() is not enabled in feature policy for ...@@ -2,6 +2,6 @@ CONSOLE ERROR: line 15: Navigator.vibrate() is not enabled in feature policy for
CONSOLE ERROR: line 15: Navigator.vibrate() is not enabled in feature policy for this frame. CONSOLE ERROR: line 15: Navigator.vibrate() is not enabled in feature policy for this frame.
This is a testharness.js-based test. This is a testharness.js-based test.
PASS Navigator.vibrate disabled on URL: resources/feature-policy-vibrate.html PASS Navigator.vibrate disabled on URL: resources/feature-policy-vibrate.html
PASS Navigator.vibrate disabled on URL: http://localhost:8000/feature-policy-experimental-features/resources/feature-policy-vibrate.html PASS Navigator.vibrate disabled on URL: http://localhost:8000/feature-policy-vibrate/resources/feature-policy-vibrate.html
Harness: the test ran to completion. Harness: the test ran to completion.
CONSOLE ERROR: line 15: Navigator.vibrate() is not enabled in feature policy for this frame. CONSOLE ERROR: line 15: Navigator.vibrate() is not enabled in feature policy for this frame.
This is a testharness.js-based test. This is a testharness.js-based test.
PASS Navigator.vibrate enabled for self on URL: resources/feature-policy-vibrate.html PASS Navigator.vibrate enabled for self on URL: resources/feature-policy-vibrate.html
PASS Navigator.vibrate enabled for self on URL: http://localhost:8000/feature-policy-experimental-features/resources/feature-policy-vibrate.html PASS Navigator.vibrate enabled for self on URL: http://localhost:8000/feature-policy-vibrate/resources/feature-policy-vibrate.html
Harness: the test ran to completion. Harness: the test ran to completion.
...@@ -680,6 +680,7 @@ void StyleAdjuster::AdjustComputedStyle(StyleResolverState& state, ...@@ -680,6 +680,7 @@ void StyleAdjuster::AdjustComputedStyle(StyleResolverState& state,
if (IsImageOrVideoElement(element)) { if (IsImageOrVideoElement(element)) {
if (IsSupportedInFeaturePolicy( if (IsSupportedInFeaturePolicy(
mojom::FeaturePolicyFeature::kUnsizedMedia) && mojom::FeaturePolicyFeature::kUnsizedMedia) &&
element->GetDocument().GetFrame() &&
!element->GetDocument().GetFrame()->IsFeatureEnabled( !element->GetDocument().GetFrame()->IsFeatureEnabled(
mojom::FeaturePolicyFeature::kUnsizedMedia)) { mojom::FeaturePolicyFeature::kUnsizedMedia)) {
if (!style.Width().IsSpecified()) if (!style.Width().IsSpecified())
......
...@@ -215,6 +215,7 @@ bool IsSupportedInFeaturePolicy(mojom::FeaturePolicyFeature feature) { ...@@ -215,6 +215,7 @@ bool IsSupportedInFeaturePolicy(mojom::FeaturePolicyFeature feature) {
case mojom::FeaturePolicyFeature::kSyncXHR: case mojom::FeaturePolicyFeature::kSyncXHR:
return true; return true;
case mojom::FeaturePolicyFeature::kVibrate: case mojom::FeaturePolicyFeature::kVibrate:
return RuntimeEnabledFeatures::FeaturePolicyVibrateFeatureEnabled();
case mojom::FeaturePolicyFeature::kUnsizedMedia: case mojom::FeaturePolicyFeature::kUnsizedMedia:
return RuntimeEnabledFeatures::FeaturePolicyExperimentalFeaturesEnabled(); return RuntimeEnabledFeatures::FeaturePolicyExperimentalFeaturesEnabled();
default: default:
...@@ -258,9 +259,11 @@ const FeatureNameMap& GetDefaultFeatureNameMap() { ...@@ -258,9 +259,11 @@ const FeatureNameMap& GetDefaultFeatureNameMap() {
default_feature_name_map.Set( default_feature_name_map.Set(
"picture-in-picture", mojom::FeaturePolicyFeature::kPictureInPicture); "picture-in-picture", mojom::FeaturePolicyFeature::kPictureInPicture);
} }
if (RuntimeEnabledFeatures::FeaturePolicyExperimentalFeaturesEnabled()) { if (RuntimeEnabledFeatures::FeaturePolicyVibrateFeatureEnabled()) {
default_feature_name_map.Set("vibrate", default_feature_name_map.Set("vibrate",
mojom::FeaturePolicyFeature::kVibrate); mojom::FeaturePolicyFeature::kVibrate);
}
if (RuntimeEnabledFeatures::FeaturePolicyExperimentalFeaturesEnabled()) {
default_feature_name_map.Set( default_feature_name_map.Set(
"cookie", mojom::FeaturePolicyFeature::kDocumentCookie); "cookie", mojom::FeaturePolicyFeature::kDocumentCookie);
default_feature_name_map.Set( default_feature_name_map.Set(
......
...@@ -395,7 +395,8 @@ ...@@ -395,7 +395,8 @@
status: "stable" status: "stable"
}, },
{ {
name: "FeaturePolicyExperimentalFeatures" name: "FeaturePolicyExperimentalFeatures",
status: "experimental"
}, },
{ {
name: "FeaturePolicyForPermissions", name: "FeaturePolicyForPermissions",
...@@ -405,6 +406,9 @@ ...@@ -405,6 +406,9 @@
name: "FeaturePolicyJavaScriptInterface", name: "FeaturePolicyJavaScriptInterface",
status: "experimental" status: "experimental"
}, },
{
name: "FeaturePolicyVibrateFeature"
},
{ {
name: "FetchRequestCache", name: "FetchRequestCache",
status: "stable", status: "stable",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment