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

2791 Коммитов

Автор SHA1 Сообщение Дата
Jeff Muizelaar cf52d91708 Bug 1737263. Switch back to PushLayerWithBlend. r=mstange
Bug 1540737 originally used PushLayerWithBlend here but PushLayerWithBlend is
not implemented for D2D. Since then, I believe we've stopped using D2D for
content drawing so it should be possible to switch back to PushLayerWithBlend.

Differential Revision: https://phabricator.services.mozilla.com/D130272
2021-11-04 21:42:14 +00:00
Sandor Molnar f5bbecdcc2 Backed out 13 changesets (bug 1711061) on devs request. CLOSED TREE
Backed out changeset c4f073f7e3a3 (bug 1711061)
Backed out changeset aced4b672fb4 (bug 1711061)
Backed out changeset 3687e798f665 (bug 1711061)
Backed out changeset 7b471990ea86 (bug 1711061)
Backed out changeset 1014a95f540e (bug 1711061)
Backed out changeset a37b3091281d (bug 1711061)
Backed out changeset 96a0ef35881b (bug 1711061)
Backed out changeset 38890cc266fb (bug 1711061)
Backed out changeset be73004c0850 (bug 1711061)
Backed out changeset b964576ae53d (bug 1711061)
Backed out changeset d453c5219255 (bug 1711061)
Backed out changeset 0145b538175b (bug 1711061)
Backed out changeset 41ba2e2a2d13 (bug 1711061)
2021-10-29 00:36:30 +03:00
Andrew Osmond c6eb106f04 Bug 1711061 - Part 12. Change the display list to use WebRenderImageProvider. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126605
2021-10-27 01:24:35 +00:00
Sandor Molnar 6632079d8d Backed out 13 changesets (bug 1711061) for causing browser-chrome failures in test/performance/browser_startup_images. CLOSED TREE
Backed out changeset 5988220f56b8 (bug 1711061)
Backed out changeset cb7721d7ce49 (bug 1711061)
Backed out changeset 343746ffae73 (bug 1711061)
Backed out changeset 000940244dcf (bug 1711061)
Backed out changeset 27565d5ae08d (bug 1711061)
Backed out changeset f3b2379d971b (bug 1711061)
Backed out changeset d4b3d0fa1771 (bug 1711061)
Backed out changeset 9af5b3f2225f (bug 1711061)
Backed out changeset da992effeff1 (bug 1711061)
Backed out changeset 6b2bc6c16b9f (bug 1711061)
Backed out changeset ac2792d42be2 (bug 1711061)
Backed out changeset cb00177e655e (bug 1711061)
Backed out changeset 8d5261184226 (bug 1711061)
2021-10-26 18:04:34 +03:00
Andrew Osmond 0ac282d26a Bug 1711061 - Part 12. Change the display list to use WebRenderImageProvider. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D126605
2021-10-26 13:28:27 +00:00
Jeff Muizelaar 28e09f13a1 Bug 1736697 - Remove code for checking layer size. r=mstange
The users of this were removed with FrameLayerBuilder.
Two callers that passed true remained: one was a print
statement, and the other should be fine to change.

Differential Revision: https://phabricator.services.mozilla.com/D128946
2021-10-20 16:33:04 +00:00
Emilio Cobos Álvarez bc56938456 Bug 1731714 - Add a document.getWireframe() API that gets some relevant rects in the viewport. r=mconley
I added an option to return also the nodes because it's very helpful for
debugging. A bunch of the "unknown" ones are just elements with
transparent backgrounds (but still hit-testable), so we probably want to
exclude them from the result list or what not to massively reduce the
size of the returned object.

But anyhow, this probably does for a prototype.

Differential Revision: https://phabricator.services.mozilla.com/D128720
2021-10-20 13:56:32 +00:00
Jeff Muizelaar f76f41feb4 Bug 1736236 - Remove obsolete LayerManager.h. r=gfx-reviewers,lsalzman
This adds a bunch of #include "WindowRenderer.h" in places
that were getting it implicitly before.

Differential Revision: https://phabricator.services.mozilla.com/D128687
2021-10-17 23:00:47 +00:00
Timothy Nikkel 344e6d7dba Bug 1735511. Remove IsScrollingActive check in nsDisplayListBuilder::IsAnimatedGeometryRoot. r=mattwoodrow
This only changes the return value in the case that IsScrollingActive is false but IsMaybeAsynchronouslyScrolled is true. This can only happen if HasDisplayPort is false and HasScrollGrab is false but mZoomableByAPZ is true. mZoomableByAPZ is only true for root content documents. So that means IsAlwaysActive will usually make IsScrollingActive true, except if it overflow hidden and hasn't been scrolled. So the only case this patch will change is the root content document if it hasn't been scrolled and is overflow hidden. In this case I think we do want to treat it as an AGR because it is zoomable, so it is async scrollable (after zooming).

