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

34523 Коммитов

Автор SHA1 Сообщение Дата
Jonathan Kew 129e7436f7 Bug 1573249 - patch 2 - Don't apply skip-ink to runs of CJK text, because it looks bad with many fonts. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42529

--HG--
extra : moz-landing-system : lando
2019-08-21 15:07:20 +00:00
Jonathan Kew 38828a9be9 Bug 1573249 - patch 1 - Clean up some management of the GlyphRun array in gfxTextRun. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42528

--HG--
extra : moz-landing-system : lando
2019-08-21 15:07:08 +00:00
Alexis Beingessner 31cd501ae3 Bug 1569131 - Also defer RecvParentCommands. r=jrmuizel
We defer ParentCommands when they come in attached to a display list,
but we forgot to defer them when they're sent directly. This was
causing us to crash when we defer updates that register textures
and the content process then suddenly decides we need to delete the
textures and only tells us through RecvParentCommands. We have no
idea what the textures are yet, so we need to defer these commands
along with everything else so that it's processed in the intended order.

Differential Revision: https://phabricator.services.mozilla.com/D39739

--HG--
extra : moz-landing-system : lando
2019-08-21 13:59:49 +00:00
Coroiu Cristina f2e9770b54 Backed out 3 changesets (bug 1573249) for chrome failures at layout/inspector/tests/chrome/test_fontFaceGeneric.xul on a CLOSED TREE
Backed out changeset bdba80dae6e2 (bug 1573249)
Backed out changeset 21306e3f8d31 (bug 1573249)
Backed out changeset 3576d5b9f2db (bug 1573249)
2019-08-21 14:01:11 +03:00
Jonathan Kew 2898eb876f Bug 1573249 - patch 2 - Don't apply skip-ink to runs of CJK text, because it looks bad with many fonts. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42529

--HG--
extra : moz-landing-system : lando
2019-08-21 09:39:02 +00:00
Jonathan Kew 64239ebc50 Bug 1573249 - patch 1 - Clean up some management of the GlyphRun array in gfxTextRun. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42528

--HG--
extra : moz-landing-system : lando
2019-08-20 18:06:13 +00:00
Mats Palmgren 2525944e34 Bug 1574994 part 1 - Remove/replace display:-moz-inline-grid and -moz-inline-stack in tests. r=emilio
I replaced the values with -moz-inline-box in the crashtests
rather than removing them.  I think they are still valuable
after replacing the display value.

Differential Revision: https://phabricator.services.mozilla.com/D42551

--HG--
extra : moz-landing-system : lando
2019-08-19 21:19:04 +00:00
Ryan VanderMeulen 943db786b5 Bug 1573841 - Update HarfBuzz to 2.6.0. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D42034

--HG--
extra : moz-landing-system : lando
2019-08-20 19:05:15 +00:00
Botond Ballo fafd7d38c6 Bug 1565525 - Clear layer transforms when a tab is moved from an APZ-enabled compositor to an APZ-disabled compositor. r=hsivonen
Depends on D42565

Differential Revision: https://phabricator.services.mozilla.com/D42566

--HG--
extra : moz-landing-system : lando
2019-08-20 06:38:00 +00:00
Botond Ballo 629b3580ff Bug 1565525 - Modify MatrixMessage to carry a Maybe<Matrix>, so that a transform can be cleared by sending Nothing. r=hsivonen
Depends on D42564

Differential Revision: https://phabricator.services.mozilla.com/D42565

--HG--
extra : moz-landing-system : lando
2019-08-20 06:37:05 +00:00
Botond Ballo 4232079a25 Bug 1565525 - Add helper functions to make working with Maybe<Matrix> easier. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D42564

--HG--
extra : moz-landing-system : lando
2019-08-20 06:36:01 +00:00
Markus Stange 32ec0f3341 Bug 1491448 - Add NativeLayer::SetOpaqueRegion and implement it for NativeLayerCA by assembling opaque and transparent sublayers to cover the regions. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D40553

