Commit graph

322 commits

Author SHA1 Message Date
Matt Woodrow
0ee96e3fa5 Bug 1726291 - Remove FrameLayerBuilder. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-23 03:07:31 +00:00
Cosmin Sabou
b53abb88e7 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
94015526e1 Bug 1726291 - Remove FrameLayerBuilder. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-20 02:20:39 +00:00
Alexandru Michis
326297bd47 Backed out changeset e41bfdf79fb8 (bug 1665476) for causing windows mochitest failures in test_windowminmaxsize.xhtml
CLOSED TREE
2021-08-02 02:14:52 +03:00
Emilio Cobos Álvarez
275707a51b Bug 1665476 - Remove nsRootBoxFrame to unify background propagation between XUL and non-XUL documents. r=layout-reviewers,mats
It's unused on mozilla-central, and Thunderbird can just use the canvas
frame as regular (X)HTML documents, so just use a canvas frame instead
of an nsRootBoxFrame for XUL as well.

nsRootBoxFrame was needed because of various XUL-specific things like
tooltips and so on lived there. But with the move away from XUL, that
functionality has been added to nsCanvasFrame already, behind a
principal check instead.

This also allows simplifying our background propagation setup, which was
only half-working for XUL documents (this bug is a consequence of that).

With this, most of the callers of nsCSSRendering::IsCanvasFrame can go.
They're only two of the frames that would return true for that that
actually paint backgrounds (nsCanvasFrame and nsRootBoxFrame), so the
codepaths in display list building and painting can just check
frame->IsCanvasFrame() instead.

The remaining caller to that function is
nsContainerFrame::SyncWindowProperties, and the change is also legit, in
the sense that the only thing SyncWindowProperties() really cares about
is propagating the max/min-width constraints from the root element's
style to the view/widget, and the only frame that would return true from
IsCanvasFrame and have a view is the viewport frame which is the root of
the frame tree.

Differential Revision: https://phabricator.services.mozilla.com/D90846
2021-08-01 21:57:28 +00:00
Edgar Chen
1ebbd60592 Bug 1685421 - Part 2: Stop using NS_ERROR_DOM_HIERARCHY_REQUEST_ERR in nsINode; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D113344
2021-06-02 13:43:39 +00:00
Mats Palmgren
3885d5d6a6 Bug 1696713 - Add a missing #include to nsCanvasFrame.cpp. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D107360
2021-04-11 20:42:30 +00:00
Mats Palmgren
2381162c81 Bug 1691205 - Initialize the intrinsic block-size to zero in case there is no :root frame. r=TYLin
Note that this only happens for chrome: documents that have been
invasively styled by userChrome.css sheets.  Content documents
are never intrinsically sized, and our own chrome: sheets that
use intrinsic sizing never set 'display:none' on the :root as
far as I know.  I think this is an argument for removing support
for userChrome.css.

Differential Revision: https://phabricator.services.mozilla.com/D104715
2021-02-20 04:25:25 +00:00
Markus Stange
becfe5bfb3 Bug 1599606 - Don't interleave a non-scrolled canvas background color item and a fixed canvas background image with a scrolled background-color item. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D54855
2021-02-02 16:09:12 +00:00
Mats Palmgren
6886fdbba4 Bug 1683126 - Make nsCanvasFrame::Reflow more robust. r=TYLin
This patch improves nsCanvasFrame::Reflow in a few ways.
First, we now iterate over mFrames and reflow every child.
This makes it more robust vis-à-vis the order of any placeholders
and the root frame, and also resilient against a missing root
frame (this fixes the fatal assertion in this bug).  We now
also actually reflow all placeholders which wasn't the case
before. It seems like a prudent thing to do.

I also added a separate nsReflowStatus for each child.

We now also call SetOverflowAreasToDesiredBounds() in all
cases.  We failed to do that in the 'mFrames.IsEmpty()' case
before, which triggered the assertions in bug 1655630 and
bug 1392106.

Differential Revision: https://phabricator.services.mozilla.com/D103592
2021-02-01 23:46:17 +00:00
Mats Palmgren
fa79ccb1df Bug 1680964 - Don't push all child frames, just 'kidFrame'. r=TYLin
layout/forms/crashtests/1182414.html is one of the tests
that triggered an assertion without this patch:
"ASSERTION: must have doc root as canvas frame's only child: 'overflow->OnlyChild()', layout/generic/nsCanvasFrame.cpp:710"
(because we pushed both the :root frame and a placeholder)

