Commit Graph

706491 Commits

Author SHA1 Message Date
Nils Ohlmeier [:drno]
c4b7f99c65 Bug 1418804: add support for ptime attributes. r=ng
Depends on D71137

Differential Revision: https://phabricator.services.mozilla.com/D74492
2020-05-08 23:45:03 +00:00
Nils Ohlmeier [:drno]
33e7071cd6 Bug 1418804: adding support for usedtx and maxaveragebitrate. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D71137
2020-05-09 03:46:40 +00:00
Emilio Cobos Álvarez
4060ea8247 Bug 1636357 - Update smallbitvec. r=jwatt
This is needed for the next patch.

Differential Revision: https://phabricator.services.mozilla.com/D74401
2020-05-08 18:40:51 +00:00
Erik Nordin
6b2aad6d2b Bug 1636266 - Report XUL Cache StyleSheet Memory r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D74450
2020-05-09 01:41:30 +00:00
David Major
5fff0f03db Bug 1614375 - UBSan pointer-overflow suppressions for clang-10 r=tsmith
Differential Revision: https://phabricator.services.mozilla.com/D63690
2020-05-08 21:46:08 +00:00
Nils Ohlmeier [:drno]
21e50b8e9f Bug 1418804: update webrtc-sdp 0.3.5 -> 0.3.6. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D74491
2020-05-08 23:30:42 +00:00
Nika Layzell
3615e45be9 Bug 1636279 - Part 2: Unify WindowContext new document state updating code, r=farre
When a new document is loaded in a WindowContext, various pieces of state need
to be updated in the parent process. This is currently done in an ad-hoc manner
in nsGlobalWindowOuter::SetNewDocument. This change moves the updating logic
into a common method on WindowGlobalChild.

Differential Revision: https://phabricator.services.mozilla.com/D74325
2020-05-08 20:42:06 +00:00
Nika Layzell
136a1ffa7a Bug 1636279 - Part 1: Streamline WindowContext initialization, r=farre
This should make the flow of how data gets into the initial WindowContext state
more clear, and allows the setting of initial synced WindowContext fields.

Differential Revision: https://phabricator.services.mozilla.com/D74324
2020-05-08 20:44:12 +00:00
Nika Layzell
2b70befb83 Bug 1636186 - Remove unnecessary CookieJarSettingsArgs data from WindowContext, r=timhuang
The entire CookieJarSettingsArgs is currently being synced into every content
process, when only two fields of that structure are actually needed.

Those two fields are extracted from the CookieJarSettingsArgs and synchronized
separately to avoid leaking information such as principals into every content
process.

Differential Revision: https://phabricator.services.mozilla.com/D74258
2020-05-08 20:10:56 +00:00
Jon Bauman
ff79fde159 Bug 1624056 - Properly vendor mp4parse-rust. r=kinetik
This requires --build-peers-said-large-imports-were-ok since
third_party/rust/mp4parse/src/lib.rs is 113KB. This code is just moving from
media/mp4parse-rust to third_party/rust, so it's not really adding to net code
size.

Differential Revision: https://phabricator.services.mozilla.com/D74488
2020-05-09 00:36:48 +00:00
Timothy Nikkel
e28d058a27 Bug 1636061. Rollup popups on direct manipulation event. r=NeilDeakin
Direct Manipulation uses a different input model from processing messages that Windows sends.

Windows asks us if we want to start a direct manipulation session by sending us the DM_POINTERHITTEST message, and we call SetContact if we do. After that Windows won't send us messages until the user ends the gesture. Instead Direct Manipulation will update a transform (that's invisible to the user). We pull that transform and turn it into pan and pinch gestures.

So DealWithPopups is not called and popups don't get rolled up. Instead I call it in the function where we send all events that come from dmanip.

Differential Revision: https://phabricator.services.mozilla.com/D74215
2020-05-08 23:20:38 +00:00
Timothy Nikkel
1bca0138f5 Bug 1630912. Handle sending Direct Manipulation input events properly. r=kats
The old code didn't handle content prevent defaulting the input.

The pinch gesture code doesn't seem to fully work properly, it will allow a little pinch zooming before halting it if content is prevent defaulting it. Not sure what is up yet.

Differential Revision: https://phabricator.services.mozilla.com/D73220
2020-05-08 23:20:31 +00:00
Timothy Nikkel
642d331b8c Bug 1630912. Add a small state machine and code to send pinch and pan events from direct manipulation. r=kats
We can't just get pinch events, we need to handle both.

This state machine code is basically copied from Chrome's implementation.

