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

38660 Коммитов

Автор SHA1 Сообщение Дата
Hiroyuki Ikezoe d72d343fad Bug 1663000 - Ensure the dynamic toolbar can be movied via scroll handoff from a subframe. r=botond,geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D93919
2020-11-04 03:21:14 +00:00
Hiroyuki Ikezoe f5ab9e9122 Bug 1663000 - Handle the event as if it's consumed in the root APZC in InputQueue::ReceiveTouchInput() if there's contents covered by the dynamic toolbar. r=geckoview-reviewers,botond,snorp
Differential Revision: https://phabricator.services.mozilla.com/D93917
2020-11-04 03:16:17 +00:00
Hiroyuki Ikezoe 9a544e618f Bug 1663000 - Return UNHANDLED even if there's no event handler which uses preventDefault() and the root content is not covered by the dynamic toolbar. r=botond,geckoview-reviewers,snorp
This change has a couple of tests but they are for scrollable/non-scrollable
contents, they are not for non-scrollable contents but covered by the dynamic
toolbar cases, e.g. 100vh body element.  Those cases will be introduced in the
subsequent change.

Differential Revision: https://phabricator.services.mozilla.com/D93915
2020-11-04 03:16:07 +00:00
Hiroyuki Ikezoe ea157cca7c Bug 1663000 - Send the composition size without the dynamic toolbar height to the compositor. r=botond
Also add AsyncPanZoomController::CanScrollDownwardsWithDynamicToolbar to tell
whether the root APZC is scrollable or there is room covered by the dynamic
toolbar so that we can tell GeckoView to move the dynamic toolbar in such cases.

Differential Revision: https://phabricator.services.mozilla.com/D93914
2020-11-04 03:16:04 +00:00
Matt Woodrow f3718b95dd Bug 1674856 - Copy CanvasClient texture flags to created textures in all paths. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D95572
2020-11-03 23:51:49 +00:00
Markus Stange 116877f258 Bug 1615858 - Take historical touch positions into account when estimating touch velocity. r=kats
This also adds a test. The velocities computed in the test are the following:

SimpleVelocityTracker: 0.65 with full data, 0.467 with partial data
AndroidVelocityTracker: 1.225 with full data, 0.833 with partial data

Differential Revision: https://phabricator.services.mozilla.com/D95651
2020-11-03 16:46:29 +00:00
Ting-Yu Lin 8cd9090bc6 Bug 1674863 Part 2 - Use strong types to define fallback intrinsic width, height, and size. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95578
2020-11-03 19:54:44 +00:00
Kartikaya Gupta 5d9cc0d0cf Bug 1673505 - Don't create inactive scrollframe hitinfos for hidden scrollframes. r=tnikkel
If there is a scrollframe that is inactive but also visibility:hidden, then
we shouldn't create a hit test info for it, because APZ will consider it as
being visible. In the non-fission case this doesn't matter much but in the
fission case the input event could end up getting sent to the wrong process if
the hidden inactive scrollframe is sitting on top of an OOP iframe.

Differential Revision: https://phabricator.services.mozilla.com/D95767
2020-11-03 19:43:07 +00:00
Matt Woodrow 726340ba67 Bug 1674878 - Expose more detailed WR backend information to TextureFactoryIdentifier. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D95588
2020-11-03 18:24:43 +00:00
Razvan Maries c032d89358 Backed out 3 changesets (bug 1674856) for Windows10 swr reftests perma failures. CLOSED TREE
Backed out changeset 8e52162cdf48 (bug 1674856)
Backed out changeset eb84f9c620ac (bug 1674856)
Backed out changeset 477a1070a971 (bug 1674856)
2020-11-03 21:43:26 +02:00
Jeff Muizelaar 456e4e8292 Bug 1672842. Avoid using the postscript name to create the CTFontDescriptor. r=jfkthame
Instead create at CTFont and get the descriptor from it.

Differential Revision: https://phabricator.services.mozilla.com/D95750
2020-11-03 17:20:19 +00:00
Matt Woodrow 012ffe6d1a Bug 1674856 - Copy CanvasClient texture flags to created textures in all paths. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D95572
2020-11-03 18:17:14 +00:00
Jonathan Kew 89f3cb420a Bug 1672842 - patch 1 - Update handling of macOS system font to avoid Core Text failures when instantiating the system font. r=jrmuizel
With this patch, the system font seems to work OK again on 10.15 when building Firefox with SDK10.15,
provided webrender is *disabled*. We no longer trigger the Core Text error messages from InitSystemFontNames(),
and the proper system font is used.

(With webrender, we get garbage because it fails to instantiate the system font and renders "random" Times
glyphs instead.)

