Граф коммитов

824474 Коммитов

Автор SHA1 Сообщение Дата
Tom Schuster 64e2c25419 Bug 1802904 - Add log to help debug test failure. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D165218
2022-12-20 23:57:53 +00:00
Marian-Vasile Laza 74bda87ddf Backed out 3 changesets (bug 1799258) for causing GTest-1proc failures on Span. CLOSED TREE
Backed out changeset 0facab7b9a1d (bug 1799258)
Backed out changeset 4f9ee3537468 (bug 1799258)
Backed out changeset 12e98a3054d0 (bug 1799258)
2022-12-21 01:41:43 +02:00
Randell Jesup fef4d286b9 Bug 1806515: Add URL parsing for WebTransport r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D165077
2022-12-20 23:02:42 +00:00
Otto Länd 447dbb75fa Bug 1804178, 1804178, 1804178, 1804178, 1804178, 1804178: apply code formatting via Lando
# ignore-this-changeset
2022-12-20 23:07:41 +00:00
Ray Kraesig a3fb6515cf Bug 1804178 - [6/6] Switch from pytoml to toml in (almost) all other contexts r=firefox-build-system-reviewers,releng-reviewers,glandium,ahal
Convert all other imports of `pytoml` within mozilla-central to imports
of `toml`.

As both libraries patterned their API on that of the Python standard-
library module `json`, this is mostly a straight replace, with two
caveats:

  * pytoml's exception messages when loading a file provide the file
    name; toml's do not. Some additional machinery has been added or
    repurposed in a few places to ensure that the relevant filename is
    printed.

  * In `python_lockfile.py`, the order of arguments to `dump` needed to
    be reversed. (`toml` follows `json` in this; `pytoml` differs.)

This patchset does not remove pytoml from `requirements.in`, as `pytoml`
is still used by `compare-locales`.

Differential Revision: https://phabricator.services.mozilla.com/D164155
2022-12-20 23:01:26 +00:00
Ray Kraesig b83ea311b7 Bug 1804178 - [5/6] Remove regex-based license-scraping hackery r=glandium
`pytoml` could not handle single-quoted keys in table names, as these
were added in TOML v0.5.0; but `toml` has no problem with them.

Remove regex-based scraping of Cargo.toml files to find a crate's
associated license, replacing it with `toml.load`.

(This has been manually tested to ensure that dependencies with
noncompliant licenses or unrecognized license files continue to be
rejected.)

Differential Revision: https://phabricator.services.mozilla.com/D164154
2022-12-20 23:01:26 +00:00
Ray Kraesig 665483f331 Bug 1804178 - [4/6] Remove pytoml output postprocessing r=glandium
The postprocessing phase that cleaned up `pytoml`'s output has little
effect on `toml`'s output, which is already largely clean. Remove the
additional code.

Differential Revision: https://phabricator.services.mozilla.com/D164153
2022-12-20 23:01:25 +00:00
Ray Kraesig 2ba26991d4 Bug 1804178 - [3/6] Remove explicit sorting of TOML output r=glandium
Remove explicit sorting, as this is no longer needed to guarantee
determinism as of Python 3.6 (our minimum-supported version).

(This is a separate commit solely to make it clear that the reordering
of `.cargo/config.in` is indeed merely a reordering and contains no
hidden functional changes.)

Differential Revision: https://phabricator.services.mozilla.com/D164152
2022-12-20 23:01:25 +00:00
Ray Kraesig a6f024ad59 Bug 1804178 - [2/6] Convert use of `pytoml` to `toml` in vendor_rust.py r=glandium
Replace `pytoml` with `toml` in `vendor_rust.py`.

This is a minimal substitution that preserves existing behavior (along
with a flake8 lint pass). Further simplification will follow in upcoming
commits.

In particular, we temporarily alter `recursive_sort` to ensure that the
output of `pytoml` and `toml` are identical, rather than merely
equivalent. (`pytoml` would reverse the ordering of keys in some
contexts.)

