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

856376 Коммитов

Автор SHA1 Сообщение Дата
Robert Longson 905dbcc069 Bug 1717312 - clear mapped values if we're not animating any more r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D188712
2023-09-20 19:17:21 +00:00
Kelly Cochrane 4c5476f29b Bug 1833674 - Add Telemetry for History in Firefox View r=jsudiaman,fxview-reviewers,sclements
Differential Revision: https://phabricator.services.mozilla.com/D188628
2023-09-20 18:37:48 +00:00
Iulian Moraru 385fa91360 Backed out 9 changesets (bug 1848783, bug 1837168, bug 1835920) for causing multiple failures. CLOSED TREE
Backed out changeset ab1717421318 (bug 1848783)
Backed out changeset de5e1715c877 (bug 1848783)
Backed out changeset 1f64106e6667 (bug 1848783)
Backed out changeset e082ba20bbb2 (bug 1848783)
Backed out changeset cb56c5d713bf (bug 1848783)
Backed out changeset 735161c251e4 (bug 1848783)
Backed out changeset 3d1468ac6e84 (bug 1848783)
Backed out changeset 9ff5b92032cb (bug 1837168)
Backed out changeset 15cfb0c4f048 (bug 1835920)
2023-09-20 22:29:41 +03:00
Mozilla Releng Treescript d9f018236c no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
cy -> c36dde60b96ae3b3b929d75dff167e1d8c0151a0
dsb -> cb3b3e49187eda77526fd899f652d6226bcc7fb3
el -> aaa12e42d251af77156a8db8ee1110499fed0732
es-CL -> d241fb00de10115e007c692d8f43c9fd6de889a7
fr -> 89be36ebfe42abf397593b9751de453e74e0c98a
fur -> efaa1937146fa67752eb3222752b6de605dd7191
gl -> 90bc52e06889c4e7c0e451f50c0c4df419bdf3a8
gn -> d5d2435065ce84e96891029afe11075622b36e04
he -> e6542c6c3927833fd2eacbc0b4d11ca34ed3eaba
hsb -> 580ab2b86a609012775b553a33414fb871141078
hu -> 2a9b0ae68b013852c24588b3be5932ceb04003f5
ia -> af4e986a90122191074fb490bada3f65294e29f8
is -> a17441ffb69b421baddf6ebe62790d6201d3b1a0
it -> 5a545c3cc403b61193a0a5df8eade6577ea5dca6
ka -> 5e3d2bf922a6723ee02407139f4501a3e0e5d478
ko -> 25167343e0e76b1b9058bdacda82e159afb6d059
nb-NO -> 48837d119c3dec81af6e14e10493fec5a09199b9
nl -> 59981b033dc90952f6a62754074960ad9e722705
nn-NO -> cb663dfd8eff6a37e7792696eec1fcab238aec38
pt-PT -> c7f33e93ec87c9f7bf196c0518d4d79dd3e210ab
si -> b1c6cc59511da35d6b63c71ae0b95e0450514e4d
sk -> 4e0ad94f9204dca51544ccf78e5298d695de2036
sv-SE -> fe2bec5893bd87ae0ad016531dfbe11a01887ff5
th -> 7ea673f7248e001e713b01356225bdd4d3ed7b9f
vi -> 6f97487158703da81939322753d8f46b7d1cc20d
2023-09-20 19:00:36 +00:00
Iulian Moraru 13c034b936 Backed out changeset 424ebf6979de (bug 1845333) for causing mochitest-chrome failures on test_opentabs.html. CLOSED TREE 2023-09-20 21:49:00 +03:00
edgul c9eda14998 Bug 1802057 - Block the following characters from use in the cookie name in the cookie string: 0x3B (semi-colon), 0x3D (equals), and 0x7F (del) r=dveditz,cookie-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D182373
2023-09-20 17:50:23 +00:00
alwu ec0674893b Bug 1854034 - add log to display support from processes. r=media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D188665
2023-09-20 17:40:38 +00:00
DJ b4c471ced5 Bug 1854171 - Expose felt privacy pref language to localization. r=fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D188741
2023-09-20 17:36:20 +00:00
Jared Hirsch 47f610d245 Bug 1848160 - Record product page exposure for users in shopping experiment. r=perry.mcmanis,shopping-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D188261
2023-09-20 17:35:23 +00:00
John Schanck d15bfcf389 Bug 1813778 - implement WebAuthn isConditionalMediationAvailable. r=keeler,webidl,saschanaz
Differential Revision: https://phabricator.services.mozilla.com/D188137
2023-09-20 17:33:46 +00:00
Yoshi Cheng-Hao Huang cf93dd51b7 Bug 1841859 - Part 5: Update WPT ini files. r=jonco,evilpie,smaug
Differential Revision: https://phabricator.services.mozilla.com/D186947
2023-09-20 17:32:16 +00:00
Yoshi Cheng-Hao Huang b1300fa3db Bug 1841859 - Part 4: Fix "Determine the referrer when the policy is same-origin. r=evilpie
https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer

