Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Dec 2, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

noamr and others added 19 commits December 2, 2025 02:52
In very small rectangles, there could be siutations where rounding can
make lines that are nearly parallel appear parallel, causing tangent
computations to fail.

In these cases, it's better to have a somewhat inaccurate hull
calculation than crash.

Bug: 451657549
Change-Id: Ib70d70deaed93346cfef3600ef1ef02989eb4efa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7209122
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Noam Rosenthal <nrosenthal@google.com>
Cr-Commit-Position: refs/heads/main@{#1552680}
Currently, SVGLength attributes (e.g., `width`, `radius`) only
support primitive CSS values such as `100px` or `100%`. CSS
constructs like `var()` fail during parsing because they cannot be
resolved immediately.

This change introduces support for unparsed CSS values (e.g., var())
in SVGLength by adopting a lazy resolution approach:

- During parsing phase, values like `var()` are stored as
`CSSUnparsedDeclarationValue` instead of being rejected.

- When the actual parsed value is needed (through use of `Value()`
and `ConvertToLength()` functions) we resolve the unparsed value
(if needed) by calling `StyleCascade::ResolveSubstitutions`.
(inspired from the code in [1])

This aligns the behaviour of CSS var() in presentation attributes
with Firefox and Safari.

[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/inspector/inspector_css_agent.cc;drc=db569cd7847d479358bd391a18b2c28393803333;l=2512

Bug: 40801413
Change-Id: I480d4caa0292b58cd510c7c378fad2c2f5eded35
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7123806
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Reviewed-by: Vinay Singh <vinaysingh@microsoft.com>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Divyansh Mangal <dmangal@microsoft.com>
Commit-Queue: Vinay Singh <vinaysingh@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1552726}
Differential Revision: https://phabricator.services.mozilla.com/D273536

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=2000801
gecko-commit: 49908c966ae29dda265404c697ae361c90b9de53
gecko-reviewers: jgraham, jdescottes
…tances.

Differential Revision: https://phabricator.services.mozilla.com/D273537

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=2000801
gecko-commit: 253e94b59cdba4ef3bfacc99fb8e70a30cf3a4ff
gecko-reviewers: jgraham, jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D271920

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1983822
gecko-commit: 1e3772ae25b151dcbcef4e166fcb04147251fdaf
gecko-reviewers: whimboo
Android wrench tests depend on cargo-apk, which doesn't support non-integer platform versions.
Keep the last major version around in android-packages.txt for it to use instead.
rust-mobile/cargo-apk#74

Differential Revision: https://phabricator.services.mozilla.com/D274021

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=2001959
gecko-commit: 53213ad2e9193319eb7f20b59e6869272c753d9f
gecko-reviewers: jgraham, geckoview-reviewers, android-reviewers, firefox-build-system-reviewers, mcarare, ahochheiden, ohall
This primarily adds a condition to the mousedown-drag-mouseup code
that makes sure the mouseup `<menuitem>` is different from the
mousedown `<menuitem>`. To do that, the popover picker mousedown
location was changed to "info" which includes the element itself.

It turns out, after quite a bit of exploration, that the "ignore
next dom activate" code is the only way to do this correctly. I
tried to come up with logic that would work without modifying the
behavior of DOMActivate, but couldn't. Fundamentally:
 - When doing mousedown-drag-mouseup, we need to activate the sub-
   menu on mousedown.
 - No matter what, when there's a mousedown and a mouseup, the
   input system will always fire a `click` which triggers a
   `DOMActivate`.
 - The default command invoker behavior is to activate command
   invokers from the `DOMActivate` event. That needs to be avoided
   in this specific case.

I at least cleaned up the behavior to explicitly avoid *just*
the command invoker for menus, rather than all default event
behavior for `DOMActivate`.

Along the way, I also cleaned up a few other things, such as:
 - Removed explicit code for keyboard events for " " and Enter.
 - Made checkable and submenu-invoker explicitly exclusive. This is
   more intuitive, I think.
 - Made sub-menu special behavior only happen for menu-specific
   commands. I.e. `show-menu` is now different from `show-popover`.
 - Popovers triggered by menuitems will now close the containing
   menulist. That also seems more intuitive, since a popover is
   distinct from menus, and shouldn't create a nested structure.
   E.g. if a menu item triggers a "more info" card, the menu that
   triggered it shouldn't stay open - that feels weird.

Bug: 406566432
Change-Id: I836ce75b7cdc040b1743953bff1efcef22970e2a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7119885
Auto-Submit: Mason Freed <masonf@chromium.org>
Commit-Queue: Dominic Farolino <dom@chromium.org>
Reviewed-by: Dominic Farolino <dom@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1552763}
Using `@assert` here is equivalent. This syntax avoid having to repeat
assert parameters twice, and it makes the statement fit within 80
characters.

Change-Id: I15addc8ae969d3d763a7e75d19ee1d86e8271577
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7212939
Reviewed-by: Andres Ricardo Perez <andresrperez@chromium.org>
Commit-Queue: Jean-Philippe Gravel <jpgravel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1552765}
* maps wasm-reference-types

Excluded possibly relevant JS API tests in `wasm/jsapi/table/` (currently all mapped to wasm):
- constructor-types.tentative.any.js
- get-set.any.js
- grow.any.js
- type.tentative.any.js