Differential Revision: https://phabricator.services.mozilla.com/D164151
2022-12-20 23:01:25 +00:00
Ray Kraesig 5a08e0d0b1 Bug 1804178 - [1/6] Add `toml` to mach requirements r=firefox-build-system-reviewers,glandium
The `pytoml` library is abandoned, and does not support TOML v0.5.0,
which Cargo uses. This prevents mach from properly parsing many
Cargo.toml files.

Include the `toml` library as a slightly more modern and currently-
maintained alternative for use in mach.

Supply-chain notes:
  - toml v0.10.2 is MIT-licensed, which is an approved MPL-compatible
    license.
  - I have personally audited this version of `toml` and consider it
    "safe-to-run", as much as any Python code can be: other than opening
    and reading/writing a file when specifically requested via `load`/
    `dump` respectively, it performs only string manipulation and
    ordinary object creation.

Differential Revision: https://phabricator.services.mozilla.com/D164150
2022-12-20 23:01:24 +00:00
Kelsey Gilbert 7212a57acc Bug 1799258 - Do color-management on Windows+DComp via IDCompositionFilterEffects. r=sotaro
+ Add gfx.color_management.rec709_gamma_as_srgb:true. :'(

In particular, rec709(16/255) -> srgb(31/255). Even though it's
technically correct, it's practically-speaking incorrect, since that's
not what Chrome does, nor what the web expected for years and years.

In practice, basically everyone expects gamma to just be completely
ignored.

What people expect:
* Pretend gamut is srgb(==rec709), but stretch this naively for the
  display. If you have a display-p3-gamut display, srgb:0.5 expects to
  be displayed as display:0.5, which will be display-p3:0.5 to the eyes.
* Pretend all content gammas (TFs) are srgb(!=rec790), and then bitcast this
  naively for the display. E.g. rec709(16/255) should
  display the same as srgb(16/255), not srgb(31/255). (Note: display-p3
  uses srgb gamma) But if your display has e.g. gamma=3.0, don't
  convert or compensate.

This is a formalization of what you get when you spend decades ignoring
color management, and people build things based on behavior-in-practice,
not behavior-in-theory.

Also:
+ gfx.color_management.native_srgb:true for Windows, so we don't use the
  display color profile, which no one else does.
+ Add rec2020_gamma_as_rec709, so we have a path towards maybe having
  rec2020 use its correct transfer function, rather than srgb (like
  rec709).

Differential Revision: https://phabricator.services.mozilla.com/D161857
2022-12-20 22:47:53 +00:00
Kelsey Gilbert 2bda23086f Bug 1799258 - Add prereq Colorspaces stuff, including generic gamma->linear LUT inversion approximation. r=gfx-reviewers,bradwerth
No-op all-equal tfs rather than inverting.

Differential Revision: https://phabricator.services.mozilla.com/D163664
2022-12-20 22:47:52 +00:00
Kelsey Gilbert 0dd2e222e9 Bug 1799258 - [qcms] Add query for profile data and lut tables. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D163663
2022-12-20 22:47:52 +00:00
Byron Campen [:bwc] 474445501f Bug 1800136: Fix gap between PC.close() and the storage of its final stats in PeerConnectionCtx. r=ng
Ensures that:
1) We never have stats report in a still-registered PC _and_ the stats for
   closed PCs.
2) We never have a stats report disappear between when a PC is closed, and when
   it deregisters.
3) If a stats report appears in WebrtcGlobalInformation as closed, a call to
   ClearAllStats will ensure that this stats report does not reappear later
   when the PC dereigsters.

Also simplifies things a bit.

Differential Revision: https://phabricator.services.mozilla.com/D162652
2022-12-20 22:12:10 +00:00
Byron Campen [:bwc] dd8d375ce3 Bug 1800136: Make RTCRtpSender::GetStats get ICE stats. r=ng
Also fix bugs where we would get duplicate ICE stats. This mostly mattered to
WebrtcGlobalInformation since RTCStatsReportInternal does not automatically
remove duplicate ids like RTCStatsReport (RTCStatsReport is maplike).