Differential Revision: https://phabricator.services.mozilla.com/D98859
2020-12-08 14:02:11 +00:00
Mats Palmgren
e94fd41033 Bug 1669333 - Make the fragmentation fallback code use logical coordinates. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D97864
2020-11-30 15:58:19 +00:00
Simon Giesecke
971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Mats Palmgren
7352f9f7a6 Bug 1665214 - Reserve space at the top of the page for non-fragmented overflow from previous pages. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D97021
2020-11-19 20:16:11 +00:00
Ting-Yu Lin
9910d9e651 Bug 1674931 Part 1 - Add WritingMode argument to SizeComputationInput::ComputedLogicalMargin(), and adapt callers. r=jfkthame
It's straightforward to determine which writing mode is required to pass
to ComputedLogicalMargin() by looking at any subsequent method called on
the margin.

For example, if we see

```
ComputedLogicalMargin().BStartEnd(wm);
```

the writing mode needed to pass to `ComputedLogicalMargin()` is `wm`.

Differential Revision: https://phabricator.services.mozilla.com/D95661
2020-11-03 19:44:58 +00:00
Emilio Cobos Álvarez
ba7373413f Bug 1665064 - Honor print background image settings on WebRender too. r=kats,jwatt CLOSED TREE
We usually suppress background images in
nsCSSRendering::PaintStyleImageLayerWithSC, but that codepath isn't hit
by WebRender, so instead do it during display list building, the same
way we suppress background colors.

Differential Revision: https://phabricator.services.mozilla.com/D90278
2020-09-15 16:26:05 +00:00
Narcis Beleuzu
746b4430d0 Backed out changeset a572a639204f (bug 1665064) for reftest failures. CLOSED TREE 2020-09-15 21:33:06 +03:00
Emilio Cobos Álvarez
f8330284c5 Bug 1665064 - Honor print background image settings on WebRender too. r=kats,jwatt
We usually suppress background images in
nsCSSRendering::PaintStyleImageLayerWithSC, but that codepath isn't hit
by WebRender, so instead do it during display list building, the same
way we suppress background colors.

Differential Revision: https://phabricator.services.mozilla.com/D90278
2020-09-15 16:26:05 +00:00
Ting-Yu Lin
fdc00547f6 Bug 1637130 - Rename visual overflow to ink overflow. r=dbaron
This patch is generated by:

```
# Rename the nsOverflowType enum.
rg -l "eVisualOverflow" layout/ gfx/ | xargs sed -i "s/eVisualOverflow/eInkOverflow/g"

# Rename and drop the "Get" prefix from various functions.
rg -l "GetVisualOverflowRect" layout/ gfx/ | xargs sed -i "s/GetVisualOverflowRect/InkOverflowRect/g"
rg -l "GetPreEffectsVisualOverflowRect" layout/ gfx/ | xargs sed -i "s/GetPreEffectsVisualOverflowRect/PreEffectsInkOverflowRect/g"
rg -l "GetVisualOverflowFromDeltas" layout/ gfx/ | xargs sed -i "s/GetVisualOverflowFromDeltas/InkOverflowFromDeltas/g"
rg -l "GetScrollableOverflowRect" layout/ gfx/ | xargs sed -i "s/GetScrollableOverflowRect/ScrollableOverflowRect/g"

# Rename, drop the "Get" prefix, and change the suffix "Area" to "Rect"
# (because they return nsRect) for the two methods in nsLineBox.
rg -l "GetVisualOverflowArea" layout/ gfx/ | xargs sed -i "s/GetVisualOverflowArea/InkOverflowRect/g"
rg -l "GetScrollableOverflowArea" layout/ gfx/ | xargs sed -i "s/GetScrollableOverflowArea/ScrollableOverflowRect/g"

# Rename rest of the functions and variables.
rg -l "VisualOverflow" layout/ gfx/ | xargs sed -i "s/VisualOverflow/InkOverflow/g"
rg -l "visual overflow" layout/ gfx/ | xargs sed -i "s/visual overflow/ink overflow/g"
rg -l "visualOverflow" layout/ gfx/ | xargs sed -i "s/visualOverflow/inkOverflow/g"
rg -l "visOverflow" layout/ gfx/ | xargs sed -i "s/visOverflow/inkOverflow/g"
rg -l "vis-overflow" layout/ gfx/ python/ | xargs sed -i "s/vis-overflow/ink-overflow/g"

./mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D84231
2020-07-20 20:17:36 +00:00
Kagami Sascha Rosylight
1afcf4d621 Bug 1630704 - Part 27: Remove nsFrame from inheritance chain r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81864
2020-07-06 22:29:42 +00:00
Simon Giesecke
cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Kagami Sascha Rosylight
ca9abb5ac5 Bug 1647525 - Use HasAnyStateBits() in nsCanvasFrame r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81197
2020-06-27 13:16:23 +00:00
Emilio Cobos Álvarez
ce1947b502 Bug 1640917 - Remove XBL mentions in layout. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D76846
2020-05-26 16:16:32 +00:00
Miko Mynttinen
7bbb0da9d4 Bug 1554499 - Part 15: Use MakeDisplayItemWithIndex with nsDisplayCanvasBackgroundImage r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D74094
2020-05-11 16:59:14 +00:00
Miko Mynttinen
781c51c446 Bug 1554499 - Part 14: Remove index from nsDisplayBlendContainer, nsDisplayTableBlendContainer, nsDisplayBlendMode, nsDisplayTableBlendMode r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D74093
2020-05-11 16:59:01 +00:00
Miko Mynttinen
6619843fbf Bug 1554499 - Part 6: Remove index from nsDisplayBackgroundImage, nsDisplayTableBackgroundImage, nsDisplayFixedPosition, nsDisplayTableFixedPosition r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D74085
2020-05-11 16:56:38 +00:00
Brendan Dahl
6a11b1827e Bug 1629770 - Create popupgroup for any main process system privileged documents. r=emilio,Jamie
Fixes tooltips/menus in responsive design mode. A few accesibility tests
had to be adjusted since tooltips are now automatically created
for them.

Differential Revision: https://phabricator.services.mozilla.com/D72400
2020-04-29 21:52:51 +00:00
Philipp Zech
3db72bdd4b Bug 1622332 - Convert style-blend #defines to an enum class. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D66867

--HG--
extra : moz-landing-system : lando
2020-03-14 21:24:11 +00:00
Ting-Yu Lin
afe9123179 Bug 1622008 Part 3 - Remove nsPresContext* and PresShell* from the argument list of some continuing-frame-creation methods. r=dholbert
Both PresShell() and PresContext() are cached in nsIFrame. This
simplifies the setup for the callers to
nsCSSFrameConstructor::CreateContinuingFrame().

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

--HG--
extra : moz-landing-system : lando
2020-03-12 21:50:23 +00:00
Sylvestre Ledru
ca6530131a Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan,kvark
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-02-24 15:33:38 +00:00
Emilio Cobos Álvarez
0bc209c210 Bug 1614921 - Ignore background-image on canvas in high-contrast mode. r=morgan
Let's give this a shot.

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

--HG--
extra : moz-landing-system : lando
2020-02-20 15:55:58 +00:00
Simon Giesecke
9350e6b741 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-20 11:40:14 +00:00
Daniel Varga
8ae244478e Backed out 2 changesets (bug 1614921) for causing reftest failures at layout/reftests/high-contrast/backplate-bg-image-001.html
Backed out changeset 1221e1369f08 (bug 1614921)
Backed out changeset 0551e1798d61 (bug 1614921)

--HG--
extra : rebase_source : 0781cc7d28bbc49af8a2a111a4449e71e1484bce
2020-02-20 06:32:00 +02:00
Emilio Cobos Álvarez
ca52954456 Bug 1614921 - Ignore background-image on canvas in high-contrast mode. r=morgan
Let's give this a shot.

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

--HG--
extra : moz-landing-system : lando
2020-02-19 20:17:03 +00:00
Dorel Luca
d5f9df8ee1 Backed out 2 changesets (bug 1613985) for Build bustage on Windows2012. CLOSED TREE
Backed out changeset fd177b40b561 (bug 1613985)
Backed out changeset fb6d62b7f28d (bug 1613985)
2020-02-19 22:22:41 +02:00
Simon Giesecke
59b23375c0 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-19 18:05:38 +00:00
Emilio Cobos Álvarez
006e5cca66 Bug 1614198 - Use cbindgen instead of nsStyleImage. r=aosmond
The trickier part is that we represent -moz-image-rect as a Rect() type instead
of image with non-null clip-rect. So we need to add a bit of code to
distinguish "image request types" from other types of images.

But it's not too annoying, and we need to do the same for fancier images like
image-set and such whenever we implement it, so seems nice to get rid of
most explicit usages of nsStyleImage::GetType().

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

--HG--
extra : moz-landing-system : lando
2020-02-11 20:56:20 +00:00
Timothy Nikkel
9f865561a5 Bug 1614550. Don't ifdef nsDisplayCanvasBackgroundColor::WriteDebugInfo on MOZ_DUMP_PAINTING. r=miko
All the other WriteDebugInfo are not ifdef'd.

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

--HG--
extra : moz-landing-system : lando
2020-02-11 12:17:34 +00:00
Mihai Alexandru Michis
24d8c1e29e Backed out changeset 418f08a73850 (bug 1599606) for causing Bug 1609022. a=RyanVM
CLOSED TREE

--HG--
extra : rebase_source : ae4ec3f214bd9957f85d743270a7fa03a34dd292
extra : amend_source : 328606abb528d8c82215dcf8435f06a6cc1ec7f7
2020-01-23 15:35:45 +02:00
Emilio Cobos Álvarez
51c8170136 Bug 1598841 - nsCanvasFrame anonymous content needs to be document-level. r=bdahl,heycam
Otherwise code like StyleChildrenIterator won't find it, plus it is the right
thing to do anyway.

You don't really want this to inherit from the root element, even though given
this content is under our control (only in chrome documents) it is less of an
issue.

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

--HG--
extra : moz-landing-system : lando
2019-12-11 22:27:07 +00:00
Markus Stange
58622a911c Bug 1599606 - Don't interleave a non-scrolled canvas background color item and a fixed canvas background image with a scrolled background-color item. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D54855

--HG--
extra : moz-landing-system : lando
2019-11-28 01:14:03 +00:00
Ting-Yu Lin
551716366d Bug 1102175 Part 1 - Propagate used writing-mode from body element to its ancestors. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D45481

--HG--
extra : moz-landing-system : lando
2019-10-10 04:44:44 +00:00
Gurzau Raul
5542cedd05 Backed out 4 changesets (bug 1102175) for Android reftest failures at font-inflation-1a.html
Backed out changeset 33914610f60f (bug 1102175)
Backed out changeset 004a0cb8af9f (bug 1102175)
Backed out changeset 2ac28b335c3c (bug 1102175)
Backed out changeset 50b041e06f23 (bug 1102175)
2019-10-10 07:40:38 +03:00
Ting-Yu Lin
1ce98223f5 Bug 1102175 Part 1 - Propagate used writing-mode from body element to its ancestors. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D45481

--HG--
extra : moz-landing-system : lando
2019-10-09 22:11:02 +00:00
Andrew Osmond
fce484c34f Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-14 16:17:04 +00:00
Ciure Andrei
a4046ec458 Backed out 6 changesets (bug 1574493) for causing nested-sticky-2.html to perma fail CLOSED TREE
Backed out changeset 358746636448 (bug 1574493)
Backed out changeset 34aef5498237 (bug 1574493)
Backed out changeset 1f88e2031c76 (bug 1574493)
Backed out changeset 07c588b5ea10 (bug 1574493)
Backed out changeset 0685e8d3510e (bug 1574493)
Backed out changeset 15d4390220c4 (bug 1574493)
2019-09-13 19:26:50 +03:00
Andrew Osmond
25866edb78 Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 14:03:23 +00:00
Ciure Andrei
8c3feea58a Backed out 6 changesets (bug 1574493) for causing nested-sticky-1.html to perma fail CLOSED TREE
Backed out changeset fdc25a90b0ef (bug 1574493)
Backed out changeset 0ce3c48c1f79 (bug 1574493)
Backed out changeset 326b9f96614b (bug 1574493)
Backed out changeset b0817c0aee77 (bug 1574493)
Backed out changeset 70d99c264df9 (bug 1574493)
Backed out changeset e5217ab4b668 (bug 1574493)
2019-09-13 16:17:47 +03:00
Andrew Osmond
b2d4e121cb Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 10:48:31 +00:00
Gurzau Raul
fe4bb6d539 Backed out 6 changesets (bug 1574493) for wrench failures at stacking-context-clip.yaml on a CLOSED TREE.
Backed out changeset 8a8736ac4e25 (bug 1574493)
Backed out changeset 4a3294e88823 (bug 1574493)
Backed out changeset 0c26ecdc1ddc (bug 1574493)
Backed out changeset 11257f7b3ad3 (bug 1574493)
Backed out changeset dcedc286ad9d (bug 1574493)
Backed out changeset 87f216e0753d (bug 1574493)
2019-09-12 18:34:07 +03:00