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

706467 Коммитов

Автор SHA1 Сообщение Дата
Jean-Yves Avenard 3d167e6590 Bug 1635001 - P3. Fix APZ controller thread-safety access. r=kats
The APZ was keeping a raw pointer to the controller thread. This was a dangerous exercise.
This was okay on desktop, as the controller thread was the main thread and would have outlived everything else. On Android however it's the UI thread and it could get deleted before we received a last input event.

So we use a strong pointer instead to prevent the thread from being deleted and as such, we now needs to explicitly clear it on shutdown.

This requires the various methods in APZThreadUtils to be made thread-safe so that the controller thread can be shutdown mid-air.

Differential Revision: https://phabricator.services.mozilla.com/D73830
2020-05-07 08:30:22 +00:00
Jean-Yves Avenard 4329c55477 Bug 1635001 - P2. Don't use MessageLoop threads with APZ. r=kats,geckoview-reviewers,snorp
It is unclear on why MessageLoop was ever used with this code.

Differential Revision: https://phabricator.services.mozilla.com/D73829
2020-05-07 08:30:22 +00:00
Jean-Yves Avenard d9b6b0b5c2 Bug 1635001 - P1. Make threading model clearer when dispatching tasks on the controller thread. r=kats
RemoteContentController::PostDelayedTask must be called on the controller thread; and all the 3 implementations are doing is dispatching the task on the current MessageLoop.

The naming and that the method was pure virtual made it a bit confusing as it gave the impression we would dispatch the task on the controller's internal thread, which wasn't the case.

So we make a generic implementation and assert to the documented use.

Differential Revision: https://phabricator.services.mozilla.com/D73828
2020-05-07 08:30:21 +00:00
Jean-Yves Avenard ddfdb206d2 Bug 1634253 - P9. Disable intermittently failing test on win64 debug. r=Gijs
The test is a permafail without any of those changes on all my windows machine so I've been unable to diagnostic what could happen.

According to :kats, the test was never rewritten to use the new APZ. Disabling on the platform where there's high intermittent failure (about 70%)

Differential Revision: https://phabricator.services.mozilla.com/D74391
2020-05-08 13:34:50 +00:00
Jean-Yves Avenard 2facca62f0 Bug 1634253 - P8. Remove use of MessageLoop in Canvas. r=mattwoodrow
MessagePool brings no benefit over the traditional nsIThread.

Additonally, replace some incorrect use of RefPtr for xpcom objects.

Differential Revision: https://phabricator.services.mozilla.com/D73827
2020-05-08 11:44:59 +00:00
Jean-Yves Avenard c07b64c378 Bug 1634253 - P7. Re-enable BackgroundHangMonitor on Compositor thread. r=froydnj
We re-enable the option to have a BackgroundHangMonitor on the compositor thread that was removed earlier..

Differential Revision: https://phabricator.services.mozilla.com/D73826
2020-05-07 08:04:30 +00:00
Jean-Yves Avenard f304da03ac Bug 1634253 - P6. Remove MessageLoop use from gfx. r=kats,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D73825
2020-05-07 08:04:53 +00:00
Jean-Yves Avenard 444a610296 Bug 1634253 - P5. Make threading model clearer. r=kats
CompositorBridgeParent::ScheduleTask was always called from the compositor thread ; so make it explicit that we are dispatching the task to the compositor thread.

We inline the method instead.

Differential Revision: https://phabricator.services.mozilla.com/D73824
2020-05-07 08:04:32 +00:00
Jean-Yves Avenard f597eaee8b Bug 1634253 - P4. Have NS_NewNamedThread take a already_Refed<nsIRunnable. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D73823
2020-05-07 08:04:34 +00:00
Jean-Yves Avenard efec5e2e85 Bug 1634253 - P3. Don't cause assertion when delay is 0. r=froydnj
already_AddRefed destructor assert that it's nullptr.
DelayedDispatch check that the value passed isn't 0 and return an error code, leaving the already_AddRefed untouched.

Differential Revision: https://phabricator.services.mozilla.com/D73821
2020-05-07 08:04:37 +00:00
Jean-Yves Avenard 3e533d2327 Bug 1634253 - P2. Dissociate running a BackgroundHangMonitor from main thread. r=froydnj
This will allow to have other threads to use one such as the compositor thread.