"same-origin"
  1. If the origin of referrerURL and the origin of request’s current URL are the
  same, then return referrerURL.
  2. Return no referrer.

Current implementation compares with triggeringPrincipal and current URI,
which is incorrect for static imports.

Also added some test for same-origin in referrer-policy-for-descendants.sub.html

parentWithSameOrigin:
  document(origin A) imports import-referrer-checker.sub.js (origin A),
  which imports referrer-checker.py (origin A), so referrerURL
  (import-referrer-checker.sub.js) is expected.

remoteParentWithSameOriginWhenCrossOriginSameOriginDescendant:
  document(origin A) imports a cross-origin import-referrer-checker.sub.js
  (origin B),
  which imports referrer-checker.py (origin B),
  so referrerURL (import-referrer-checker.sub.js) is expected.

remoteParentWithSameOriginWhenCrossOriginRemoteDescendant:
  document(origin A) imports a cross-origin import-referrer-checker.sub.js
  (origin B),
  which imports referrer-checker.py (origin A),
  so "" (no referrer) is expected.

Similar tests can also be found in /html/semantics/scripting-1/the-script-element/module/referrer-same-origin.sub.html

Differential Revision: https://phabricator.services.mozilla.com/D187386
2023-09-20 17:32:16 +00:00
Yoshi Cheng-Hao Huang 3533aeb165 Bug 1841859 - Part 3: Fix "Determine the referrer when the policy is origin-when-cross-origin". r=evilpie
https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer

"origin-when-cross-origin":
  If the origin of referrerURL and the origin of request’s current URL are the same, then return referrerURL.

Originally the implementation checks if the triggeringPrincipal and the
request's current URL are the same-origin.
But this will cause wrong refererr to be sent in the following case:

document (origin: A) -> static import a JS script called Script1 (origin:B)
Script1 imports (statically) another JS script Script2 (origin: B)

According to the spec, when determining the referrer of Script2,
Script1's origin and Script2's origin should be compared,
but in our implementation, the document's origin and the Script2's
origin are compared.

Differential Revision: https://phabricator.services.mozilla.com/D186946
2023-09-20 17:32:15 +00:00
Yoshi Cheng-Hao Huang b758eaeb68 Bug 1841859 - Part 2: Parse the referrer policy from http header and update the referrer policy. r=jonco,smaug
This implementes the following requirement from the spec:

https://html.spec.whatwg.org/#fetch-a-single-module-script

12. In both cases, let processResponseConsumeBody given response response and null, failure, or a byte sequence bodyBytes be the following algorithm:

  5. Let referrerPolicy be the result of parsing the `Referrer-Policy` header given response.
  6. If referrerPolicy is not the empty string, set options's referrer policy to referrerPolicy.

Differential Revision: https://phabricator.services.mozilla.com/D186944
2023-09-20 17:32:15 +00:00
Yoshi Cheng-Hao Huang cd69bc3c65 Bug 1841859 - Part 1: Move ReferrerPolicy to ScriptLoadRequest and LoadedScript. r=jonco,smaug
Suggested by jonco during review,
https://phabricator.services.mozilla.com/D186944#inline-1036982

