Commit Graph

847022 Commits

Author SHA1 Message Date
Mike Hommey
aeda70c3cf Bug 1839743 - Use packed relative relocations instead of elfhack on systems that support them. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D181687
2023-06-27 08:56:17 +00:00
Mike Hommey
0375de6fda Bug 1839743 - Move some things around for them to be available in toolkit/moz.configure. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D181686
2023-06-27 08:56:17 +00:00
Karl Tomlinson
b4f60f0d6a Bug 1829068 skip AudioSink initialization if there's another intialization pending r=padenot
This restores similar skipping of unnecessary AudioSink initialization as was
implemented for device changes when they were handled by
MediaDecoderStateMachine.  This AudioSinkWrapper implementation also reduces
initializations if multiple mute/unmute cycles trigger excess initializations.

Depends on D181975

Differential Revision: https://phabricator.services.mozilla.com/D181976
2023-06-27 08:53:50 +00:00
Karl Tomlinson
d7940eeeb5 Bug 1829068 retain the same AudioSinkWrapper when switching output devices r=padenot
This allows video playback to continue uninterrupted.

The AudioSinkWrapper now maintains the correct playback position in the media
data.  Previously the replacement AudioSinkWrapper started its clock at the
"current playback position" from the MediaDecoderStateMachine, which did not
include additional time from looping, so silence would be played until the
missing time had passed.

The AudioSinkWrapper now continues to periodically attempt to open a new
output device if not initially available.  Previously such attempts were only
performed on state changes such as seeking or unmuting.

The promise returned from MediaDecoderStateMachine::InvokeSetSink() now
resolves regardless of whether the new device can be opened successfully.
Previously the promise could be rejected if the device was necessary for audio
output at the time of the call but no check for device availability (beyond
that of device enumeration) was performed if playback was suspended or muted
or if a subsequent device change had already been queued.  Even previously the
underlying device was changed even when the promise was rejected and could be
used if a state change occurred.

Differential Revision: https://phabricator.services.mozilla.com/D181975
2023-06-27 08:53:50 +00:00
Karl Tomlinson
7fa10acf9d Bug 1829068 don't reject for setSinkId() on media element because of MediaElementAudioSourceNode r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D181974
2023-06-27 08:53:50 +00:00
Mike Hommey
41a31832a4 Bug 1839789 - Switch build-ish tasks to a Debian 12 based docker image. r=releng-reviewers,taskgraph-reviewers,jcristau
Differential Revision: https://phabricator.services.mozilla.com/D181722
2023-06-27 08:51:57 +00:00
Mike Hommey
5180213cab Bug 1840524 - Build custom rustc/cargo statically linking system libraries. r=firefox-build-system-reviewers,andi
Incidentally, that's what upstream rustc/cargo does, cf.
2a15bdaaa1/src/ci/run.sh (L60)

Differential Revision: https://phabricator.services.mozilla.com/D182132
2023-06-27 08:47:30 +00:00
Mike Hommey
b2854f302c Bug 1839788 - Switch valgrind task to a Debian 12 based docker image. r=firefox-build-system-reviewers,releng-reviewers,ahochheiden,jcristau
Differential Revision: https://phabricator.services.mozilla.com/D181721
2023-06-27 08:47:17 +00:00
Mike Hommey
3c34754cc7 Bug 1840523 - Add libssl.so.1.1 and libcrypto.so.1.1 to python toolchain. r=firefox-build-system-reviewers,andi
The Debian 12 based docker images don't have those libraries installed
(although we could install them, it's not a long term fix, as newer
versions of libssl come as libssl.so.3 and libssl.so.1.1 is bound to
disappear for good from future distros)

Differential Revision: https://phabricator.services.mozilla.com/D182130
2023-06-27 08:39:20 +00:00
jneuberger
317da1920c Bug 1833398 - Migrate the histogram PWMGR_FORM_AUTOFILL_RESULT to Glean r=credential-management-reviewers,dimi
Introduces the new Glean metric pwmgr.form_autofill_result, which is as labeled_counter
and collects the same data (in a slightly different way) than the Legacy Telemetry histogram PWMGR_FORM_AUTOFILL_RESULT.

E.g. If the autofill result was "FILLED":
Telemetry probe -> { 0 : 1 }, adds 1 to the histogram index 0 (which represents the result "FILLED").
Glean metric 	-> { filled : 1 }, increments the counter for the label "filled"

Both metrics will co-exist for now until we have collected enough data with Glean to be able remove the legacy telemetry probe.

