Commit Graph

783497 Commits

Author SHA1 Message Date
Hiroyuki Ikezoe
f388ce7623 Bug 1571758 - Factor out GetAsyncScrollDeltaForSampling. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D133440
2022-01-31 09:40:34 +00:00
Hiroyuki Ikezoe
562a98e9cc Bug 1571758 - Introduce scroll generation in APZC and SampledAPZCState and inform it to the scrollable frame on the main-thread via RepaintRequest. r=botond
The reason why the global ScrollGeneration::sCounter doesn't work for the APZ
case is the APZ sampler thread is per our top level browser window, so if
there are multiple browser windows at the same time, the sCounter will be muted
from different sampler threads.

Differential Revision: https://phabricator.services.mozilla.com/D133439
2022-01-31 09:40:33 +00:00
Hiroyuki Ikezoe
8aa8a32f2a Bug 1571758 - Split out ScrollGeneration into a new header. r=botond
We are going to use it in various places, APZC, SampledAPZState etc.

Differential Revision: https://phabricator.services.mozilla.com/D133437
2022-01-31 09:40:33 +00:00
Tim Chevalier
2415b7b7a1 Bug 1744975 - 16. Conformance tests for section 4.1.2.6 of proposal (setting Tuple properties) r=jandem
Depends on D134841

Differential Revision: https://phabricator.services.mozilla.com/D134842
2022-01-31 08:56:46 +00:00
Tim Chevalier
709021e528 Bug 1744975 - 15. Conformance tests for section 4.1.2.11 of proposal (out-of-range Tuple indices) r=jandem
Depends on D134840

Differential Revision: https://phabricator.services.mozilla.com/D134841
2022-01-31 08:56:45 +00:00
Tim Chevalier
660c8e441e Bug 1744975 - 14. Add test for 9.1.1.1 of spec (Object.prototype.toString) r=jandem
Depends on D134839

Differential Revision: https://phabricator.services.mozilla.com/D134840
2022-01-31 08:56:45 +00:00
Tim Chevalier
5349f4ee4f Bug 1744975 - 13. Conformance tests for Tuple constructor r=jandem
Depends on D134838

Differential Revision: https://phabricator.services.mozilla.com/D134839
2022-01-31 08:56:45 +00:00
Tim Chevalier
f40896fa68 Bug 1744975 - 12. Tests for section 6.1.2.1 of spec (initialization semantics) r=jandem
Depends on D136193

Differential Revision: https://phabricator.services.mozilla.com/D134838
2022-01-31 08:56:44 +00:00
Tim Chevalier
b4a0c192dc Bug 1744975 - 11. Implement Tuple.of() static method r=jandem
Depends on D134836

Differential Revision: https://phabricator.services.mozilla.com/D136193
2022-01-31 08:56:44 +00:00
Tim Chevalier
bc2fccf8b9 Bug 1744975 - 10. Implement Tuple.from() static method r=jandem
Depends on D134835

Differential Revision: https://phabricator.services.mozilla.com/D134836
2022-01-31 08:56:44 +00:00
Tim Chevalier
dffc519df4 Bug 1744975 - 9. Implement Tuple.isTuple() static method r=jandem
Depends on D134834

Differential Revision: https://phabricator.services.mozilla.com/D134835
2022-01-31 08:56:43 +00:00
Tim Chevalier
65a4f8871f Bug 1744975 - 8. Implement tuple prototype methods r=jandem
Depends on D134832

Note: many conformance tests for Array built-ins will need to be
duplicated to work for the equivalent Tuple built-ins eventually; this
commit only includes some of those tests.

Differential Revision: https://phabricator.services.mozilla.com/D134834
2022-01-31 08:56:43 +00:00
Tim Chevalier
34bbc5eb2b Bug 1744975 - 7. Add a TupleLength intrinsic r=jandem
This will be called by self-hosting tuple methods.

n.b. This is only necessary until https://github.com/tc39/proposal-record-tuple/issues/282 is resolved.

Depends on D134828

Differential Revision: https://phabricator.services.mozilla.com/D134832
2022-01-31 08:56:42 +00:00
Tim Chevalier
8b0f129f73 Bug 1744975 - 6. Add IsTuple and ThisTupleValue self-hosting intrinsics r=jandem
Depends on D134827