Differential Revision: https://phabricator.services.mozilla.com/D73820
2020-05-07 08:04:39 +00:00
Jean-Yves Avenard 2494dc377e Bug 1634253 - P1. Fix constness. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D73819
2020-05-07 08:04:41 +00:00
Julian Descottes 9aafb9457c Bug 1627270 - Return TabDescriptors from RootFront::getTab r=ochameau
Depends on D73780

Differential Revision: https://phabricator.services.mozilla.com/D73905
2020-05-08 13:34:31 +00:00
Julian Descottes 79da930d9d Bug 1618695 - Wait for target to be fully destroyed before switching targets r=ochameau
Depends on D73779
Reusing the same tab descriptors across process switches means that calling
getTarget on the tab descriptor must create a new target and not return the old one.

The caching mechanism on descriptor fronts relies on the fact that the TargetFront is still alive.
When TargetFront.actorID is null, the cache is invalidated and we fetch a new target.

However the current target switching mechanism relies on an event fired very early in the target
destruction sequence. This means that when we will call getTarget, the old target might still be
alive.

We also start waiting for an event in RDMs target switching, which was not waiting for anything so far

Differential Revision: https://phabricator.services.mozilla.com/D73780
2020-05-08 13:34:05 +00:00
Julian Descottes e02c23a3a8 Bug 1618695 - Stop updating shouldCloseClient on the old local tab target r=ochameau
Depends on D73778

Flipping this boolean can create race conditions.
We set it to false and then wait for the "close" event fired by the target front
After that, in parallel:
- the target will finish initializing fronts (async)
  -> then we check shouldCloseClient
- the new target will be created (for target switching scenarios)
  -> then we flip back shouldCloseClient

We have no guarantee that we will check shouldCloseClient before it is flipped back to true.
Furthermore, this target is being destroyed, there is no reason to flip the boolean.
So removing this code seems like the best option.

Differential Revision: https://phabricator.services.mozilla.com/D73779
2020-05-08 13:33:51 +00:00
Julian Descottes 19031b50d9 Bug 1618695 - Forward local tab instance to tab descriptor r=ochameau
Depends on D73777

The filter is a special argument of TabDescriptor::getTarget that is
closely linked to local-tab. It can only be set by rootFront getTab.

However if we reuse the same tab descriptor for several targets, we need
to make sure to consistently create LocalTabTargetFronts if we are debugging
a local tab.

Usually the tab descriptor target is created via getTab and cached, but under
some circumstances, we can attempt to call getTarget on a tab descriptor from
another codepath first (eg reparent remote frame).

The localTab becomes a property of the TabDescriptorFront, and getTarget takes
no argument, which is consistent with other target descriptors.

Differential Revision: https://phabricator.services.mozilla.com/D73778
2020-05-08 13:33:36 +00:00
Julian Descottes 71babaeff5 Bug 1618695 - Remove unused options argument for TabDescriptorFront r=ochameau
Depends on D73726

Differential Revision: https://phabricator.services.mozilla.com/D73777
2020-05-08 13:33:19 +00:00
Julian Descottes 77b0d2a7ce Bug 1618695 - Add test to check that TabDescriptor survives a process change r=ochameau
Depends on D73701

Differential Revision: https://phabricator.services.mozilla.com/D73726
2020-05-08 13:33:11 +00:00
Julian Descottes 407994d12f Bug 1618695 - Stop watching for TabRemotenessChange in BrowserTabList r=ochameau
Depends on D73700

The TabDescriptorActor/Front is never destroyed, but we used to clean the map entry on TabRemotenessChange.
Removing this cleanup allows to reuse tab descriptors after a navigation.

Differential Revision: https://phabricator.services.mozilla.com/D73701
2020-05-08 12:45:29 +00:00
Julian Descottes 9f49394cce Bug 1618695 - Remove exited event and property from tab descriptor r=ochameau
This is just a cleanup, exited is not used in the tab descriptor actor