Differential Revision: https://phabricator.services.mozilla.com/D71307
2020-05-08 23:20:23 +00:00
Timothy Nikkel
9439cfc6c5 Bug 1630912. Hook up direct manipulation object to vsync. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D71306
2020-05-08 23:20:05 +00:00
Timothy Nikkel
3cd8209b42 Bug 1630912. Create the necessary direct manipulation objects. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D71305
2020-05-08 23:19:58 +00:00
Timothy Nikkel
1dcfcb4957 Bug 1630912. Add PT_TOUCHPAD to touchinjection_sdk80.h. r=aklotz
We need this in a later patch.

Differential Revision: https://phabricator.services.mozilla.com/D71304
2020-05-08 23:19:38 +00:00
Kartikaya Gupta
688791ad90 Bug 1630912. Add a simple way to observe vsync on the mainthread. r=jrmuizel
I had to mess with the refcounting of Display (and hence destructors) because we create a NewRunnableMethod inside Display that holds a pointer to |this|. There are versions of NewRunnableMethod that don't take a ref but I'm not sure of the lifetime of Display, so easier to just take a ref since several of the subclasses are already refcounted.

Differential Revision: https://phabricator.services.mozilla.com/D71303
2020-05-08 23:19:31 +00:00
Jean-Yves Avenard
92f0d9e84a 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-08 20:46:09 +00:00
Jean-Yves Avenard
2df41aacc8 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-08 20:46:13 +00:00
Jean-Yves Avenard
731fbf0e5b 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-08 20:46:11 +00:00
Jean-Yves Avenard
28a7590089 Bug 1634253 - P9. Disable intermittently failing test on win64 debug and asan. 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.
The test was also to be nominated for disabling to be too high failure rates.
https://bugzilla.mozilla.org/show_bug.cgi?id=1411477#c99

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 23:31:21 +00:00
Jean-Yves Avenard
26d1508deb 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 20:20:39 +00:00
Jean-Yves Avenard
3879afd98b 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-08 20:20:41 +00:00
Jean-Yves Avenard
912e294406 Bug 1634253 - P6. Remove MessageLoop use from gfx. r=kats,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D73825
2020-05-08 20:20:44 +00:00
Jean-Yves Avenard
48971d875b 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-08 20:20:25 +00:00
Jean-Yves Avenard
4f02149e61 Bug 1634253 - P4. Have NS_NewNamedThread take a already_Refed<nsIRunnable. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D73823
2020-05-08 20:20:28 +00:00
Jean-Yves Avenard
ee2897c234 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-08 20:20:30 +00:00
Jean-Yves Avenard
0afd0b06c9 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-08 20:20:32 +00:00
Jean-Yves Avenard
dd75a6a8ab Bug 1634253 - P1. Fix constness. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D73819
2020-05-08 20:20:35 +00:00
Andrew Osmond
470d4c6138 Bug 1605642 - Fix glyph distortion during animations. r=lsalzman
When we animate text, we rasterize the glyphs in an arbitrary local
space once, and scale them during the animation. Some glyphs may be
pressed against the edge of the texture, resulting in artifacts due to
how the sampling works in the shader. This patch fixes the sampling
issues by padding glyph textures with an extra transparent pixel border.
This only applies to glyphs that are rasterized in local space.

This patch does not add the extra padding for Mac because it is already
padding its glyphs for Mac-specific reasons, and does not appear to be
as suspectible to the problem.

Differential Revision: https://phabricator.services.mozilla.com/D74457
2020-05-08 20:23:41 +00:00
Julian Descottes
9483eb9c71 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 21:53:53 +00:00
Julian Descottes
d5b84fb6fe 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 21:53:31 +00:00
Julian Descottes
116f7ce28e 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 21:52:53 +00:00
Julian Descottes
d813016c11 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 21:52:20 +00:00
Ved Dandekar
b4e95e58c5 Bug 1622744 Display correct http header size when fetched from cache r=bomsy
Differential Revision: https://phabricator.services.mozilla.com/D72947
2020-05-08 17:35:49 +00:00
Gijs Kruitbosch
5705baea2e Bug 1636559 - make confirmation hint panel lazy, r=emalysz
Differential Revision: https://phabricator.services.mozilla.com/D74466
2020-05-08 21:51:31 +00:00
Tom Schuster
4f64f475f2 Bug 1595046 - Make it possible to inspect every exception value in the web console. r=jonco,baku,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D64437
2020-05-08 20:54:17 +00:00
Michael Kaply
990a4a43ce Bug 1621423 - Allow adding webextension restricted domains via policy. r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D74304
2020-05-08 21:01:58 +00:00
Jim Blandy
9f699a4611 Bug 1598972: Consider gradients as tile backdrops. r=gw
The fix for bug 1621390 extended the tile backdrop computation to recognize
images. This patch extends that to consider gradients as potential
backdrops as well.