--HG--
extra : moz-landing-system : lando
2019-08-19 22:54:26 +00:00
Glenn Watson 0239393a23 Bug 1574838 - Allow generating dirty regions from picture caching dependency lists. r=kvark
Previously, additional dependencies (such as opacity bindings and
transforms) were stored in a simple hash set, which meant they
could not be correlated with primitive bounding rects (and thus
could not be used to derive dirty rects of a tile).

Now, by scanning the primitive list which contains the bounding
rect, we can also find additional dependencies for that primitive.
This will be used in future to create exact dirty rects (for
debugging / regression testing) and allow us to generate a
dependency descriptor for a split or merged tile from an existing
descriptor.

This patch also fixes a case where opacity bindings could result
in unnecessary invalidations, by retaining the opacity bindings
state across display lists.

Differential Revision: https://phabricator.services.mozilla.com/D42473

--HG--
extra : moz-landing-system : lando
2019-08-19 21:16:53 +00:00
Markus Stange 529ee470f1 Bug 1573343 - Destroy mFullWindowRenderTarget in a different place. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42415

--HG--
extra : moz-landing-system : lando
2019-08-19 22:41:27 +00:00
Markus Stange d417bf03ed Bug 1573343 - Use std::any_of to compute hasContentPaint. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41681

--HG--
extra : moz-landing-system : lando
2019-08-19 22:41:07 +00:00
Markus Stange 66fc92f4e1 Bug 1573343 - Stop using LayoutDevice units in BasicCompositor. r=mattwoodrow
ScreenPixels would be a more appropriate unit. But inside BasicCompositor everything
is in the same coordinate space anyway so we're not getting much benefit from the
units. This patch eliminates a lot of .ToUnknown*() calls.

Differential Revision: https://phabricator.services.mozilla.com/D41680

--HG--
extra : moz-landing-system : lando
2019-08-19 22:40:55 +00:00
Markus Stange 9fd442a1aa Bug 1573343 - Fix two comments in BasicCompositor. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41678

--HG--
extra : moz-landing-system : lando
2019-08-19 22:40:17 +00:00
Markus Stange a5236f2abb Bug 1573343 - Remove an unnecessary null check and turn an emptiness check into an assertion. r=mattwoodrow
The null is unnecessary because mDrawTarget is already null-checked above:
If mTarget is non-null, then mDrawTarget = mTarget so mDrawTarget is non-null.
If mTarget is null, then we would enter a branch that had another null check
for mDrawTarget.

As for the assertion: When rendering to an external target (reftests),
LayerManagerComposite always sets the invalid region to the entire window, so it
should never be empty here.

Differential Revision: https://phabricator.services.mozilla.com/D41677

--HG--
extra : moz-landing-system : lando
2019-08-19 22:40:05 +00:00
Markus Stange 4491f22f3b Bug 1573343 - Add mDrawTargetBounds to clarify the position of mDrawTarget in window space. r=mattwoodrow
There was an interesting "ExpandToEnclose(IntPoint(0, 0))" call in
CreateRenderTargetForWindow that snuck in some surprising behavior that this
change makes a bit more visible.

Differential Revision: https://phabricator.services.mozilla.com/D41676

--HG--
extra : moz-landing-system : lando
2019-08-19 22:39:45 +00:00
Markus Stange 8b68a014ae Bug 1573343 - Pass a precise clear region to CreateRenderTargetForWindow. r=mattwoodrow
In the past, BeginFrame would clip mDrawTarget to the invalid region and then have
CreateRenderTargetForWindow clear a rectangle. So it was effectively clearing a
region, but only if BeginFrame's region clip happened to be set on the correct
DrawTarget. In the case where a back buffer was used, this was not the case:
The clip would be on mDrawTarget but the clear would happen on the back buffer
draw target. So we were clearing more than necessary.

Now we limit clearing to the invalid region even if a back buffer is used.

Differential Revision: https://phabricator.services.mozilla.com/D41675

--HG--
extra : moz-landing-system : lando
2019-08-19 22:39:26 +00:00
Markus Stange a829cf1409 Bug 1573343 - Apply the translation in CreateRenderTargetForWindow instead of in BeginFrame. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41674