Differential Revision: https://phabricator.services.mozilla.com/D134828
2022-01-31 08:56:42 +00:00
Tim Chevalier
0deb1b6915 Bug 1744975 - 5. Stringify Record/Tuple wrappers correctly in js::ObjectToSource() r=jandem
Depends on D134826

Differential Revision: https://phabricator.services.mozilla.com/D134827
2022-01-31 08:56:42 +00:00
Tim Chevalier
2a3ab8b928 Bug 1744975 - 4. Handle Records and Tuples properly in js::ToStringSlow() r=jandem
Depends on D134824

Differential Revision: https://phabricator.services.mozilla.com/D134826
2022-01-31 08:56:41 +00:00
Tim Chevalier
5e578fae09 Bug 1744975 - 3. Add thisTupleValue() method to TupleObject r=jandem
Also, expose IsTuple() and ThisTupleValue() (defined in TupleType.cpp)

Depends on D134823

Differential Revision: https://phabricator.services.mozilla.com/D134824
2022-01-31 08:56:41 +00:00
Tim Chevalier
d708869bc0 Bug 1744975 - 2. Throw type error when attempting to convert tuples to numbers r=jandem
As per spec 3.1.2

Depends on D134822

Differential Revision: https://phabricator.services.mozilla.com/D134823
2022-01-31 08:56:41 +00:00
Tim Chevalier
aee715b574 Bug 1744975 - 1. Add error messages for tuple methods r=jandem
Depends on D135016

Differential Revision: https://phabricator.services.mozilla.com/D134822
2022-01-31 08:56:40 +00:00
Tim Chevalier
88d0d93b46 Bug 1744975 - Change type signatures of TupleObject::unbox(), TupleObject::maybeUnbox() r=jandem
* unbox() now returns a TupleType&
   * maybeUnbox() now returns a Maybe<TupleType&>; in both cases, callers are responsible for rooting
   * IsTuple() now takes a Value& rather than a HandleValue
   * ThisTupleValue() now takes a Value& and returns a TupleType&

   These changes are meant to minimize assumptions made by TupleObject and TupleType methods about their inputs, and shift responsibility for rooting onto the callers.

Differential Revision: https://phabricator.services.mozilla.com/D135016
2022-01-31 08:56:40 +00:00
Sebastian Hengst
dee7ad83fa Bug 1752534 - cookies sameSite: update test expectations for late beta and release. r=freddyb DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D137288
2022-01-31 08:05:41 +00:00
Lars T Hansen
c577f72dae Bug 1744513 - Document Wasm's internal ABI. r=rhunt DONTBUILD
Document the wasm-internal ABI.  The prose was copied from the Wasm
ABI 2022 document.

Differential Revision: https://phabricator.services.mozilla.com/D136868
2022-01-31 07:28:00 +00:00
Nicolas Chevobbe
3fc9c13854 Bug 1747410 - [devtools] Fix intermittent in browser_storage_cookies_navigation.js . r=jdescottes.
Guard `Toolbox#updateFrameButton` with `isDestroying` so the call to `this.target`
later in `_commandIsVisible` doesn't throw because `this.commands` is null.

Differential Revision: https://phabricator.services.mozilla.com/D136713
2022-01-31 06:02:19 +00:00
Dragana Damjanovic
2185d4ea34 Bug 1752117 - Neqo version 0.5.7 r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D137254
2022-01-31 05:17:42 +00:00
M. Sirringhaus
bfba4ec9f5 Bug 1694336 - Web Authentication: Only send "none" attestation if it was requested (by server or user) r=dveditz
The old behavior (only send attestation, if attestation-type was "direct" and "none" otherwise) broke the spec.
Only send "none", if directly requested by RP or the user.

Differential Revision: https://phabricator.services.mozilla.com/D132700
2022-01-31 05:14:26 +00:00
Kelsey Gilbert
213f39f6e5 Bug 1749302 - Validate mode for webgl.hint(). r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D137378
2022-01-31 02:59:26 +00:00
Gerald Squelart
10a1425332 Bug 1673513 - Add tests for slow and too-slow child processes - r=florian
Differential Revision: https://phabricator.services.mozilla.com/D136877
2022-01-31 02:22:30 +00:00
Gerald Squelart
833ccac51b Bug 1673513 - Use ProfilerParent::RequestGatherProfileProgress to wait for slow but responsive processes - r=florian
Instead of waiting a set time guessed from how long the parent process took to do its work, after a short time the parent process requests progress updates from all still-pending child processes, and restarts the timer if any progress was made.
If processes become unresponsive, they will be the last ones pending, and after one timer cycle without any progress anywhere, the parent process won't wait for children anymore, and will output all profiles successfully gathered so far.

