Commit Graph

568 Commits

Author SHA1 Message Date
Moonchild b9e7ecd8bc [DOM] Stop exposing NotifyPaintEvent to web content.
There's no reason this should be available to the web, as it's an
indicator of browser internals.
2024-09-06 09:16:23 +08:00
Moonchild 5bd7896c05 Issue #1925 - Follow-up: Fix debug builds (namespace) 2024-08-15 09:40:19 +08:00
Moonchild c096b46278 Issue #1925 - Convert NS_SIDE_TO_HALF_CORNER to a constexpr function. 2024-08-05 10:38:32 +08:00
Moonchild 2a399b60a1 Issue #1925 - Convert NS_SIDE_TO_FULL_CORNER to a constexpr function. 2024-08-05 10:38:17 +08:00
Moonchild b0b13b8719 Issue #1925 - Convert NS_SIDE_IS_VERTICAL to a constexpr function. 2024-08-05 10:38:00 +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 31badb0f2e Issue #1925 - Convert NS_HALF_TO_FULL_CORNER to a constexpr function. 2024-08-05 10:35:29 +08:00
Moonchild f507d2cdbc Issue #1925 - Convert NS_HALF_CORNER_IS_X to a constexpr function. 2024-08-05 10:35:13 +08:00
Moonchild 1730199755 Issue #1925 - Move NS_FOR_CSS_HALF_CORNER to gfx/2d/Types.h and rewrite it. 2024-08-05 10:34:47 +08:00
Moonchild 8dc8875db6 Issue #1925 - Convert half-corner index macros to an enum. 2024-08-05 10:34:31 +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 0a7f42b452 Issue #1925 - Rewrite NS_FOR_CSS_CORNERS to be similar to *_SIDES
- Renames it to NS_CSS_FULL_CORNERS and uses the one macro for all full
  corners. In preparation for giving half corners the same treatment.
- Swaps to prefix operator++
2024-08-05 10:33:54 +08:00
Moonchild b3a51c2711 Issue #1925 - Move Corner enum from mozilla::css to mozilla namespace. 2024-08-05 10:33:38 +08:00
Moonchild 81f60b575a Issue #1925 - Rename Corner to LogicalCorner and move it to nsStyleCoord.h.
To avoid confusion with mozilla::css::corner, rename ::Corner to
mozilla::LogicalCorner, and move it to nsStyleCoord.h from the illogical
nsCellMap.h location.
Also, append the LogicalCorner prefix to all the enum values, to match
the surrounding coding style.
2024-08-05 10:33:00 +08:00
Moonchild 8bf61a2f5c Issue #1925 - Remove use of SIDE_BIT{S}_* macros.
This already has an enum in gfx/Types.h
2024-08-05 10:32:05 +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 5b0921df6e Issue #1925 - Move NS_FOR_CSS_SIDES and operator++ to gfx/2d/Types.h 2024-08-05 10:30:33 +08:00
FranklinDM 9ad579bd35 Issue #2486 - Part 5: Fix parsing of nested layer names
This does not handle the merging of same-named layers, however.
2024-07-18 22:32:26 +08:00
FranklinDM 2fc2056be7 Issue #2486 - Part 4: Ensure layer statement rule is appended and invalid tokens are restored 2024-07-18 22:32:09 +08:00
FranklinDM db1c2c39b0 Issue #2486 - Part 3: Fix serialization of layer statement rule 2024-07-18 22:31:48 +08:00
FranklinDM 9630698d31 Issue #2486 - Part 2: Implement parser support for layer block and layer statements
This does not deal with layer specificity.
2024-07-18 22:31:34 +08:00
FranklinDM cac56b8e77 Issue #2486 - Part 1: Initial plumbing and CSSOM support for cascade layers 2024-07-18 22:31:18 +08:00
Moonchild f86664f131 Issue #2045 - Temporarily force hidden elements to be actually hidden.
For the time being, because we don't have `revert` yet, we should force
normally hidden elements to be hidden, so they aren't revealed by sites
using the bad practice of `*{ }` style blanking rules but then using
`revert` to re-hide them.
2024-07-09 10:25:58 +08:00
Moonchild 5bdec62cb0 Issue #2541 - Deal with empty LineNameList in CSS grid templates.
Resolves #2541
2024-07-01 06:58:50 +08:00
Moonchild b6d077bbbb Issue #2532 - Prevent unwanted text selection when backdrop is clicked. 2024-06-17 16:12:00 +08:00
Moonchild 368ee51d86 Issue #2532 - Don't do PreventDefault for escape key if <select> dropdown is not shown
We always use PreventDefault for <select> element, which is problematic if modal
dialog is on as it prevents cancelling the dialog. We fix it by not blocking the
default action if <select> is not shown.

See Bug 1649278
2024-06-17 16:11:45 +08:00
Daniel Holbert 0e05cb9630 [layout] Initialize PerSpanData members mBaseline and mReflowInput.
We null-initialize all of the other pointer members in NewPerSpanData; we should
do the same for these ones, for consistency & robustness.