In general we want to move away from IsScrollingActive for async scrolling things. There are only a few callers left, probably only one of them actually wants the concept that IsScrollingActive uses. Once we've removed the other users we can rename it to something like "HasBeenScrolledRecently" or something like that to avoid confusing with active scrolled roots and the use of the word active to mean async scrolling type things.

Differential Revision: https://phabricator.services.mozilla.com/D128362
2021-10-17 09:23:08 +00:00
Emilio Cobos Álvarez 4f8856c545 Bug 1730503 - Make RDM force Android-style scrollbars better. r=mstange,devtools-backward-compat-reviewers,nchevobbe
There are a few bits that still don't work with this patch but will with the
following patches.

Differential Revision: https://phabricator.services.mozilla.com/D128083
2021-10-12 09:21:17 +00:00
Timothy Nikkel 61363a9e97 Bug 1731575. Don't use nsIScrollableFrame::IsScrollingActive when making decisions about what to send to the compositor about sticky position content. r=mattwoodrow,botond
nsIScrollableFrame::IsScrollingActive basically means "has this scroll frame been scrolled recently or is this the root scroll frame". Neither of which is relevant when we are async scrolling a scrollframe on the compositor.

What determines if we can scroll a scroll frame async is ScrollFrameHelper::mWillBuildScrollableLayer, aka nsIScrollableFrame::IsMaybeAsynchronouslyScrolled.

The code in nsDisplayStickyPosition::GetStickyScrollContainer already mostly neuters nsDisplayStickyPosition is this isn't the case, this just takes it one step further.

This also removes one more user of nsIScrollableFrame::IsScrollingActive, there are only a handful left.