Differential Revision: https://phabricator.services.mozilla.com/D179478
2023-06-27 08:39:12 +00:00
Emilio Cobos Álvarez
4c49fa341e Bug 1839182 - Use desugared selector list in css error reports. r=nchevobbe,firefox-style-system-reviewers,boris
Hopefully this isn't too slow, and we only do this when error reporting
is enabled...

Differential Revision: https://phabricator.services.mozilla.com/D182014
2023-06-27 08:28:53 +00:00
Emilio Cobos Álvarez
a398815dad Bug 1839950 - CSSStyleDeclaration.getPropertyValue doesn't throw. r=peterv
We fixed nsComputedDOMStyle ages ago.

Differential Revision: https://phabricator.services.mozilla.com/D181944
2023-06-27 08:21:46 +00:00
Dale Harvey
a698fc5d85 Bug 1835695 - Ensure urlbar result action is shown on keyboard navigation. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D182015
2023-06-27 08:00:09 +00:00
Dimi
12c7256b18 Bug 1822847 - Add mm-jj keyword in cc-exp regexp to deterimine whether a field is possible a cc-exp field r=credential-management-reviewers,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D181987
2023-06-27 07:56:23 +00:00
Noemi Erli
926b6c9fc7 Backed out 4 changesets (bug 1836974) for causing failures in browser_full_page.js CLOSED TREE
Backed out changeset 30c1c15634bd (bug 1836974)
Backed out changeset 1be81240d43b (bug 1836974)
Backed out changeset c444aaed4af2 (bug 1836974)
Backed out changeset 3481461f8eaa (bug 1836974)
2023-06-27 10:37:54 +03:00
ahochheiden
1082f133a8 Bug 1838763 - Move the location of site/command virtualenvs out of the objdir and into the state dir r=firefox-build-system-reviewers,glandium
This is necessary for activating the site/command virtualenvs earlier,
since we can't determine what the objdir will be very early on in the
mach process intialization. We do know where the state dir is, and how
to get to the state dir for a specific topsrcdir, so we can use that
instead. This is already where the `mach` virtualenv lives anyway.

Differential Revision: https://phabricator.services.mozilla.com/D181029
2023-06-27 07:05:20 +00:00
ahochheiden
bfd1c49660 Bug 1838763 - Run the clone of version-control-tools in the push-to-try Dockerfile as worker r=firefox-build-system-reviewers,glandium
If this is not done, the state dir (`.mozbuild`) is owned by root. With
the upcoming changes to moving the python site venvs to the state dir,
this would prevent the mach process from writing to the state dir, and
causing the python virtualenvs to not be successfully created.

Differential Revision: https://phabricator.services.mozilla.com/D181910
2023-06-27 07:05:19 +00:00
Mozilla Releng Treescript
ab1952f506 no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
be -> a5e1c738a5e49a919326a291de9c1a602b249d77
el -> cee8ceea3063a18ea1234c7e6bf7313663953efa
en-GB -> 9a50a6078d19f46bd81e33be092b38dfc4fea15e
es-AR -> 41b1ab493f58b6bcdf9df4156117f7e5d30a5372
es-CL -> 66f9b78ece0b0b2764bb836304a1ab7170cef997
hsb -> 3b72ad7d23cd6321f4aed39d38fc450ab2d4c143
it -> 29369cec08e406026c671576658b454ba3c9954d
sat -> c3b57bf6699596954443eea6e0c7e953142964e5
sv-SE -> b975acb0d22995bf55aa8c31b0d7984c3a9559dc
zh-CN -> 4f513df52db69c4c78cd342d23b0c36538abe8e4
2023-06-27 07:00:43 +00:00
Erik Nordin
32a253e756 Bug 1836974 - Use fastText pref in full-page translation r=gregtatum
Uses the fastText pref to determine which method of language
identification to use in full-page translation

Depends on D180745

Differential Revision: https://phabricator.services.mozilla.com/D180746
2023-06-27 06:38:43 +00:00
Erik Nordin
f4eab247db Bug 1836974 - Use fastText pref in about:translations r=gregtatum
Uses the fastText pref to determine which method of language
identification to use in about:translations

Depends on D180744

Differential Revision: https://phabricator.services.mozilla.com/D180745
2023-06-27 06:38:43 +00:00
Erik Nordin
3bb881d08f Bug 1836974 - Add language detection fastText pref r=gregtatum
Adds a pref that will be used to determine whether Translations
language identification should use fastText or not.

