Summary: Motion is a key component of modern web design, and <marquee> is the premier... just kidding. Gecko currently ships <marquee> as an HTMLDivElement with the web-exposed properties attached via in-content XBL . As part of the process of removing in-content XBL, I intend to implement and ship HTMLMarqueeElement.
This will allow us to expose properties on the element through WebIDL instead of through `<xbl:property exposeToUntrustedContent="true">`. This will lead to behavior changes with the current implementation (https://bugzilla.mozilla.org/show_bug.cgi?id=1425874#c10
), although those changes will generally bring Firefox into compliance with the spec and with other implementations - many currently failing web platform tests should start passing .
The event handlers (onbounce, onfinish, onstart) will still be implemented in XBL for the time being - the actual XBL removal will happen in subsequent bugs.
There's an open question about how to treat the `loop` property. As outlined at https://bugzilla.mozilla.org/show_bug.cgi?id=1425874#c14
, the spec defines a no-op when setting `loop` to a number that is <= 0 and not -1, which is similar to what our current implementation does. In this case Chrome, Safari, and Edge throw, so we may want to adapt this behavior.
Link to standard: https://html.spec.whatwg.org/multipage/obsolete.html#the-marquee-element
Platform coverage: All
Target Release: 65
Preference behind which this will be implemented: None
Is this feature enabled by default in sandboxed iframes? Yes
DevTools bug: None
Do other browser engines implement this?
- Chrome: since version 1
- Edge: yes
- IE: since version 2
- Safari: since version 1.2
Is this feature restricted to secure contexts? No