Differential Revision: https://phabricator.services.mozilla.com/D70458
2020-05-07 19:55:24 +00:00
Jeff Muizelaar
25633c1166 Bug 1636307 - Reenable device lost testing on WebRender. r=kats
This was disabled in bug 1389000. It seems to pass now.

Differential Revision: https://phabricator.services.mozilla.com/D74468
2020-05-08 20:37:36 +00:00
Timothy Nikkel
4aad22e9f1 Bug 1636380. Fix IsZoomedContentRoot assert in nsDisplayListBuilder::MarkFramesForDisplayList. r=botond
When we hit the assert the root content document is https://searchfox.org/mozilla-central/rev/dc4560dcaafd79375b9411fdbbaaebb0a59a93ac/testing/mochitest/harness.xhtml . It is basically a xul document, and look xul document it does not have a root scroll frame. The frame we hit the assert on is fixed pos, so it passes the fixed pos part of IsZoomedContentRoot here https://searchfox.org/mozilla-central/rev/dc4560dcaafd79375b9411fdbbaaebb0a59a93ac/layout/base/ViewportUtils.cpp#139 but there is no root scroll frame so it still returns null.

We should only his this when there is no root scroll frame. So to fix this I decided to make the existing code conditional on having a root scroll frame and then write a bunch of pretty strong asserts that we are in this exact edge case if we don't have a root scroll frame.

Differential Revision: https://phabricator.services.mozilla.com/D74381
2020-05-08 21:00:11 +00:00
Ian Bicking
04a09d6f70 Bug 1636568 - suppress Sentry reporting of a common Screenshots failure r=_6a68
Starting with Firefox 76 we're seeing this (seemingly benign) error being reported much more commonly, causing unnecessary load on our Sentry instance. Adding .noReport=true keeps this from being reported to Sentry.

Differential Revision: https://phabricator.services.mozilla.com/D74471
2020-05-08 20:19:51 +00:00
Jared Wein
347199fb88 Bug 1636032 - Update the strings for the OS auth prompt to make it clearer that the requested password is the OS password. r=MattN,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D74455
2020-05-08 19:43:02 +00:00
Zibi Braniecki
3701c67646 Bug 1631381 - Reject the initial translation if allocating an element fails. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D74343
2020-05-08 11:33:53 +00:00
Logan Smyth
208709890a Bug 1628853 - Expose a feature flag to enable/disable //# sourceXX= parsing. r=arai
These pragmas can be used to influence stack trace filenames, and to affect
how and where files show up in developer tools. In some circumstances, it can
be nice to disable allof that functionality in order to ensure that you get
the stack trace and debug information as SpiderMonkey sees it.

Differential Revision: https://phabricator.services.mozilla.com/D72103
2020-05-08 00:37:21 +00:00
Drew Willcoxon
1046583b93 Bug 1398416 - Part 1: Rewrite Query.start() to be a little faster and in preparation for form history changes. r=mak
`Query.start` shouldn't `await provider.tryMethod("isActive")`. Instead it
should call all providers at once and then await all the promises. Also make
some other simplifications and changes to `Query.start` in preparation for later
patches.

Factor out `notifyResults` into `Query._notifyResultsFromProvider` because the
next patch will use it.

Differential Revision: https://phabricator.services.mozilla.com/D74191
2020-05-08 06:00:50 +00:00
Lee Salzman
185ad4f96e Bug 1636014 - handle signed overflow for SWGL text blend funcs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74187
2020-05-08 19:07:08 +00:00
Anny Gakhokidze
5fc9601f29 Bug 1633471 - Do not reuse inner window when printing, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D74261
2020-05-08 20:13:16 +00:00
Ricky Stewart
d7c0c9fd6b Bug 1635755 - Part 2: Use deterministic hashing over types in ipdl file generation r=nika
The hashes of certain strings is used indirectly in generating IDL C++ files. Before, we were using the `hash()` function to generate these hashes, which in Python 3 is non-deterministic over subsequent `python3` processes, causing bugs like bug 1635755. Instead, use a specific, deterministic hash to avoid spurious diff failures.

The `md5` hash function isn't completely cryptographically secure but the security of the hashes isn't important for us in this case since we're just using them as a per-string identifier. We could use a more robust hash function but there may be performance implications from doing so.

Differential Revision: https://phabricator.services.mozilla.com/D74446
2020-05-08 20:31:46 +00:00
Ted Campbell
b0d9530aa8 Bug 1635976 - Add more asserts about FunctionBox ordering. r=mgaudet
Assert that trace list visits children before parents. Make this explicit
instead of relying on existing publishDeferredFunctions checks so that we
check for non-lazy functions as well for more certainty.

Differential Revision: https://phabricator.services.mozilla.com/D74440
2020-05-08 18:56:58 +00:00