Differential Revision: https://phabricator.services.mozilla.com/D126427
2021-10-10 09:07:54 +00:00
Emilio Cobos Álvarez 9fbc18ca4c Bug 1733384 - Make inert not modify the computed style. r=sefeng,layout-reviewers,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D127422
2021-10-07 17:00:36 +00:00
Jeff Muizelaar da04cbec60 Bug 1734506 - Remove Layer. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D127753
2021-10-07 15:24:07 +00:00
Butkovits Atila 4d927c1fb4 Backed out 4 changesets (bug 1733384) for causing failures at browser_windowPrompt.js. CLOSED TREE
Backed out changeset fa609fadac26 (bug 1733384)
Backed out changeset dd1936d9fe17 (bug 1733384)
Backed out changeset 1a073e40ab1a (bug 1733384)
Backed out changeset 65708a4c708f (bug 1733384)
2021-10-07 17:52:51 +03:00
Emilio Cobos Álvarez bfdd0fcc77 Bug 1733384 - Make inert not modify the computed style. r=sefeng,layout-reviewers,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D127422
2021-10-07 11:47:34 +00:00
Timothy Nikkel 48be720702 Bug 1733742. Remove GetHighResolutionDisplayPort. r=botond
With the old layers backend we had low precision buffer code controlled via the pref layers.low-precision-buffer that was used on android. We would expand the displayport by 4x and then paint it as 1/4 the resolution, and then we would have a critical displayport without the 4x multipler that we would paint at the real resolution. The code to do the painting at the lower resolution was in the layers backend and has since been removed. (This is okay because webrender doesn't rasterize all of the content in the displayport.) So the critical displayport or displayport are no longer treated differently anywhere. Except a few pieces of code that should be fixed/changed/removed. This patch being one of them.

GetHighResolutionDisplayPort would return the displayport without the multipler in all situations (pref on or off).

In DisplayPortUtils we are checking the displayport rect before/after setting new displayport margins to see if it changes to determine if we need to invalidate. Since the critical displayport isn't used for anything, the regular displayport is the correct thing to use here.

In nsGfxScrollFrame we are doing a similar thing, except checking that the displayport doesn't change after a scroll.

In nsDisplayListBuilder::OutOfFlowDisplayData::ComputeVisibleRectForFrame it's also the correct thing, as we want to include the same rect for fixed content as we do for non-fixed content. But this is an significant expansion of the dirty rect of fixed content and the code history has fixes related to drawing too much of fixed content and OOMing so a little more scrutiny is reasonable. However if there was a problem with OOM, since this is the same rect we use for non-fixed content we would have OOM problems with regular content, so this should be fine.

Differential Revision: https://phabricator.services.mozilla.com/D127344
2021-10-07 05:41:19 +00:00
Marian-Vasile Laza 8e53738652 Backed out 2 changesets (bug 1734506, bug 1734502) for causing build bustages. CLOSED TREE
Backed out changeset 542b8b4e17ca (bug 1734506)
Backed out changeset b37746f292da (bug 1734502)
2021-10-07 05:15:58 +03:00
Jeff Muizelaar 3bc95646ff Bug 1734506 - Remove Layer. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D127753
2021-10-07 01:21:16 +00:00
Matt Woodrow c897cc47f4 Bug 1730682 - Merge clips when flattening opacity. r=miko
This is required to get tests to pass without fuzz on Android.

Depends on D125633

Differential Revision: https://phabricator.services.mozilla.com/D127513
2021-10-05 20:47:30 +00:00
Matt Woodrow 56ab466288 Bug 1730682 - Flatten opacity before setting up clips. r=miko
Pushing the clip for the opacity item into the clip manager has a non-trivial cost, so we get better performance if we handle flattening the item before that.

Differential Revision: https://phabricator.services.mozilla.com/D125633
2021-10-05 20:47:30 +00:00
Nicolas Silva cb6ac0df62 Bug 1690619 - Keep track of where the request to rendering something comes from. r=gfx-reviewers,mstange
This patch adds plumbing to keep track of why we request frames to be rendered.
This information is then displayed in gecko profile markers on the renderer thread as well as in profiler HUD counters (See "Render reasons" in profiler.rs).

Differential Revision: https://phabricator.services.mozilla.com/D127274
2021-10-05 12:54:39 +00:00
Tetsuharu Ohzeki 0c71b39b6f Bug 1733980 - Remove vestiges of removed ***Layer class. r=gfx-reviewers,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D127464
2021-10-04 22:19:11 +00:00
Daniel Holbert f913735c40 Bug 1733727 part 3: Use StaticAutoPtr to manage lifetime of various "gFoo" static global variables in layout. r=jfkthame
This patch doesn't change any user-observable behavior.

StaticAutoPtr lets us remove a handful of explicit 'delete' statements, by
making deletion happen automatically when these variables are cleared.

Differential Revision: https://phabricator.services.mozilla.com/D127337
2021-10-02 18:59:11 +00:00
Miko Mynttinen 6e6f9c754a Bug 1730856 - Part 1: Use the correct scroll target for fixed backgrounds. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D127120
2021-10-01 14:01:51 +00:00
Jeff Muizelaar 048f45aaa8 Bug 1733296 - Drop unused LayerManager param. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D127027
2021-10-01 00:10:40 +00:00
criss e98a07853d Backed out changeset ae6e736dc962 (bug 1730682) for casuing reftest failures on display-list 2021-09-28 00:35:57 +03:00
Matt Woodrow 56ed4f6cd9 Bug 1730682 - Flatten opacity before setting up clips. r=miko
Pushing the clip for the opacity item into the clip manager has a non-trivial cost, so we get better performance if we handle flattening the item before that.

Differential Revision: https://phabricator.services.mozilla.com/D125633
2021-09-27 19:49:31 +00:00
Tetsuharu Ohzeki cae34e01f1 Bug 1732222 - Remove unused nsDisplayMasksAndClipPaths::CanPaintOnMaskLayer(). r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D126437
2021-09-23 18:35:07 +00:00
Matt Woodrow 5d982b06d4 Bug 1725267 - Remove paint compression. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D125799
2021-09-22 03:36:51 +00:00
Matt Woodrow 997a59ac07 Bug 1725267 - Remove unused NO_COMPOSITE. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D125798
2021-09-22 03:36:51 +00:00
Matt Woodrow 65ab371853 Bug 1729937 - Don't include the display item clip in the paint rect. r=jrmuizel
For non-WR painting from nsDisplayList::Paint, the display item clip will already be applied to the context, so will still be included in the result via the clip extents.
WebRender fallback painting intentionally doesn't use the clip (since the clip can include the displayport size), to avoid needing to invalidate for display port changes..

Differential Revision: https://phabricator.services.mozilla.com/D125613
2021-09-21 23:50:40 +00:00
Andrew Osmond 3a98545701 Bug 1728903 - Remove plumbing for CanvasLayer and ImageLayer. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D124406
2021-09-18 11:44:51 +00:00
Botond Ballo 0571c4f664 Bug 1729581 - Do not use the content clip ASR when setting the current container ASR. r=mstange
The PickDescendant here was never needed for correctness, it only enabled
better layerization on pages with scrolled clips on fixed elements.

With FrameLayerBuilder removed, it doesn't provide any benefits, and it's
causing problems for other container items inside the fixed element,
because some of them accidentally pick up the scrolled ASR instead of the
fixed ASR for themselves.

Differential Revision: https://phabricator.services.mozilla.com/D125496
2021-09-17 21:50:06 +00:00
Botond Ballo dcffded9c5 Bug 1729581 - Move the AutoContainerASRTracker constructor out of line. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D125495
2021-09-17 21:50:05 +00:00
Matt Woodrow 2859a00361 Bug 1714138 - Remove AnimatedGeometryRoot. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D124154
2021-09-15 08:31:05 +00:00
Matt Woodrow 38770a04e5 Bug 1728258 - Compute AnimatedGeometryRoot frames in RetainedDisplayListBuilder without needing the existing object stored on nsDisplayItem. r=miko,mstange
Differential Revision: https://phabricator.services.mozilla.com/D124153
2021-09-15 08:31:05 +00:00
Matt Woodrow d3a34b8916 Bug 1729236 - Remove GetPaintRect. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124590
2021-09-13 05:01:36 +00:00
Matt Woodrow 9e33e350cd Bug 1729236 - Don't use GetPaintRect for painting text. r=jrmuizel
Text is the exception, where clipping the WR commands to the paint rect can let us reduce the size sent.
We want to avoid this when doing fallback painting, since we don't want to have to track paint rect changes for invalidation.

Differential Revision: https://phabricator.services.mozilla.com/D124589
2021-09-13 05:01:36 +00:00
Matt Woodrow 3be3d71f55 Bug 1729236 - Don't use GetPaintRect for CreateWebRenderCommands. r=jrmuizel
WebRender prefers to know the full bounds of the primitive, since it makes invalidation easier (and doesn't increase the size of the commands we send).

Differential Revision: https://phabricator.services.mozilla.com/D124588
2021-09-13 05:01:35 +00:00
Matt Woodrow 7292fcce3e Bug 1542929 - Remove mReferenceFrame from nsDisplayItem. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D124009
2021-09-13 05:01:35 +00:00
Matt Woodrow d6c652134a Bug 1728251 - Remove mClip and compute it when we need it. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D124008
2021-09-13 05:01:35 +00:00
Matt Woodrow 6ec95b95cd Bug 1728251 - Remove FuseClipChainUpTo since its unused. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D124007
2021-09-13 05:01:34 +00:00
Matt Woodrow 642579b68a Bug 1728232 - Remove RestoreState. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D124006
2021-09-13 05:01:34 +00:00
Matt Woodrow fcd01e0c90 Bug 1728050 - Move opacity flattening to be part of WR DL serialization. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D124005
2021-09-13 05:01:33 +00:00
criss 9640d7f5f3 Backed out 10 changesets (bug 1714138, bug 1542929, bug 1728232, bug 1729236, bug 1728258, bug 1728251, bug 1728050) for causing bug 1424348 a=backout
Backed out changeset c5b71e6ce0e5 (bug 1729236)
Backed out changeset c6bcc4ed3d2e (bug 1729236)
Backed out changeset 7e292895282a (bug 1729236)
Backed out changeset d9ddd915e0c2 (bug 1714138)
Backed out changeset 82b98d2f0dcf (bug 1728258)
Backed out changeset 9a84a36b9dc4 (bug 1542929)
Backed out changeset 96be978630ff (bug 1728251)
Backed out changeset d7a8bf19d849 (bug 1728251)
Backed out changeset cce0c53b439f (bug 1728232)
Backed out changeset 3afd6aee7849 (bug 1728050)
2021-09-12 12:00:30 +03:00
Matt Woodrow 151a3d8bfc Bug 1726663 - Don't restrict fallback painting to the building rect, since it can be incorrect and is going to be removed soon. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D125002
2021-09-10 03:59:13 +00:00
Matt Woodrow 406f6d60f9 Bug 1729236 - Remove GetPaintRect. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124590
2021-09-10 03:43:36 +00:00
Matt Woodrow ac829d9934 Bug 1729236 - Don't use GetPaintRect for painting text. r=jrmuizel
Text is the exception, where clipping the WR commands to the paint rect can let us reduce the size sent.
We want to avoid this when doing fallback painting, since we don't want to have to track paint rect changes for invalidation.

Differential Revision: https://phabricator.services.mozilla.com/D124589
2021-09-10 03:43:35 +00:00
Matt Woodrow a0a81ab3ce Bug 1729236 - Don't use GetPaintRect for CreateWebRenderCommands. r=jrmuizel
WebRender prefers to know the full bounds of the primitive, since it makes invalidation easier (and doesn't increase the size of the commands we send).

Differential Revision: https://phabricator.services.mozilla.com/D124588
2021-09-10 03:43:35 +00:00
Matt Woodrow 75c16d58b2 Bug 1714138 - Remove AnimatedGeometryRoot. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D124154
2021-09-10 03:43:35 +00:00