Bug 1649250 - Add experimental features that were introduced in Firefox Nightly 70 and higher. r=jbauman,kvark,jwatt,mayhemer,emilio,masayuki,baku,gl,preferences-reviewers,jdescottes,Pike

Differential Revision: https://phabricator.services.mozilla.com/D81623
This commit is contained in:
Jared Wein 2020-07-20 10:05:58 +00:00
Родитель 4ccc787c8c
Коммит 648690d7a5
4 изменённых файлов: 180 добавлений и 25 удалений

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

@ -115,6 +115,13 @@ let gWhitelist = [
key: "tos",
type: "double-quote",
},
// This string contains HTML markup describing `<link rel="preload">` and therefore
// is meant to contain actual double quotes.
{
file: "features.ftl",
key: "experimental-features-web-api-link-preload-description",
type: "double-quote",
},
];
/**

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

@ -1,5 +1,5 @@
[css-masonry]
title = "experimental-features-css-masonry"
title = "experimental-features-css-masonry2"
description = "experimental-features-css-masonry-description"
description-links = {explainer = "https://github.com/w3c/csswg-drafts/blob/master/css-grid-2/MASONRY-EXPLAINER.md", w3c-issue = "https://github.com/w3c/csswg-drafts/issues/4650", bug = "https://bugzilla.mozilla.org/show_bug.cgi?id=1607439"}
restart-required = false
@ -7,27 +7,116 @@ preference = "layout.css.grid-template-masonry-value.enabled"
type = "boolean"
bug-numbers = [1607954]
is-public = true
default-value = false
[web-gpu]
title = "experimental-features-web-gpu"
description = "experimental-features-web-gpu-description"
[web-api-webgpu]
title = "experimental-features-web-gpu2"
description = "experimental-features-web-gpu-description2"
description-links = {wikipedia = "https://en.wikipedia.org/wiki/Graphics%20Processing%20Unit", spec = "https://gpuweb.github.io/gpuweb/", bugzilla = "https://bugzilla.mozilla.org/show_bug.cgi?id=1602129"}
restart-required = true
preference = "dom.webgpu.enabled"
type = "boolean"
bug-numbers = [1602129]
is-public = {default = false, nightly = true}
default-value = false
[avif]
title = "experimental-features-avif"
description = "experimental-features-avif-description"
[media-avif]
title = "experimental-features-media-avif"
description = "experimental-features-media-avif-description"
description-links = {bugzilla = "https://bugzilla.mozilla.org/show_bug.cgi?id=1443863"}
restart-required = false
preference = "image.avif.enabled"
type = "boolean"
bug-numbers = [1443863]
is-public = {default = false, nightly = true}
default-value = false
[web-api-inputmode]
title = "experimental-features-web-api-inputmode"
description = "experimental-features-web-api-inputmode-description"
description-links = {mdn-inputmode = "https://developer.mozilla.org/docs/Web/HTML/Global_attributes/inputmode", whatwg = "https://bugzilla.mozilla.org/show_bug.cgi?id=1509527", bugzilla = "https://bugzilla.mozilla.org/show_bug.cgi?id=1205133"}
restart-required = false
preference = "dom.forms.inputmode"
type = "boolean"
bug-numbers = [1205133]
is-public = {default = false, nightly = true}
[web-api-link-preload]
title = "experimental-features-web-api-link-preload"
description = "experimental-features-web-api-link-preload-description"
description-links = {link = "https://developer.mozilla.org/docs/Web/HTML/Element/link", rel = "https://developer.mozilla.org/docs/Web/HTML/Element/link#attr-rel", readmore = "https://developer.mozilla.org/docs/Web/HTML/Preloading_content", bugzilla = "https://bugzilla.mozilla.org/show_bug.cgi?id=1583604"}
restart-required = false
preference = "network.preload"
type = "boolean"
bug-numbers = [1583604]
is-public = {default = false, nightly = true}
[css-focus-visible]
title = "experimental-features-css-focus-visible"
description = "experimental-features-css-focus-visible-description"
description-links = {bugzilla = "https://bugzilla.mozilla.org/show_bug.cgi?id=1617600"}
restart-required = false
preference = "layout.css.focus-visible.enabled"
type = "boolean"
bug-numbers = [1617600]
is-public = {default = false, nightly = true}
[web-api-beforeinput]
title = "experimental-features-web-api-beforeinput"
description = "experimental-features-web-api-beforeinput-description"
description-links = {mdn-beforeinput = "https://developer.mozilla.org/docs/Web/API/HTMLElement/beforeinput_event", mdn-input = "https://developer.mozilla.org/docs/Web/HTML/Element/input", mdn-textarea = "https://developer.mozilla.org/docs/Web/HTML/Element/textarea", mdn-contenteditable = "https://developer.mozilla.org/docs/Web/HTML/Global_attributes#attr-contenteditable"}
restart-required = false
preference = "dom.input_events.beforeinput.enabled"
type = "boolean"
bug-numbers = [1609291]
is-public = {default = false, nightly = true}
[css-constructable-stylesheets]
title = "experimental-features-css-constructable-stylesheets"
description = "experimental-features-css-constructable-stylesheets-description"
description-links = {mdn-cssstylesheet = "https://developer.mozilla.org/docs/Web/API/CSSStyleSheet", mdn-shadowdom = "https://developer.mozilla.org/docs/Web/Web_Components/Using_shadow_DOM", bugzilla = "https://bugzilla.mozilla.org/show_bug.cgi?id=1520690"}
restart-required = false
preference = "layout.css.constructable-stylesheets.enabled"
type = "boolean"
bug-numbers = [1520690]
is-public = {default = false, nightly = true}
[media-session-api]
title = "experimental-features-media-session-api"
description = "experimental-features-media-session-api-description"
description-links = {bugzilla = "https://bugzilla.mozilla.org/show_bug.cgi?id=1112032"}
restart-required = false
preference = "dom.media.mediasession.enabled"
type = "boolean"
bug-numbers = [1112032]
is-public = {default = false, nightly = true}
[devtools-color-scheme-simulation]
title = "experimental-features-devtools-color-scheme-simulation"
description = "experimental-features-devtools-color-scheme-simulation-description"
description-links = {mdn-preferscolorscheme = "https://developer.mozilla.org/docs/Web/CSS/@media/prefers-color-scheme", bugzilla1 = "https://bugzilla.mozilla.org/show_bug.cgi?id=1550804", bugzilla2 = "https://bugzilla.mozilla.org/show_bug.cgi?id=1137699"}
restart-required = false
preference = "devtools.inspector.color-scheme-simulation.enabled"
type = "boolean"
bug-numbers = [1550804, 1137699]
is-public = {default = false, nightly = true}
[devtools-execution-context-selector]
title = "experimental-features-devtools-execution-context-selector"
description = "experimental-features-devtools-execution-context-selector-description"
description-links = {bugzilla1 = "https://bugzilla.mozilla.org/show_bug.cgi?id=1605154", bugzilla2 = "https://bugzilla.mozilla.org/show_bug.cgi?id=1605153"}
restart-required = false
preference = "devtools.webconsole.input.context"
type = "boolean"
bug-numbers = [1605154, 1605153]
is-public = {default = false, nightly = true}
[devtools-compatibility-panel]
title = "experimental-features-devtools-compatibility-panel"
description = "experimental-features-devtools-compatibility-panel-description"
description-links = {bugzilla = "https://bugzilla.mozilla.org/show_bug.cgi?id=1584464"}
restart-required = false
preference = "devtools.inspector.compatibility.enabled"
type = "boolean"
bug-numbers = [1605154, 1605153]
is-public = true
[cookie-samesite-lax-by-default]
title = "experimental-features-cookie-samesite-lax-by-default2"
@ -69,9 +158,9 @@ bug-numbers = [1651119]
is-public = true
default-value = {default = false, nightly = true}
[serviceworker-debugger-support]
title = "experimental-features-serviceworker-debugger-support"
description = "experimental-features-serviceworker-debugger-support-description"
[devtools-serviceworker-debugger-support]
title = "experimental-features-devtools-serviceworker-debugger-support"
description = "experimental-features-devtools-serviceworker-debugger-support-description"
restart-required = true
preference = "devtools.debugger.features.windowless-service-workers"
type = "boolean"

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

@ -4,21 +4,74 @@
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-css-masonry =
.label = CSS Masonry Layout
experimental-features-css-masonry2 =
.label = CSS: Masonry Layout
experimental-features-css-masonry-description = Enables support for the experimental CSS Masonry Layout feature. See the <a data-l10n-name="explainer">explainer</a> for a high level description of the feature. To provide feedback, please comment in <a data-l10n-name="w3c-issue">this GitHub issue</a> or <a data-l10n-name="bug">this bug</a>.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-gpu =
.label = WebGPU
experimental-features-web-gpu-description = Experimental API for graphics and computing on the web
experimental-features-web-gpu2 =
.label = Web API: WebGPU
experimental-features-web-gpu-description2 = This new API provides low-level support for performing computation and graphics rendering using the <a data-l10n-name="wikipedia">Graphics Processing Unit (GPU)</a> of the users device or computer. The <a data-l10n-name="spec">specification</a> is still a work-in-progress. See <a data-l10n-name="bugzilla">bug 1602129</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-avif =
.label = AVIF
experimental-features-avif-description = Experimental support for AVIF: AV1 Image File Format
experimental-features-media-avif =
.label = Media: AVIF
experimental-features-media-avif-description = With this feature enabled, { -brand-short-name } supports the AV1 Image File (AVIF) format. This is a still image file format that leverages the capabilities of the AV1 video compression algorithms to reduce image size. See <a data-l10n-name="bugzilla">bug 1443863</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-api-inputmode =
.label = Web API: inputmode
# "inputmode" and "contenteditable" are technical terms and shouldn't be translated.
experimental-features-web-api-inputmode-description = Our implementation of the <a data-l10n-name="mdn-inputmode">inputmode</a> global attribute has been updated as per <a data-l10n-name="whatwg">the WHATWG specification</a>, but we still need to make other changes too, like making it available on contenteditable content. See <a data-l10n-name="bugzilla">bug 1205133</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-api-link-preload =
.label = Web API: <link rel="preload">
# Do not translate "rel", "preload" or "link" here, as they are all HTML spec
# values that do not get translated.
experimental-features-web-api-link-preload-description = The <a data-l10n-name="rel">rel</a> attribute with value <code>"preload"</code> on a <a data-l10n-name="link">&lt;link&gt;</a> element is intended to help provide performance gains by letting you download resources earlier in the page lifecycle, ensuring that theyre available earlier and are less likely to block page rendering. Read <a data-l10n-name="readmore">“Preloading content with <code>rel="preload"</code>”</a> or see <a data-l10n-name="bugzilla">bug 1583604</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-css-focus-visible =
.label = CSS: Pseudo-class: :focus-visible
experimental-features-css-focus-visible-description = Allows focus styles to be applied to elements like buttons and form controls, only when they are focused using the keyboard (e.g. when tabbing between elements), and not when they are focused using a mouse or other pointing device. See <a data-l10n-name="bugzilla">bug 1617600</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-api-beforeinput =
.label = Web API: beforeinput Event
# The terms "beforeinput", "input", "textarea", and "contenteditable" are technical terms
# and shouldn't be translated.
experimental-features-web-api-beforeinput-description = The global <a data-l10n-name="mdn-beforeinput">beforeinput</a> event is fired on an <a data-l10n-name="mdn-input">&lt;input&gt;</a> and <a data-l10n-name="mdn-textarea">&lt;textarea&gt;</a> elements, or any element whose <a data-l10n-name="mdn-contenteditable">contenteditable</a> attribute is enabled, immediately before the elements value changes. The event allows web apps to override the browsers default behavior for user interaction, e.g., web apps can cancel user input only for specific characters or can modify pasting styled text only with approved styles.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-css-constructable-stylesheets =
.label = CSS: Constructable Stylesheets
experimental-features-css-constructable-stylesheets-description = The addition of a constructor to the <a data-l10n-name="mdn-cssstylesheet">CSSStyleSheet</a> interface as well as a variety of related changes makes it possible to directly create new stylesheets without having to add the sheet to the HTML. This makes it much easier to create reusable stylesheets for use with <a data-l10n-name="mdn-shadowdom">Shadow DOM</a>. See <a data-l10n-name="bugzilla">bug 1520690</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-media-session-api =
.label = Web API: Media Session API
experimental-features-media-session-api-description = The entire { -brand-short-name } implementation of the Media Session API is currently experimental. This API is used to customize the handling of media-related notifications, to manage events and data useful for presenting a user interface for managing media playback, and to obtain media file metadata. See <a data-l10n-name="bugzilla">bug 1112032</a> for more details.
experimental-features-devtools-color-scheme-simulation =
.label = Developer Tools: Color Scheme Simulation
experimental-features-devtools-color-scheme-simulation-description = Adds an option to simulate different color schemes allowing you to test <a data-l10n-name="mdn-preferscolorscheme">@prefers-color-scheme</a> media queries. Using this media query lets your stylesheet respond to whether the user prefers a light or dark user interface. This feature lets you test your code without having to change settings in your browser (or operating system, if the browser follows a system-wide color scheme setting). See <a data-l10n-name="bugzilla1">bug 1550804</a> and <a data-l10n-name="bugzilla2">bug 1137699</a> for more details.
experimental-features-devtools-execution-context-selector =
.label = Developer Tools: Execution Context Selector
experimental-features-devtools-execution-context-selector-description = This feature displays a button on the consoles command line that lets you change the context in which the expression you enter will be executed. See <a data-l10n-name="bugzilla1">bug 1605154</a> and <a data-l10n-name="bugzilla2">bug 1605153</a> for more details.
experimental-features-devtools-compatibility-panel =
.label = Developer Tools: Compatibility Panel
experimental-features-devtools-compatibility-panel-description = A side panel for the Page Inspector that shows you information detailing your apps cross-browser compatibility status. See <a data-l10n-name="bugzilla">bug 1584464</a> for more details.
# Do not translate 'SameSite', 'Lax' and 'None'.
experimental-features-cookie-samesite-lax-by-default2 =
@ -43,7 +96,7 @@ experimental-features-cookie-samesite-schemeful =
experimental-features-cookie-samesite-schemeful-description = Treat cookies from the same domain, but with different schemes (e.g. http://example.com and https://example.com) as cross-site instead of same-site. Improves security, but potentially introduces breakage.
# "Service Worker" is an API name and is usually not translated.
experimental-features-serviceworker-debugger-support =
.label = DevTools: Service Worker debugging
experimental-features-devtools-serviceworker-debugger-support =
.label = Developer Tools: Service Worker debugging
# "Service Worker" is an API name and is usually not translated.
experimental-features-serviceworker-debugger-support-description = Enables experimental support for Service Workers in the DevTools Debugger panel. This feature may slow down DevTools and increase memory consumption.
experimental-features-devtools-serviceworker-debugger-support-description = Enables experimental support for Service Workers in the Debugger panel. This feature may slow the Developer Tools down and increase memory consumption.

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

@ -40,9 +40,15 @@ var tests = [
SpecialPowers.pushPrefEnv(
{
set: [
["devtools.inspector.compatibility.enabled", false],
["devtools.webconsole.input.context", false],
["dom.media.mediasession.enabled", false],
["dom.forms.inputmode", false],
["layout.css.focus-visible.enabled", false],
["network.cookie.sameSite.laxByDefault", false],
["network.cookie.sameSite.noneRequiresSecure", false],
["network.cookie.sameSite.schemeful", false],
["network.preload", false],
],
},
done
@ -67,7 +73,7 @@ var tests = [
for (let gate of featureGates) {
ok(
!Services.prefs.getBoolPref(gate.preference),
"Features should be disabled by default"
`Feature ${gate.preference} should be disabled by default`
);
}