Differential Revision: https://phabricator.services.mozilla.com/D162322
2022-12-20 22:12:10 +00:00
Byron Campen [:bwc] 456a426204 Bug 1800136: Add tests for duplicate stats ids in WebrtcGlobalInformation. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D162651
2022-12-20 22:12:09 +00:00
Byron Campen [:bwc] bdcfd5c090 Bug 1800136: Test-cases for ICE candidate stats. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D162321
2022-12-20 22:12:09 +00:00
Otto Länd 33170958b2 Bug 1532644, 1532644: apply code formatting via Lando
# ignore-this-changeset
2022-12-20 22:34:08 +00:00
Sean Feng ebe205d6bb Bug 1532644 - Don't call mNext->OnStartRequest if we are waiting for JS validator to make a decision r=farre,smaug,necko-reviewers,kershaw
If we decide to cancel an request, fetch request needs it to be done before
FetchDriver::OnStartRequest is called, otherwise it'll resolve the
promise and we want it to throw for ORB.

Depends on D163283

Differential Revision: https://phabricator.services.mozilla.com/D165032
2022-12-20 21:41:08 +00:00
Sean Feng f3b35814c7 Bug 1532644 - Implement the initial version of the Javascript Validator for ORB r=farre,smaug
For things that can be parsed as Javascript, we need to figure out
if they are JSON, and we want to block opaque JSON resources for ORB.

This initial version just checks the first byte of the response, and
blocks it if it's a curly bracket.

Differential Revision: https://phabricator.services.mozilla.com/D163283
2022-12-20 21:41:08 +00:00
Marian-Vasile Laza 06e6971fa0 Backed out 2 changesets (bug 1805963) for causing mochitest failures on LSObject.cpp. CLOSED TREE
Backed out changeset d70e48585724 (bug 1805963)
Backed out changeset f627a5289831 (bug 1805963)
2022-12-20 23:53:40 +02:00
James Teow ccf08ca071 Bug 1792718 - Skip linux asan/debug/tsan and Windows debug for frequent failures - r=Standard8 DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D165205
2022-12-20 21:34:10 +00:00
owlishDeveloper 596f7460c1 Bug 1795075 - Add GeckoView API to notify mobile apps that a cookie banner was detected and\or handled r=geckoview-reviewers,amejiamarmol,jonalmeida
Differential Revision: https://phabricator.services.mozilla.com/D163962
2022-12-20 21:32:24 +00:00
Ryan VanderMeulen 6add7b745a Bug 1806702 - Increase the max runtime for TSAN mochitest-browser-a11y to 45min. r=taskgraph-reviewers,bhearsum DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D165183
2022-12-20 21:22:32 +00:00
alwu 1760cc707b Bug 1806552 - only use media engine playback on win10+. r=media-playback-reviewers,azebrowski
Differential Revision: https://phabricator.services.mozilla.com/D165106
2022-12-20 21:22:30 +00:00
Tom Ritter d641f49795 Bug 1806134: Use --no-ansi with Poetry to avoid an unexpected error r=marco
Also, pin poetry at the same time

Differential Revision: https://phabricator.services.mozilla.com/D165184
2022-12-20 21:01:10 +00:00
Julian Descottes 689bdfa180 Bug 1806419 - [devtools] Add test helper to wait for a specific target and use it in bfcache color simulation test r=nchevobbe
See detailed comment on the bug for the investigation

Differential Revision: https://phabricator.services.mozilla.com/D165168
2022-12-20 20:59:07 +00:00
Otto Länd a9f973595a Bug 1247687, 1247687, 1247687, 1247687, 1247687, 1247687, 1247687, 1247687, 1247687, 1247687, 1247687, 1247687, 1247687, 1247687: apply code formatting via Lando
# ignore-this-changeset
2022-12-20 21:16:10 +00:00
Yulia Startsev 9c6e8f203e Bug 1247687 - Update mozilla wpt meta files with new expectations; r=asuth
Depends on D162742

Differential Revision: https://phabricator.services.mozilla.com/D162743
2022-12-20 20:56:16 +00:00
Yulia Startsev ecbf50bdd3 Bug 1247687 - Update wpt code to enable worker static-import templates to set CSP; r=asuth
Depends on D162741

