Razvan Cojocaru
31f93c6a79
Bug 1767121 - Change the type of StackingContextHelper::mScale to MatrixScales. r=botond
...
Fix a minor typo while at it: "Inherrited" -> "Inherited".
Differential Revision: https://phabricator.services.mozilla.com/D146298
2022-05-19 01:45:52 +00:00
Daniel Holbert
abefdf2317
Bug 1767131: run clang-format on the layout/ directory. r=emilio DONTBUILD
...
This patch does not impact behavior; it's just formatting changes.
This patch was automatically generated by the following command:
./mach clang-format -p layout
Differential Revision: https://phabricator.services.mozilla.com/D145163
2022-04-30 15:25:29 +00:00
Razvan Cojocaru
94c557a449
Bug 1733313 - Change EffectsInfo::mScaleX/Y into a Scale2D and rename to mRasterScale. r=botond
...
Differential Revision: https://phabricator.services.mozilla.com/D144274
2022-04-26 03:12:38 +00:00
Emilio Cobos Álvarez
e35be8db1a
Bug 1765331 - Account for dest rect correctly in nsDisplayRemote painting. r=tnikkel
...
The in-process code does this here:
https://searchfox.org/mozilla-central/rev/4b3039b48c3cb67774270ebcc2a7d8624d888092/layout/generic/nsSubDocumentFrame.cpp#729-742
This doesn't do much for regular iframes because they have no meaningful
intrinsic ratio, but this will matter for bug 1595491.
Differential Revision: https://phabricator.services.mozilla.com/D144000
2022-04-20 11:00:58 +00:00
David Shin
fa30ed0b4a
Bug 1755565 - Implement contain: inline-size. r=emilio,dholbert
...
Differential Revision: https://phabricator.services.mozilla.com/D143501
2022-04-19 17:44:16 +00:00
Cosmin Sabou
995c78b892
Backed out changeset 5d53e0ca638d (bug 1765331) for causing reftest assertion failures on APZCTreeManager.cpp. CLOSED TREE
2022-04-19 19:50:18 +03:00
Emilio Cobos Álvarez
4ed96eaf80
Bug 1765331 - Account for dest rect correctly in nsDisplayRemote painting. r=tnikkel
...
The in-process code does this here:
https://searchfox.org/mozilla-central/rev/4b3039b48c3cb67774270ebcc2a7d8624d888092/layout/generic/nsSubDocumentFrame.cpp#729-742
This doesn't do much for regular iframes because they have no meaningful
intrinsic ratio, but this will matter for bug 1595491.
Differential Revision: https://phabricator.services.mozilla.com/D144000
2022-04-19 13:46:02 +00:00
Emilio Cobos Álvarez
ca62e4aea2
Bug 1751961 - Account for cross-process paint scale in nsSubDocumentFrame::Paint. r=tnikkel
...
This is the real fix.
Depends on D142908
Differential Revision: https://phabricator.services.mozilla.com/D142909
2022-04-13 11:32:55 +00:00
Martin Robinson
ca0375e365
Bug 1761995 - Skip content-visibility: hidden content in display lists r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D142341
2022-04-05 09:10:42 +00:00
Emilio Cobos Álvarez
a23a8e36a0
Bug 1762298 - GCC build bustage and reftest fixes.
...
MANUAL PUSH: Orange fix CLOSED TREE
2022-04-04 22:14:24 +02:00
Emilio Cobos Álvarez
cfc8a1c90e
Bug 1762298 - Inherit used color-scheme from embedder <browser> elements. r=nika,dao,Gijs
...
This allows popups and sidebars to use the chrome preferred
color-scheme.
This moves the responsibility of setting the content-preferred color
scheme to the appropriate browsers to the front-end (via tabs.css).
We still return the PreferredColorSchemeForContent() when there's no
pres context (e.g., for display:none in-process iframes). We could
potentially move a bunch of the pres-context data to the document
instead, but that should be acceptable IMO as for general web content
there's no behavior change in any case.
Differential Revision: https://phabricator.services.mozilla.com/D142578
2022-04-04 18:22:04 +00:00
Miko Mynttinen
7bae3ee4f4
Bug 1714584 - Part 2: Remove nsDisplayList::RemoveBottom() r=mstange
...
Differential Revision: https://phabricator.services.mozilla.com/D138153
2022-02-22 23:42:18 +00:00
Miko Mynttinen
528f0d244b
Bug 1714584 - Part 1: Decouple nsDisplayList internal list from nsDisplayItems r=mstange
...
Differential Revision: https://phabricator.services.mozilla.com/D138152
2022-02-22 23:42:18 +00:00
Norisz Fay
baf6cd65cb
Backed out 2 changesets (bug 1714584) per devs request for causing crashes a=backout
...
Backed out changeset 3baead3e079b (bug 1714584)
Backed out changeset a2da895a58ce (bug 1714584)
2022-02-22 16:41:57 +02:00
Miko Mynttinen
5f788b150f
Bug 1714584 - Part 2: Remove nsDisplayList::RemoveBottom() r=mstange
...
Differential Revision: https://phabricator.services.mozilla.com/D138153
2022-02-22 00:44:25 +00:00
Miko Mynttinen
485b0007af
Bug 1714584 - Part 1: Decouple nsDisplayList internal list from nsDisplayItems r=mstange
...
Differential Revision: https://phabricator.services.mozilla.com/D138152
2022-02-22 00:44:25 +00:00
Miko Mynttinen
c096a81c8d
Bug 1722346 - Only append to the end/top of the display list r=mstange
...
Differential Revision: https://phabricator.services.mozilla.com/D137894
2022-02-21 16:50:22 +00:00
Timothy Nikkel
0ee218b911
Bug 1749286. Remove redundant calls marking remote browsers as hidden. r=miko
...
Remote browsers are fully hidden by default. The only place we mark them as visible is in nsDisplayRemote::CreateWebRenderCommands
https://searchfox.org/mozilla-central/rev/b3933df6e119bd6caf5d9e5868670348ec26dee3/layout/generic/nsSubDocumentFrame.cpp#1363
and we create a WebRenderUserData item there that marks the remote browser hidden in its destructor
https://searchfox.org/mozilla-central/rev/b3933df6e119bd6caf5d9e5868670348ec26dee3/gfx/layers/wr/WebRenderUserData.cpp#426
So that will mark it hidden when it's no longer visible. And in fact we destroy the WebRenderUserData table for the frame at both call sites that we are removing in this patch. So there shouldn't be any change with this patch.
I think the way this redundancy came about was because the code was first added for the layers backend in
https://hg.mozilla.org/integration/mozilla-inbound/rev/b81cf35a573e
and that of course doesn't user WebRenderUserdata so it needed to mark remote browsers hidden in its own way.
And then for webrender in
https://hg.mozilla.org/integration/mozilla-inbound/rev/ac0ad5d8e9a5
And then when FrameLayerBuilder was removed they got put together directly
https://hg.mozilla.org/mozilla-central/rev/a95f6a0cd9eb
The reason this is important is for bug 1737503. In that bug we destroy and recreate a remote iframe to handle a style change. If we mark a remote browser as hidden we will draw it as blank for one frame. So instead we want to delay this until the end of the next frame so we don't do that.
Differential Revision: https://phabricator.services.mozilla.com/D135575
2022-01-14 08:47:52 +00:00
Emilio Cobos Álvarez
3fad129a52
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
Butkovits Atila
64999a3215
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
671a086845
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
95d731df52
Bug 1732600. Pass down transform to ancestor scale to child processes. r=botond
...
In bug 1731929 we added this value, here we give it the value we want for child processes. I think the code comments should explain it.
Differential Revision: https://phabricator.services.mozilla.com/D126629
2021-10-05 09:28:57 +00:00
Timothy Nikkel
311dc4f1ab
Bug 1730131. HitTestingTreeNode::GetRemoteDocumentScreenRect() double applies the resolution. r=hiro
...
Differential Revision: https://phabricator.services.mozilla.com/D125484
2021-09-14 02:33:36 +00:00
Timothy Nikkel
5f6aa0c9f8
Bug 1728693. Use IsRootContentDocumentCrossProcess in nsSubDocumentFrame::BuildDisplayList. r=mattwoodrow
...
Not sure we even need this anymore but just doing this so I can finish the fission audit.
Added way back in bug 588407.
This shouldn't actually be any behaviour change: anything that is IsRootContentDocumentInProcess but not IsRootContentDocumentCrossProcess should be a oop if with fission (unless I'm missing a case), so we will never hit this code path, we'll hit the remote iframe path above.
Differential Revision: https://phabricator.services.mozilla.com/D124277
2021-09-03 02:22:11 +00:00
Matt Woodrow
b88ce7b3a4
Bug 1727423 - Remove BasicLayerManager. r=jrmuizel
...
Differential Revision: https://phabricator.services.mozilla.com/D123555
2021-08-25 07:35:17 +00:00
criss
715e01a62b
Backed out 2 changesets (bug 1727423) for causing build bustages
...
Backed out changeset 9b2ca95a6527 (bug 1727423)
Backed out changeset 1f01fcbd46a8 (bug 1727423)
2021-08-25 04:41:35 +03:00
Matt Woodrow
03b11c639a
Bug 1727423 - Remove BasicLayerManager. r=jrmuizel
...
Differential Revision: https://phabricator.services.mozilla.com/D123555
2021-08-25 01:04:26 +00:00
Matt Woodrow
eea082d1f2
Bug 1726291 - Remove FrameLayerBuilder. r=miko
...
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-23 03:07:31 +00:00
Cosmin Sabou
1efa0d3a4e
Backed out changeset e111894317cc (bug 1726291) for causing assertion failures on WebRenderCommandBuilder.cpp. CLOSED TREE
2021-08-20 06:22:40 +03:00
Matt Woodrow
2a95268df2
Bug 1726291 - Remove FrameLayerBuilder. r=miko
...
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-20 02:20:39 +00:00
Timothy Nikkel
dcc60a8a50
Bug 1724904. Send resolution to oopifs with webrender. r=mattwoodrow
...
Differential Revision: https://phabricator.services.mozilla.com/D122212
2021-08-10 23:42:43 +00:00
Matt Woodrow
93fd0e91fb
Bug 1720152 - Recurse into replay for dependencies, rather than using a temp surface. r=jrmuizel,bobowen,emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D120050
2021-08-09 22:07:36 +00:00
Emilio Cobos Álvarez
9bb330a9b6
Bug 1677324 - Add the ability for subdocuments to keep painting another remote subdoc. r=mattwoodrow
...
Differential Revision: https://phabricator.services.mozilla.com/D121197
2021-08-01 21:45:56 +00:00
Miko Mynttinen
8df6649834
Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow
...
Differential Revision: https://phabricator.services.mozilla.com/D120041
2021-07-19 11:28:20 +00:00
Alexandru Michis
9b9c5fe24e
Backed out 2 changesets (bug 1720804) for causing bustages.
...
CLOSED TREE
Backed out changeset 5278e88c6d34 (bug 1720804)
Backed out changeset 1acb4ed79b6b (bug 1720804)
2021-07-16 18:10:11 +03:00
Miko Mynttinen
397ffc88e1
Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow
...
Differential Revision: https://phabricator.services.mozilla.com/D120041
2021-07-16 14:36:34 +00:00
Miko Mynttinen
89816c07cd
Bug 1720803 - Merge nsDisplayItemBase and nsDisplayItem r=mattwoodrow
...
Differential Revision: https://phabricator.services.mozilla.com/D120039
2021-07-16 13:11:40 +00:00
Emilio Cobos Álvarez
f088ac79f1
Bug 1716537 - Allow updating viewport dimensions on paginated subdocuments. r=mattwoodrow
...
As those don't have the same incremental reflow issues as root paginated
documents, and we do need this for remote iframes to update their
viewport.
Differential Revision: https://phabricator.services.mozilla.com/D119104
2021-07-08 13:21:50 +00:00
Timothy Nikkel
1570c7f606
Bug 1715187. Factor out the resolution from the transform we set on the WebRenderLayerScrollData in nsDisplayRemote::UpdateScrollData. r=botond,hiro
...
The resolutio needs to be applied on top of any other transforms on that WebRenderLayerScrollData.
Differential Revision: https://phabricator.services.mozilla.com/D118326
2021-07-08 09:48:20 +00:00
Narcis Beleuzu
ea843eb725
Backed out 2 changesets (bug 1716537) for WP failures on iframe-cross-origin-print.sub.html
...
Backed out changeset aa3e3f80bd68 (bug 1716537)
Backed out changeset 3226bc23c713 (bug 1716537)
2021-07-07 23:20:47 +03:00
Emilio Cobos Álvarez
ac59befbbe
Bug 1716537 - Allow updating viewport dimensions on paginated subdocuments. r=mattwoodrow
...
As those don't have the same incremental reflow issues as root paginated
documents, and we do need this for remote iframes to update their
viewport.
Differential Revision: https://phabricator.services.mozilla.com/D119104
2021-07-07 18:40:11 +00:00
Edgar Chen
c8e0351b70
Bug 1716762 - Don't allow focus to move to remote iframe which is display: none; r=emilio
...
Make it behave the same as in-process iframe.
Differential Revision: https://phabricator.services.mozilla.com/D118002
2021-07-07 12:08:18 +00:00
Butkovits Atila
15ebcbe33d
Backed out 2 changesets (bug 1716537) for causing failures at iframe-cross-origin-print.sub.html. CLOSED TREE
...
Backed out changeset ddc93b2746df (bug 1716537)
Backed out changeset 7086ac4e5818 (bug 1716537)
2021-07-06 21:42:14 +03:00
Emilio Cobos Álvarez
db987c56f6
Bug 1716537 - Allow updating viewport dimensions on paginated subdocuments. r=mattwoodrow
...
As those don't have the same incremental reflow issues as root paginated
documents, and we do need this for remote iframes to update their
viewport.
Depends on D119103
Differential Revision: https://phabricator.services.mozilla.com/D119104
2021-07-06 16:54:41 +00:00
Dorel Luca
f9f2388e52
Backed out 2 changesets (bug 1716537) for Build bustages. CLOSED TREE
...
Backed out changeset 0b5bfe85b344 (bug 1716537)
Backed out changeset c6561b266910 (bug 1716537)
2021-07-06 18:53:22 +03:00
Emilio Cobos Álvarez
86bc587a47
Bug 1716537 - Allow updating viewport dimensions on paginated subdocuments. r=mattwoodrow
...
As those don't have the same incremental reflow issues as root paginated
documents, and we do need this for remote iframes to update their
viewport.
Depends on D119103
Differential Revision: https://phabricator.services.mozilla.com/D119104
2021-07-06 15:17:44 +00:00
Miko Mynttinen
0b3496b0c7
Bug 1494676 - Always consider scrollframes with will-change: scroll active r=tnikkel
...
This bypasses will-change budgeting for frames will-change: scroll.
Differential Revision: https://phabricator.services.mozilla.com/D118373
2021-06-23 13:10:15 +00:00
Daniel Holbert
876ec88459
Bug 1698987: Use GetCrossDocParentFrameInProcess() in nsSubDocumentFrame. r=tnikkel
...
This patch doesn't change behavior; GetCrossDocParentFrameInProcess() is just a
wrapper for GetCrossDocParentFrame(), which is what we were calling before.
The "InProcess" version of this API (which we're migrating to in this patch) is
used to annotate GetCrossDocParentFrame() callsites that have been vetted as
being OK with the fact that this API returns null at the boundary of a
cross-origin iframe, if fission is enabled.
In this patch, the two calls that I'm migrating are inside of
EndSwapDocShellsForViews, which gets called when a tab is dragged between
windows. I'm annotating these two calls as OK, because:
- the first call is about maintaining the NS_FRAME_IN_POPUP state, which is
used for things like the menulist-dropdown popup. This bit doesn't need to
be propagated across process boundaries.
- the second call is about propagating a "needs-paint" notification up to
ancestor documents. I think we already handle paint invalidation for
cross-process iframes properly, independent of the explicit invalidation that
we're doing here.
Differential Revision: https://phabricator.services.mozilla.com/D108704
2021-03-16 23:54:09 +00:00
Miko Mynttinen
84e1171509
Bug 1526970 - Part 1: Store the list of display items the frame has as a member variable instead of frame property r=mattwoodrow,emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D104059
2021-02-24 22:22:17 +00:00
Gerald Squelart
f25e1c0093
Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian
...
There are no code changes, only #include changes.
It was a fairly mechanical process: Search for all "AUTO_PROFILER_LABEL", and in each file, if only labels are used, convert "GeckoProfiler.h" into "ProfilerLabels.h" (or just add that last one where needed).
In some files, there were also some marker calls but no other profiler-related calls, in these cases "GeckoProfiler.h" was replaced with both "ProfilerLabels.h" and "ProfilerMarkers.h", which still helps in reducing the use of the all-encompassing "GeckoProfiler.h".
Differential Revision: https://phabricator.services.mozilla.com/D104588
2021-02-16 04:44:19 +00:00