Depends on D180743

Differential Revision: https://phabricator.services.mozilla.com/D180744
2023-06-27 06:38:42 +00:00
Erik Nordin
5f4fb76723 Bug 1836974 - Rename createLanguageIdEngine function r=gregtatum
Renames function to getOrCreateLanguageIdEngine to
more accurately reflect what it does.

Differential Revision: https://phabricator.services.mozilla.com/D180743
2023-06-27 06:38:42 +00:00
Masayuki Nakano
d1b927e773 Bug 1839814 - Move nsIEditor.wrapWidth to nsIEditorMailSupport r=m_kato
It's used only by the mail composers.  However, `EditorBase::mWrapColumn` is
also used by `TextEditor`.  Therefore, `EditorBase` still needs to manage the
member, but the setters, `SetWrapColumn()` and `SetWrapWidth()` can be in
`TextEditor` and `HTMLEditor`.

Differential Revision: https://phabricator.services.mozilla.com/D181836
2023-06-27 05:47:55 +00:00
Cristian Tuns
c32f4885e4 Backed out 3 changesets (bug 1829068) for causing wpt failures in setSinkId-with-MediaElementAudioSourceNode.https.html CLOSED TREE
Backed out changeset 40cf2b588396 (bug 1829068)
Backed out changeset 1a8f8cda9b25 (bug 1829068)
Backed out changeset 5eb680967020 (bug 1829068)
2023-06-27 01:25:48 -04:00
Karl Tomlinson
bcbad9c1d8 Bug 1829068 skip AudioSink initialization if there's another intialization pending r=padenot
This restores similar skipping of unnecessary AudioSink initialization as was
implemented for device changes when they were handled by
MediaDecoderStateMachine.  This AudioSinkWrapper implementation also reduces
initializations if multiple mute/unmute cycles trigger excess initializations.

Depends on D181975

Differential Revision: https://phabricator.services.mozilla.com/D181976
2023-06-27 04:53:25 +00:00
Masayuki Nakano
88bfd15c96 Bug 1839793 - Move EditorBase::FindBetterInsertionPoint into TextEditor r=m_kato
Currently it runs if the instance is a `TextEditor` or it's in the plaintext
mode of `HTMLEditor`.  However, it does not make sense to run it only in
specific mode of `HTMLEditor`, and most part does not make sense for
`HTMLEditor`.

This patch moves the method to `TextEditor`, and for
`EditorBase::InsertTextWithTransaction()` and
`AutoRangeArray::ExtendAnchorFocusRangeFor()`, adds new method to
`EditorDOMPointBase` to get a text node position if it points around
a text node.

Differential Revision: https://phabricator.services.mozilla.com/D181835
2023-06-27 04:23:09 +00:00
Masayuki Nakano
23a18fdd2a Bug 831008 - Make EventListenerManager assert when a legacy DOM mutation event listener is added in either chrome documents, native anonymous subtrees or the system event groups r=smaug
The legacy DOM mutation events shouldn't be used even in content and must not be
used in chrome.

This patch makes it crash if legacy mutation event listener is:
* added to a node in a chrome document
* added to a node in a native anonymous subtree
* added to the system event group
* implemented by C++

This causes some crash tests and chrome tests.  Therefore, this patch modifies
them to use `MutationObserver` instead or removes them if it's impossible to
rewrite with `MutationObserver`.

Note that if I prevent to dispatch mutation events in some/all of the cases,
that causes performance regression in Speedometer3.  Therefore, this patch
does not touch `EventDispatcher`.

Differential Revision: https://phabricator.services.mozilla.com/D181828
2023-06-27 04:20:17 +00:00
Masayuki Nakano
eb36467e5a Bug 1839874 - Make insertparagraph-in-listitem-in-svg-followed-by-collapsible-spaces.html allowed to timeout in debug builds r=m_kato
The log string generation may take too long.  Let's allow timeout of that.
The test checks a crash bug, so, ignoring intermittent timeout is okay.