Differential Revision: https://phabricator.services.mozilla.com/D187385
2023-09-20 17:32:15 +00:00
Iulian Moraru 98e5cc913d Backed out 22 changesets (bug 1839396) for causing multiple spidermonkey bustages and jittest failures. CLOSED TREE
Backed out changeset c17523ff7eb5 (bug 1839396)
Backed out changeset 771c47934e72 (bug 1839396)
Backed out changeset d219a4366950 (bug 1839396)
Backed out changeset f1accceff8b8 (bug 1839396)
Backed out changeset 1dd3b4a4da66 (bug 1839396)
Backed out changeset 8645391a6359 (bug 1839396)
Backed out changeset 03082f8db52c (bug 1839396)
Backed out changeset 93a56d4cd58f (bug 1839396)
Backed out changeset 96be1bbf8fff (bug 1839396)
Backed out changeset b0a898413a0f (bug 1839396)
Backed out changeset b0dc61dbe899 (bug 1839396)
Backed out changeset d89ee847ad56 (bug 1839396)
Backed out changeset 42f370321925 (bug 1839396)
Backed out changeset 0321a4a743de (bug 1839396)
Backed out changeset d3f56d11a4b4 (bug 1839396)
Backed out changeset c193770e3745 (bug 1839396)
Backed out changeset d68820286c44 (bug 1839396)
Backed out changeset f10974287494 (bug 1839396)
Backed out changeset 6bbf058933c5 (bug 1839396)
Backed out changeset 101beccd6098 (bug 1839396)
Backed out changeset 030fc635d134 (bug 1839396)
Backed out changeset 89e13efa6b37 (bug 1839396)
2023-09-20 20:58:00 +03:00
Iulian Moraru f44f30add8 Merge mozilla-central to autoland on a CLOSED TREE 2023-09-20 20:47:09 +03:00
Iulian Moraru 077fc34d03 Backed out 2 changesets (bug 1840642) to unblock fuzzing. a=backout
Backed out changeset b0769fdf63e5 (bug 1840642)
Backed out changeset 5f569dc82bbd (bug 1840642)
2023-09-20 20:44:11 +03:00
Emily McMinn 7b8eb0fd22 Bug 1851266 - Add "Terms of use" link to survey and update string IDs r=omc-reviewers,negin
Differential Revision: https://phabricator.services.mozilla.com/D188136
2023-09-20 17:15:33 +00:00
Hanna Jones c612dcd1ca Bug 1818007 - Update storybook command documentation r=reusable-components-reviewers,tgiles,mstriemer
This patch updates our docs to account for the changes to our mach commands/how best to use them. I noticed some weird spacing and a couple missing words while I was reading through the doc - hopefully the additional changes aren't too distracting.

Differential Revision: https://phabricator.services.mozilla.com/D188385
2023-09-20 17:11:40 +00:00
Hanna Jones 0620719b1f Bug 1818007 - Modify the storybook command to launch a local build of Firefox r=mstriemer,mach-reviewers,ahal
This modifies the `./mach storybok` command to spin up a local build by default. This should make it easier to ensure the necessary prefs are getting set and reduce some issues we've been hitting lately when new frontend specific prefs get added.

The `time.sleep(5)` call is pretty inelegant, but it works. Wasn't sure how else to go about that since the `npm run storybook` command never terminates, but open to suggestions.

Differential Revision: https://phabricator.services.mozilla.com/D188384
2023-09-20 17:11:39 +00:00
David Shin 7b67eb8bae Bug 1854151: Optimize the relative selector check path when no relative selector is used. r=emilio
* Lazily calculate changed states and classes when processing pending state & attribute invalidations
* Avoid constructing empty `SmallVec` invalidations when we know there is no invalidation