Added `MOZ_LOG=prof` logging in nsProfiler.cpp, to monitor profile-gathering. (And removed a spurious 'd' character in the `LOG` macro.)

Differential Revision: https://phabricator.services.mozilla.com/D135488
2022-01-31 02:22:30 +00:00
Gerald Squelart
e230bf232e Bug 1673513 - Factor out and improve nsProfiler::RestartGatheringTimer - r=florian
This code will be used again in the following patch.
Instead of destroying and re-creating a new timer, we can re-initialize the existing one.

Also add the timer name "nsProfilerGatheringTimer" when first creating it.

Differential Revision: https://phabricator.services.mozilla.com/D135487
2022-01-31 02:22:30 +00:00
Gerald Squelart
75fffbdebe Bug 1673513 - ProfilerParent::RequestGatherProfileProgress(aChildPid) - r=florian
This helper function in ProfilerParent sends a progress request to a child process. If successfully sent, the response will resolve the returned promise.

Differential Revision: https://phabricator.services.mozilla.com/D135486
2022-01-31 02:22:29 +00:00
Gerald Squelart
9ffde9c15b Bug 1673513 - GetGatherProfileProgress() IPC - r=florian
A new IPC function allows the parent process to request a progress update from any child process.
If a profile generation is in progress, the shared `ProportionValue` can be atomically read and sent back in response.

Differential Revision: https://phabricator.services.mozilla.com/D135485
2022-01-31 02:22:29 +00:00
Gerald Squelart
c2390f1ea1 Bug 1673513 - Generate profile in new worker thread, and log its progress - r=florian,KrisWright
In order to keep the child process responsive to profile IPCs, the heavy work of generating the profile JSON is now done in a separate thread.
A `ProgressLogger` is used to keep track of the progress of this work, and the progress value is stored in a shared atomic `ProportionValue`.
When the JSON profile is ready, the final shmem allocation (used to send the profile to the parent process) is done on the original "ProfilerChild" IPC thread.

Differential Revision: https://phabricator.services.mozilla.com/D135484
2022-01-31 02:22:29 +00:00
Gerald Squelart
32ed5cbb65 Bug 1673513 - profiler_get_profile_json(SpliceableChunkedJSONWriter&, ...) - r=florian
The main goal is to separate the profile generation (in a JSONWriter) from the final allocation needed to output the profile in one block.
This will be needed in the next patch, where the profile generation will be done in a new worker thread, but the shmem allocation *must* be done on the original "ProfilerChild" thread that handles IPC responses.

Differential Revision: https://phabricator.services.mozilla.com/D135483
2022-01-31 02:22:28 +00:00
Gerald Squelart
bd01dc8480 Bug 1673513 - Maintain list of pending profiles, each with child pid - r=florian
Instead of just waiting for a certain number of profiles, the parent process now waits for profiles from a predetermined list of child process ids.
When receiving a profile, or when something goes wrong with a child process, the corresponding listed id can be removed, until the list is empty.
In a later patch, this list will be used to request progress updates from slow processes.