--HG--
extra : moz-landing-system : lando
2019-08-19 22:39:12 +00:00
Markus Stange 19c25b1d89 Bug 1573343 - Move draw target clearing out of GetBackBufferDrawTarget. r=mattwoodrow
On Windows, where the DrawTarget is rewrapped in a Cairo/pixman DrawTarget,
this will now cause Cairo/pixman to be used for the clear.

Differential Revision: https://phabricator.services.mozilla.com/D41673

--HG--
extra : moz-landing-system : lando
2019-08-19 22:39:00 +00:00
Markus Stange 2dbe70d234 Bug 1573343 - Reset the transform in a better place. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41672

--HG--
extra : moz-landing-system : lando
2019-08-19 22:38:35 +00:00
Simon Sapin c9af673766 Bug 1568540 - Upgrade to ws 0.9 in WebRender r=emilio
[import_pr] From https://github.com/servo/webrender/pull/3720

MozReview-Commit-ID: AsI4hT0cFGJ

Differential Revision: https://phabricator.services.mozilla.com/D42363

--HG--
extra : moz-landing-system : lando
2019-08-17 16:26:25 +00:00
Olli Pettay 26c09ef05a Bug 1574223, make touchstart/move passive by default also when using event handlers, not only event listeners, r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D42235

--HG--
extra : moz-landing-system : lando
2019-08-16 15:18:46 +00:00
Botond Ballo 86036ffa02 Bug 1574100 - For RefLayers with multiple metrics, only expose the event regions override for the bottom one. r=tnikkel
We only want the bottom LayerMetricsWrapper / WebRenderScrollDataWrapper to
be treated as a ref layer, and only ref layers have event regions overrides.

Differential Revision: https://phabricator.services.mozilla.com/D42339

--HG--
extra : moz-landing-system : lando
2019-08-16 20:23:11 +00:00
Connor Brewster 75aedaa2f5 Bug 1573719 - Implement composite SVG filter primitive in WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D42057

--HG--
extra : moz-landing-system : lando
2019-08-16 16:17:01 +00:00
Connor Brewster 97f0a1af4b Bug 1561447 - Include picture shadow in local rect when building clip chain r=nical
Differential Revision: https://phabricator.services.mozilla.com/D42244

--HG--
extra : moz-landing-system : lando
2019-08-16 16:15:53 +00:00
Nicholas Nethercote b55ea25941 Bug 1572633 - Remove apz.overscroll.spring_{stiffness,friction}. r=botond
They are unused.

Differential Revision: https://phabricator.services.mozilla.com/D41330

--HG--
extra : moz-landing-system : lando
2019-08-16 07:28:08 +00:00
Jeff Muizelaar 0d744a9591 Bug 1574299. Allow INTERNAL_THREADING_OPTIMIZATIONS when using WARP. r=aosmond
This seems to make a big difference when running tests with WARP.

e.g. Assertion failure: frameInfo.mDocFramesSeen == frameInfo.mDocFramesTotal,
at z:/build/build/src/gfx/webrender_bindings/RenderThread.cpp:303

and various other browser chrome test failures.

The original problem that added this flag only impacted AMD hardware as I
recall and we are unlikely to ever be running on WARP in production anyways.

When WARP is forced we also don't disable INTERNAL_THREADING_OPTIMIZATIONS.

Differential Revision: https://phabricator.services.mozilla.com/D42214

--HG--
extra : moz-landing-system : lando
2019-08-15 22:37:43 +00:00
Jeff Muizelaar ade5ad48a8 Bug 1574327. Add a pref that we can use to disable d3d11 blacklist. r=aosmond
We'll use this to enable WARP on CI.

Differential Revision: https://phabricator.services.mozilla.com/D42221

--HG--
extra : moz-landing-system : lando
2019-08-15 22:39:18 +00:00
Markus Stange d5d70b0f4a Bug 1491442 - Fix field order. r=fix CLOSED TREE
--HG--
extra : histedit_source : f55bd44f83746c0d1876b70ec978bc9dc8629616
2019-08-15 21:52:55 -04:00
Markus Stange 32f588365d Bug 1491442 - Remove call to ReadBuffer. r=jgilbert
There's no other caller that sets ReadBuffer to anything else, and GL_BACK is
the default for default framebuffers. Furthermore, this call triggers
GL_INVALID_OPERATION errors when called on a non-default framebuffer.