(In practice, the callers end up initializing these members before reading them
anyway, so it's been benign that we weren't initializing them. But better for
safety & futureproofing to have them reliably initialized.)
2024-06-13 11:31:46 +08:00
FranklinDM 2ba31f4e97 Issue #2522 - Part 2: Implement support for logical viewport units 2024-06-11 10:14:40 +08:00
FranklinDM 5c06335c5b Issue #2522 - Part 1: Alias small, large, and dynamic viewport units to base viewport 2024-06-11 10:14:27 +08:00
Moonchild c77b4b0bad Issue #2510 - Unprefix -moz-fit-content
No aliasing since this has been out for a while.
Devtools db regenerated with `mach devtools-css-db`

Resolves #2510
2024-05-08 09:59:34 +08:00
Moonchild 87a7cf7332 Issue #2472 - Part 6: Fire cancel event and close modal <dialog> on [ESC]
This implementation is different than Mozilla, not indirectly queueing cancel
tasks to be arbitrarily ordered, but rather synchronously close in reverse
top layer order.
2024-05-08 09:57:53 +08:00
Moonchild 7d34b285e0 Issue #2472 - Part 5: Make modal versions of <dialog> work, and tune styles.
This adds a pseudo-class `:-moz-modal-dialog` to be able to track whether the
dialog is in the top layer in CSS.
This implements default styling for modal dialogs following the HTML standard.
Slightly off-extreme color scheme chosen for unstyled <dialog> elements.
2024-05-08 09:57:29 +08:00
Moonchild 79c7489bb0 Issue #2472 - Part 3: Refactor Fullscreen stack to Top Layer stack
Fullscreen stack isn't part of the spec anymore; it's been changed to a more
generic version called Top Layer stack, which is being used by both full-screen
APIs and dialog elements.

This patch refactors it to Top Layer stack so that it can be reused for dialog
elements.

Top Layer stack spec: https://fullscreen.spec.whatwg.org/#new-stacking-layer
2024-05-08 09:55:18 +08:00
FranklinDM f41ad3aae5 Issue #2477 - Part 3: Logical box properties should accept auto values 2024-04-11 15:56:49 +08:00
FranklinDM bfe76f65db Issue #2477 - Part 2: Implement shorthand properties for [margin/padding][block/inline] 2024-04-11 15:56:31 +08:00
FranklinDM 1e73f1f2d2 Issue #2477 - Part 1: Implement a separate function for parsing pair box properties
This reuses existing logic from ParseGap.
2024-04-11 15:54:36 +08:00
Moonchild 641b556c53 Issue #2490 - Part 20: Remove the stuff that was added temporarily to deal with a mix of WebIDL and non-WebIDL rules. 2024-04-08 11:12:53 +08:00
Moonchild 7fb5d53a79 Issue #2490 - Part 19: Convert CSSCounterStyleRule to WebIDL. 2024-04-08 11:12:32 +08:00
Moonchild b984856d8f Issue #2490 - Part 18: Convert CSSKeyframesRule to WebIDL. 2024-04-08 11:08:39 +08:00
Moonchild 89d96e0226 Issue #2490 - Part 17: Convert CSSKeyframeRule to WebIDL. 2024-04-08 11:08:06 +08:00
Moonchild f0de637255 Issue #2490 - Part 16: Convert CSSFontFeatureValuesRule to WebIDL. 2024-04-08 11:07:44 +08:00
Moonchild 50f8c18757 Issue #2490 - Part 15: Convert CSSFontFaceRule to WebIDL.
The .style PutForwards bit is coming along for the ride here as a new feature.
2024-04-08 11:07:15 +08:00
Moonchild 74fdaed1fe Issue #2490 - Part 14: Convert CSSPageRule to WebIDL.
The .style PutForwards bit is coming along for the ride here as a new feature.
2024-04-08 11:05:31 +08:00
Moonchild d1b6a584b8 Issue #2490 - Part 13: Convert media, supports, and moz-document rules to WebIDL.
This also converts the internal ConditionRule and GroupingRule classes.
2024-04-08 11:03:50 +08:00
Moonchild 6176bd62d9 Issue #2490 - Part 12: Convert CSSStyleRule to WebIDL.
The .style PutForwards bit is coming along for the ride here, aligning us with
the behavior of Blink and Gecko.
2024-04-08 11:01:02 +08:00
Moonchild 525606c15d Issue #2490 - Part 11: Convert CSSImportRule to WebIDL.
Note that the .media PutForwards is a new feature coming along for the ride, now
that we're using the spec IDL.
2024-04-08 10:59:42 +08:00
Moonchild 95642cb4e5 Issue #2490 - Part 10: Convert CSSNamespaceRule to WebIDL. 2024-04-08 10:58:54 +08:00
Moonchild 264f152ba0 Issue #2490 - Part 9b: Add a CSSRule Web IDL interface.
Fix Paris bindings by providing a temporary IID for nsIDOMCSSRule
(thanks FranklinDM!)
2024-04-08 10:56:40 +08:00
Moonchild 5a522d9145 Issue #2490 - WIP: part 9. Add a CSSRule Web IDL interface. 2024-04-08 10:56:20 +08:00