We may need to disqualify them from the `wasm` classification consequently.

* maps wasm-tail-call-optimization

* maps wasm-typed-fun-refs
Feature: `table`
Reference: https://github.com/web-platform-dx/web-features/blob/main/features/table.yml

Notable exclusions

1. CSS table layout tests - Primary focus: CSS table layout model, not HTML table element

   - `css/CSS2/tables/*` - Tests CSS table display model, border collapsing, layout algorithms
   - `css/css-tables/*` - CSS table-specific features

2. Tests using tables as infrastructure - Primary focus: Other features tested using table context

   - `css/CSS2/floats/floats-in-table-caption-001.html` - Tests float behavior
   - `css/CSS2/abspos/table-caption-is-containing-block-001.html` - Tests containing block behavior

---

Feature: `table-discouraged`
Reference: https://github.com/web-platform-dx/web-features/blob/main/features/table-discouraged.yml

Notable exclusions

1. Tests mentioning "align" in other contexts - Primary focus: Other features, not table discouraged attributes

   - `compat/webkit-box-align-001.html` - Tests webkit-box-align CSS property
   - `css/CSS2/linebox/vertical-align-*` - Tests CSS vertical-align property
   - Many files mentioning "align" in CSS contexts

2. Tests using discouraged attributes as infrastructure - Primary focus: Other features tested using table attributes

   - `html/rendering/non-replaced-elements/tables/table-row-pagination-*-print.html` - Tests pagination, uses cellpadding/cellspacing as setup
   - `html/rendering/non-replaced-elements/tables/form-in-tables.html` - Tests form behavior in tables

3. CSS table layout tests - Primary focus: CSS table display model, not HTML discouraged attributes

   - `css/CSS2/tables/*` - Tests CSS table layout features
   - `css/css-tables/*` - CSS table-specific features

4. Tests about table rendering behavior - Primary focus: Table rendering/layout, not discouraged attributes

   - `html/rendering/non-replaced-elements/tables/table-layout.html` - Tests CSS table-layout property
   - `html/rendering/non-replaced-elements/tables/table-direction.html` - Tests CSS direction in tables
   - `html/rendering/non-replaced-elements/tables/table-cell-nowrap-with-fixed-width.html` - Tests CSS nowrap behavior
Feature: `system-color`
Reference: https://github.com/web-platform-dx/web-features/blob/main/features/system-color.yml

Notable exclusions

1. Color-scheme dependent gradient tests - Primary focus: color-scheme and gradients
   - `css/css-images/gradient/color-scheme-dependent-color-stops.html` - Tests how gradients respond to color-scheme changes, uses system colors as test infrastructure
Feature: `svg-discouraged`
Reference: https://github.com/web-platform-dx/web-features/blob/main/features/svg-discouraged.yml

Notable exclusions

1. Files that use `xlink:href` or other SVG 1.1 features as infrastructure rather than testing them
    - Most files in search results use `xlink:href` but test other features (href attribute behavior, resource loading, etc.)
    - Files with `baseProfile` attribute that test SVG rendering rather than the deprecated attribute itself

---

Feature: `svg-filters`

Reference: https://github.com/web-platform-dx/web-features/blob/main/features/svg-filters.yml

Notable exclusions

1. CSS masking tests that use filters as infrastructure
    - `css/css-masking/mask-svg-content/mask-with-filter*.svg`
* maps wasm-exception-handling

Summary:
wasm/core/exceptions/WEB_FEATURES.yml - Covers 4 HTML test files (tag, throw, throw_ref, try_table)
wasm/jsapi/exception/WEB_FEATURES.yml - Covers 6 Exception API tests
wasm/jsapi/tag/WEB_FEATURES.yml - Covers 3 Tag API tests

* maps wasm-exnref-exceptions
* maps wasm-mutable-globals

-`global-exports-live-bindings.tentative.any.js`: Tests that mutable globals are live bindings
- `mutable-global-sharing.tentative.any.js`: Tests mutable global sharing between modules

Excluded:
- `global-exports.tentative.any.js`: Tests both mutable and immutable exports
- `wasm/jsapi/global/type.tentative.any.js`: Tests the mutable property in Global.type() along with other properties

* maps wasm-string-builtins
Feature: `target`
Reference: https://github.com/web-platform-dx/web-features/blob/main/features/target.yml

**Notable exclusions**

1. `::target-text` pseudo-element tests - Primary focus: `::target-text` pseudo-element (already mapped to `target-text`)
   - `css/css-pseudo/target-text-*.html`
   - `css/css-highlight-api/painting/css-target-text-decoration-001.html`
   - `css/css-highlight-api/painting/custom-highlight-painting-below-target-text.html`

2. Scroll marker `:target-current`, `:target-before`, `:target-after` pseudo-classes - Primary focus: CSS scroll markers
   - `css/css-overflow/scroll-target-group-*.html`
   - `css/css-overflow/scroll-marker-*-target-*.html`
   - `css/css-overflow/column-scroll-marker-*-target-*.html`
   - `css/css-overflow/html-scroll-marker-target-before-after.html`
@pull pull bot locked and limited conversation to collaborators Dec 2, 2025
@pull pull bot added the ⤵️ pull label Dec 2, 2025
@pull pull bot merged commit 5f87182 into All-Blockchains:master Dec 2, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants