Set the `--enable-change-array-by-copy` shell flag and the
`javascript.options.experimental.enable_change_array_by_copy` pref to true
by default in all builds.
Remove the `--enable-change-array-by-copy` build flag from `js/moz.configure`
and make all code previously guarded by `#ifdef ENABLE_CHANGE_ARRAY_BY_COPY`
compile unconditionally.
Remove `change-array-by-copy` from testing build configurations (non262
and jit-test tests are no longer guarded with
`getBuildConfiguration()['change-array-by-copy']`
Remove all code from test config files that sets
`javascript.options.experimental.enable_change_array_by_copy`; only
`StaticPrefList.yaml` should set this pref.
Fix non262 unscopables test that apparently wasn't running before to use
the correct names for change-array-by-copy methods
Remove the `TypedArray` property from `gPrototypeProperties` in
`test_xrayToJS.xhtml`, as this property was written but never read.
Differential Revision: https://phabricator.services.mozilla.com/D174699
Other browsers (i.e. Blink and WebKit) have shipped it, and there is no
issue about this, so it's safe to ship this feature.
Differential Revision: https://phabricator.services.mozilla.com/D178839
This behaviour was introduced midway through HTTP/2 development in Bug 790184. With connection-level and stream-level flow control, it is not needed.
Note that on fast networks removing this forcing of a small tcp send buffer has been shown to improve H2 upload performance by up to 4x on Windows.
Differential Revision: https://phabricator.services.mozilla.com/D176577
This adds two prefs to configure the parallel traversal work item size
and kick-off threshold, but otherwise shouldn't change behavior.
I switched from iterator generics to just a slice while at it, mostly
for simplicity, but there is a trade-off:
* When switching from sequential to parallel traversal, we potentially
pay the price of memmoving the VecDeque around once to make them a
contiguous slice.
* However we win in the common case of the smaller-than-work-unit size
in which case we no longer need to copy stuff to a WorkItem. So I
think overall this should be an improvement.
Differential Revision: https://phabricator.services.mozilla.com/D178656
Adds a new button and panel for managing Translations
settings to the about:preferences panel.
Manages always-translate languages, never-translate
languages, and never-translate sites.
Depends on D178228
Differential Revision: https://phabricator.services.mozilla.com/D177854
Set the `--enable-change-array-by-copy` shell flag and the
`javascript.options.experimental.enable_change_array_by_copy` pref to true
by default in all builds.
Remove the `--enable-change-array-by-copy` build flag from `js/moz.configure`
and make all code previously guarded by `#ifdef ENABLE_CHANGE_ARRAY_BY_COPY`
compile unconditionally.
Remove `change-array-by-copy` from testing build configurations (non262
and jit-test tests are no longer guarded with
`getBuildConfiguration()['change-array-by-copy']`
Remove all code from test config files that sets
`javascript.options.experimental.enable_change_array_by_copy`; only
`StaticPrefList.yaml` should set this pref.
Fix non262 unscopables test that apparently wasn't running before to use
the correct names for change-array-by-copy methods
Remove the `TypedArray` property from `gPrototypeProperties` in
`test_xrayToJS.xhtml`, as this property was written but never read.
Differential Revision: https://phabricator.services.mozilla.com/D174699
Adds a new button and panel for managing Translations
settings to the about:preferences panel.
Manages always-translate languages, never-translate
languages, and never-translate sites.
Depends on D178228
Differential Revision: https://phabricator.services.mozilla.com/D177854
Implemented behind the new properties-and-values pref.
Support for the CSSPropertyRule WebIDL interface is also added in this
patch, because until it's added, any attempt to access the rule using
the CSSOM would crash the browser.
Depends on D178268
Differential Revision: https://phabricator.services.mozilla.com/D178270
Adds a new button and panel for managing Translations
settings to the about:preferences panel.
Manages always-translate languages, never-translate
languages, and never-translate sites.
Depends on D178228
Differential Revision: https://phabricator.services.mozilla.com/D177854
Use a new executable for the GMP process named "<App Name> Media Plugin Helper" so that the content processes (using the plugin-container executable) and the GMP process can be signed with different entitlements allowing for the use of more secure entitlements.
To get the benefits of using a new executable for GMP, additional changes are needed in the codesigning infrastructure repo to enable signing plugin-container and the new executable with a reduced set of entitlements.
The executable is built as media-plugin-helper and then renamed to "<App Name> Media Plugin Helper" so it appears with a user friendly name in Activity Monitor. For example, "Firefox Media Plugin Helper". (The GMP process runs with limited privileges preventing it from setting its own "nice" process name.)
Limit the change to Nightly at this time to allow validation of using a new executable and then enabling the strong entitlements.
Differential Revision: https://phabricator.services.mozilla.com/D175796
Add an option for WebRTC to use software platform encoder.
Without this, users won't be able to have H.264 video calls
as soon as they download Firefox and have to wait until the
OpenH264 plugin is downloaded.
Differential Revision: https://phabricator.services.mozilla.com/D171610
This patch allows WebRTC to configure the OpenH264's encoder H264
profile and level, as well as multithreaded encoding. By default this is
turned off, and we can turn it on once we validate the library update.
The multithreaded encoding saw a ~15% performance improvement with
Chrome. See this bug for details:
https://bugs.chromium.org/p/chromium/issues/detail?id=1397287
Differential Revision: https://phabricator.services.mozilla.com/D177072
Plumb everything up. This factors out declaration and rule parsing so
we share the code with the regular declaration parser.
This could be made a bit nicer in the future. We need to decide what to
do for @page and @keyframe (it seems conditional rules inside ought to
work, but that's not so easy because per spec we create a nested style
rule).
But this is a first pass that passes a good chunk of the tests. There
are other fixups to cssom, and I think some of the tests we fail are
actually wrong...
Differential Revision: https://phabricator.services.mozilla.com/D178266
This patch adds a pref to disable use of the reorder queue with the GMP
video decoder. Disabling it will allow improved compatibility with the
older OpenH264 plugins. This is useful mostly for Linux distros which
rebuild Firefox and enable the GMP video decoder on their own.
Differential Revision: https://phabricator.services.mozilla.com/D178254
I think that we don't need the prefs to disable the behavior because the
behavior conforms to UI Events definition and we've shipped the behavior in
2018. Therefore, nobody shouldn't require to disable the behavior.
Differential Revision: https://phabricator.services.mozilla.com/D177999
Simplifies the concurrent operations of wifi scanning and reduces the
frequency in common cases. Wifi scanning when on mobile is reduced from
every 5 seconds to every minute. Wifi scans will also happen whenever
a new listener is registered.
Differential Revision: https://phabricator.services.mozilla.com/D176200
Simplifies the concurrent operations of wifi scanning and reduces the
frequency in common cases. Wifi scanning when on mobile is reduced from
every 5 seconds to every minute. Wifi scans will also happen whenever
a new listener is registered.
Differential Revision: https://phabricator.services.mozilla.com/D176200
This patch removes the vast majority of OS.File and support code. A few things remain:
- The nsIOSFileConstantsService still exists, but the path related constants
(OS.Constants.Path.*) are no longer added to the OS object. The plan is to
replace this with a proper service e.g. Services.osConstants or similar) in
bug 1786885.
- There is still support for OS.File errors in ErrorSanitizer, which will be
removed in bug 1775167.
- The OS.File to IOUtils migration guide will be rewritten as general IOUtils
documentation in bug 1830097.
- dom/base/Document.cpp has a workaround for not loading osfile.jsm at startup,
which may want to be reconsidered in bug 1830100.
So long, and thanks for all the I/O.
Differential Revision: https://phabricator.services.mozilla.com/D176543
That's how we do it for all other platforms. Do this rather than via a
custom mostly-untested pref, which allows us to simplify text zoom
handling.
Differential Revision: https://phabricator.services.mozilla.com/D177062
This patch removes the vast majority of OS.File and support code. A few things remain:
- The nsIOSFileConstantsService still exists, but the path related constants
(OS.Constants.Path.*) are no longer added to the OS object. The plan is to
replace this with a proper service e.g. Services.osConstants or similar) in
bug 1786885.
- There is still support for OS.File errors in ErrorSanitizer, which will be
removed in bug 1775167.
- The OS.File to IOUtils migration guide will be rewritten as general IOUtils
documentation in bug 1830097.
- dom/base/Document.cpp has a workaround for not loading osfile.jsm at startup,
which may want to be reconsidered in bug 1830100.
So long, and thanks for all the I/O.
Differential Revision: https://phabricator.services.mozilla.com/D176543
Because the preprocessor handles both comments in the form of
# some comment
And commands in the form of
#some command
And due to C preprocessor heritage, people tend to write
# some command
which is considered a comment and not a command. Detect this situation
and generate an hard error when meeting such ambiguous commands.
Differential Revision: https://phabricator.services.mozilla.com/D176912
Simplifies the concurrent operations of wifi scanning and reduces the
frequency in common cases. Wifi scanning when on mobile is reduced from
every 5 seconds to every minute. Wifi scans will also happen whenever
a new listener is registered.
Differential Revision: https://phabricator.services.mozilla.com/D176200