Differential Revision: https://phabricator.services.mozilla.com/D162742
2022-12-20 20:56:16 +00:00
Yulia Startsev c7483d57ab Bug 1247687 - Copy over csp related web-platform test files and metadata; r=asuth
Depends on D156102

Differential Revision: https://phabricator.services.mozilla.com/D162741
2022-12-20 20:56:15 +00:00
Yulia Startsev dcbacd54c8 Bug 1247687 - Implement csp for Module Workers; r=evilpie,asuth,rpl,ckerschb
Depends on D155691

Differential Revision: https://phabricator.services.mozilla.com/D156102
2022-12-20 20:56:15 +00:00
Yulia Startsev b1e89340a6 Bug 1247687 - Initial wpt-tests; r=jonco,asuth
Depends on D155568

Differential Revision: https://phabricator.services.mozilla.com/D155691
2022-12-20 20:56:15 +00:00
Yulia Startsev ef3c7012f8 Bug 1247687 - Handle cancellation of long running modules; r=jonco
This is a slightly annoying thing that can happen. When we abruptly cancel (such as an infinitely
running script being forcibly terminated) we will be in a state where the EvaluateModule call will
finish _after_ the loader is destroyed. So, instead we track if there has been a forcible
cancelation, and exit early.

Depends on D155690

Differential Revision: https://phabricator.services.mozilla.com/D155568
2022-12-20 20:56:14 +00:00
Yulia Startsev e35e35d3c0 Bug 1247687 - Use requestCredentials to set secFlags for modules; r=jonco
This implements the specified request credentials behavior from the spec, and is tested in wpt.

Depends on D155566

Differential Revision: https://phabricator.services.mozilla.com/D155690
2022-12-20 20:56:14 +00:00
Yulia Startsev d625cafe6f Bug 1247687 - Implement requestCredentials for Module Workers; r=jonco
This weaves credentials through from the private to script creation.

Depends on D155567

Differential Revision: https://phabricator.services.mozilla.com/D155566
2022-12-20 20:56:13 +00:00
Yulia Startsev a0b8b2351c Bug 1247687 - Implement correct referrer for modules; r=jonco
In our implementation, we do not have "client" as a referrer, so we resolve the URI directly as part
of ScriptLoadRequest creation.

Depends on D147327

Differential Revision: https://phabricator.services.mozilla.com/D155567
2022-12-20 20:56:13 +00:00
Yulia Startsev 83dd3f6844 Bug 1247687 - Implement initial Static Module Loading for Workers; r=jonco
This is the first pass of getting static module loading to work. This roughly implements
https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-worklet/module-worker-script-graph --
without some of the settings objects correctly set.

Th WorkerModuleLoader itself is implementing step 5, with the StartFetch method handling moving the work back to the main thread. The algorithm in step 5 is generic to all modules.

Depends on D147329

Differential Revision: https://phabricator.services.mozilla.com/D147327
2022-12-20 20:56:13 +00:00
Yulia Startsev 85669b74b0 Bug 1247687 - Disallow ImportScripts from module workers; r=jonco
ImportScripts should be disallowed for module works, which are initialized in the following way:
`new Worker("url", { module:true})`. We set the WorkerType for workers accordingly, and can use that
to detect if import scripts are being incorrectly used.

Depends on D147326

Differential Revision: https://phabricator.services.mozilla.com/D147329
2022-12-20 20:56:12 +00:00
Yulia Startsev e859be10b8 Bug 1247687 - Implement InitModuleLoader methods for WorkerScriptLoader and WorkerGlobalScope; r=jonco
This implements a method to initialize the moduleLoader for workers. This will initialize only once, for all worker types (module and classic).

Depends on D147324

Differential Revision: https://phabricator.services.mozilla.com/D147326
2022-12-20 20:56:12 +00:00
Yulia Startsev 0289a05e1e Bug 1247687 - Add WorkerModuleLoader skeleton; r=jonco
Initial Skeleton for module loader work.

Depends on D134052

Differential Revision: https://phabricator.services.mozilla.com/D147324
2022-12-20 20:56:11 +00:00
Yulia Startsev f7221bd475 Bug 1247687 - Update WebIDL to accept module workers; r=asuth
Depends on D163239

