Commit Graph
56 Commits
Author SHA1 Message Date
MeladJM 60d582acb4 Issue #2499 - Fix CSS overflow mixed-axis behavior 2025-07-12 02:26:42 +08:00
MeladJM 53a22cbf9a Merge branch '2499-clip-overflow' 2025-07-09 23:03:50 +08:00
MeladJM bb45d38314 Issue #2499 - Part 3: Add CSS clip overflow support with serialization fixes 2025-07-08 05:46:54 +08:00
Andy e986a1a58c Issue #2106 - Clean-up: Un-prefix -moz-user-select in Comments 2025-07-07 10:46:13 -07:00
Moonchild 32dbcc08f3 Issue #2694 - Improve nested grid layout performance by caching.
This improves performance by caching the grid items' block axis
measurement, avoiding potentially exponential calculations and reflows.
Resolves #2694
2025-02-18 16:56:11 +01:00
Moonchild bb3405c8b6 Issue #1925 - Convert NS_SIDE_TO_HALF_CORNER to a constexpr function. 2024-08-02 11:15:28 +02:00
Moonchild cf7b3e3a09 Issue #1925 - Convert NS_SIDE_IS_VERTICAL to a constexpr function. 2024-08-02 10:31:21 +02:00
Moonchild 0bdb90ab40 Issue #1925 - Convert NS_HALF_CORNER_IS_X to a constexpr function. 2024-08-02 08:30:23 +02:00
Moonchild 11c9b60eba Issue #1925 - Convert half-corner index macros to an enum. 2024-08-02 08:01:01 +02:00
Moonchild dc4316132b Issue #1925 - Remove use of NS_SIDE_* macros. 2024-08-01 17:28:01 +02:00
FranklinDM 1ed0fa9f83 Issue #2488 - Part 4: Remove the RestyleManagerHandle smart pointer class 2024-03-30 08:46:33 +08:00
FranklinDM da4399a912 Issue #2112 - Part 10: Remove remaining Stylo/Servo includes and code
Some classes have been marked for removal/merging, macros used for forwarding/casting were moved to DeprecatedUtils.h.
2024-03-26 01:25:59 +08:00
FranklinDM 1ecde083b1 Issue #2112 - Part 5: Remove Servo from forwarding code used by magic pointer classes 2024-03-26 01:24:49 +08:00
athenian200 b787af5702 Issue #1638 - Part 1: Put NPAPI code behind MOZ_ENABLE_NPAPI.
Adds --disable-npapi as an additional build option. The default is still to build in NPAPI compatibility, but with this flag, it's finally possible to build without pulling in GTK2 on systems that don't have the package.

This essentially ifdefs everything associated with NPAPI, following various Mozilla removal bugs.

Ref: BZ 1682030, BZ 1251202, BZ 1217665, BZ 1687239
2024-01-10 04:03:35 -06:00
Moonchild 734f0957fb Issue #2343 - replace MOZ_FALLTHROUGH with [[fallthrough]]
Basically a S&R. Removed the macro and adjusts IDL codegen accordingly.
2023-11-11 14:27:03 +01:00
Job BautistaandRyo Onodera 6f635acadc Issue #2063 - Ensure a floated ::first-letter inherits from ::first-line.
This fixes the 24 year old Mozilla bug 13610.

Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2022-12-23 19:21:40 +08:00
Moonchild 5f8d70dacd Revert "Issue #1986 - Part 2: Add IsItemInlineAxisMainAxis() and rework some nsFrame code."
This reverts commit ef4eb3f926.
2022-09-27 20:04:02 +00:00
Jeremy Andrews ef4eb3f926 Issue #1986 - Part 2: Add IsItemInlineAxisMainAxis() and rework some nsFrame code.
It turns out part 10 was actually needed, but Bug 1449838 had a significantly
better version of what that code does that was easy enough to backport to what
we have. As far as I can tell, this passes the relevant reftests now.
2022-08-16 16:11:48 -05:00
Job Bautista b3cacb2c3a Issue #1916 - Part 1: Convert flags passed to ReflowChild, FinishReflowChild, etc into an enum class.
Backported from Mozilla bug 1571250.
2022-06-17 16:05:57 +08:00
Brian Smith 1eaadfbc8d Issue #1829 - Readd code cleanup that is not Mac related that got clobbered by reverting Issue #1751 2022-04-26 15:57:19 -05:00
Brian Smith e764f258e2 Issue #1829 - Revert "Issue #1751 -- Remove XP_MACOSX conditionals from /layout"
This reverts commit aa0fd3d68c.
2022-04-26 10:21:29 -05:00
FranklinDM bb9700d982 Issue #1370 - Follow-up: Give table wrapper boxes a special case during flex base size resolution, so that percent main-sizes can be respected
This is a workaround, based on https://bugzilla.mozilla.org/show_bug.cgi?id=1455976
2022-04-17 11:03:22 +02:00
FranklinDM 567ba7ede6 Issue #1370 - Part 4: Treat flex-basis: content as max-content
This uses a different approach and builds upon the refactoring made in the 576eb6ee01fb9ee3669cad634b26473c2886cab1.

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1374540
2022-04-07 18:35:50 +08:00
FranklinDM 79b640795a Issue #1370 - Part 3: Implement content keyword for flex-basis property
Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1105111
2022-04-07 18:35:49 +08:00
FranklinDM 0b75a2a787 Issue #1370 - Part 2: Remove redundant special-case code for treating flex-basis enum values as 'auto' in vertical axis
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1436881
2022-04-07 18:35:48 +08:00
FranklinDM b8d18bace6 Issue #1370 - Part 1: Refactor nsFrame to use a separate function for handling flex-basis
This removes the need to keep the `flex-basis` handling code of the ComputeSize* functions in sync since they both call the same function now for this purpose.
2022-04-07 18:35:42 +08:00
Moonchild ddaee7c1be Issue #1830 - Remove --disable-xul config and conditionals. 2022-04-01 14:47:16 +02:00
Moonchild aa0fd3d68c Issue #1751 -- Remove XP_MACOSX conditionals from /layout 2021-05-03 12:26:37 +00:00
Moonchild 0e6a9cc60a Issue #1705 - Part 3: Rename ScrollbarStyles to ScrollStyles.
ScrollbarStyles contains values of overflow, (over)scroll-behavior, etc.
The only one which is marginally related to scroll _bars_ is overflow, which can
be used to hide scrollbar (by making an element not scrollable) or enforce the
scrollbar to display.

