Bug 1658471 - Remove dom.security.featurePolicy.enabled. r=baku

We've shipped it on by default since 74 (bug 1617219).

Differential Revision: https://phabricator.services.mozilla.com/D86665
This commit is contained in:
Emilio Cobos Álvarez 2020-08-12 10:57:04 +00:00
Родитель 47a7d0c69b
Коммит 0c03ba166c
45 изменённых файлов: 42 добавлений и 116 удалений

Просмотреть файл

@ -64,7 +64,6 @@ add_task(async function test_fullscreen_cross_origin() {
["full-screen-api.allow-trusted-requests-only", false],
["full-screen-api.transition-duration.enter", "0 0"],
["full-screen-api.transition-duration.leave", "0 0"],
["dom.security.featurePolicy.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true],
],

Просмотреть файл

@ -54,7 +54,6 @@ add_task(async function test_fullscreen_cross_origin() {
["full-screen-api.allow-trusted-requests-only", false],
["full-screen-api.transition-duration.enter", "0 0"],
["full-screen-api.transition-duration.leave", "0 0"],
["dom.security.featurePolicy.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true],
],

Просмотреть файл

@ -114,7 +114,6 @@ add_task(async function setup() {
SpecialPowers.pushPrefEnv(
{
set: [
["dom.security.featurePolicy.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true],
["permissions.delegation.enabled", true],

Просмотреть файл

@ -13,7 +13,6 @@ add_task(async function testNoPermissionPrompt() {
SpecialPowers.pushPrefEnv(
{
set: [
["dom.security.featurePolicy.enabled", true],
["permissions.delegation.enabled", true],
["dom.vibrator.enabled", true],
["dom.security.featurePolicy.header.enabled", true],

Просмотреть файл

@ -71,7 +71,6 @@ add_task(async function testTempPermissionSubframes() {
SpecialPowers.pushPrefEnv(
{
set: [
["dom.security.featurePolicy.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true],
],

Просмотреть файл

@ -3,10 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
SpecialPowers.pushPrefEnv({
set: [
["dom.security.featurePolicy.enabled", true],
["permissions.delegation.enabled", true],
],
set: [["permissions.delegation.enabled", true]],
});
let gShouldObserveSubframes = false;

Просмотреть файл

@ -782,7 +782,6 @@ add_task(async function test() {
await SpecialPowers.pushPrefEnv({
set: [
["permissions.delegation.enabled", true],
["dom.security.featurePolicy.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true],
],

Просмотреть файл

@ -241,7 +241,6 @@ add_task(async function test() {
await SpecialPowers.pushPrefEnv({
set: [
["permissions.delegation.enabled", true],
["dom.security.featurePolicy.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true],
],

Просмотреть файл

@ -514,8 +514,9 @@ static bool OwnerAllowsFullscreen(const Element& aEmbedder) {
if (aEmbedder.IsXULElement()) {
return !aEmbedder.HasAttr(nsGkAtoms::disablefullscreen);
}
if (const auto* iframe = HTMLIFrameElement::FromNode(aEmbedder)) {
return iframe->AllowFullscreen();
if (aEmbedder.IsHTMLElement(nsGkAtoms::iframe)) {
// This is controlled by feature policy.
return true;
}
if (const auto* embed = HTMLEmbedElement::FromNode(aEmbedder)) {
return embed->AllowFullscreen();

Просмотреть файл

@ -3509,10 +3509,6 @@ nsresult Document::InitFeaturePolicy(nsIChannel* aChannel) {
mFeaturePolicy->ResetDeclaredPolicy();
if (!StaticPrefs::dom_security_featurePolicy_enabled()) {
return NS_OK;
}
mFeaturePolicy->SetDefaultOrigin(NodePrincipal());
RefPtr<mozilla::dom::FeaturePolicy> parentPolicy = GetParentFeaturePolicy();

Просмотреть файл

@ -66,12 +66,9 @@ HTMLIFrameElement::~HTMLIFrameElement() = default;
NS_IMPL_ELEMENT_CLONE(HTMLIFrameElement)
void HTMLIFrameElement::BindToBrowsingContext(
BrowsingContext* aBrowsingContext) {
if (StaticPrefs::dom_security_featurePolicy_enabled()) {
void HTMLIFrameElement::BindToBrowsingContext(BrowsingContext*) {
RefreshFeaturePolicy(true /* parse the feature policy attribute */);
}
}
bool HTMLIFrameElement::ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute,
const nsAString& aValue,
@ -154,19 +151,6 @@ nsMapRuleToAttributesFunc HTMLIFrameElement::GetAttributeMappingFunction()
return &MapAttributesIntoRule;
}
bool HTMLIFrameElement::HasAllowFullscreenAttribute() const {
return GetBoolAttr(nsGkAtoms::allowfullscreen);
}
bool HTMLIFrameElement::AllowFullscreen() const {
if (StaticPrefs::dom_security_featurePolicy_enabled()) {
// The feature policy check in Document::GetFullscreenError already accounts
// for the allow* attributes, so we're done.
return true;
}
return HasAllowFullscreenAttribute();
}
nsresult HTMLIFrameElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
const nsAttrValue* aValue,
const nsAttrValue* aOldValue,
@ -182,16 +166,8 @@ nsresult HTMLIFrameElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
// alreay been updated.
mFrameLoader->ApplySandboxFlags(GetSandboxFlags());
}
} else if (aName == nsGkAtoms::allowfullscreen) {
if (mFrameLoader) {
if (auto* bc = mFrameLoader->GetExtantBrowsingContext()) {
MOZ_ALWAYS_SUCCEEDS(
bc->SetFullscreenAllowedByOwner(AllowFullscreen()));
}
}
}
if (StaticPrefs::dom_security_featurePolicy_enabled()) {
if (aName == nsGkAtoms::allow || aName == nsGkAtoms::src ||
aName == nsGkAtoms::srcdoc || aName == nsGkAtoms::sandbox) {
RefreshFeaturePolicy(true /* parse the feature policy attribute */);
@ -200,7 +176,6 @@ nsresult HTMLIFrameElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
RefreshFeaturePolicy(false /* parse the feature policy attribute */);
}
}
}
return nsGenericHTMLFrameElement::AfterSetAttr(
aNameSpaceID, aName, aValue, aOldValue, aMaybeScriptedPrincipal, aNotify);
}
@ -303,8 +278,6 @@ HTMLIFrameElement::GetFeaturePolicyDefaultOrigin() const {
}
void HTMLIFrameElement::RefreshFeaturePolicy(bool aParseAllowAttribute) {
MOZ_ASSERT(StaticPrefs::dom_security_featurePolicy_enabled());
if (aParseAllowAttribute) {
mFeaturePolicy->ResetDeclaredPolicy();
@ -327,7 +300,7 @@ void HTMLIFrameElement::RefreshFeaturePolicy(bool aParseAllowAttribute) {
mFeaturePolicy->MaybeSetAllowedPolicy(u"payment"_ns);
}
if (HasAllowFullscreenAttribute()) {
if (AllowFullscreen()) {
mFeaturePolicy->MaybeSetAllowedPolicy(u"fullscreen"_ns);
}

Просмотреть файл

@ -71,18 +71,14 @@ class HTMLIFrameElement final : public nsGenericHTMLFrameElement {
return mSandbox;
}
bool AllowFullscreenForBindings() const {
bool AllowFullscreen() const {
return GetBoolAttr(nsGkAtoms::allowfullscreen);
}
void SetAllowFullscreenForBindings(bool aAllow, ErrorResult& aError) {
void SetAllowFullscreen(bool aAllow, ErrorResult& aError) {
SetHTMLBoolAttr(nsGkAtoms::allowfullscreen, aAllow, aError);
}
bool AllowFullscreen() const;
bool HasAllowFullscreenAttribute() const;
bool AllowPaymentRequest() const {
return GetBoolAttr(nsGkAtoms::allowpaymentrequest);
}

Просмотреть файл

@ -50,8 +50,7 @@ var gTestWindows = [
{ test: "file_fullscreen-table.html" },
{ test: "file_fullscreen-event-order.html" },
{ test: "file_fullscreen-featurePolicy.html",
prefs: [["dom.security.featurePolicy.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
prefs: [["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true]] },
{ test: "file_fullscreen-async.html" },
{ test: "file_fullscreen-sub-iframe.html" },

Просмотреть файл

@ -25,8 +25,7 @@ interface nsIPermissionDelegateHandler : nsISupports
boolean maybeUnsafePermissionDelegate(in Array<ACString> aTypes);
/*
* Return true if both permissions.delegation.enabled and
* dom.security.featurePolicy.enabled pref are true.
* Return true if permissions.delegation.enabled is true.
*/
readonly attribute boolean permissionDelegateFPEnabled;
};

Просмотреть файл

@ -650,8 +650,7 @@ static bool HasCameraPermission(const uint64_t& aWindowId) {
// If we delegate permission from first party, we should use the top level
// window
if (StaticPrefs::dom_security_featurePolicy_enabled() &&
StaticPrefs::permissions_delegation_enabled()) {
if (StaticPrefs::permissions_delegation_enabled()) {
RefPtr<dom::BrowsingContext> topBC = window->BrowsingContext()->Top();
window = topBC->Canonical()->GetCurrentWindowGlobal();
}

Просмотреть файл

@ -42,8 +42,7 @@ var validateDevice = ({kind, label, deviceId, groupId}) => {
}
runTest(async () => {
await pushPrefs(["media.navigator.streams.fake", true],
["dom.security.featurePolicy.enabled", true]);
await pushPrefs(["media.navigator.streams.fake", true]);
// Validate enumerated devices.

Просмотреть файл

@ -2,7 +2,6 @@
support-files =
file_empty.html
prefs =
dom.security.featurePolicy.enabled=true
dom.security.featurePolicy.header.enabled=true
dom.security.featurePolicy.webidl.enabled=true

Просмотреть файл

@ -24,7 +24,6 @@ addTest(async function testNoPermissionPrompt() {
SpecialPowers.pushPrefEnv(
{
set: [
["dom.security.featurePolicy.enabled", true],
["permissions.delegation.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true],

Просмотреть файл

@ -18,8 +18,7 @@
* ~~~~~~~~~~~~~
*
* Each document and each HTMLIFrameElement have a FeaturePolicy object which is
* used to allow or deny features in their contexts. FeaturePolicy is active
* when pref dom.security.featurePolicy.enabled is set to true.
* used to allow or deny features in their contexts.
*
* FeaturePolicy is composed by a set of directives configured by the
* 'Feature-Policy' HTTP Header and the 'allow' attribute in HTMLIFrameElements.

Просмотреть файл

@ -156,10 +156,6 @@ bool FeaturePolicyUtils::IsFeatureUnsafeAllowedAll(
Document* aDocument, const nsAString& aFeatureName) {
MOZ_ASSERT(aDocument);
if (!StaticPrefs::dom_security_featurePolicy_enabled()) {
return false;
}
if (!aDocument->IsHTMLDocument()) {
return false;
}
@ -179,10 +175,6 @@ bool FeaturePolicyUtils::IsFeatureAllowed(Document* aDocument,
const nsAString& aFeatureName) {
MOZ_ASSERT(aDocument);
if (!StaticPrefs::dom_security_featurePolicy_enabled()) {
return true;
}
// Skip apply features in experimental phase
if (!StaticPrefs::dom_security_featurePolicy_experimental_enabled() &&
IsExperimentalFeature(aFeatureName)) {

Просмотреть файл

@ -1,6 +1,5 @@
[DEFAULT]
prefs =
dom.security.featurePolicy.enabled=true
dom.security.featurePolicy.header.enabled=true
dom.security.featurePolicy.webidl.enabled=true
support-files =

Просмотреть файл

@ -7,7 +7,6 @@ support-files =
network_geolocation.sjs
windowTest.html
prefs =
dom.security.featurePolicy.enabled=true
dom.security.featurePolicy.header.enabled=true
dom.security.featurePolicy.webidl.enabled=true

Просмотреть файл

@ -53,7 +53,6 @@ async function nextTest() {
}
SpecialPowers.pushPrefEnv({"set": [
["dom.security.featurePolicy.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true],
]}).then(nextTest);

Просмотреть файл

@ -25,7 +25,7 @@ interface HTMLIFrameElement : HTMLElement {
attribute DOMString name;
[PutForwards=value] readonly attribute DOMTokenList sandbox;
// attribute boolean seamless;
[CEReactions, SetterThrows, Pure, BinaryName="allowFullscreenForBindings"]
[CEReactions, SetterThrows, Pure]
attribute boolean allowFullscreen;
[CEReactions, SetterThrows, Pure]
attribute boolean allowPaymentRequest;
@ -70,6 +70,6 @@ partial interface HTMLIFrameElement {
[SameObject, Pref="dom.security.featurePolicy.webidl.enabled"]
readonly attribute FeaturePolicy featurePolicy;
[CEReactions, SetterThrows, Pure, Pref="dom.security.featurePolicy.enabled"]
[CEReactions, SetterThrows, Pure]
attribute DOMString allow;
};

Просмотреть файл

@ -108,8 +108,7 @@ PermissionDelegateHandler::MaybeUnsafePermissionDelegate(
NS_IMETHODIMP
PermissionDelegateHandler::GetPermissionDelegateFPEnabled(bool* aEnabled) {
MOZ_ASSERT(NS_IsMainThread());
*aEnabled = StaticPrefs::permissions_delegation_enabled() &&
StaticPrefs::dom_security_featurePolicy_enabled();
*aEnabled = StaticPrefs::permissions_delegation_enabled();
return NS_OK;
}
@ -131,8 +130,7 @@ nsresult PermissionDelegateHandler::GetDelegatePrincipal(
}
if (info->mPolicy == DelegatePolicy::eDelegateUseTopOrigin ||
(info->mPolicy == DelegatePolicy::eDelegateUseFeaturePolicy &&
StaticPrefs::dom_security_featurePolicy_enabled())) {
info->mPolicy == DelegatePolicy::eDelegateUseFeaturePolicy) {
return aRequest->GetTopLevelPrincipal(aResult);
}
@ -257,8 +255,7 @@ nsresult PermissionDelegateHandler::GetPermission(const nsACString& aType,
RefPtr<BrowsingContext> bc = mDocument->GetBrowsingContext();
if ((info->mPolicy == DelegatePolicy::eDelegateUseTopOrigin ||
(info->mPolicy == DelegatePolicy::eDelegateUseFeaturePolicy &&
StaticPrefs::dom_security_featurePolicy_enabled())) &&
info->mPolicy == DelegatePolicy::eDelegateUseFeaturePolicy) &&
bc) {
RefPtr<WindowContext> topWC = bc->GetTopWindowContext();

Просмотреть файл

@ -17,7 +17,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1104916
SpecialPowers.pushPrefEnv(
{
set: [
["dom.security.featurePolicy.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true],
],

Просмотреть файл

@ -17,7 +17,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1256084
SpecialPowers.pushPrefEnv(
{
set: [
["dom.security.featurePolicy.enabled", true],
["dom.security.featurePolicy.header.enabled", true],
["dom.security.featurePolicy.webidl.enabled", true],
],

Просмотреть файл

@ -2544,13 +2544,6 @@
value: false
mirror: always
# This pref enables FeaturePolicy logic and the parsing of 'allow' attribute in
# HTMLIFrameElement objects.
- name: dom.security.featurePolicy.enabled
type: bool
value: true
mirror: always
# This pref enables Sec-Fetch-* logic and causes corresponding
# request headers to be set.
- name: dom.security.secFetch.enabled

Просмотреть файл

@ -1,3 +1,3 @@
implementation-status: backlog
bug: 1634369
prefs: [dom.security.featurePolicy.enabled:true, dom.battery.enabled:true]
prefs: [dom.battery.enabled:true]

Просмотреть файл

@ -1,3 +1,3 @@
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
lsan-disabled: true
leak-threshold: [default:51200]

Просмотреть файл

@ -1,2 +1,2 @@
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true, dom.payments.request.enabled:true, dom.reporting.enabled:true, dom.reporting.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true, dom.webmidi.enabled:true, dom.vr.enabled:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.payments.request.enabled:true, dom.reporting.enabled:true, dom.reporting.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true, dom.webmidi.enabled:true, dom.vr.enabled:true]
leak-threshold: [default:51200]

Просмотреть файл

@ -1,2 +1,2 @@
implementation-status: backlog
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true, dom.reporting.enabled:true, dom.reporting.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.reporting.enabled:true, dom.reporting.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]

Просмотреть файл

@ -1 +1 @@
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true]

Просмотреть файл

@ -1,4 +1,4 @@
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true, dom.webcomponents.formAssociatedCustomElement.enabled:true, dom.forms.requestsubmit.enabled:true, dom.forms.inputmode:true, dom.forms.enterkeyhint:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true, dom.webcomponents.formAssociatedCustomElement.enabled:true, dom.forms.requestsubmit.enabled:true, dom.forms.inputmode:true, dom.forms.enterkeyhint:true]
[idlharness.https.html?exclude=(Document|Window|HTML.*)]
[OffscreenCanvasRenderingContext2D interface: operation lineTo(unrestricted double, unrestricted double)]
expected: FAIL

Просмотреть файл

@ -1 +1 @@
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]

Просмотреть файл

@ -1,4 +1,4 @@
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true]
[idle-detection-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html]
expected: ERROR
[Attribute allow="idle-detection" in top-level frame disallows workers in cross-origin relocation.]

Просмотреть файл

@ -1,4 +1,4 @@
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true]
[idle-detection-allowed-by-feature-policy-attribute.https.sub.html]
expected: ERROR
[Attribute allow="idle-detection" in top-level frame can be enabled in a worker in cross-origin iframe using Feature policy "idle-detection".]

Просмотреть файл

@ -1,2 +1,2 @@
prefs: [media.navigator.permission.disabled:true, media.navigator.streams.fake:true, dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
prefs: [media.navigator.permission.disabled:true, media.navigator.streams.fake:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
lsan-allowed: [NewSegment, mozilla::layers::BufferTextureData::CreateInternal]

Просмотреть файл

@ -1,2 +1,2 @@
prefs: [media.navigator.permission.disabled:true, media.navigator.streams.fake:true, dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
prefs: [media.navigator.permission.disabled:true, media.navigator.streams.fake:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
lsan-allowed: [NewSegment, mozilla::layers::BufferTextureData::CreateInternal]

Просмотреть файл

@ -1 +1 @@
prefs: [permissions.delegation.enabled:true, dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
prefs: [permissions.delegation.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]

Просмотреть файл

@ -1,2 +1,2 @@
prefs: [media.navigator.permission.disabled:true, media.navigator.streams.fake:true, dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
prefs: [media.navigator.permission.disabled:true, media.navigator.streams.fake:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
leak-threshold: [default:307200]

Просмотреть файл

@ -1,3 +1,3 @@
implementation-status: backlog
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true]
leak-threshold: [default:51200]

Просмотреть файл

@ -1,2 +1,2 @@
implementation-status: backlog
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]

Просмотреть файл

@ -1,3 +1,3 @@
implementation-status: not-implementing
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
lsan-allowed: [Alloc, Create, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::dom::DocGroup::Create, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]

Просмотреть файл

@ -1,3 +1,3 @@
prefs: [dom.vr.enabled:true,
dom.vr.prompt.testing:true, dom.vr.prompt.testing.allow:true, dom.security.featurePolicy.experimental.enabled:true,
dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]