Closed Bug 1769519 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 34069 - [Trusted Types] Get list of event handlers from WebIDL

Categories

(Core :: DOM: Security, task, P4)

task

Tracking

()

RESOLVED FIXED
102 Branch
Tracking Status
firefox102 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream][domsecurity-backlog])

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

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

Daniel Vogelheim <vogelheim@chromium.org> wrote:

[Trusted Types] Get list of event handlers from WebIDL

This change retrieves the list of attributes declared as event handlers
from WebIDL and uses that to check for TrustedScript, instead of using
the string prefix "on".

This is a re-land of crrev.com/c/3616765, which broke the deterministic
build bots. Patchset 1 is the unmodified original; patchset 2 contains
the fix. Analysis of breakage is in crbug.com/993268#c17.

Bug: 993268, 1084587
Change-Id: I45078c26b713b5aa4ceb5cb888cc14fd98de7e08

Reviewed-on: https://chromium-review.googlesource.com/3650577
WPT-Export-Revision: dba367fb22fa7bbd62df94351c1592d38a4ea2da

Component: web-platform-tests → DOM: Security
Product: Testing → Core
Whiteboard: [wptsync downstream] → [wptsync downstream][domsecurity-backlog]
Whiteboard: [wptsync downstream][domsecurity-backlog] → [wptsync downstream]

CI Results

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

Total 1 tests and 357 subtests

Status Summary

Firefox

OK : 1
PASS: 171
FAIL: 99

Chrome

OK : 1
PASS: 336
FAIL: 3

Safari

OK : 1
PASS: 204
FAIL: 94

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /trusted-types/trusted-types-event-handlers.tentative.html [wpt.fyi]
    • Event handler onclick should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler onchange should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler onfocus should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler oNclick should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler OnClIcK should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onabort should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onblur should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.oncanplay should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.oncanplaythrough should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onchange should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onclick should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onclose should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.oncontextmenu should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.oncuechange should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ondblclick should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ondrag should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ondragend should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ondragenter should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ondragleave should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ondragover should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ondragstart should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ondrop should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ondurationchange should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onemptied should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onended should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onerror should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onfocus should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onformdata should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.oninput should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.oninvalid should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onkeydown should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onkeypress should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onkeyup should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onload should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onloadeddata should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onloadedmetadata should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onloadstart should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onmousedown should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onmouseenter should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onmouseleave should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onmousemove should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onmouseout should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onmouseover should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onmouseup should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onpause should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onplay should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onplaying should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onprogress should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onratechange should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onreset should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onresize should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onscroll should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onsecuritypolicyviolation should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onseeked should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onseeking should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onselect should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onslotchange should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onstalled should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onsubmit should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onsuspend should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ontimeupdate should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ontoggle should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onvolumechange should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onwaiting should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onwebkitanimationend should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onwebkitanimationiteration should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onwebkitanimationstart should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onwebkittransitionend should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onwheel should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onauxclick should be blocked.: FAIL (Chrome: PASS)
    • Event handler div.ongotpointercapture should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onlostpointercapture should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onpointerdown should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onpointermove should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onpointerup should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onpointercancel should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onpointerover should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onpointerout should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onpointerenter should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onpointerleave should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onselectstart should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onselectionchange should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onanimationend should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onanimationiteration should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onanimationstart should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ontransitionrun should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ontransitionstart should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ontransitionend should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.ontransitioncancel should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.oncopy should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.oncut should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onpaste should be blocked.: FAIL (Chrome: PASS, Safari: FAIL)
    • Event handler div.onfullscreenchange should be blocked.: FAIL (Chrome: PASS)
    • Event handler div.onfullscreenerror should be blocked.: FAIL (Chrome: PASS)
    • Event handler div.onbeforeinput should be blocked.: FAIL
    • Event handler div.onloadend should be blocked.: FAIL
    • Event handler div.onmozfullscreenchange should be blocked.: FAIL
    • Event handler div.onmozfullscreenerror should be blocked.: FAIL
    • Event handler div.onanimationcancel should be blocked.: FAIL (Safari: FAIL)
Whiteboard: [wptsync downstream] → [wptsync downstream][domsecurity-backlog]
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f7d28e62f1fb [wpt PR 34069] - [Trusted Types] Get list of event handlers from WebIDL, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch
You need to log in before you can comment on or make changes to this bug.