Differential Revision: https://phabricator.services.mozilla.com/D188733
2023-09-20 17:01:09 +00:00
Otto Länd 4b221aa6ec Bug 1839396: apply code formatting via Lando
# ignore-this-changeset
2023-09-20 17:04:32 +00:00
Nicolas B. Pierron dff59ae92c Bug 1839396 part 19 - Add documentation to GenericPrinter classes. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D183761
2023-09-20 17:00:11 +00:00
Nicolas B. Pierron e1112e440c Bug 1839396 part 18 - Remove GenericPrinter::putAsciiPrintable. r=mgaudet
`putAsciiPrintable` was added temporarily as a substitute for externalizing the
logic done by `QuoteString`, while providing an interface which is as efficient.

Now, `EscapePrinter` is used to replace the content of `QuoteString` while
providing the same implementation, except that it is based on `put` instead of
`putAsciiPrintable`. The `EscapePrinter` already provides the guarantees that
are asserted by `putAsciiPrintable`, thus there is no longer any need for it.

As this patch set introduced `putAsciiPrintable`, there is not yet any external
consumer of it, and `EscapePrinter` should cover all use cases where non-ascii
inputs are provided.

Differential Revision: https://phabricator.services.mozilla.com/D183760
2023-09-20 17:00:11 +00:00
Nicolas B. Pierron bf2079b179 Bug 1839396 part 17 - Make QuoteString and JSONQuoteString infallible. r=mgaudet
The previous patch reimplemented QuoteString to use a `StringSegmentRange`,
which should avoid mutating the inner parts of `JSRope`, while remaining fast on
`JSAtom`-s.

As the StringSegmentRange does not need to allocate with `ensureLinear`, then
all the failures are reported by the `put` functions using the `GenericPrinter`
mechanism, and the `release` functions of `Sprinter` would report the failure if
any.

Thus, there is no need for retuning a boolean value anymore from `QuoteString`
and `JSONQuoteString`, while this is still necessary to check the returned value
variant of `QuoteString` which returns `UniqueChars` by using the `release`
function of `Sprinter`.

Differential Revision: https://phabricator.services.mozilla.com/D183759
2023-09-20 17:00:10 +00:00
Nicolas B. Pierron aaac9b0bb0 Bug 1839396 part 16.2 - GenericPrinter::putString: Handle StringSegmentRange failures. r=arai
When reporting failure, we have to prevent continuation iterating over the
string segments, and stop early, as well as not ignoring the errors.

Differential Revision: https://phabricator.services.mozilla.com/D188248
2023-09-20 17:00:10 +00:00
Nicolas B. Pierron 4802861d94 Bug 1839396 part 16.1 - Reimplement QuoteString using EscapePrinter. r=arai,mgaudet
`QuoteString` is today only available as a mean to serialize a `JSString` to a
`Sprinter`, or by making an extra temporary allocation whch is most likely
discarded once the serialized content has been used once.

This implementation provide a generic escaping mechanism, named `EscapePrinter`,
which can be used on top of any existing Printer class, and with any escaping
logic such as different quotes, or different quotation marks if needed. The
different quoting strategies are implemented using a class which provides
`isSafeChar` and `convertInto` to normalize the `JSString` input characters into
characters which are properly encoded for the Printer.

This change keep the original `QuoteString` behavior, while replacing its
fallible implementation by an infallible implementation. `QuoteString` had an
undocummented side-effect of linearizing the strings while reading them, which
causes memory allocation and potential GC failures. This change replaces the
`ensureLinear` call by the new `GenericPrinter::putString` function which relies
on `StringSegmentRange` to iterate over the string fragments and serialize the
content which does not have the same side-effects.

If performance issue arise from this modification, calls to `ensureLinear`
should be added before the `QuoteString` calls.

Differential Revision: https://phabricator.services.mozilla.com/D183758
2023-09-20 17:00:10 +00:00
Nicolas B. Pierron dcb8feecbc Bug 1839396 part 16.0 - Add JSContext* argument to Sprinter::putString. r=mgaudet
`putString` requires a JSContext, and it is taken out of Sprinter, which does
not make much sense. Making it explicit that a JSContext is required to print
JSString would make things simpler for users instead of failing during the
execution.