Differential Revision: https://phabricator.services.mozilla.com/D181838
2023-06-27 04:18:54 +00:00
Mike Hommey
5d4580737e Bug 1820860 - Build clang-trunk-mingw toolchains with mingw-trunk. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D182134
2023-06-27 04:17:37 +00:00
Otto Länd
bfac3d8ff7 Bug 1830070: apply code formatting via Lando
# ignore-this-changeset
2023-06-27 03:34:34 +00:00
Tom Ritter
2fdb564bea Bug 1830070: Add a test for opening a blob URI in a popup with noopener r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D179106
2023-06-27 03:31:02 +00:00
Tom Ritter
27ef7e5231 Bug 1830070: Add a test for opening a data URI in a popup with noopener r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D179105
2023-06-27 03:31:02 +00:00
Tom Ritter
f1ff05c395 Bug 1830070: Add a test for opening a popup with noopener r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D178977
2023-06-27 03:31:02 +00:00
Tom Ritter
502de3fe32 Bug 1830070: Correctly apply RFP Checks to about: documents and deal with pop-ups r=smaug,necko-reviewers,emilio
This patch has three parts to it:

1) Use NS_IsContentAccessibleAboutURI to ensure that only safe
   about: documents get exempted.

   With this change, we will no longer allow about:blank or
   about:srcdoc to be exempted base on URI.  If they are to be
   exempted, it will need to be base on other information.

2) In Document::RecomputeResistFingerprinting we previously
   deferred to a Parent Document if we had one, and either the
   principals matched or we were a null principal.

   We will do the same thing, except we will also defer to our
   opener as well as the parent document.  Now about:blank
   documents can be exempted.

   However, this deferral only works if the opener is
   same-process. For cross-process openers, we make the decision
   ourselves.

We can make the wrong decision though. CookieJarSettings is
inherited through iframes but it is _not_ inherited through popups.
(Yet. There's some discussion there, but it's not implemented.)

Conceptually; however, we do want CJS to inherit, and we do want
RFP to inherit as well.  Because a popup can collude with its
opener to bypass RFP and Storage restrictions, we should propagate
the CJS information.

This does lead to an unusual situation: if you have exempted
b.com, and a.com (which is not exempted) creates a popup for b.com
then that popup will not be exempted.  But an open tab for b.com
would be.  And it might be hard to tell those two apart, or why
they behave differently.

The third part of the patch:

3) In LoadInfo we want to populate information down from the
   opener to the popup.  This is needed because otherwise a
   cross-origin popup will not defer to its opener (because in
   Fission they're in different processes) and will decide if
   it should be exempted itself. It's the CookieJarSettings
   object that prevents the cross-origin document from thinking
   it should be exempted - CJS tells it 'No, you're a child
   (either a subdocument or a popup) and if I say you don't get
   an exemption, you don't.'


Finally, there is one more caveat: we can only defer to a parent
document or opener if it still exists.  A popup may outlive its
opener. If that happens, and something induces a call to
RecomputeResistFingerprinting, then (e.g.) an about:blank popup
may lose an RFP exemption that it had received from its parent.
This isn't expected to happen in practice -
RecomputeResistFingerprinting is only called on document creation
and pref changes I believe.

It is not possible for a popup to _gain_ an exemption though,
because even if the parent document is gone, the CJS lives on and
restricts it.

Differential Revision: https://phabricator.services.mozilla.com/D178866
2023-06-27 03:31:02 +00:00
Tom Ritter
88106c0525 Bug 1830070: Add a test for popup that is an about:blank document r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D178865
2023-06-27 03:31:02 +00:00
Tom Ritter
02bba73900 Bug 1830070: Add a test for a popup opening a blob url r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D178686
2023-06-27 03:31:02 +00:00
Tom Ritter
350d46c862 Bug 1830070: Add a test for popup that is a data: uri r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D178685
2023-06-27 03:31:01 +00:00
Tom Ritter
d122f7c281 Bug 1830070: Add a test for an RFP test for a popup r=timhuang
I was able to adapt the simple iframe test to a popup
test with pretty minimal adaptations, so I did that.

Remains to be seen if I can do it for the others.

Differential Revision: https://phabricator.services.mozilla.com/D178684
2023-06-27 03:31:01 +00:00
Karl Tomlinson
b43ac02876 Bug 1829068 retain the same AudioSinkWrapper when switching output devices r=padenot
This allows video playback to continue uninterrupted.

The AudioSinkWrapper now maintains the correct playback position in the media
data.  Previously the replacement AudioSinkWrapper started its clock at the
"current playback position" from the MediaDecoderStateMachine, which did not
include additional time from looping, so silence would be played until the
missing time had passed.

The AudioSinkWrapper now continues to periodically attempt to open a new
output device if not initially available.  Previously such attempts were only
performed on state changes such as seeking or unmuting.

The promise returned from MediaDecoderStateMachine::InvokeSetSink() now
resolves regardless of whether the new device can be opened successfully.
Previously the promise could be rejected if the device was necessary for audio
output at the time of the call but no check for device availability (beyond
that of device enumeration) was performed if playback was suspended or muted
or if a subsequent device change had already been queued.  Even previously the
underlying device was changed even when the promise was rejected and could be
used if a state change occurred.

Differential Revision: https://phabricator.services.mozilla.com/D181975
2023-06-27 03:22:10 +00:00
Karl Tomlinson
ea13c5f68b Bug 1829068 don't reject for setSinkId() on media element because of MediaElementAudioSourceNode r=padenot
Depends on D181973

Differential Revision: https://phabricator.services.mozilla.com/D181974
2023-06-27 02:40:46 +00:00
Norisz Fay
d6aa3c6a1b Backed out changeset ee270697e466 (bug 1840480) for causing mochitest failures on test_interfaces.html, test_interfaces_secureContext.html CLOSED TREE 2023-06-27 04:44:20 +03:00
Butkovits Atila
9ac839ebe2 Backed out changeset 4d92a76cedd0 (bug 1754905) for causing bustages at LocalAccessible. CLOSED TREE 2023-06-27 03:46:47 +03:00
Karl Tomlinson
52f07f2979 Bug 1829068 use InvokeAsync() instead of Dispatch() r=padenot
to facilitate returning a Promise from MaybeAsyncStartAudioSink() in a future
patch.

Depends on D181972

Differential Revision: https://phabricator.services.mozilla.com/D181973
2023-06-27 00:17:28 +00:00
Karl Tomlinson
135ed6c247 Bug 1829068 use a TaskQueue for background stream initialization r=padenot
The runnables will need to be run serially in a future patch when the sink will
not necessarily be the same for each runnable.

This will also allow us to use InvokeAsync() and Then() in a future patch for
easier promise management.

Depends on D181971

Differential Revision: https://phabricator.services.mozilla.com/D181972
2023-06-27 00:17:28 +00:00
Karl Tomlinson
9c71766750 Bug 1829068 update GetMediaTime() range documentation r=padenot
This has been out of date since
https://hg.mozilla.org/mozilla-central/rev/534be03edda3d923934c15b0ca2573f0ba0f539f
and
https://hg.mozilla.org/mozilla-central/rev/0e80ea29712052a89bf0296dc3bd4bdd43d1d5c6#l4.37

Depends on D181969

Differential Revision: https://phabricator.services.mozilla.com/D181971
2023-06-27 00:17:28 +00:00
Karl Tomlinson
ce698a5b5e Bug 1829068 add comments to clarify MediaSink times correspond to MediaData::mTime r=padenot
unlike MediaDecoderStateMachine::GetMediaTime().

Depends on D181968

Differential Revision: https://phabricator.services.mozilla.com/D181969
2023-06-27 00:17:28 +00:00
Karl Tomlinson
946435d0a3 Bug 1829068 log some more AudioSink timing r=padenot
Depends on D181967

Differential Revision: https://phabricator.services.mozilla.com/D181968
2023-06-27 00:17:27 +00:00
Emilio Cobos Álvarez
19e4552f16 Bug 1840480 - [css-properties-values-api] Enable on nightly. r=zrhoffman
Even though it still requires significant work, this allows us to keep
track of progress more properly in wpt.fyi.

Since we expect implementation progress to improve quite a bit in H2,
and this shouldn't be an stability hazard, this seems fine unless the
missing bits cause big compat issues.

Differential Revision: https://phabricator.services.mozilla.com/D182111
2023-06-27 00:16:10 +00:00
Arturo Mejia
82275f835e Bug 1836358 - Add support for nsIIdentityCredentialPromptService.showPolicyPrompt in GeckoView. r=geckoview-reviewers,tthibaud,owlish
Differential Revision: https://phabricator.services.mozilla.com/D180729
2023-06-27 00:05:49 +00:00
Eitan Isaacson
87391fa922 Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie
This patch does several things:
1. Remove virtual cursor doc accessible member.
2. Remove state-keeping nsAccessiblePivot implementation and replace it
   with something that is much more similar to the native Pivot
   interface.
3. Move nsIAccessiblePivot implementation to xpcom and rename it
   xpcAccessiblePivot.
4. Delete mochitests and introduce browser tests.
5. Make new xpcom implementation work on remote accessibles as well.

Differential Revision: https://phabricator.services.mozilla.com/D181813
2023-06-27 00:05:16 +00:00