Differential Revision: https://phabricator.services.mozilla.com/D95453
2020-11-03 17:03:16 +00:00
Lee Salzman 17c5e8a4aa Bug 1652266 - implement Gaussian blur fast-path for SWGL. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D95654
2020-11-03 17:03:32 +00:00
Kartikaya Gupta 8404c5c2aa Bug 1674482 - Extend existing OOPIF scrolling test to ensure OOPIFs get scrolled. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D95581
2020-11-03 15:07:01 +00:00
Andrew Osmond 296ee0064d Bug 1642308 - Fix fract offset calculations for picture cache tile invalidation. r=gw
Our fract offset for the tiles should be a simple mapping of the snapped
device position back to picture space. If no snapping is required, then
the position will be precisely the origin. When using this value to
decide if the position has changed for glyph subpixel offset purposes,
we must consider it in device space, since picture to device space can
be effectively arbitrary.

We update the stored fract offset at which a tile was rendered whenever
we invalidate the whole tile, not just when we detect the fract offset
has changed by a notable amount. This should reduce spurious
invalidations since the tile was actually rendered at a different offset
that we had recorded prior to this patch.

Differential Revision: https://phabricator.services.mozilla.com/D91156
2020-11-03 14:58:54 +00:00
Jeff Muizelaar ff58e7d381 Bug 1674956 - Make lut_interp_linear safe. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D95653
2020-11-03 11:37:16 +00:00
Matt Woodrow 31bb79f3a4 Bug 1660236 - Hold mutex while accessing shared SkImage data. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D93442
2020-10-29 17:19:52 +00:00
Markus Stange 85a8f577c7 Bug 1674279 - Compute correct velocities during a pan in AndroidVelocityTracker. r=botond
We were (correctly) negating the velocity in ComputeVelocity, but not in
AddPosition, so the velocity was upside down during the pan and then flipped its
sign at the end of the pan.

Differential Revision: https://phabricator.services.mozilla.com/D95253
2020-11-03 01:48:35 +00:00
Markus Stange 046ba93e91 Bug 1674279 - Fix reversed logic in this AXIS_LOG message. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D95252
2020-11-03 01:48:35 +00:00
Markus Stange 86a2ac2768 Bug 1674279 - Only call OnPan from OnPanEnd if the pan end event comes with a displacement. r=botond
On macOS, the pan end events usually don't come with a displacement, so the call
to OnPan is unnecessary.

This change fixes the test APZCSnappingOnMomentumTester.Snap_On_Momentum when
the Android velocity tracker is used. The test was failing in the following way:
The test executes a pan gesture where the pan end event has a zero delta.
The pan end event is dispatched after a delay after the last delta-ful pan.
Calling OnPan for the zero-delta event at the end added an additional data point
to the velocity tracker's history, making it look like the pan had come to an
abrupt stop.
This abrupt stop distorts the quadratic polynomial which the Android velocity
tracker fits to the data points, causing the tracker to predicts a reversal of
the velocity.
This reversal causes the scroll snap to be initiated in the wrong direction.
We snap upwards instead of downwards, and the test fails.

This patch fixes the failure because the velocity tracker no longer sees an
abrupt stop, so it no longer predicts a reversal of the pan direction.

For the regular velocity tracker, we add another delta-ful pan event to the test,
to have enough deltas to compute a velocity from. This test will fail if a zero
velocity is computed, due to a problem described in bug 1674308.

Differential Revision: https://phabricator.services.mozilla.com/D95251
2020-11-03 01:48:35 +00:00
Markus Stange cb7f406381 Bug 1674279 - Increase scrollable range of the nested scroll frame so that the accelerated fling does not hit the end of the range before TestFlingAcceleration() can read the velocity. r=botond
This fixes APZScrollHandoffTester.ScrollgrabFlingAcceleration2.

Depends on D95249

Differential Revision: https://phabricator.services.mozilla.com/D95648
2020-11-03 01:53:38 +00:00
Markus Stange b411691496 Bug 1674279 - Break the "moving pinch" gesture into three events, so that the velocity trackers can determine a non-zero velocity. r=botond
This fixes the following test:

APZCPinchGestureDetectorTester.Panning_TwoFingerFling_ZoomDisabled

Differential Revision: https://phabricator.services.mozilla.com/D95249
2020-11-03 01:48:34 +00:00
Markus Stange 3fced5727b Bug 1674279 - Break the pan gesture into three steps, so that the velocity tracker has enough samples to compute a velocity. r=botond
This makes the following tests pass on Android:

APZCBasicTester.Fling
APZScrollHandoffTester.PartialFlingHandoff

