Closed Bug 2045896 Opened 3 days ago Closed 18 hours ago

[wpt-sync] Sync PR 60469 - Manual export: Forbid generated images as cursor via light-dark()

Categories

(Core :: Layout, task, P4)

task

Tracking

()

RESOLVED FIXED
153 Branch
Tracking Status
firefox153 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 60469 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/60469
Details from upstream follow.

Jason Leo <cgqaq@chromium.org> wrote:

Manual export: Forbid generated images as cursor via light-dark()

The 'cursor' property forbids generated images, but light-dark() resolved its branches without honoring that policy, letting a gradient become a cursor image. Gradients are re-instantiated on every style recalc, so the per-instance image-observer bookkeeping in UpdateCursorImages drifted and RemoveClient() hit a SECURITY_CHECK during layout teardown.

Bug: 518872187
Change-Id: I45cab2c148b60a673f1381e560d90d6ce9d57e9c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7898340
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Jason Leo <cgqaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1642106}

Component: web-platform-tests → Layout
Product: Testing → Core

CI Results

Ran 11 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 47 tests

Status Summary

Firefox

OK : 2[GitHub] 42[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
PASS : 5[Gecko-linux2204-64-wayland-debug, Gecko-linux2204-64-wayland-opt] 53[GitHub] 260[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
FAIL : 4[GitHub] 104[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]

Chrome

OK : 2
PASS : 53
CRASH: 1
FAIL : 3

Safari

OK : 2
PASS : 53
FAIL : 4

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /css/css-ui/parsing/canonical-order-outline-sub-properties-001.html [wpt.fyi]
    • testing outline: blue: FAIL
    • testing outline: invert: FAIL
    • testing outline: 4px: FAIL
    • testing outline: solid: FAIL
    • testing outline: solid 5px: FAIL
    • testing outline: 6px dashed: FAIL
    • testing outline: dotted blue: FAIL
    • testing outline: dotted invert: FAIL
    • testing outline: blue solid: FAIL
    • testing outline: invert solid: FAIL
    • testing outline: black 4px: FAIL
    • testing outline: invert 4px: FAIL
    • testing outline: 5px blue: FAIL
    • testing outline: 5px invert: FAIL
    • testing outline: black solid 6px: FAIL
    • testing outline: invert solid 6px: FAIL
    • testing outline: blue 4px dotted: FAIL
    • testing outline: invert 4px dotted: FAIL
    • testing outline: dashed 5px black: FAIL
    • testing outline: dashed 5px invert: FAIL
    • testing outline: solid blue 6px: FAIL
    • testing outline: solid invert 6px: FAIL
    • testing outline: 4px dotted black: FAIL
    • testing outline: 4px dotted invert: FAIL
    • testing outline: 5px blue dashed: FAIL
    • testing outline: 5px invert dashed: FAIL
  • /css/css-ui/parsing/caret-color-computed.html [wpt.fyi]
    • Property caret-color value 'red rgb(0, 255, 0)': FAIL
    • Property caret-color value 'auto rgb(0, 255, 0)': FAIL
    • Property caret-color value 'currentcolor red': FAIL
    • Property caret-color value 'auto auto': FAIL
    • Property caret-color value 'rgb(0, 255, 0) auto': FAIL
    • Property caret-color value 'currentcolor currentcolor': FAIL
    • Property caret-color value 'auto currentcolor': FAIL
    • Property caret-color value 'red transparent': FAIL
  • /css/css-ui/parsing/caret-color-valid.html [wpt.fyi]
    • e.style['caret-color'] = "auto auto" should set the property value: FAIL
    • e.style['caret-color'] = "auto rgba(10, 20, 30, 0.4)" should set the property value: FAIL
    • e.style['caret-color'] = "rgba(10, 20, 30, 0.4) auto" should set the property value: FAIL
    • e.style['caret-color'] = "currentcolor currentcolor" should set the property value: FAIL
    • e.style['caret-color'] = "transparent transparent" should set the property value: FAIL
    • e.style['caret-color'] = "currentcolor auto" should set the property value: FAIL
    • e.style['caret-color'] = "auto transparent" should set the property value: FAIL
  • /css/css-ui/parsing/cursor-computed.html [wpt.fyi]
    • Property cursor value 'linear-gradient(200grad, red 10%, blue calc(75% - 2px)), auto': FAIL
    • Property cursor value 'radial-gradient(farthest-side at calc(5px + 10%), red, blue), pointer': FAIL
    • Property cursor value 'conic-gradient(from 3.1416rad at 20% 20%, red, blue), crosshair': FAIL
  • /css/css-ui/parsing/cursor-valid.html [wpt.fyi]
  • /css/css-ui/parsing/interactivity-computed.html [wpt.fyi]
    • Property interactivity value 'auto': FAIL
    • Property interactivity value 'inert': FAIL
    • Property interactivity has initial value auto: FAIL
    • Property interactivity inherits: FAIL
    • CSS Transitions with transition-behavior:allow-discrete: property <interactivity> from [auto] to [inert] at (-0.3) should be [auto]: FAIL
    • CSS Transitions with transition-behavior:allow-discrete: property <interactivity> from [auto] to [inert] at (0) should be [auto]: FAIL
    • CSS Transitions with transition-behavior:allow-discrete: property <interactivity> from [auto] to [inert] at (0.3) should be [auto]: FAIL
    • CSS Transitions with transition-behavior:allow-discrete: property <interactivity> from [auto] to [inert] at (0.5) should be [inert]: FAIL
    • CSS Transitions with transition-behavior:allow-discrete: property <interactivity> from [auto] to [inert] at (0.6) should be [inert]: FAIL
    • CSS Transitions with transition-behavior:allow-discrete: property <interactivity> from [auto] to [inert] at (1) should be [inert]: FAIL
    • CSS Transitions with transition-behavior:allow-discrete: property <interactivity> from [auto] to [inert] at (1.5) should be [inert]: FAIL
    • CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interactivity> from [auto] to [inert] at (-0.3) should be [auto]: FAIL
    • CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interactivity> from [auto] to [inert] at (0) should be [auto]: FAIL
    • CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interactivity> from [auto] to [inert] at (0.3) should be [auto]: FAIL
    • CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interactivity> from [auto] to [inert] at (0.5) should be [inert]: FAIL
    • CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interactivity> from [auto] to [inert] at (0.6) should be [inert]: FAIL
    • CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interactivity> from [auto] to [inert] at (1) should be [inert]: FAIL
    • CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interactivity> from [auto] to [inert] at (1.5) should be [inert]: FAIL
    • CSS Transitions: property <interactivity> from [auto] to [inert] at (-0.3) should be [inert]: FAIL
    • CSS Transitions: property <interactivity> from [auto] to [inert] at (0) should be [inert]: FAIL
    • CSS Transitions: property <interactivity> from [auto] to [inert] at (0.3) should be [inert]: FAIL
    • CSS Transitions: property <interactivity> from [auto] to [inert] at (0.5) should be [inert]: FAIL
    • CSS Transitions: property <interactivity> from [auto] to [inert] at (0.6) should be [inert]: FAIL
    • CSS Transitions: property <interactivity> from [auto] to [inert] at (1) should be [inert]: FAIL
    • CSS Transitions: property <interactivity> from [auto] to [inert] at (1.5) should be [inert]: FAIL
    • CSS Transitions with transition: all: property <interactivity> from [auto] to [inert] at (-0.3) should be [inert]: FAIL
    • CSS Transitions with transition: all: property <interactivity> from [auto] to [inert] at (0) should be [inert]: FAIL
    • CSS Transitions with transition: all: property <interactivity> from [auto] to [inert] at (0.3) should be [inert]: FAIL
    • CSS Transitions with transition: all: property <interactivity> from [auto] to [inert] at (0.5) should be [inert]: FAIL
    • CSS Transitions with transition: all: property <interactivity> from [auto] to [inert] at (0.6) should be [inert]: FAIL
    • CSS Transitions with transition: all: property <interactivity> from [auto] to [inert] at (1) should be [inert]: FAIL
    • CSS Transitions with transition: all: property <interactivity> from [auto] to [inert] at (1.5) should be [inert]: FAIL
    • CSS Animations: property <interactivity> from [auto] to [inert] at (-0.3) should be [auto]: FAIL
    • CSS Animations: property <interactivity> from [auto] to [inert] at (0) should be [auto]: FAIL
    • CSS Animations: property <interactivity> from [auto] to [inert] at (0.3) should be [auto]: FAIL
    • CSS Animations: property <interactivity> from [auto] to [inert] at (0.5) should be [inert]: FAIL
    • CSS Animations: property <interactivity> from [auto] to [inert] at (0.6) should be [inert]: FAIL
    • CSS Animations: property <interactivity> from [auto] to [inert] at (1) should be [inert]: FAIL
    • CSS Animations: property <interactivity> from [auto] to [inert] at (1.5) should be [inert]: FAIL
    • Web Animations: property <interactivity> from [auto] to [inert] at (-0.3) should be [auto]: FAIL
    • Web Animations: property <interactivity> from [auto] to [inert] at (0) should be [auto]: FAIL
    • Web Animations: property <interactivity> from [auto] to [inert] at (0.3) should be [auto]: FAIL
    • Web Animations: property <interactivity> from [auto] to [inert] at (0.5) should be [inert]: FAIL
    • Web Animations: property <interactivity> from [auto] to [inert] at (0.6) should be [inert]: FAIL
    • Web Animations: property <interactivity> from [auto] to [inert] at (1) should be [inert]: FAIL
    • Web Animations: property <interactivity> from [auto] to [inert] at (1.5) should be [inert]: FAIL
  • /css/css-ui/parsing/interactivity.html [wpt.fyi]
    • e.style['interactivity'] = "auto" should set the property value: FAIL
    • e.style['interactivity'] = "inert" should set the property value: FAIL
    • e.style['interactivity'] = "initial" should set the property value: FAIL
    • e.style['interactivity'] = "inherit" should set the property value: FAIL
    • e.style['interactivity'] = "unset" should set the property value: FAIL
    • e.style['interactivity'] = "revert" should set the property value: FAIL
  • /css/css-ui/parsing/outline-color-computed.html [wpt.fyi]
    • auto computes to itself or to currentColor depending on the value of outline-style: FAIL
  • /css/css-ui/parsing/outline-color-valid.html [wpt.fyi]
    • e.style['outline-color'] = "auto" should set the property value: FAIL
  • /css/css-ui/parsing/user-select-computed-contain.html [wpt.fyi]
    • Property user-select value 'contain': FAIL
  • /css/css-ui/parsing/user-select-valid-contain.html [wpt.fyi]
    • e.style['user-select'] = "contain" should set the property value: FAIL
Status: NEW → RESOLVED
Closed: 18 hours ago
Resolution: --- → FIXED
Target Milestone: --- → 153 Branch
You need to log in before you can comment on or make changes to this bug.