Commit graph

272 commits

Author SHA1 Message Date
Moonchild
60ad5b2ffd Issue #2736 - Part 12: Re-work style <link> href attribute.
Use subject principal as triggering principal in style <link> "href"
attribute.
2025-05-14 14:33:26 +08:00
Moonchild
9ad680cfc4 Issue #2736 - Part 1: Provide more consistent principals to CSP.
We're currently fairly vague and inconsistent about the values we provide to
content policy implementations for requestOrigin and requestPrincipal. In some
cases they're the triggering principal, sometimes the loading principal,
sometimes the channel principal.

Our existing content policy implementations which require or expect a
loading principal currently retrieve it from the context node.
Since no current callers require the principal to be the loading
principal, and some already expect it to be the triggering principal
(which there's currently no other way to retrieve), a choice was made
to pass the triggering principal whenever possible, but use the loading
principal to determine the origin URL.
2025-05-14 14:21:46 +08:00
Moonchild
fd4a224d1d Issue #2737 - Part 1: Base implementation of SVGGeometryElement.
Mostly mechanical changes to generalize path geometry for all SVG draw
elements. No user-exposed changes.
2025-04-30 23:02:16 +08:00
Moonchild
80b30a8177 Issue #2720 - Implement two-location color stop logic.
This allows for two-location color stops (`color x% y%`) which is shorthand
for `color x%, color y%` where both colors are equal. (pct/length accepted)
See code comment for the reason it's implemented the way it is.

Resolves #2720
2025-04-03 09:44:51 +08:00
Martok
77728935ef Issue #2078 - Follow-up: Don't try to resolve ancestor link elements when matching for Has*DependentStyle 2025-01-23 09:38:58 +08:00
Martok
2e3953399a Issue #1765 - Follow-Up: For parsing calc() in non-hue component of hsl/a(), explicitly expect <percentage> values 2025-01-23 09:38:03 +08:00
Moonchild
147713a6ac Issue #2681 - Expose :modal to content. 2025-01-20 21:12:53 +08:00
Moonchild
d9b107f32f Issue #2681 - unprefix :-moz-modal-dialog
Keep an alias in place like for :fullscreen
2025-01-20 21:12:36 +08:00
Moonchild
139e7a7ac6 Issue #2678 - Remove NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED
This no longer does anything at this point, except add indirection.
2025-01-20 21:12:18 +08:00
Moonchild
33a120eb9f Issue #2678 - Clean up some uses of the table-to-map segue. 2025-01-20 21:08:25 +08:00
Moonchild
7b6e3a2d4a Issue #2653 - Part 1: Initial cleanup of AppId and isolated mozbrowser.
This removes a lot of the plumbing for having the platform embed itself
through IPC which was required for B2G running the browser as both
shell and browser application.
2024-11-21 21:01:27 +08:00
Moonchild
8d536c0cc7 Issue #2646 - Parse "variations" keywords.
Resolves #2646
2024-10-31 21:47:14 +08:00
Moonchild
f6f046930d Issue #2641 - Speculative load changes for referrerpolicy 2024-10-24 07:37:15 +08:00
Andy
cee682b980 PR #2643 - The border-radius Directive Should Apply to Outlines
However, `-moz-outline-radius` should still override any `border-radius`.
This is primarily done for backward compatibility with some themes.
Additionally, it also allows for more advanced outline control than the CSS spec provides, without breaking spec.
Finally, if the spec is ever updated to include `outline-radius`, we'll be ready to drop the `-moz-` prefix!

Note: BZ 315209 has an inadvertent double-negative in nsDisplayList.cpp:
HasRadius() essentially returns the opposite value it should.
2024-10-24 07:36:08 +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
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
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
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
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
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