It makes more sense to be called ScrollStyles as it's mainly concerning behavior
of scrolling, not scrollbars. Also, with the addition of scrollbar width
properties, the current name can be confusing.
2021-01-06 16:31:36 +00:00
athenian200 1fc996152b Issue #1668 - Part 2: Visited color and auto support for caret-color property.
Mozilla's original implementation of this failed a couple of tests, but this seems to solve all the problems. Basically, the caret-color wasn't able to be set differently based on whether a link was visited, and the auto value implementation was incomplete. The only test we fail now is the one where you have grey text on a grey background and the caret is supposed to be visible, but I think that may have been removed from the spec. Even if it wasn't, no other browser supports it anyway.
2020-10-18 10:12:53 -05:00
athenian200 8e3832bacb Issue #1668 - Part 1: Implement support for caret-color property.
This CSS property allows input carets (that blinking input cursor you see in text fields), to be given a custom color. This was implemented in Firefox 53, and it was such a minor feature that no one ever missed it, but I don't see any harm in implementing this.

https://bugzilla.mozilla.org/show_bug.cgi?id=1063162
2020-10-18 10:04:12 -05:00
Andy ba0a2e796d Issue #1619 - Add Vertical Writing Testcase
Ensures aspect ratio numerator and denominator aren't swapped in vertical writing modes.
https://bugzilla.mozilla.org/show_bug.cgi?id=1548768
2020-08-01 20:54:54 -07:00
Andy 232f987cf4 Issue #1619 - Convert Intrinsic Ratio to Float
https://bugzilla.mozilla.org/show_bug.cgi?id=1547792

Aspect Ratio handling simplified by using floating point integers:
- Multiplication of value (or inverse value) to a known side for Scaling
- No unequal equal values such as "4/3" vs "8/6" vs "20/15"
- Truly "Empty" aspect ratios, even if one dimension is not 0
2020-07-31 13:01:18 -07:00
athenian200 a965486fcb Revert "Merge pull request #1357 from athenian200/form-disabled-issue"
This reverts commit ed88b99849, reversing
changes made to c4b0715baa.
2020-05-20 23:25:37 -05:00
win7-7 f9047ff63d Issue #1355 - Fix the nit, remove nsPoint offset in nsFrame.cpp and change PresShellState member order 2020-05-10 15:00:08 +03:00
win7-7 64ffe81c55 Issue #1355 - Better way to create display items for column backgrounds
Part 1: Remove current table item, as it's never set.

Part 2: Get rid of generic table painting code, and handle each class separately.

Part 4: Hoist outline skipping into col(group) frame code.

Part 5: Skip box-shadow for table column and column groups.

Part 6: Store column and column group backgrounds separately, and then append them before the rest of the table contents.

Part 7: Pass rects in display list coordinates to AppendBackgroundItemsToTop.

Part 8: Create column and column group background display items as part of the cell's BuildDisplayList.