Differential Revision: https://phabricator.services.mozilla.com/D187202
2023-09-20 17:00:09 +00:00
Nicolas B. Pierron b47a865543 Bug 1839396 part 15 - Replace Sprinter::jsprintf. r=mgaudet
Sprinter::jsprintf is nowadays the same as GenericPrinter::printf which Sprinter
inherit from. This patch removes all calls to Sprinter::jsprintf and replaces
them by Sprinter::printf.

The advantage of using GenericPrinter::printf is that this reduce the dependency
on Sprinter-specific interface and moves us toward being able to move more
consumers over to the GenericPrinter.

Differential Revision: https://phabricator.services.mozilla.com/D181500
2023-09-20 17:00:09 +00:00
Nicolas B. Pierron 755f14a255 Bug 1839396 part 14 - GC: Bubble-up infallible print functions. r=jonco
Now that Sprinter::put and Sprinter::jsprintf functions are infallible, there is
no need to return a boolean from Nursery::printProfileDurations and
Statistics::printProfileTimes functions.

Differential Revision: https://phabricator.services.mozilla.com/D181499
2023-09-20 17:00:08 +00:00
Nicolas B. Pierron 13454e29f9 Bug 1839396 part 13 - Convert GenericPrinter::put to be infallible. r=mgaudet
Remove the boolean returned value of printing functions of the GenericPrinter
and all descendant classes.

The goal being that error checking is the responsibility of the wrapping
function in charge of the GenericPrinter, and that functions in charge of
providing content should assume that everything is always written successfully.

This patch only look at the GenericPrinter methods, consumers of these functions
would be updated in subsequent patches.

Differential Revision: https://phabricator.services.mozilla.com/D181498
2023-09-20 17:00:08 +00:00
Nicolas B. Pierron f9ec219ed5 Bug 1839396 part 12 - Make Fprinter / LSPrinter short-circuit on previous errors. r=mgaudet
As we are going to remove the returned value, and to be extra cautious, we skip
future re-entry in case of previous failures.

Differential Revision: https://phabricator.services.mozilla.com/D181497
2023-09-20 17:00:07 +00:00
Nicolas B. Pierron 9d6070db8c Bug 1839396 part 11 - Make Sprinter put functions infallible. r=mgaudet
As functions are made infallible, only the 2 release functions are reporting
errors. The advantage of this approach is that the error reporting and checking
would only happen in the release functions calls in the future.  This enables
the upcoming set of patches to change the return type of put functions to make
them infallible, reduce the number of visible branches in debugging code.

This makes the Sprinter class more like a "Sink allocator", where the smell of
allocation failures does not propagate immediatly through the sinking water until
all the water has been through.

Differential Revision: https://phabricator.services.mozilla.com/D181496
2023-09-20 17:00:07 +00:00
Nicolas B. Pierron cfe89700c2 Bug 1839396 part 10 - Replace Sprinter::string by Sprinter::release. r=mgaudet
When using Sprinter::string, one assumes that out-of-memory errors have been
reported earlier. As the code is being converted to be infallible, the
out-of-memory is thus needed when the release function is called. This change
replaces all Sprinter::string by Sprinter::release and explicit the error
checking code path which would be relevant when the Sprinter::put function would
become infallible in follow-up patches.

Differential Revision: https://phabricator.services.mozilla.com/D181495
2023-09-20 17:00:07 +00:00
Nicolas B. Pierron 6766383903 Bug 1839396 part 9 - Add Sprinter::releaseJS. r=mgaudet
Sprinter::releaseJS centralize a mechanism which used in many places across the
JS engine, and replaces it with a single function call as well as democratising
the proper handling of UTF8 which might be added to Sprinter allocated strings.