Differential Revision: https://phabricator.services.mozilla.com/D40551

--HG--
extra : moz-landing-system : lando
2019-08-16 01:16:23 +00:00
Markus Stange 339de4b925 Bug 1491442 - Don't handle null render targets in this method. r=mattwoodrow
There's only one caller and it always passes a non-null render target.

Differential Revision: https://phabricator.services.mozilla.com/D40550

--HG--
extra : moz-landing-system : lando
2019-08-16 01:15:59 +00:00
Markus Stange 3cfb0f5ea9 Bug 1491442 - Add interfaces mozilla::layers::NativeLayerRoot and NativeLayer, and add CoreAnimation implementations NativeLayerRootCA and NativeLayerCA. r=jrmuizel
NativeLayerRoot and NativeLayer allow building up a flat layer "tree" of sibling
layers. They're created and manipulated with a synchronous-looking API, but any
changes will only be applied to the underlying native layers when ApplyChanges()
is called. This ensures that the modifications can be limited to run within a
CoreAnimation transaction, and on a thread of the caller's choosing.
In the near future I'm planning to have LayerManagerComposite create these
layers. That's the reason for the pseudo-abstracted cross-platform C++ API:
LayerManagerComposite can create and place the layers, and any painting into the
layer surfaces will happen in the compositor implementations with platform-specific
code.
For now, the CoreAnimation implementation is the only implementation. I think
the current API will let us use the same infrastructure for DirectComposite
layers on Windows, but we'll likely need to make some API modifications once we
attempt that.
The classes are threadsafe; their methods can be called on any thread and the
caller is responsible for sufficient synchronization. In reality, there are only
two threads that would have a reason to use these layers: The compositor thread
and the main thread. The main thread creates and destroys the NativeLayerRootCA,
and sometimes it calls ApplyChanges, e.g. during window resizes. It also calls
SetBackingScale. All other methods are usually only called on the compositor
thread.

Differential Revision: https://phabricator.services.mozilla.com/D26407

--HG--
extra : moz-landing-system : lando
2019-08-16 01:30:02 +00:00
Markus Stange dac6adef26 Bug 1491442 - Fold DoWidgetCleanup and DetachWidget into Compositor::Destroy. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D40867

--HG--
extra : moz-landing-system : lando
2019-08-16 01:09:48 +00:00
Markus Stange 62430de27f Bug 1491442 - Add CompositorWidget::DoCompositorCleanup() to give the widget a chance to clean up any state from PreRender/PostRender on the correct thread. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D40514

--HG--
extra : moz-landing-system : lando
2019-08-16 01:09:26 +00:00
Markus Stange 327b689a51 Bug 1491442 - Make reftest readback read from the current render target. r=mattwoodrow
This removes the assumption that there is a default framebuffer to read from,
in order to prepare for a world in which all rendering goes into non-default
framebuffers.
The current render target's framebuffer is already bound when this function is
called.

Differential Revision: https://phabricator.services.mozilla.com/D40513

--HG--
extra : moz-landing-system : lando
2019-08-16 01:09:03 +00:00
Imanol Fernandez efb7b0fed5 Bug 1574218 - Fix broken VRManagerChild::NotifyPresentationGenerationChanged event. r=kip
Fix broken VRManagerChild::NotifyPresentationGenerationChanged event.

Differential Revision: https://phabricator.services.mozilla.com/D42164

--HG--
extra : moz-landing-system : lando
2019-08-15 23:18:41 +00:00
Markus Stange 54166343c6 Bug 1573668 - Add MacIOSurface::GetAsDrawTargetLocked. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41844

--HG--
extra : moz-landing-system : lando
2019-08-15 04:54:57 +00:00
Markus Stange 352f3971ce Bug 1573668 - Teach MacIOSurface about the kCVPixelFormatType_32BGRA pixel format. r=mattwoodrow
Depends on D41843

Differential Revision: https://phabricator.services.mozilla.com/D41971

