Commit Graph

3012 Commits

Author SHA1 Message Date
Aleksandr Shoronov
0b08ff2578 Bug 1790067 - Removed the warning about non-cell relative parts of table. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D157583
2022-09-17 14:37:32 +00:00
Ting-Yu Lin
3dabeb94e6 Bug 1789034 - Rename ShrinkWidthToFit to ShrinkISizeToFit. r=emilio
This method already works in logical coordinates. We should name it correctly.

Differential Revision: https://phabricator.services.mozilla.com/D156356
2022-09-05 03:46:47 +00:00
David Shin
7dc6cd0425 Bug 1786353 - Use logical sides when calculating table cell baseline. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D155396
2022-08-23 17:11:44 +00:00
Emilio Cobos Álvarez
02a33b5e90 Bug 1785310 - Add a few extra missing includes that hybrid builds caught.
MANUAL PUSH: Trivial orange fix CLOSED TREE
2022-08-18 00:08:37 +02:00
Emilio Cobos Álvarez
784307a8e2 Bug 1785310 - Remove mozilla/StaticPrefs_layout.h includes from other headers. r=dholbert
Adding layout prefs cause massive rebuilds because of this.

Differential Revision: https://phabricator.services.mozilla.com/D154928
2022-08-17 21:26:36 +00:00
Mark Banner
1e3410cbdd Bug 1782008 - Remove now unnecessary .eslintrc.js files. r=webcompat-reviewers,extension-reviewers,media-playback-reviewers,pip-reviewers,denschub,rpl,alwu,mossop
Differential Revision: https://phabricator.services.mozilla.com/D152736
2022-08-03 11:16:20 +00:00
Ting-Yu Lin
06ddbd2b65 Bug 1464761 Part 4 - Remove nsReflowStatus::mTruncated bit. r=dholbert
In the description of the mTruncated bit, its purpose is the same as calling
SetInlineLineBreakBeforeAndReset(). We've removed all its usages in previous
patches, so the bit is no longer needed.

Differential Revision: https://phabricator.services.mozilla.com/D151461
2022-07-27 21:55:18 +00:00
Ting-Yu Lin
df44e187d6 Bug 1464761 Part 2 - Remove IsTruncated() in nsTableRowFrame::ReflowCellFrame(). r=dholbert
We call NS_FRAME_SET_TRUNCATION (via nsReflowStatus::UpdateTruncated) in the end
of every frame's Reflow() to update nsReflowStatus::mTruncated bit. In the
following patches, I'm going to rewrite all the callers of IsTruncated(), and
ultimately remove the mTruncated bit.

In this patch, I rewrite the callsite in ReflowCellFrame() by moving
nsReflowStatus::UpdateTruncated logic [1] into it. Note that we use an assertion
in ReflowCellFrame to make sure nsTableRowFrame and nsTableCellFrame have the
same writing-mode.

The only test covering the code path is `layout/reftests/bugs/409084-1a.html`.

[1] https://searchfox.org/mozilla-central/rev/2946e9b450cb35afaf8dad927a8d187975dcd74d/layout/generic/nsIFrame.cpp#256-258

Differential Revision: https://phabricator.services.mozilla.com/D151459
2022-07-27 21:55:17 +00:00
Jeff Muizelaar
84b79d2679 Bug 1779602 - Remove nsImageGeometryMixin. r=tnikkel
nsImageGeometryMixin was disabled in bug 1776198. No problems have shown up
so let's get rid of it.

Differential Revision: https://phabricator.services.mozilla.com/D151864
2022-07-18 21:20:50 +00:00
Ting-Yu Lin
0963d5b692 Bug 1758757 - Remove two ReflowInput::ApplyRelativePositioning methods that require ReflowInput instance. r=emilio
See bug 1758757 comment 0 for the rationale.

Note: the old code in nsTableRowGroupFrame::SlideChild() is bogus because it
calls ApplyRelativePositioning() via the nsTableRowGroupFrame's ReflowInput
instance. That is, it applies relative positioning to nsTableRowGroupFrame, but
not to the aKidFrame (nsTableRowFrame).

While I'm here, I expand `SlideChild` in its only caller, and simplify it.

