Commit graph

588 commits

Author SHA1 Message Date
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
Moonchild
cc8e336172 [layout] Always reserve 64 bits for frame property value
This ensures frame property values can always be stored even in edge cases
on 32-bit machines (where a void ptr is half the width).
2025-02-19 07:10:18 +08:00
Moonchild
25570dc572 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-19 00:34:42 +08:00
Moonchild
2da039daac Revert "Issue #2693 - Don't reflow children if they have 0 width."
This reverts commit 61a19f00f72598510ca8991a0831c82a09faa7be.
2025-02-19 00:34:27 +08:00
Moonchild
cb233feea0 Issue #2693 - Don't reflow children if they have 0 width.
This seems to be the main reason for the reflow storm.
2025-02-18 19:11:56 +08:00
Moonchild
0849deeacf Issue #2688 - Don't apply auto min-sizing when flex max-sizing.
A grid item spanning multiple grid rows/columns which include a flexible
track should not participate in the auto min-sizing calculation.

Resolves #2688
2025-01-29 12:24:07 +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
ff89fee91d Issue #1787 - Remove nsIAppsService, mozIApplication and mozapp data cleanup. 2024-11-21 21:09:05 +08:00
Moonchild
75d698133f Issue #2654 - Remove pre-allocated process manager.
Resolves #2654
2024-11-21 21:05:30 +08:00
Moonchild
0e6fa95840 Issue #2653 - Part 2: Update tests 2024-11-21 21:01:54 +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
ea2268b5e8 Bug 1900191 - Use nestegg advertised default duration if it exists. 2024-10-01 10:27:39 +08:00
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