Differential Revision: https://phabricator.services.mozilla.com/D135482
2022-01-31 02:22:28 +00:00
Gerald Squelart
35257b17ef Bug 1673513 - ProfilerParent::GatherProfiles() also returns the child pid - r=florian
This will be useful to tie profiles to the child process id that generated them. (At the moment, the parent waits for a number of profiles, but doesn't check where received profiles actually come from.)

Differential Revision: https://phabricator.services.mozilla.com/D135481
2022-01-31 02:22:28 +00:00
Gerald Squelart
6c3f739b6e Bug 1673513 - Reserve the array space in advance in ProfilerParent::GatherProfiles - r=florian
A small optimization while working on nearby code, so avoid multiple allocations when we already know how much memory we really need.

Differential Revision: https://phabricator.services.mozilla.com/D135480
2022-01-31 02:22:27 +00:00
Gerald Squelart
50995cc271 Bug 1673513 - Use ProgressLogger in Gecko Profiler - r=florian
Add `ProgressLogger` parameter to most JSON-generating functions.
Each function can update the given `ProgressLogger` between 0% and 100%, and create sub-loggers when calling functions.

The main goal of this instrumentation is to notice when any progress is made by child processes (when the parent process is gathering profiles), so it needs to go deep enough so that it is not stuck on a progress value for "too long" -- During development, that meant progress was always happening when observed every 10ms; In later patches, the overall timeout for no-progress-made will be at least 1 second.

Differential Revision: https://phabricator.services.mozilla.com/D135479
2022-01-31 02:22:27 +00:00
Gerald Squelart
57b6cfaee2 Bug 1673513 - ProgressLogger - r=florian
Class used to log the progress of long operations, and simplifying the use through nested function calls and loops.

Differential Revision: https://phabricator.services.mozilla.com/D135478
2022-01-31 02:22:26 +00:00
Gerald Squelart
cb97352555 Bug 1673513 - ProportionValue - r=florian
Class storing a value between 0 and 1, effectively 0% to 100%.

It will be used through a ProgressLogger object to track the progress of JSON profile generation (see following patches).

Differential Revision: https://phabricator.services.mozilla.com/D135477
2022-01-31 02:22:26 +00:00
Benjamin Beurdouche
32bed2a81f Bug 1748820 - land NSS 54d55c10aad8 UPGRADE_NSS_RELEASE, r=beurdouche DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D137391
2022-01-30 18:22:02 +00:00
Andreea Pavel
80dc3acfcc Bug 1744778 - format indentation in disabling condition DONTBUILD 2022-01-30 15:10:39 +02:00
Andreea Pavel
13694a7cf7 Bug 1744565 - disable browser_resources_sources.js on linux64 and win10_2004 opt r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D137390
2022-01-30 12:02:50 +00:00
Andreea Pavel
c4a9cb2336 Bug 1520938 - disable browser_middleClick.js on win10_2004 opt r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D137389
2022-01-30 12:02:41 +00:00
Nicolas B. Pierron
a57a12bf61 Bug 1752472 - Skip eager delazification test case when testing for code coverage. r=arai
JavaScript code coverage is eagerly parsing all functions ahead of time, which
conflict with the configuration required for testing the eager delazification.

This patch disables the test case if JavaScript code coverage is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D137277
2022-01-30 11:27:32 +00:00
Butkovits Atila
13307ffe58 Merge mozilla-central to autoland. CLOSED TREE 2022-01-30 11:45:24 +02:00
Butkovits Atila
524e16997f Merge autoland to mozilla-central. a=merge 2022-01-30 11:34:39 +02:00
Alexandre Poirot
e75e22366c Bug 1752535 - [devtools] Extend the coverage of breakable lines in the source editor. r=bomsy
This patch introduce a new test helper to more easily test a page that reloads with an updated content.
This especially take care of source map support.

Differential Revision: https://phabricator.services.mozilla.com/D137162
2022-01-30 09:04:27 +00:00
Mozilla Releng Treescript
4f26ab22f8 no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD
zh-CN -> bb339fc093bb6c2cbad758d25cdf033c1a0ff6a4
2022-01-30 06:58:52 +00:00
Timothy Nikkel
433caa9ce3 Bug 1752720. Remove unused nsIScrollableFrame::IsScrollingActiveNotMinimalDisplayPort. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D137387
2022-01-30 03:47:27 +00:00
Chris Peterson
640a7dccb3 Bug 1748798 - Add 'Firefox 100 User-Agent String' to the Nightly Experiments settings. r=jaws,flod
The Nightly experiment's description:

> Firefox 100 User-Agent String
>
> Make Nightly send websites a User-Agent string that pretends to be Firefox
> version 100. Use this setting to test whether websites will break when
> Nightly hits a three-digit version number. The real Firefox 100 is scheduled
> to be released in May 2022, so start testing your websites now!

Firefox's User-Agent string says "Firefox/100.0" in both release and pre-release channels. Firefox 100's release date will be 2022-05-03. The Nightly 100 development cycle will begin 2022-03-08.

Chrome has a similar chrome://flags/#force-major-version-to-100 flag for testing a Chrome 100 UA.

Differential Revision: https://phabricator.services.mozilla.com/D135316
2022-01-30 00:38:31 +00:00