Differential Revision: https://phabricator.services.mozilla.com/D95248
2020-11-03 01:48:34 +00:00
Markus Stange 256676e26e Bug 1674279 - Reduce time between simulated touch events to 20ms so that the Android velocity tracker doesn't treat the gaps as pauses. r=botond
This makes the following tests pass on Android:

APZCFlingStopTester.FlingStop
APZCFlingStopTester.FlingStopSlowListener
APZCFlingStopTester.FlingStopPreventDefault
APZScrollHandoffTester.SimultaneousFlings
APZScrollHandoffTester.ScrollgrabFling
APZScrollHandoffTester.ScrollgrabFlingAcceleration1
APZScrollHandoffTester.ImmediateHandoffDisallowed_Fling

It causes the following test to start failing on non-Android:

APZScrollHandoffTester.ScrollgrabFlingAcceleration2

That's because the reduced time between the pan events causes a higher scroll
speed, so the fling goes faster and farther, and hits overscroll. This will be
fixed in a later patch in this series.

Differential Revision: https://phabricator.services.mozilla.com/D95247
2020-11-03 01:48:33 +00:00
Markus Stange fb0d01472e Bug 1674279 - When determining whether to start a fling, require the velocity to be greater than apz.fling_min_velocity_threshold (change >= to >). r=botond
This only really makes a difference when the pref is set to zero: Now we will no
longer attempt to kick off no-op flings. Many of the APZ gtests are manually
setting the pref to zero, and were unintentionally kicking off no-op flings.
As a result, they were crashing on an assertion in APZFlingPhysics which checks
that flings always start with a non-zero velocity.

When the pref is set to a non-zero value, which is the case for our users, it
doesn't really make a difference whether we check > or >=, because users are
very unlikely to hit the "==" case. So this patch shouldn't affect the user
experience.

As a result of this change, the following test starts passing on Android:

APZCFlingStopTester.FlingStopTap

There are a lot more tests that were hitting this assertion, but those are still
failing for other reasons.

On non-Android, this change causes the following test to fail:

APZCPinchGestureDetectorTester.Panning_TwoFingerFling_ZoomDisabled

That's because the regular velocity tracker determines a velocity of zero, and
the test checks that a fling is started. This test will be fixed in an upcoming
patch in this series.

Differential Revision: https://phabricator.services.mozilla.com/D95246
2020-11-03 01:48:33 +00:00
Jeff Muizelaar b91e9dc743 Bug 1674943. Ensure the CStrings live long enough. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D95643
2020-11-03 01:16:31 +00:00
Dzmitry Malyshau 8d81c7e769 Bug 1674917 - Update parking_lot to 0.11 r=nika
Differential Revision: https://phabricator.services.mozilla.com/D95610
2020-11-02 22:56:40 +00:00
Glenn Watson c1e5418cb9 Bug 1674690 - Remove DocumentLayer while retaining the rest of the Document API. r=nical
This removes some of the complexity in the renderer associated with
drawing multiple document layers in a single render. It retains
the rest of the document API, which will be used to implement the
functionality in bug #1654938.

Differential Revision: https://phabricator.services.mozilla.com/D95478
2020-11-02 20:27:58 +00:00
tobar2018 d7a64d8211 Bug 1673051 - Remove OnYosemiteOrLater(), OnElCapitanOrLater(), and OnSierraOrLater(). r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D95304
2020-11-02 16:25:18 +00:00
Kartikaya Gupta 86bd1a2c2f Bug 1674426 - Remove expired CONTENT_RESPONSE_DURATION probe. r=botond
Depends on D95346

Differential Revision: https://phabricator.services.mozilla.com/D95347
2020-11-02 13:36:15 +00:00
Jeff Muizelaar 109c8f450a Bug 1674672 - qcms: Change input gamma table to a Option<Vec<f32>>. r=aosmond
All of the code that produces these tables is updated to operate
on Vecs.

Differential Revision: https://phabricator.services.mozilla.com/D95463
2020-11-02 13:32:07 +00:00
Jeff Muizelaar 627cb758c8 Bug 1674671 - Add some documentation about the architecture of glsl-to-cxx. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D95462
2020-11-02 00:03:07 +00:00
Jeff Muizelaar 0f61683211 Bug 1674656 - qcms: make lut_inverse_interp16 safe. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D95460
2020-11-01 20:06:06 +00:00
Jeff Muizelaar 7d71ab63f7 Bug 1674621 - qcms: change some *mut to *const. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D95459
2020-11-01 20:05:01 +00:00
Jeff Muizelaar 7b07725fe9 Bug 1672547 - qcms: Change some raw ptrs to references. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D94397
2020-11-01 01:54:48 +00:00
Jeff Muizelaar edcb500aaa Bug 1672309 - Port remaning gtests to Rust. r=aosmond
I've left the C++ ones for now.

