Commit d5dc2447 authored by Eric Willigers's avatar Eric Willigers Committed by Commit Bot

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/1166619Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581528}
parent 12a4e4ff
......@@ -301,24 +301,19 @@ ScriptPromise NavigatorRequestMediaKeySystemAccess::requestMediaKeySystemAccess(
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
......
......@@ -151,10 +151,6 @@ void Geolocation::RecordOriginTypeAccess() const {
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 @@ void Geolocation::RecordOriginTypeAccess() const {
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 @@ void Geolocation::StartRequest(GeoNotifier* notifier) {
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());
......
......@@ -480,27 +480,17 @@ bool UserMediaRequest::IsSecureContextUse(String& error_message) {
// 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);
}
}
......
......@@ -102,20 +102,14 @@ ScriptPromise NavigatorWebMIDI::requestMIDIAccess(ScriptState* script_state,
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);
......
......@@ -468,10 +468,6 @@
name: "FeaturePolicyAutoplayFeature",
status: "stable"
},
{
name: "FeaturePolicyForPermissions",
status: "stable"
},
{
name: "FeaturePolicyJavaScriptInterface",
origin_trial_feature_name: "FeaturePolicyJSAPI",
......
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