Differential Revision: https://phabricator.services.mozilla.com/D150323
2022-06-27 20:49:59 +00:00
Daniel Holbert
eb46f640d5 Bug 1774894: Remove unused function nsDisplayTableItem::UpdateForFrameBackground and its associated dead-code. r=emilio
This patch doesn't affect behavior; it's dead-code removal.

UpdateForFrameBackground is never called, and hence can be removed.

The member-var that it conditionally set, mPartHasFixedBackground, can be
assumed to be always false, and hence can be removed.

The same struct's other member-var, mDrawsBackground, is irrelevant since it's
only checked in combination with mPartHasFixedBackground, and hence can be
removed.   And with that, the local variable invalidateForAttachmentFixed can
be removed as well.

This all seems to be code that's obsoleted by our (long-ago) move to using
display lists to draw tables.

Differential Revision: https://phabricator.services.mozilla.com/D149680
2022-06-18 21:20:52 +00:00
Daniel Holbert
752338d00d Bug 1774879 part 5: Remove ComputedStyle* param from nsDisplayBackgroundImage::AppendBackgroundItemsToTop, since all callers pass nullptr (implicitly or explicitly). r=emilio
This patch doesn't change behavior.

I was initially going to promote this param to be const (which is an
improvement that's unlocked by earlier patches this series), but in doing so
I realized the param is entirely unnecessary. So, let's just remove it.

Differential Revision: https://phabricator.services.mozilla.com/D149678
2022-06-18 21:20:51 +00:00
Daniel Holbert
0d0df2e61c Bug 1774261 part 1: Simplify nsCSSRendering::FindBackground to directly return its result instead of using an outparam. r=emilio
This patch doesn't change behavior.

Before this patch, the FindBackground API returns a bool to indicate
success/failure, and sets its outparam to a non-null pointer-value on success.

This patch simplifies the API by just promoting the promoting the outparam to
be the actual return value, with nullptr as a sentinel value to indicate
failure.

(This patch adds some braces to affected/contextual if statements, too, to
match our coding style guide.)

Differential Revision: https://phabricator.services.mozilla.com/D149337
2022-06-17 21:55:20 +00:00
Ryan VanderMeulen
229dedfb50 Bug 1361577 - Remove unnecessary null check of mRG. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D149521
2022-06-16 14:06:59 +00:00
David Shin
5880af206c Bug 1767364: Return an incomplete reflow status for tables if they have next-in-flow with previously unflowed children. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D148140
2022-06-10 09:14:00 +00:00
Jonathan Kew
39ac62422e Bug 1771609 - patch 3 - Remove nsAutoLineIterator, as it no longer serves any useful purpose since the iterator is owned by the target frame. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D147579
2022-06-03 22:05:36 +00:00
Daniel Holbert
15c0b78f0d Bug 1772386: Improve a nsTableFrame code comment. r=dshin
DONTBUILD because this is just a code-comment change.

In particular, in this patch...
- I'm removing an XXXldb one-liner todo-comment which was suggesting something
  that we in fact now do. (At the time that this comment was added, we only
  checked `presContext->IsPaginated()`[1] and did not check for unconstrained
  available-bsize, but now we do.)
- I'm rewording the remaining comment for clarity and to fix some typos.
- I'm adding a reference to bug 1772383 which (now) covers the issue that the
  comment is alluding to.

[1] https://searchfox.org/mozilla-central/diff/31f1898810f733c40bfe3fd4b25295885feb2e39/layout/tables/nsTableFrame.cpp#2734

Differential Revision: https://phabricator.services.mozilla.com/D148148
2022-06-02 20:52:33 +00:00
Emilio Cobos Álvarez
7ef18a962f Bug 1472602 - Sticky/relative position fixes in nsTableWrapperFrame. r=dholbert
Captions should be relatively-positioned (other browsers support this as
well). This ensures we correctly save their normal positions and thus
that the sticky scroll container knows how to reposition them correctly.

Avoid registering inner table frames with the sticky scroll container to
make the assertion sound in cases of sticky-positioned tables.

Differential Revision: https://phabricator.services.mozilla.com/D147092
2022-05-23 23:40:42 +00:00
Iulian Moraru
721e45f5a7 Backed out changeset e3377838e213 (bug 1472602) for causing multiple failures related to StickyScrollContainer. CLOSED TREE 2022-05-24 01:14:50 +03:00
Emilio Cobos Álvarez
f475401d94 Bug 1472602 - Sticky/relative position fixes in nsTableWrapperFrame. r=dholbert
Captions should be relatively-positioned (other browsers support this as
well). This ensures we correctly save their normal positions and thus
that the sticky scroll container knows how to reposition them correctly.

Avoid registering inner table frames with the sticky scroll container to
make the assertion sound in cases of sticky-positioned tables.

Differential Revision: https://phabricator.services.mozilla.com/D147092
2022-05-23 20:43:15 +00:00
Glenn Watson
23e2c51d4d Bug 1768983 - Add prim flag for checkerboarding backgrounds r=gfx-reviewers,lsalzman
Although not needed right now (checkerboarding backgrounds get
a slice anyway due to being a different scroll root), this will
be important for the upcoming work to make backdrop filter
roots implicit. This allows WR to know when slicing up a content
slice if the prim is relevant to the backdrop root.

Differential Revision: https://phabricator.services.mozilla.com/D146145
2022-05-15 21:54:25 +00:00
Daniel Holbert
d6f4c7f5ba Bug 1769011: Remove set-but-never-used variable "cellCount" from table layout method nsCellMap::Dump. r=emilio
This patch doesn't impact behavior; it's just dead code removal.

Differential Revision: https://phabricator.services.mozilla.com/D146353
2022-05-13 23:56:04 +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
David Shin
93e0f512d5 Bug 1757110: Refactor BCCorners::corners and BCCellBorders::borders to use mozilla::UniquePtr r=dholbert
Depends on D142080

Differential Revision: https://phabricator.services.mozilla.com/D142081
2022-03-25 19:19:15 +00:00
David Shin
e4cde48efe Bug 1757110: Refactor nsTableFrame::mCellMap, mTableLayoutStrategy to use mozilla::UniquePtr r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D142080
2022-03-25 19:19:14 +00:00
dshin
0ac757550b Bug 1757110 - Refactor BCPaintBorderIterator::mBlockDirInfo to use mozilla::UniquePtr r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D141989
2022-03-24 20:49:20 +00:00
Miko Mynttinen
5e2929ac64 Bug 1735265 - Part 1: Set clip on background items for table cols and colgroups, when the table cell has captured clip r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D129681
2022-03-22 18:40:51 +00:00
Ting-Yu Lin
89fbc34b44 Bug 1758018 Part 1 - Rename the helpers testing "position:relative" or "position:sticky". r=emilio
`nsIFrame::IsRelativelyPositioned()` tests "position:relative" or
"position:sticky", but its naming is misleading until you've dug into the
underlying helper `nsStyleDisplay::IsRelativelyPositionedStyle()`.

Differential Revision: https://phabricator.services.mozilla.com/D140273
2022-03-04 03:02:00 +00:00
Nicolas Silva
55cceefeb1 Bug 1755747 - Add support for antialiased non-snapped rectangles. r=gfx-reviewers,aosmond
We need them for SVG primitives.

This patch adds a bit of plumbing to disable snapping some of the primitives and forcing the antialiasing shader feature where needed, and uses it for SVG solid rectangles and images.

Differential Revision: https://phabricator.services.mozilla.com/D139024
2022-02-23 13:37:39 +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
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
Daniel Holbert
ac39525ec7 Bug 1754295 part 3: Fix non-unified build errors in layout/tables, and mark it as safe to build in non-unified mode. r=boris
This patch fixes the following build error:
layout/tables/FixedTableLayoutStrategy.cpp:86:31: error: incomplete type 'nsLayoutUtils' named in nested name specifier

I'm also removing the "DEBUG_TABLE_STRATEGY_off" definition from the contextual
section of moz.build, because that symbol is never used. (It's never mentioned
anywhere else in our codebase; it must have controlled some long-since-removed
code).

Differential Revision: https://phabricator.services.mozilla.com/D138217
2022-02-08 23:29:56 +00:00
Miko Mynttinen
a65a273fd8 Bug 1697979 - Part 1: Reuse previously built stacking context display items without merging r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D128413
2022-01-22 02:37:31 +00:00
Alexandru Michis
dce8504d76 Backed out 3 changesets (bug 1697979) for causing reftest failures in retained-dl-displayport-1.html
Backed out changeset e4248d811360 (bug 1697979)
Backed out changeset db3882cc536c (bug 1697979)
Backed out changeset ea7ce38abaab (bug 1697979)
2022-01-21 04:01:27 +02:00
Miko Mynttinen
55ab9e83dd Bug 1697979 - Part 1: Reuse previously built stacking context display items without merging r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D128413
2022-01-21 00:43:34 +00:00
Noemi Erli
47edcb7964 Backed out 3 changesets (bug 1697979) for causing reftest failures CLOSED TREE
Backed out changeset 4edb10a45d13 (bug 1697979)
Backed out changeset 456b57492294 (bug 1697979)
Backed out changeset 1cb3b14f2f6c (bug 1697979)
2022-01-20 22:25:00 +02:00
Miko Mynttinen
cc5862abeb Bug 1697979 - Part 1: Reuse previously built stacking context display items without merging r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D128413
2022-01-20 18:38:59 +00:00
Masayuki Nakano
7a52e41ff0 Bug 1741148 - part 3: Make users of nsINode::ComputeIndexOf_Deprecated() use nsINode::ComputeIndexOf() if the result is not set to int32_t nor return as int32_t r=smaug
This patch fixes only the cases if the result of `ComputeIndexOf_Deprecated()`
is used as unsigned integer with implicit or explicit cast.

Differential Revision: https://phabricator.services.mozilla.com/D131336
2021-12-09 11:55:36 +00:00
Masayuki Nakano
41d6e516dc Bug 1741148 - part 1: Rename nsINode::ComputeIndexOf to ComputeIndexOf_Deprecated r=smaug
It's hard to fix some callers.  Therefore, in this bug, we should fix only
simple cases.  Therefore, we should rename existing API first.

Differential Revision: https://phabricator.services.mozilla.com/D131334
2021-12-09 08:32:30 +00:00
Cristian Tuns
689d88ba53 Backed out 2 changesets (bug 1735265) for causing reftest failures on 1735265-2-ref.html CLOSED TREE
Backed out changeset 26205128ce34 (bug 1735265)
Backed out changeset c897d241ad39 (bug 1735265)
2021-12-08 10:11:15 -05:00
Miko Mynttinen
ef720d7b87 Bug 1735265 - Part 1: Set clip on background items for table cols and colgroups, when the table cell has captured clip r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D129681
2021-12-08 14:14:59 +00:00
Chris Peterson
ce3f0d40fe Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium
-Wshadow warnings are not enabled globally, so these -Wno-shadow suppressions have no effect. I had intended to enable -Wshadow globally along with these suppressions in some directories (in bug 1272513), but that was blocked by other issues.

There are too many -Wshadow warnings (now over 2000) to realistically fix them all. We should remove all these unnecessary -Wno-shadow flags cluttering many moz.build files.

Differential Revision: https://phabricator.services.mozilla.com/D132289
2021-12-01 06:40:04 +00:00
Jonathan Kew
2aefad4cba Bug 1732674 - Make nsLineIterator a lightweight wrapper for an nsLineList_iterator instead of building a separate array. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D126671
2021-11-09 15:55:54 +00:00
Norisz Fay
eff51791b8 Backed out 2 changesets (bug 1732674) for line iterator crashes (bug 1733047) a=backout
Backed out changeset 730555699380 (bug 1732674)
Backed out changeset f529288a6dde (bug 1732674)
2021-10-20 12:24:14 +03:00
Jonathan Kew
7876f52255 Bug 1732674 - Make nsLineIterator a lightweight wrapper for an nsLineList_iterator instead of building a separate array. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D126671
2021-10-19 09:29:13 +00:00
criss
11a1ff81b1 Backed out changeset ce929d9e000a (bug 1732674) for causing nsLineIterator::FindLineContaining crashes (bug 1733047) . a=aryx 2021-10-16 12:46:38 +03:00
Jonathan Kew
bdae338df9 Bug 1732674 - Make nsLineIterator a lightweight wrapper for an nsLineList_iterator instead of building a separate array. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D126671
2021-10-15 13:13:04 +00:00
Daniel Holbert
ae883d1b5f Bug 1733727 part 2: Use StaticAutoPtr to manage lifetime of various "sFoo" 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/D127336
2021-10-02 18:59:11 +00:00
Alexandru Michis
ea4bf7df26 Backed out changeset a4ebb978f792 (bug 1732674) for causing layout crashes (bug 1733047). a=backout 2021-09-30 17:38:15 +03:00