Differential Revision: https://phabricator.services.mozilla.com/D94246
2020-10-31 21:55:20 +00:00
Jonathan Kew 5050c89342 Bug 1672925 - Catch possible exceptions when trying to access font tables loaded through DWrite. r=lsalzman
If there's a device error trying to read some of the data from a font, it's better to catch the exception
and leave that individual font unusable (without names or character map) than to crash the whole process.

Differential Revision: https://phabricator.services.mozilla.com/D95146
2020-10-31 14:27:40 +00:00
Lee Salzman d1f364349a Bug 1621454 - adjust fuzz for SWGL span shaders. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D95325
2020-10-31 13:30:57 +00:00
Lee Salzman 30859a273e Bug 1621454 - reduce requirements for SIMD padding in SWGL. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D95148
2020-10-31 13:30:57 +00:00
Lee Salzman ee92d8de85 Bug 1621454 - implement SWGL shaders for brush_image/solid/opacity. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D95110
2020-10-31 13:30:57 +00:00
Lee Salzman b8fb6a6412 Bug 1621454 - support SWGL span shaders for fast-pathing inside WR GLSL. r=jrmuizel
Span shaders can be defined in GLSL by defining a function named swgl_drawSpanRGBA8
(or R8 depending on output format). A set of extended SWGL intrinsics is defined in
swgl_ext.h that provides various optimized means for implementing these span shaders.
This replaces the older C++ include-file based draw_span functionality that was
unfinished and cumbersome to use with a more flexible mechanism that interacts better
with fragment shaders.

Differential Revision: https://phabricator.services.mozilla.com/D95109
2020-10-31 13:55:38 +00:00
Butkovits Atila c4646c9aa3 Backed out 4 changesets (bug 1621454) for causing bustage src/swgl_ext.h. a=backout
Backed out changeset d0d03d5a81a8 (bug 1621454)
Backed out changeset 6675f76d6f11 (bug 1621454)
Backed out changeset 29943d5348df (bug 1621454)
Backed out changeset 80c0aaa81c2e (bug 1621454)
2020-10-31 12:28:47 +02:00
Lee Salzman 00b039a687 Bug 1621454 - adjust fuzz for SWGL span shaders. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D95325
2020-10-31 02:28:08 +00:00
Lee Salzman 24424982ce Bug 1621454 - reduce requirements for SIMD padding in SWGL. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D95148
2020-10-31 02:28:06 +00:00
Lee Salzman 998dc342a6 Bug 1621454 - implement SWGL shaders for brush_image/solid/opacity. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D95110
2020-10-31 02:28:03 +00:00
Lee Salzman c46f8fb78b Bug 1621454 - support SWGL span shaders for fast-pathing inside WR GLSL. r=jrmuizel
Span shaders can be defined in GLSL by defining a function named swgl_drawSpanRGBA8
(or R8 depending on output format). A set of extended SWGL intrinsics is defined in
swgl_ext.h that provides various optimized means for implementing these span shaders.
This replaces the older C++ include-file based draw_span functionality that was
unfinished and cumbersome to use with a more flexible mechanism that interacts better
with fragment shaders.

Differential Revision: https://phabricator.services.mozilla.com/D95109
2020-10-31 02:28:01 +00:00
Timothy Nikkel 781c73b968 Bug 1671331. Skip gfx/layers/apz/test/mochitest/helper_bug1669625.html on android. r=kats
I spent a lot of effort trying to get this test to work when I originally landed it, as document in the comments on https://phabricator.services.mozilla.com/D92891

At the end of that I mistakenly concluded it magically started working because I forgot to set a pref when doing a try push.

The test is checking that a paint _doesn't_ happen. So you must go to great care to make sure a random paint doesn't happen. The test is stable enough on desktop but on mobile some other paints creep in. I tried to fix that but I had already spent a ton of time on it and it didn't seem fruitful. Having the test on all desktop platforms should be good enough.

Flipping apz.force_disable_desktop_zooming_scrollbars pref on android exposes this failure. (The test is testing a regression from flipping that pref on desktop).

Differential Revision: https://phabricator.services.mozilla.com/D95419
2020-10-30 22:32:36 +00:00
Matt Woodrow b792b4dc70 Bug 1673906 - Use FrameRendered notifications for releasing animated shared surfaces when using SWGL. r=aosmond
Depends on D95103

Differential Revision: https://phabricator.services.mozilla.com/D95104
2020-10-29 19:08:12 +00:00
Matt Woodrow 8a5f7deed8 Bug 1673906 - Generate a WR epoch for RecvUpdateResources. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D95103
2020-10-29 19:08:12 +00:00