Commit Graph

33 Commits

Author SHA1 Message Date
Basilisk-Dev 93899c0157 Support CSS sizing math functions
Prereq for parts of #2404
2026-05-19 09:05:11 +08:00
Basilisk-Dev 0d684399b2 Issue #2404 - Enable CSS aspect-ratio sizing 2026-05-19 09:04:53 +08:00
Basilisk-Dev c289641428 Fix CSS border rounding and currentcolor clipping 2026-05-19 08:59:30 +08:00
MeladJM 0903dacaa7 Issue #2792 -Implements parsing, computed style, and writing mode mapping for overflow-block and overflow-inline properties 2025-07-17 23:12:33 +08:00
MeladJM 5e8e1208e7 Issue #2499 - Part 3: Add CSS clip overflow support with serialization fixes 2025-07-16 15:20:45 +08:00
erixreyes 7626c99ceb Issue #2124/2662: Optimize overflow shorthand parsing and serialization 2025-07-07 11:58:35 +08:00
Francis Dominic Fajardo 8236eec152 Issue #2765 - Part 1: Scrollbar width should be treated as a non-inherited property
Note: non-inherited properties are stored in "reset" style structs.

Previous implementation treats it as an inherited property, which
doesn't match the spec.

This also fixes the incorrect behavior when using the `unset` value
for this property by specifying SETVAL_UNSET_INITIAL in the mask.
2025-06-27 23:31:38 +08:00
Moonchild 8a2bc8ef4d Issue #1925 - Convert NS_FULL_TO_HALF_CORNER to a constexpr function.
Note: Because the new function checks types, we need to change the
fullCorner type in `nsComputedDOMStyle::GetEllipseRadii()` and
`StyleAnimationValue::ExtractComputedValue()` to `Corner` instead of the
underlying base type.
2024-08-05 10:35:50 +08:00
Moonchild d73f8c2e84 Issue #1925 - Remove use of NS_CORNER_{TOP|BOTTOM}_{LEFT|RIGHT} macros. 2024-08-05 10:34:15 +08:00
Moonchild ec7351a5d4 Issue #1925 - Remove use of NS_SIDE_* macros. 2024-08-05 10:31:46 +08:00
Moonchild e6e2796541 Issue #1925 - Remove mozilla::css::Side typedef. 2024-08-05 10:30:50 +08:00
Moonchild 5bdec62cb0 Issue #2541 - Deal with empty LineNameList in CSS grid templates.
Resolves #2541
2024-07-01 06:58:50 +08:00
FranklinDM 4bf43b8fb4 Issue #2488 - Part 3: Remove the StyleSetHandle smart pointer class 2024-04-02 22:49:48 +08:00
FranklinDM 4d7bdedade Issue #2488 - Part 2: Remove the DeclarationBlock class and use Declaration directly 2024-04-02 22:47:20 +08:00
FranklinDM a93a7bed47 Issue #2112 - Part 5: Remove Servo from forwarding code used by magic pointer classes 2024-04-02 22:41:34 +08:00
Brian Smith 13fcc4a046 Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
FranklinDM 9dc59c43f1 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-19 21:56:35 +08:00
FranklinDM b4f2c83687 Issue #1838 - Part 2: Remove grid- prefix from grid-(column|row)-gap properties
This removes the `grid` prefix from the gap-related properties of grid since they are now part of the box alignment specification. Former grid-gap* properties were aliased to the unprefixed properties to maintain compatibility.

The previously multi-column layout only `column-gap` property has been modified to apply to the Grid layout (and Flexbox in a following commit), moving the `mColumnGap` member variable from `nsStyleColumn` to `nsStylePosition`.

Notes:
* Bug 1398537 - support for percent values in column-gap for multi-column layout landed as part of Issue #1230. However, it was incomplete because it did not update `nsRuleNode` to allow transformation of percentage values for `column-gap`. This was consequently fixed as part of this commit.
* Bug 1456166 - this might not apply because we don't have that devtools test in UXP
* `nsRuleNode`, `nsCSSParser`, `Declaration`, and other related classes were merged into Stylo. These should be taken into consideration when porting patches from Mozilla.

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1398482
2022-04-19 21:55:52 +08:00
Moonchild 02c59100a8 Issue #1751 -- Remove XP_MACOSX conditionals from /layout 2021-05-05 10:29:02 +08:00
Moonchild 8e08d8bfd3 Issue #1705 - Part 4: Add scrollbar-width CSS keyword to CSS parser.
This should be all parts needed to add a brand new enum keyword including
getting the computed style from it...
2021-01-14 22:19:55 +08:00
athenian200 633d50eb3f Issue #1673 - Part 1: Allow tab-size to accept <length>.
Currently -moz-tab-size only accepts <number> values, and both Chrome and Firefox currently support <length> values and have for some time now. So with this you would be able to support sizes in px or em, for instance. This was implemented in Firefox 53 and was trivial to backport.
2020-11-06 09:42:23 +08:00
athenian200 33e50615d9 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-23 10:05:51 +08:00
Moonchild 8c395520d9 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-25 22:04:12 +08:00
Moonchild f7493bacb5 Issue #80 - De-unify layout/style 2020-05-02 08:28:32 +08:00
Matt A. Tobin d3ffda520f 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-18 07:03:44 +08:00
Matt A. Tobin c37b4d0c63 Bug 1330843 - Allow JS to create NAC pseudo-elements
Tag #1375
2020-04-18 07:03:31 +08:00
wolfbeast d750f143f3 Fix a whitespace issue in nsComputedDOMStyle.cpp 2020-02-13 07:17:39 +08:00
wolfbeast cda9951c24 [CSS] Add stub for font-variation-settings
This stub is added because websites insist on considering this
very hardware-dependent and O.S.-variable low-level font-control
as a "critical feature" which it isn't as there is 0 guarantee
that font variation settings are supported or honored by any
operating system used by the client.

On top this is a WD status feature that sites shouldn't be using, and
the feature itself is strongly discouraged for use in favor of standard
CSS font manipulation keywords like `font-weight`.
2020-02-13 07:17:37 +08:00
wolfbeast 72b9aaa248 Issue #1219 - Align computed DOM styles with mainstream behvior.
This updates our behavior for computed DOM styling to no longer return
null on elements that have no display, but return a 0-length (empty)
style instead and don't throw. For this we stop looking at having a
presentation for the style and just look at the document instead.

This resolves #1219
2019-12-21 07:12:56 +08:00
yami b5376e63c5 issue #908 - implement missing parts of CSS mask 2019-02-16 00:27:53 +08:00
wolfbeast 39d5eb7759 Remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS 2019-02-16 00:27:49 +08:00
janekptacijarabaci 1f262f0d2b moebius#90: CSS - implement text-justify property 2019-02-15 23:54:04 +08:00
roytam1 dcd9973243 import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00