Differential Revision: https://phabricator.services.mozilla.com/D73700
2020-05-08 12:45:01 +00:00
Mihai Alexandru Michis 83052958cc Backed out 2 changesets (bug 1635050) for causing xpcshell failures in test_rejectForeignAllowList.js
CLOSED TREE

Backed out changeset 9ac5cff04d6c (bug 1635050)
Backed out changeset ca35e729ea3e (bug 1635050)
2020-05-08 16:22:04 +03:00
Henrik Skupin aa232e7905 Bug 1631089 - [remote] Force sRGB tag for generated screenshots. r=remote-protocol-reviewers,jgraham
With full color management enabled in bug 455077, generated
screenshots will not be saved as sRGB when the display has
a different ICC profile. As long as bug 1615395 hasn't been
fixed, force screenshots to be saved as sRGB.

Differential Revision: https://phabricator.services.mozilla.com/D74007
2020-05-08 09:31:36 +00:00
Andrea Marchesini 5cde5c1f6c Bug 1635050 - Implement a whitelist system for cookieBehavior REJECT_FOREIGN with exceptions - tests, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D73616
2020-05-08 07:27:49 +00:00
Andrea Marchesini 5ac830be28 Bug 1635050 - Implement a whitelist system for cookieBehavior REJECT_FOREIGN with exceptions, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D73615
2020-05-08 11:51:20 +00:00
Julian Descottes 6c4f741806 Bug 1611096 - Check webprogresslistener as a fallback for non loaded documents r=rcaliman,ochameau
Depends on D62624

With the previous implementation, an uninitialized document could be returned as a root node.
Here we try to be more explicit and wait for a correct root node. However in some cases a document can remain uninitialized and will never transition to any other state.
If the document is uninitialized but is not currently loading, we should consider it as a valid root node.

Differential Revision: https://phabricator.services.mozilla.com/D62625
2020-05-08 11:55:14 +00:00
Julian Descottes b16aa572e3 Bug 1611096 - Fix tests relying on newRoot mutations r=rcaliman
Depends on D62623

`new-root` is no longer a mutation, but an event emitted by the `walker` actor.
Tests watching for mutations should be updated accordingly. They also need to call watchRootNode explicitly.

Differential Revision: https://phabricator.services.mozilla.com/D62624
2020-05-08 11:54:06 +00:00
Julian Descottes 6f5f77fa4f Bug 1611096 - Add test for inspector target switching r=ochameau,rcaliman
Depends on D62622

Differential Revision: https://phabricator.services.mozilla.com/D62623
2020-05-08 11:53:48 +00:00
Julian Descottes db1a2da5e2 Bug 1611096 - Add watch-like API for new root event r=ochameau,rcaliman
Depends on D62617

Differential Revision: https://phabricator.services.mozilla.com/D62622
2020-05-08 11:52:14 +00:00
Gian-Carlo Pascutto b37cb7e592 Bug 1455498 - Whitelist directories passed in LD_LIBRARY_PATH. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D70554
2020-05-07 15:40:42 +00:00
Sylvestre Ledru 5cea4f4d3c Bug 1635826 - Fix mozlint codespell. r=fix CLOSED TREE 2020-05-08 14:39:10 +03:00
Jan de Mooij 9ade539b4a Bug 1635717 follow-up - Don't try to snapshot JSOp::InitElemArray. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D74373
2020-05-08 09:19:55 +00:00
Sylvestre Ledru 135afb8ea4 Bug 1635826 - docs: Override some default values in the table to improve the rendering r=marco,ahal
Ride along: document the other changes

Differential Revision: https://phabricator.services.mozilla.com/D74275
2020-05-08 11:10:29 +00:00
Sylvestre Ledru 4d135ea624 Bug 1635826 - Document all platforms, who" owns" it and why we run it r=marco
Differential Revision: https://phabricator.services.mozilla.com/D74116
2020-05-08 11:20:43 +00:00
Jan Varga 6caab074de Bug 1624802 - Refactor tests in dom/quota/test; r=dom-workers-and-storage-reviewers,ttung
The refactoring consists of:
- moving tests into dedicated directories for given test type
  (browser, mochitest, xpcshell)
- replacing add_test with addTest in browser tests to share common setup code
- adding a way to synchronously load scripts in all test types by providing a
  path relative to the top level directory