Differential Revision: https://phabricator.services.mozilla.com/D134052
2022-12-20 20:56:11 +00:00
Nika Layzell e2c34ca338 Bug 1804485 - Part 3: Mark a bunch of messages as [LazySend], r=smaug
See part 1 for an explanation of the attribute. To my approximation,
these messages appear to be ones which should be OK to delay sending
until another message is sent, or an idle runnable is fired, as they
largely set up state in the receiving process for future messages.

I tried not to be too aggressive at least at first, and this attribute
is fairly safe, so it is possible that we could get some benefits from
many more messages being annotated with it in the future.

Differential Revision: https://phabricator.services.mozilla.com/D164276
2022-12-20 20:23:37 +00:00
Nika Layzell fea85dfb01 Bug 1804485 - Part 2: Mark Shmem messages as [LazySend], r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D164275
2022-12-20 20:23:37 +00:00
Nika Layzell 97ad997db9 Bug 1804485 - Part 1: Add support for [LazySend] ipc messages, r=ipc-reviewers,mccr8
This is intended to be used to mark messages which do nothing on the
receiving side other than setting up state for future IPC messages,
meaning that the send can be delayed until other more important work is
complete, or until a non-LazySend IPC message is sent.

This does not break any message ordering guarantees, as the lazy
messages will be sent in order before any non-lazy messages are sent.

Differential Revision: https://phabricator.services.mozilla.com/D164274
2022-12-20 20:23:37 +00:00
Nika Layzell ada6120335 Bug 1805963 - Part 2: remove support for local execution, r=xpcom-reviewers,jstutte
The only consumer of this feature has been removed, so we don't need it
anymore. It acts very differently than other runnables run on the main thread,
so removing it will simplify things.

Differential Revision: https://phabricator.services.mozilla.com/D164841
2022-12-20 20:22:03 +00:00
Nika Layzell 5df7e399b9 Bug 1805963 - Part 1: Stop using local execution mode for LSObject operations, r=janv
The reason this was originally added was for bug 1516277 in order to allow a
synchronous dispatch to a background thread to create a new PBackground
instance without deadlocking. The dispatch didn't want to support running other
main thread runnables, but needed to support sending the runnable to create a
new PBackground instance on the main thread.

This is no longer an issue since bug 1737828, where we changed PBackground
startup to no longer require the main thread, so we can remove the complexity
and instead use a monitor to handle changes. This also allows removing the
timer, as the monitor's timeout can be used instead.

I also changed the logic slightly to make it more likely to catch an expecting
shutdown by waiting on the monitor with a timeout, as previously the main
thread would not be being woken up and checking the condition very often, due
to it not having any runnables to execute.

Differential Revision: https://phabricator.services.mozilla.com/D164840
2022-12-20 20:22:03 +00:00
Nika Layzell 0ff3b55986 Bug 1806332 - Dispatch CacheOutputCloseListener to main thread when already there, r=kershaw,necko-reviewers
This should avoid the crash caused by the CacheOutputCloseListener being
fired on the main thread too late during shutdown by keeping the
previous behaviour when on the main thread.

Differential Revision: https://phabricator.services.mozilla.com/D165062
2022-12-20 20:18:46 +00:00
Edgar Chen 9b2d8200a8 Bug 1801391 - Avoid handling multiple widget fullscreen at the same time; r=smaug
We had some protection in https://searchfox.org/mozilla-central/rev/2fc2ccf960c2f7c419262ac7215715c5235948db/dom/base/nsGlobalWindowOuter.cpp#4259-4265,
but it isn't enough, it is still possible that fullscreen state get confused if
there are multiple request happens at a short time.

This patch tries to improve how we handle multiple request, we don't need to
track each request, but need to ensure widget matches with the latest fullscreen
state specified.

Differential Revision: https://phabricator.services.mozilla.com/D163311
2022-12-20 20:17:33 +00:00
Michael Froman 0f29aa394d Bug 1806547 - add no-op commit processing for release-branch cherry-picks. r=dbaker DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D165188
2022-12-20 20:15:22 +00:00