Retire FeaturePolicyForPermissions flag
Feature Policy support for EME shipped in M64
https://chromium-review.googlesource.com/696944
BUG=689802
Change-Id: I03a3f706a4492bbb2e4112dce66d68281fe172b3
Reviewed-on: https://chromium-review.googlesource.com/1166619
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581528}
diff --git a/third_party/blink/renderer/modules/encryptedmedia/navigator_request_media_key_system_access.cc b/third_party/blink/renderer/modules/encryptedmedia/navigator_request_media_key_system_access.cc
index 313725c..9a0acee7 100644
--- a/third_party/blink/renderer/modules/encryptedmedia/navigator_request_media_key_system_access.cc
+++ b/third_party/blink/renderer/modules/encryptedmedia/navigator_request_media_key_system_access.cc
@@ -301,24 +301,19 @@
ExecutionContext* execution_context = ExecutionContext::From(script_state);
Document* document = ToDocument(execution_context);
- if (RuntimeEnabledFeatures::FeaturePolicyForPermissionsEnabled()) {
- if (!document->GetFrame() ||
- !document->GetFrame()->IsFeatureEnabled(
- mojom::FeaturePolicyFeature::kEncryptedMedia)) {
- UseCounter::Count(document,
- WebFeature::kEncryptedMediaDisabledByFeaturePolicy);
- document->AddConsoleMessage(
- ConsoleMessage::Create(kJSMessageSource, kWarningMessageLevel,
- kEncryptedMediaFeaturePolicyConsoleWarning));
- return ScriptPromise::RejectWithDOMException(
- script_state,
- DOMException::Create(
- DOMExceptionCode::kSecurityError,
- "requestMediaKeySystemAccess is disabled by feature policy."));
- }
- } else {
- Deprecation::CountDeprecationFeaturePolicy(
- *document, mojom::FeaturePolicyFeature::kEncryptedMedia);
+ if (!document->GetFrame() ||
+ !document->GetFrame()->IsFeatureEnabled(
+ mojom::FeaturePolicyFeature::kEncryptedMedia)) {
+ UseCounter::Count(document,
+ WebFeature::kEncryptedMediaDisabledByFeaturePolicy);
+ document->AddConsoleMessage(
+ ConsoleMessage::Create(kJSMessageSource, kWarningMessageLevel,
+ kEncryptedMediaFeaturePolicyConsoleWarning));
+ return ScriptPromise::RejectWithDOMException(
+ script_state,
+ DOMException::Create(
+ DOMExceptionCode::kSecurityError,
+ "requestMediaKeySystemAccess is disabled by feature policy."));
}
// From https://w3c.github.io/encrypted-media/#requestMediaKeySystemAccess
diff --git a/third_party/blink/renderer/modules/geolocation/geolocation.cc b/third_party/blink/renderer/modules/geolocation/geolocation.cc
index 35b8ad0d..80f84e5 100644
--- a/third_party/blink/renderer/modules/geolocation/geolocation.cc
+++ b/third_party/blink/renderer/modules/geolocation/geolocation.cc
@@ -151,10 +151,6 @@
UseCounter::Count(document, WebFeature::kGeolocationSecureOrigin);
UseCounter::CountCrossOriginIframe(
*document, WebFeature::kGeolocationSecureOriginIframe);
- if (!RuntimeEnabledFeatures::FeaturePolicyForPermissionsEnabled()) {
- Deprecation::CountDeprecationFeaturePolicy(
- *document, mojom::FeaturePolicyFeature::kGeolocation);
- }
} else if (GetFrame()
->GetSettings()
->GetAllowGeolocationOnInsecureOrigins()) {
@@ -169,10 +165,6 @@
WebFeature::kGeolocationInsecureOriginIframeDeprecatedNotRemoved);
HostsUsingFeatures::CountAnyWorld(
*document, HostsUsingFeatures::Feature::kGeolocationInsecureHost);
- if (!RuntimeEnabledFeatures::FeaturePolicyForPermissionsEnabled()) {
- Deprecation::CountDeprecationFeaturePolicy(
- *document, mojom::FeaturePolicyFeature::kGeolocation);
- }
} else {
Deprecation::CountDeprecation(document,
WebFeature::kGeolocationInsecureOrigin);
@@ -232,18 +224,15 @@
return;
}
- if (RuntimeEnabledFeatures::FeaturePolicyForPermissionsEnabled()) {
- if (!GetFrame()->IsFeatureEnabled(
- mojom::FeaturePolicyFeature::kGeolocation)) {
- UseCounter::Count(GetDocument(),
- WebFeature::kGeolocationDisabledByFeaturePolicy);
- GetDocument()->AddConsoleMessage(
- ConsoleMessage::Create(kJSMessageSource, kErrorMessageLevel,
- kFeaturePolicyConsoleWarning));
- notifier->SetFatalError(PositionError::Create(
- PositionError::kPermissionDenied, kFeaturePolicyErrorMessage));
- return;
- }
+ if (!GetFrame()->IsFeatureEnabled(
+ mojom::FeaturePolicyFeature::kGeolocation)) {
+ UseCounter::Count(GetDocument(),
+ WebFeature::kGeolocationDisabledByFeaturePolicy);
+ GetDocument()->AddConsoleMessage(ConsoleMessage::Create(
+ kJSMessageSource, kErrorMessageLevel, kFeaturePolicyConsoleWarning));
+ notifier->SetFatalError(PositionError::Create(
+ PositionError::kPermissionDenied, kFeaturePolicyErrorMessage));
+ return;
}
ReportGeolocationViolation(GetDocument());
diff --git a/third_party/blink/renderer/modules/mediastream/user_media_request.cc b/third_party/blink/renderer/modules/mediastream/user_media_request.cc
index d145864..48d1491 100644
--- a/third_party/blink/renderer/modules/mediastream/user_media_request.cc
+++ b/third_party/blink/renderer/modules/mediastream/user_media_request.cc
@@ -480,27 +480,17 @@
// Feature policy deprecation messages.
if (Audio()) {
- if (RuntimeEnabledFeatures::FeaturePolicyForPermissionsEnabled()) {
- if (!document->GetFrame()->IsFeatureEnabled(
- mojom::FeaturePolicyFeature::kMicrophone)) {
- UseCounter::Count(
- document, WebFeature::kMicrophoneDisabledByFeaturePolicyEstimate);
- }
- } else {
- Deprecation::CountDeprecationFeaturePolicy(
- *document, mojom::FeaturePolicyFeature::kMicrophone);
+ if (!document->GetFrame()->IsFeatureEnabled(
+ mojom::FeaturePolicyFeature::kMicrophone)) {
+ UseCounter::Count(
+ document, WebFeature::kMicrophoneDisabledByFeaturePolicyEstimate);
}
}
if (Video()) {
- if (RuntimeEnabledFeatures::FeaturePolicyForPermissionsEnabled()) {
- if (!document->GetFrame()->IsFeatureEnabled(
- mojom::FeaturePolicyFeature::kCamera)) {
- UseCounter::Count(document,
- WebFeature::kCameraDisabledByFeaturePolicyEstimate);
- }
- } else {
- Deprecation::CountDeprecationFeaturePolicy(
- *document, mojom::FeaturePolicyFeature::kCamera);
+ if (!document->GetFrame()->IsFeatureEnabled(
+ mojom::FeaturePolicyFeature::kCamera)) {
+ UseCounter::Count(document,
+ WebFeature::kCameraDisabledByFeaturePolicyEstimate);
}
}
diff --git a/third_party/blink/renderer/modules/webmidi/navigator_web_midi.cc b/third_party/blink/renderer/modules/webmidi/navigator_web_midi.cc
index 4185a35..67cc7636 100644
--- a/third_party/blink/renderer/modules/webmidi/navigator_web_midi.cc
+++ b/third_party/blink/renderer/modules/webmidi/navigator_web_midi.cc
@@ -102,20 +102,14 @@
UseCounter::CountCrossOriginIframe(
document, WebFeature::kRequestMIDIAccessIframe_ObscuredByFootprinting);
- if (RuntimeEnabledFeatures::FeaturePolicyForPermissionsEnabled()) {
- if (!document.GetFrame()->IsFeatureEnabled(
- mojom::FeaturePolicyFeature::kMidiFeature)) {
- UseCounter::Count(document, WebFeature::kMidiDisabledByFeaturePolicy);
- document.AddConsoleMessage(
- ConsoleMessage::Create(kJSMessageSource, kWarningMessageLevel,
- kFeaturePolicyConsoleWarning));
- return ScriptPromise::RejectWithDOMException(
- script_state, DOMException::Create(DOMExceptionCode::kSecurityError,
- kFeaturePolicyErrorMessage));
- }
- } else {
- Deprecation::CountDeprecationFeaturePolicy(
- document, mojom::FeaturePolicyFeature::kMidiFeature);
+ if (!document.GetFrame()->IsFeatureEnabled(
+ mojom::FeaturePolicyFeature::kMidiFeature)) {
+ UseCounter::Count(document, WebFeature::kMidiDisabledByFeaturePolicy);
+ document.AddConsoleMessage(ConsoleMessage::Create(
+ kJSMessageSource, kWarningMessageLevel, kFeaturePolicyConsoleWarning));
+ return ScriptPromise::RejectWithDOMException(
+ script_state, DOMException::Create(DOMExceptionCode::kSecurityError,
+ kFeaturePolicyErrorMessage));
}
return MIDIAccessInitializer::Start(script_state, options);
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index a0b5052..f304eb1 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -469,10 +469,6 @@
status: "stable"
},
{
- name: "FeaturePolicyForPermissions",
- status: "stable"
- },
- {
name: "FeaturePolicyJavaScriptInterface",
origin_trial_feature_name: "FeaturePolicyJSAPI",
status: "experimental"