- adding a way to explicitely run a mochitest inside a worker context
  (loadWorkerScript)
- removing the need to declare testGenerator in tests
- removing the need to set some common preferences in individual tests
- sharing common functions for:
  - system context (system.js)
  - content context (content.js)
  - browser tests (browser.js)
  - mochitest tests (mochitest.js)
  - xpcshell tests (xpcshell.js)
  - nested content test inside a browser test (nestedtest.js)
  - buffer/view/blob/file (file.js)

Differential Revision: https://phabricator.services.mozilla.com/D73149
2020-05-08 09:49:52 +00:00
Lee Salzman d94331c3ca Bug 1635661 - lower interpolant usage in SWGL. r=jrmuizel
Depends on D74000

Differential Revision: https://phabricator.services.mozilla.com/D74001
2020-05-07 03:45:28 +00:00
Lee Salzman fbab072082 Bug 1635661 - store WR YUV shader layers in flat varying to reduce interpolant usage. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74000
2020-05-07 04:09:40 +00:00
Lee Salzman c864b9fc4f Bug 1635649 - optimize texture(sampler2DArray) for same layer in SWGL. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D73993
2020-05-07 04:08:41 +00:00
Lee Salzman f4e2895339 Bug 1635616 - shuffling optimizations for SWGL x86 bilinear filtering code. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D73979
2020-05-08 09:58:23 +00:00
Tom Schuster aee6f9ad93 Bug 1635958 - Remove unused GuardIsNotNullOrUndefined. r=jandem
Depends on D74345

Differential Revision: https://phabricator.services.mozilla.com/D74346
2020-05-08 08:00:45 +00:00
Tom Schuster b142b2123c Bug 1635958 - Warp: Transpile LoadBooleanResult. r=jandem
Depends on D74344

Differential Revision: https://phabricator.services.mozilla.com/D74345
2020-05-08 07:58:30 +00:00
Tom Schuster e11d3555f7 Bug 1635958 - Warp: Transpile GuardIsNullOrUndefined. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D74344
2020-05-08 08:05:38 +00:00
Mihai Alexandru Michis 4b10161251 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2020-05-08 12:38:33 +03:00
Mihai Alexandru Michis e9131060a0 Merge autoland to mozilla-central. a=merge 2020-05-08 12:34:44 +03:00
Emma Humphries 90110c694f Bug 1635654 - Update in-tree docs for new triage process. r=sylvestre
This changeset covers the new, severity-based triage process

Fix linting errors

Fix links and language

Fix headings and broken link

Add missing newline to labels.rst

Differential Revision: https://phabricator.services.mozilla.com/D73999
2020-05-08 09:28:35 +00:00
Jonathan Kew f7f1b28b77 Bug 1634670 - Fonts bundled with the application should be treated as part of the base font set, not as user-installed fonts. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D73437
2020-05-08 09:25:37 +00:00
Masayuki Nakano 5f4a29365e Bug 1627175 - part 14: Create `HTMLEditUtils::GetLastLeafChild()` instead of `EditorBase::GetRightmostChild()` r=m_kato
Depends on D74204

Differential Revision: https://phabricator.services.mozilla.com/D74361
2020-05-08 04:18:54 +00:00
Andreea Pavel dbd1462996 Backed out changeset b76e3e988fdd (bug 1577110) for breaking geckodriver signin toolchains a=backout 2020-05-08 06:51:23 +03:00
Masayuki Nakano f358298706 Bug 1627175 - part 13: Get rid of `EditorBase::CreateRange()` r=m_kato
It's currently enough simple and there is only one user.  So, we can get rid
of it.

Differential Revision: https://phabricator.services.mozilla.com/D74204
2020-05-08 01:55:53 +00:00
Csoregi Natalia 8ff8af6a82 Backed out changeset 892ab673d138 (bug 1599722) for build bustage on MoveResolver.h:. CLOSED TREE 2020-05-08 12:07:27 +03:00
Jonathan Kew c4e8c700da Bug 1634677 - patch 3 - Collect telemetry for cases where platform font fallback wanted to use a font that is blocked from visibility to CSS. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D74043
2020-05-08 08:58:08 +00:00