--HG--
extra : moz-landing-system : lando
2019-08-15 03:33:58 +00:00
Markus Stange 0d99ec9a50 Bug 1573668 - Use CFTypeRefPtr for managing the IOSurfaceRef in MacIOSurface. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41843

--HG--
extra : moz-landing-system : lando
2019-08-14 14:53:45 +00:00
Markus Stange c31b8d8a28 Bug 1573668 - Use the real IOSurfaceRef type in MacIOSurface. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41841

--HG--
extra : moz-landing-system : lando
2019-08-14 14:50:25 +00:00
Markus Stange cd5788b20f Bug 1545262 - Update BasicCompositor's mFullWindowRenderTarget before we capture the screenshot for the current frame. r=mattwoodrow
In the past, mFullWindowRenderTarget was updated in EndFrame, so the captured
screenshots (which were captured before EndFrame) were always one frame behind.
This affected both profiler screenshots and window recording screenshots.

This also fixes a bug with the destination offset in the call to
mFullWindowRenderTarget->mDrawTarget->CopySurface(): In the case where mTarget
was non-null, those calls would use mTargetBounds.TopLeft() as the destination
offset, which is very much unrelated to anything in mFullWindowRenderTarget.
Now the destination offset for mFullWindowRenderTarget is always zero -
mFullWindowRenderTarget->mDrawTarget's device space is the same as window space.

This patch also moves the creation of mFullWindowRenderTarget down to where we
have mRenderTarget->mDrawTarget, so that we can create a DrawTarget of a type
that can efficiently copy from mRenderTarget->mDrawTarget. I think this is
important on Windows where mRenderTarget->mDrawTarget will be the Cairo/pixman
re-wrapped DrawTarget and mDrawTarget is some kind of Windows/GDI DrawTarget.

Depends on D41612

Differential Revision: https://phabricator.services.mozilla.com/D41613

--HG--
extra : moz-landing-system : lando
2019-08-14 06:34:24 +00:00
Markus Stange ff3fb7eef1 Bug 1545262 - Stop clearing mFullWindowRenderTarget. r=mattwoodrow
These areas only need to be cleared in rt->mDrawTarget. Once the invalid area gets
copied over to mFullWindowRenderTarget, any cleared pixels will be copied over and
clear those pixels in mFullWindowRenderTarget.
This clear wasn't only necessary, it also sometimes cleared to much, because the
clip to the invalid region that the caller sets does not apply to this DrawTarget.

Differential Revision: https://phabricator.services.mozilla.com/D41612

--HG--
extra : moz-landing-system : lando
2019-08-14 01:18:07 +00:00
Markus Stange dfad7a59cc Bug 1567319 - Discard payloads for no-op composites. r=bas
Differential Revision: https://phabricator.services.mozilla.com/D40569

--HG--
extra : moz-landing-system : lando
2019-08-15 17:54:17 +00:00
Gabriele Svelto 14db2c37b8 Bug 1571711 - Factorize crash handling out of the various process IPC classes r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41657

--HG--
extra : moz-landing-system : lando
2019-08-15 12:06:51 +00:00
Nicholas Nethercote bcfea34a74 Bug 1573720 - Convert ui.touch_activation.duration_ms to a static pref. r=botond
The commit also adds a missing StaticPrefs_dom.h include for APZEventState.cpp.

Differential Revision: https://phabricator.services.mozilla.com/D41915

--HG--
extra : moz-landing-system : lando
2019-08-15 05:30:23 +00:00
Nicholas Nethercote cb6862ab2c Bug 1573720 - Convert ui.touch_activation.delay_ms to a static pref. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D41914

--HG--
extra : moz-landing-system : lando
2019-08-15 05:30:09 +00:00
Connor Brewster 7658b3e68d Bug 1573914 - Fix backdrop-filter jitter during animation due to snap offsets r=gw
Since the filtered-backdrop is 1:1 with the backdrop, we don't want any snap offsets to shift the contents

Differential Revision: https://phabricator.services.mozilla.com/D42042

--HG--
extra : moz-landing-system : lando
2019-08-15 00:09:40 +00:00