Differential Revision: https://phabricator.services.mozilla.com/D181494
2023-09-20 17:00:06 +00:00
Nicolas B. Pierron b85cf38472 Bug 1839396 part 8 - Remove Sprinter::operator[]. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D181493
2023-09-20 17:00:06 +00:00
Nicolas B. Pierron f1a3fb648c Bug 1839396 part 7 - Update Sprinter::put to remove stringAt usage. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D181492
2023-09-20 17:00:05 +00:00
Nicolas B. Pierron 125f499b2c Bug 1839396 part 6 - Add Sprinter::length. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D181491
2023-09-20 17:00:05 +00:00
Nicolas B. Pierron 31c49a30c2 Bug 1839396 part 5 - Move GenericPrinter::flush after print/put functions. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D181490
2023-09-20 17:00:04 +00:00
Nicolas B. Pierron bcb716601c Bug 1839396 part 4 - ExpressionDecompiler::getOutput reuse Sprinter allocation. r=arai
Sprinter already create strings, and the ExpressionDecompiler duplicates this
logic to copy the content of the Sprinter buffer. While there is a benefit in
case we over-allocated ahead using Sprinter, this should still reduce the peak
memory allocation.

Differential Revision: https://phabricator.services.mozilla.com/D181489
2023-09-20 17:00:04 +00:00
Nicolas B. Pierron 6672cd5665 Bug 1839396 part 3 - Extract Sprinter::putAsciiPrintable with mozilla::Span. r=mgaudet
QuoteString is currently specialized with a Sprinter argument, but to do that it
relies on the `operator[]`, which implies being able to read the bytes. While
there is no issue today, this goes against making the *Printers infallible.

Thus, this change moves the append logic to a dedicated `putAsciiPrintable`,
removing the `getOffset()` and `operator[]` usage from `QuoteString`.

Differential Revision: https://phabricator.services.mozilla.com/D181488
2023-09-20 17:00:03 +00:00
Nicolas B. Pierron 90f335fdf8 Bug 1839396 part 2 - GenericPrinter: avoid double exception report. r=mgaudet
The `GenericPrinterPrintTarget` uses the same `GenericPrinter`, which already
handles the out-of-memory reporting. Thus, there is no need to report it once
more in `GenericPrinter::vprintf`.

Differential Revision: https://phabricator.services.mozilla.com/D181487
2023-09-20 17:00:03 +00:00
Nicolas B. Pierron df269a464c Bug 1839396 part 1 - Explicit Sprinter::forwardOutOfMemory(). r=mgaudet
This change move the error reporting to the JSContext to be an independent
function, such that we can later migrate `Sprinter::put` to become infallible.

Differential Revision: https://phabricator.services.mozilla.com/D181486
2023-09-20 17:00:03 +00:00
Paul Adenot 9a400afd70 Bug 1852461 - Fix broken crashtest landed in bug 1830206. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D188470
2023-09-20 16:38:46 +00:00
Matthew Gaudet 73d10cac2a No Bug - Fix comment error in ArraySpeciesLookup r=iain DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D188743
2023-09-20 16:31:14 +00:00
Sarah Clements ec86095ac6 Bug 1845333 - Add submenu items to open tabs more menu r=mstriemer,fxview-reviewers,fluent-reviewers,desktop-theme-reviewers,reusable-components-reviewers,sfoster,flod,tgiles
* Modify panel-list and panel-item to support submenu list items
* Add submenu items for Move Tabs and Send Tabs to Devices to open tabs
* Add test coverage for submenu items in open tabs

Differential Revision: https://phabricator.services.mozilla.com/D186471
2023-09-20 16:14:58 +00:00
Benjamin VanderSloot ec323f2b5e Bug 1848783, part 7 - Update WPT ini files - r=anti-tracking-reviewers,timhuang
Differential Revision: https://phabricator.services.mozilla.com/D187288
2023-09-20 16:14:41 +00:00
Benjamin VanderSloot 7b66b30764 Bug 1848783, part 6 - Revoke has storage access when the permission is revoked - r=anti-tracking-reviewers,timhuang
Differential Revision: https://phabricator.services.mozilla.com/D187287
2023-09-20 16:14:40 +00:00
Benjamin VanderSloot aa4774d79e Bug 1848783, part 5 - Move UsingStorageAccess onto the WindowContext to fix the storage access check for resource reuqests within subdocuments without active storage access but with permission r=timhuang,nika
Differential Revision: https://phabricator.services.mozilla.com/D187138
2023-09-20 16:14:40 +00:00