Part 9: Used cached values instead of calling nsDisplayListBuilder::ToReferenceFrame when possible, since it can be expensive when the requested frame isn't the builder's current frame.

Part 10: Make sure we build display items for table parts where only the normal position is visible, since we may need to create background items for ancestors at that position.

Part 11: Create an AutoBuildingDisplayList when we create background items for table columns and column groups, so that we initialize the invalidation state correctly.
2020-05-08 15:27:28 +03:00
win7-7 58219fc214 Issue #1355 - Avoid unnecessary work in nsIFrame::BuildDisplayListForStackingContext() and nsIFrame::BuildDisplayListForChild() and Cleanup DescendIntoChild
Bug 1441796 - Part 1: Optimize the (pseudo)-stacking context conditions

Bug 1441796 - Part 3: Reuse the results in nsIFrame::BuildDisplayListForStackingContext() for ChildrenHavePerspective(), IsTransformed(), and Combines3DTransformWithAncestors()

Bug 1512244 - Part 1: Cleanup DescendIntoChild
2020-05-08 15:24:02 +03:00
win7-7 130df5da4f Issue #1355 - Preemptively fix build bustage for 1409114 2020-05-08 15:22:22 +03:00
win7-7 f102e7f80d Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList
Also fix build bustage for De-unified layout/xul in nsRootBoxFrame.cpp
2020-05-08 15:20:01 +03:00
Moonchild 192d2e07c3 Issue #80 - De-unify layout/PITA... I mean layout/generic 2020-04-29 16:55:02 +00:00
Matt A. Tobin 0c99ad16fb Bug 1368547 - Remove nsFrameManagerBase::mPlaceholderMap and instead store the placeholder on a frame property on the out-of-flow
Tag #1375
2020-04-17 06:07:51 -04:00
Matt A. Tobin 7614fdb51b Bug 1355351 - Make pseudo-elements return the correct style via getComputedStyle
* Add a node property to access the ::before and ::after pseudo-elements
* Look for the frame for ::before and ::after pseudos
* Clean up pseudo-element props
* Simplify nsLayoutUtils callers, and make child iterators notice display: contents pseudos

Tag #1375
2020-04-17 05:10:25 -04:00
Matt A. Tobin 1f5c67934f Bug 1343937 - Fix a crash in nsWrapperCache.h
* Implement and use GetInFlowParent
* Exempt scrollbar NAC from the new NAC semantics

Tag #1375
2020-04-16 17:52:30 -04:00
Matt A. Tobin 32c3ee92b8 Bug 1340885 - Null check frame's content when searching for NAC ancestors in GetCorrectedParent
Tag #1375
2020-04-16 16:42:26 -04:00
Matt A. Tobin 4375774c90 Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time
* Stop using a node bit for HasExplicitBaseURI
* Move MAY_HAVE_CLASS to mBoolFlags
* Add a flag to indicate that a node is native anonymous content
* Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time, and eliminate explicit style contexts in nsIAnonymousContentCreator::ContentInfo

Tag #1375
2020-04-16 16:37:28 -04:00
wolfbeast 8dc520647d Issue #1480 - Skip abspos, fixed, float and placeholders for outline. 2020-03-11 13:01:48 +01:00
wolfbeast 793da7dd62 Revert "Issue #1355 - Better way to create display items for column backgrounds"
This reverts commit 44c47c5038.
2020-02-26 20:51:22 +01:00
win7-7 44c47c5038 Issue #1355 - Better way to create display items for column backgrounds
Part 1: Remove current table item, as it's never set.

Part 2: Get rid of generic table painting code, and handle each class separately.

Part 4: Hoist outline skipping into col(group) frame code.

Part 5: Skip box-shadow for table column and column groups.

Part 6: Store column and column group backgrounds separately, and then append them before the rest of the table contents.

Part 7: Pass rects in display list coordinates to AppendBackgroundItemsToTop.

Part 8: Create column and column group background display items as part of the cell's BuildDisplayList.

Part 9: Used cached values instead of calling nsDisplayListBuilder::ToReferenceFrame when possible, since it can be expensive when the requested frame isn't the builder's current frame.

Part 10: Make sure we build display items for table parts where only the normal position is visible, since we may need to create background items for ancestors at that position.

Part 11: Create an AutoBuildingDisplayList when we create background items for table columns and column groups, so that we initialize the invalidation state correctly.
2020-02-25 00:17:54 +02:00
athenian200 42e4816771 Issue #1356 - Remove -moz-user-input disabled to improve event handling. 2020-01-16 14:07:04 -06:00
wolfbeast 5ab2da7004 Issue #146 - Part 6: Allow position: sticky on table elements. 2019-11-03 19:43:51 +01:00