servo/components/script/dom
Andrei Volykhin 8d086b9fe5
htmlmediaelement: Fix fetch request race on "seek-data" event (#37002)
On execution media element load algorithm

https://html.spec.whatwg.org/multipage/media.html#media-element-load-algorithm
we can observe race condition between parallel running fetch requests:
R1: (media element) initial request (see "resource_fetch_algorithm"
function)
R2: (gstreamer) duration "seek-data" request (see PlayerEvent::SeekData)
 R3: (gstreamer) continue on last interrupted time "seek-data" request

At time there are only one current fetch context for media element but
because resource fetch and cancellation are async operations need
to identify (by request id) and skip processing outdated fetch request
(fetch listener callbacks).

Async load in background sequence (stream content length = 2757913):
```
R1 (seek-offset=0):          [------------------------------X]
R2 (seek-offset=2757866):          [---------Y]
                               AS-****-+++-AE
R3 (seek-offset=98304):                         [----------------Z]
                                             BS-****-+++BE

R1 (seek-offset=0):          [------X]
R2 (seek-offset=2757866):                [--------Y] (discarded data)
                                     AS-****---------+++-AE

- A*/B* performed seeks (*** seek lock, +++ flush buffer queue + reset EOS)
  (on Gstreamer streaming thread)
- X/Y/Z "end-of-stream" events from fetch requests
  (on Servo script thread)
```

All incoming input data from different requests are mixed and
pushed to active media player, plus abnormal behaviour due to
intermixed X/Y/Z "end-of-stream" events.

To handle it properly we will unblock seek lock on "seek-data" event
(on script thread) as soon as possible (GStreamer will be able
to flush buffer queue and reset EOS state) and introduce buffered data
source
to delay pushing input data/EOS event until media player will be
actually ready.

Testing: Improvements to the following tests:
-
/html/canvas/element/manual/imagebitmap/createImageBitmap-origin.sub.html
-
/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html

Fixes: https://github.com/servo/servo/issues/31931
Fixes: https://github.com/servo/servo/issues/36989

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-06-02 19:39:38 +00:00
..
bindings script: Return global objects for DOM objects in the relevant realm (#37120) 2025-05-25 03:21:05 +00:00
bluetooth More miscellaneous script splitting changes (#36220) 2025-03-30 11:06:30 +00:00
servoparser Correct event_target for CSP violations (#36887) 2025-05-08 10:46:31 +00:00
webgl_extensions
webgl_validations
webgpu Return the proper texture format for GetPreferredCanvasFormat (#37073) 2025-05-21 20:07:00 +00:00
webxr script: Move Window-only gamepad functionality out of GlobalScope (#36805) 2025-05-02 20:10:26 +00:00
abortcontroller.rs dom: implement signal method on abort controller (#37217) 2025-06-02 13:20:57 +00:00
abortsignal.rs dom: implement aborted method of abort signal (#37218) 2025-06-02 18:57:57 +00:00
abstractrange.rs script: Implement Range::getClientRects and Range::getBoundingClientRect (#35993) 2025-03-19 08:33:11 +00:00
abstractworker.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
abstractworkerglobalscope.rs
activation.rs Fix radio group validity update when removing or selecting an input (#36252) 2025-04-06 23:26:15 +00:00
analysernode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
animationevent.rs
attr.rs svg: Add mock SVGImageElement interface (#36975) 2025-05-13 10:43:10 +00:00
audiobuffer.rs
audiobuffersourcenode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
audiocontext.rs
audiodestinationnode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
audiolistener.rs
audionode.rs More miscellaneous script splitting changes (#36220) 2025-03-30 11:06:30 +00:00
audioparam.rs
audioscheduledsourcenode.rs
audiotrack.rs
audiotracklist.rs
baseaudiocontext.rs Support optional message for dataclone error (#36308) 2025-04-13 18:10:04 +00:00
beforeunloadevent.rs
biquadfilternode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
blob.rs script: Make Blob.ArrayBuffer() more specification-compliant (#35748) 2025-05-19 11:55:06 +00:00
broadcastchannel.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
bytelengthqueuingstrategy.rs feat: add CanGc argument in get_dictionary_property (#36156) 2025-03-25 19:24:47 +00:00
canvasgradient.rs
canvaspattern.rs
canvasrenderingcontext2d.rs [#26488] Moved Droppable code into a separate struct for CanvasRenderingContext2D (#37136) 2025-05-27 15:45:05 +00:00
cdatasection.rs
channelmergernode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
channelsplitternode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
characterdata.rs Add CanGc as arguments in methods in devtools.rs, CharacterData, CSSStyleRule, CSSStyleSheet (#36375) 2025-04-06 23:44:58 +00:00
client.rs
clipboard.rs async clipboard: implement readText (#36689) 2025-05-07 15:11:37 +00:00
clipboardevent.rs More miscellaneous script splitting changes (#36220) 2025-03-30 11:06:30 +00:00
clipboarditem.rs async clipboard: implement readText (#36689) 2025-05-07 15:11:37 +00:00
closeevent.rs
comment.rs
compositionevent.rs
console.rs
constantsourcenode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
countqueuingstrategy.rs
create.rs svg: Add mock SVGImageElement interface (#36975) 2025-05-13 10:43:10 +00:00
crypto.rs
cryptokey.rs
css.rs
cssconditionrule.rs Turn CSSStyleRule into a CSSGroupingRule subclass (#36254) 2025-04-01 19:18:07 +00:00
cssfontfacerule.rs
cssgroupingrule.rs Turn CSSStyleRule into a CSSGroupingRule subclass (#36254) 2025-04-01 19:18:07 +00:00
cssimportrule.rs
csskeyframerule.rs
csskeyframesrule.rs
csslayerblockrule.rs Turn CSSStyleRule into a CSSGroupingRule subclass (#36254) 2025-04-01 19:18:07 +00:00
csslayerstatementrule.rs feat: add can_gc argument to to_frozen_array (#36043) 2025-03-19 18:03:09 +00:00
cssmediarule.rs
cssnamespacerule.rs
cssnesteddeclarations.rs Implement CSSNestedDeclarations (#36248) 2025-04-01 11:20:46 +00:00
cssrule.rs Implement CSSNestedDeclarations (#36248) 2025-04-01 11:20:46 +00:00
cssrulelist.rs script: Implement CSSStyleSheet constructor (#36521) 2025-04-15 14:05:13 +00:00
cssstyledeclaration.rs script: Create CSSStyleOwner::Null for getComputedStyle (#36272) 2025-04-02 13:54:42 +00:00
cssstylerule.rs Add CanGc as arguments in methods in devtools.rs, CharacterData, CSSStyleRule, CSSStyleSheet (#36375) 2025-04-06 23:44:58 +00:00
cssstylesheet.rs Implement CSSStyleSheet::replaceSync (#36586) 2025-04-23 15:29:01 +00:00
cssstylevalue.rs
csssupportsrule.rs
customelementregistry.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
customevent.rs dom: Set "composed" flag on construction for some event types (#36239) 2025-03-31 17:15:48 +00:00
datatransfer.rs Add support for static SVG images using resvg crate (#36721) 2025-05-27 11:02:40 +00:00
datatransferitem.rs
datatransferitemlist.rs feat: add can_gc argument to to_frozen_array (#36043) 2025-03-19 18:03:09 +00:00
dedicatedworkerglobalscope.rs Set correct policy-container for worker construction (#36603) 2025-04-21 12:47:06 +00:00
defaultteereadrequest.rs Start adding support for transforms in readable and writable streams (#36470) 2025-04-28 11:02:55 +00:00
defaultteeunderlyingsource.rs Start adding support for transforms in readable and writable streams (#36470) 2025-04-28 11:02:55 +00:00
dissimilaroriginlocation.rs
dissimilaroriginwindow.rs Improve inter-document focus handling (#36649) 2025-04-30 04:37:53 +00:00
document.rs Implement Input type=text UA Shadow DOM (#37065) 2025-05-30 12:02:10 +00:00
documentfragment.rs add CanGc as argument to methods in DissimilarOriginWindow, DocumentFragment, DocumentType, DOMRect, DOMRectReadOnly, DOMStringMap (#36395) 2025-04-08 02:33:21 +00:00
documentorshadowroot.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
documenttype.rs add CanGc as argument to methods in DissimilarOriginWindow, DocumentFragment, DocumentType, DOMRect, DOMRectReadOnly, DOMStringMap (#36395) 2025-04-08 02:33:21 +00:00
domexception.rs Implement CSSStyleSheet::replaceSync (#36586) 2025-04-23 15:29:01 +00:00
domimplementation.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
dommatrix.rs
dommatrixreadonly.rs
domparser.rs Check all ancestor navigable trustworthiness for mixed content (#36157) 2025-04-05 05:38:24 +00:00
dompoint.rs script: Add generic root storage to StructuredCloneReader. (#36640) 2025-04-23 13:05:41 +00:00
dompointreadonly.rs script: Add generic root storage to StructuredCloneReader. (#36640) 2025-04-23 13:05:41 +00:00
domquad.rs
domrect.rs add CanGc as argument to methods in DissimilarOriginWindow, DocumentFragment, DocumentType, DOMRect, DOMRectReadOnly, DOMStringMap (#36395) 2025-04-08 02:33:21 +00:00
domrectlist.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
domrectreadonly.rs add CanGc as argument to methods in DissimilarOriginWindow, DocumentFragment, DocumentType, DOMRect, DOMRectReadOnly, DOMStringMap (#36395) 2025-04-08 02:33:21 +00:00
domstringlist.rs
domstringmap.rs add CanGc as argument to methods in DissimilarOriginWindow, DocumentFragment, DocumentType, DOMRect, DOMRectReadOnly, DOMStringMap (#36395) 2025-04-08 02:33:21 +00:00
domtokenlist.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
dynamicmoduleowner.rs
element.rs XPath: implement lang() and id() core functions (#34594) 2025-06-02 19:00:13 +00:00
elementinternals.rs add CanGc as argument to methods in ElementInternals, GlobalScope, HTMLAnchorElement, HTMLAreaElement, HTMLCanvasElement (#36492) 2025-04-13 05:15:07 +00:00
errorevent.rs dom: Set "composed" flag on construction for some event types (#36239) 2025-03-31 17:15:48 +00:00
event.rs Correct event_target for CSP violations (#36887) 2025-05-08 10:46:31 +00:00
eventsource.rs Correct event_target for CSP violations (#36887) 2025-05-08 10:46:31 +00:00
eventtarget.rs Check CSP for inline event handlers (#36510) 2025-04-17 21:11:25 +00:00
extendableevent.rs
extendablemessageevent.rs feat: add can_gc argument to to_frozen_array (#36043) 2025-03-19 18:03:09 +00:00
file.rs fix: File to FormData not correctly handling name and lastModified (#36458) 2025-04-11 17:59:03 +00:00
filelist.rs
filereader.rs Update ProgressEvent to use doubles (#36487) 2025-04-13 01:41:39 +00:00
filereadersync.rs
focusevent.rs dom: Set "composed" flag on construction for some event types (#36239) 2025-03-31 17:15:48 +00:00
fontface.rs Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
fontfaceset.rs
formdata.rs fix: File to FormData not correctly handling name and lastModified (#36458) 2025-04-11 17:59:03 +00:00
formdataevent.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
gainnode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
gamepad.rs script: Move Window-only gamepad functionality out of GlobalScope (#36805) 2025-05-02 20:10:26 +00:00
gamepadbutton.rs script: Move Window-only gamepad functionality out of GlobalScope (#36805) 2025-05-02 20:10:26 +00:00
gamepadbuttonlist.rs script: Move Window-only gamepad functionality out of GlobalScope (#36805) 2025-05-02 20:10:26 +00:00
gamepadevent.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
gamepadhapticactuator.rs script: Move Window-only gamepad functionality out of GlobalScope (#36805) 2025-05-02 20:10:26 +00:00
gamepadpose.rs
globalscope.rs pixels: Add limitation to max image total bytes length (#37172) 2025-05-29 10:43:27 +00:00
gpucanvascontext.rs Fix build when webgpu feature is not enabled (#36804) 2025-05-02 11:33:28 +00:00
hashchangeevent.rs
headers.rs script: Refactor dom/headers to match spec better (#36943) 2025-05-21 19:07:32 +00:00
history.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
htmlanchorelement.rs add CanGc as argument to methods in ElementInternals, GlobalScope, HTMLAnchorElement, HTMLAreaElement, HTMLCanvasElement (#36492) 2025-04-13 05:15:07 +00:00
htmlareaelement.rs script: Add support for polygons in HtmlAreaElement::hit_test (#37064) 2025-05-24 09:53:27 +00:00
htmlaudioelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmlbaseelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmlbodyelement.rs Update the list of global and window event handlers (#36894) 2025-05-10 15:54:13 +00:00
htmlbrelement.rs
htmlbuttonelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmlcanvaselement.rs script: Let canvas serialization to image fail gracefully (#37184) 2025-05-29 16:09:05 +00:00
htmlcollection.rs add CanGc as argument to methods in HTMLCollection, HTMLDataListElement, HTMLDialogElement, HTMLElement, HTMLFieldSetElement, HTMLFormControlsCollection, HTMLFormElement, HTMLIFrameElement (#36495) 2025-04-13 07:10:00 +00:00
htmldataelement.rs
htmldatalistelement.rs add CanGc as argument to methods in HTMLCollection, HTMLDataListElement, HTMLDialogElement, HTMLElement, HTMLFieldSetElement, HTMLFormControlsCollection, HTMLFormElement, HTMLIFrameElement (#36495) 2025-04-13 07:10:00 +00:00
htmldetailselement.rs Don't explicitly restyle when updating <details> shadow tree (#36769) 2025-04-30 12:24:27 +00:00
htmldialogelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmldirectoryelement.rs
htmldivelement.rs
htmldlistelement.rs
htmlelement.rs Implement inner slot for cryptographic nonce (#36965) 2025-05-14 10:21:21 +00:00
htmlembedelement.rs
htmlfieldsetelement.rs add CanGc as argument to methods in HTMLCollection, HTMLDataListElement, HTMLDialogElement, HTMLElement, HTMLFieldSetElement, HTMLFormControlsCollection, HTMLFormElement, HTMLIFrameElement (#36495) 2025-04-13 07:10:00 +00:00
htmlfontelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmlformcontrolscollection.rs add CanGc as argument to methods in HTMLCollection, HTMLDataListElement, HTMLDialogElement, HTMLElement, HTMLFieldSetElement, HTMLFormControlsCollection, HTMLFormElement, HTMLIFrameElement (#36495) 2025-04-13 07:10:00 +00:00
htmlformelement.rs Fix BorrowMutError crash in form reset (#36726) 2025-04-29 18:59:50 +00:00
htmlframeelement.rs
htmlframesetelement.rs
htmlheadelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmlheadingelement.rs
htmlhrelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmlhtmlelement.rs
htmlhyperlinkelementutils.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmliframeelement.rs constellation: Pass system theme to new Pipelines (#37132) 2025-05-26 12:05:38 +00:00
htmlimageelement.rs Implement basics of link preloading (#37036) 2025-05-29 11:26:27 +00:00
htmlinputelement.rs Implement Input type=text UA Shadow DOM (#37065) 2025-05-30 12:02:10 +00:00
htmllabelelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmllegendelement.rs resolve issue #36074 new_js_regex and matches_js_regex need a CanGc argument (#36111) 2025-03-29 13:09:56 +00:00
htmllielement.rs
htmllinkelement.rs Implement basics of link preloading (#37036) 2025-05-29 11:26:27 +00:00
htmlmapelement.rs
htmlmediaelement.rs htmlmediaelement: Fix fetch request race on "seek-data" event (#37002) 2025-06-02 19:39:38 +00:00
htmlmenuelement.rs
htmlmetaelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmlmeterelement.rs Add CanGc as arguments in methods in Attr and Node (#36371) 2025-04-06 06:27:59 +00:00
htmlmodelement.rs
htmlobjectelement.rs Add support for static SVG images using resvg crate (#36721) 2025-05-27 11:02:40 +00:00
htmlolistelement.rs
htmloptgroupelement.rs Update select shadow tree when contents of selected option change (#36958) 2025-05-11 16:21:56 +00:00
htmloptionelement.rs Refactoring HTMLOptionElement::Text into iterative style (#37167) 2025-05-28 17:58:33 +00:00
htmloptionscollection.rs add CanGc as argument to methods in Element (#36464) 2025-04-11 06:21:50 +00:00
htmloutputelement.rs resolve issue #36074 new_js_regex and matches_js_regex need a CanGc argument (#36111) 2025-03-29 13:09:56 +00:00
htmlparagraphelement.rs Support align attribute on HTMLParagraphElement interface (#36054) 2025-03-19 07:57:43 +00:00
htmlparamelement.rs
htmlpictureelement.rs
htmlpreelement.rs
htmlprogresselement.rs Add CanGc as arguments in methods in Attr and Node (#36371) 2025-04-06 06:27:59 +00:00
htmlquoteelement.rs
htmlscriptelement.rs Implement inner slot for cryptographic nonce (#36965) 2025-05-14 10:21:21 +00:00
htmlselectelement.rs Fully support <input type=color> (#36992) 2025-05-15 17:30:38 +00:00
htmlslotelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmlsourceelement.rs dom: should change media element's currentSrc to children source element's src in resource selection algorithm. (#36408) 2025-04-11 06:32:34 +00:00
htmlspanelement.rs
htmlstyleelement.rs Various memory measurement improvements (#36834) 2025-05-07 04:00:12 +00:00
htmltablecaptionelement.rs
htmltablecellelement.rs layout: When there is no restyle damage, do not re-layout (#37048) 2025-05-21 15:52:11 +00:00
htmltablecolelement.rs layout: When there is no restyle damage, do not re-layout (#37048) 2025-05-21 15:52:11 +00:00
htmltableelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmltablerowelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmltablesectionelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmltemplateelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
htmltextareaelement.rs Let input JS event be dispatched by keydown instead of keypress (#37078) 2025-05-28 08:51:05 +00:00
htmltimeelement.rs
htmltitleelement.rs resolve issue #36074 new_js_regex and matches_js_regex need a CanGc argument (#36111) 2025-03-29 13:09:56 +00:00
htmltrackelement.rs
htmlulistelement.rs
htmlunknownelement.rs
htmlvideoelement.rs canvas: Add HTMLVideoElement to CanvasImageSource union type (#37135) 2025-05-28 12:04:01 +00:00
iirfilternode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
imagebitmap.rs imagebitmap: Use snapshot::Snapshot as bitmap data (#37131) 2025-05-27 06:41:25 +00:00
imagedata.rs pixels: Add limitation to max image total bytes length (#37172) 2025-05-29 10:43:27 +00:00
inputevent.rs
intersectionobserver.rs Prevent overflow in intersection observer area evaluation (#36955) 2025-05-11 03:05:47 +00:00
intersectionobserverentry.rs dom: Implement minimal IntersectionObserver workflow (#35551) 2025-03-18 11:09:44 +00:00
intersectionobserverrootmargin.rs dom: Implement minimal IntersectionObserver workflow (#35551) 2025-03-18 11:09:44 +00:00
keyboardevent.rs
location.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
macros.rs Update the list of global and window event handlers (#36894) 2025-05-10 15:54:13 +00:00
mediadeviceinfo.rs
mediadevices.rs More miscellaneous script splitting changes (#36220) 2025-03-30 11:06:30 +00:00
mediaelementaudiosourcenode.rs
mediaerror.rs
mediafragmentparser.rs
medialist.rs script: Implement CSSStyleSheet constructor (#36521) 2025-04-15 14:05:13 +00:00
mediametadata.rs
mediaquerylist.rs
mediaquerylistevent.rs
mediasession.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
mediastream.rs
mediastreamaudiodestinationnode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
mediastreamaudiosourcenode.rs
mediastreamtrack.rs
mediastreamtrackaudiosourcenode.rs
messagechannel.rs
messageevent.rs feat: add can_gc argument to to_frozen_array (#36043) 2025-03-19 18:03:09 +00:00
messageport.rs Remove unspecified early return in MessagePort::Close (#36836) 2025-05-05 07:06:32 +00:00
mimetype.rs
mimetypearray.rs
mod.rs script: stub AbortSignal (#37033) 2025-05-27 09:53:43 +00:00
mouseevent.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
mutationobserver.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
mutationrecord.rs
namednodemap.rs add CanGc as argument to methods in Element (#36464) 2025-04-11 06:21:50 +00:00
navigationpreloadmanager.rs
navigator.rs content/dom: set navigator.onLine attribute to true (#36560) 2025-04-19 01:34:13 +00:00
navigatorinfo.rs libservo: Remove a couple EmbedderMethods (#36276) 2025-04-01 22:59:50 +00:00
node.rs XPath: implement lang() and id() core functions (#34594) 2025-06-02 19:00:13 +00:00
nodeiterator.rs
nodelist.rs Include ChildrenList::last_visited in memory reports (#36772) 2025-04-30 15:39:47 +00:00
notification.rs Add support for static SVG images using resvg crate (#36721) 2025-05-27 11:02:40 +00:00
offlineaudiocompletionevent.rs
offlineaudiocontext.rs
offscreencanvas.rs pixels: Add limitation to max image total bytes length (#37172) 2025-05-29 10:43:27 +00:00
offscreencanvasrenderingcontext2d.rs Let (Offscreen)RenderingContext implement CanvasContext (#36712) 2025-04-30 18:52:57 +00:00
oscillatornode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
pagetransitionevent.rs
paintrenderingcontext2d.rs canvas: Implement line dash setters and getters (#36257) 2025-04-01 11:22:00 +00:00
paintsize.rs
paintworkletglobalscope.rs
pannernode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
path2d.rs Avoid borrow panic when Path2D.addPath is called with self (#36847) 2025-05-05 12:10:33 +00:00
performance.rs
performanceentry.rs
performancemark.rs
performancemeasure.rs
performancenavigation.rs
performancenavigationtiming.rs
performanceobserver.rs feat: add can_gc argument to to_frozen_array (#36043) 2025-03-19 18:03:09 +00:00
performanceobserverentrylist.rs
performancepainttiming.rs
performanceresourcetiming.rs
permissions.rs More miscellaneous script splitting changes (#36220) 2025-03-30 11:06:30 +00:00
permissionstatus.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
plugin.rs
pluginarray.rs
pointerevent.rs dom: Firing "click" event as synthetic pointer event (#36274) 2025-04-02 11:20:25 +00:00
popstateevent.rs
processinginstruction.rs
progressevent.rs Update ProgressEvent to use doubles (#36487) 2025-04-13 01:41:39 +00:00
promise.rs codegen: use FromJSValConvertible trait for Promise (#36966) 2025-05-12 11:05:46 +00:00
promisenativehandler.rs
promiserejectionevent.rs
radionodelist.rs
range.rs Add CanGc as arguments in methods in Attr and Node (#36371) 2025-04-06 06:27:59 +00:00
raredata.rs Implement inner slot for cryptographic nonce (#36965) 2025-05-14 10:21:21 +00:00
readablebytestreamcontroller.rs Start adding support for transforms in readable and writable streams (#36470) 2025-04-28 11:02:55 +00:00
readablestream.rs Stream implement pipeThrough (#36977) 2025-05-20 14:33:22 +00:00
readablestreambyobreader.rs Start adding support for transforms in readable and writable streams (#36470) 2025-04-28 11:02:55 +00:00
readablestreambyobrequest.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
readablestreamdefaultcontroller.rs Script implement TransformStream and TransformStreamDefaultController (#36739) 2025-05-08 08:45:57 +00:00
readablestreamdefaultreader.rs Start adding support for transforms in readable and writable streams (#36470) 2025-04-28 11:02:55 +00:00
readablestreamgenericreader.rs Script implement TransformStream and TransformStreamDefaultController (#36739) 2025-05-08 08:45:57 +00:00
request.rs Check all ancestor navigable trustworthiness for mixed content (#36157) 2025-04-05 05:38:24 +00:00
resizeobserver.rs script: Fix resize observer depth calculation for Shadow DOM. (#36230) 2025-03-31 16:01:16 +00:00
resizeobserverentry.rs feat: add can_gc argument to to_frozen_array (#36043) 2025-03-19 18:03:09 +00:00
resizeobserversize.rs
response.rs Implement static Response.json (#36589) 2025-04-25 08:49:21 +00:00
rtcdatachannel.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
rtcdatachannelevent.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
rtcerror.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
rtcerrorevent.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
rtcicecandidate.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
rtcpeerconnection.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
rtcpeerconnectioniceevent.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
rtcrtpsender.rs
rtcrtptransceiver.rs
rtcsessiondescription.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
rtctrackevent.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
screen.rs compositor: Unify the cross process and in-process API (#36543) 2025-04-15 18:31:46 +00:00
securitypolicyviolationevent.rs Correct event_target for CSP violations (#36887) 2025-05-08 10:46:31 +00:00
selection.rs
serviceworker.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
serviceworkercontainer.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
serviceworkerglobalscope.rs Eagerly define interfaces on non-Window globals (#36604) 2025-04-21 03:32:21 +00:00
serviceworkerregistration.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
servointernals.rs Refactor the memory profiler code to return the struct. (#37155) 2025-05-28 00:58:05 +00:00
shadowroot.rs feat: implement ShadowRoot::setHTMLUnsafe (#36240) 2025-05-01 15:19:41 +00:00
staticrange.rs
stereopannernode.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
storage.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
storageevent.rs
stylepropertymapreadonly.rs
stylesheet.rs Rename Stylesheet::Type_ to Stylesheet::Type (#37126) 2025-05-25 17:36:16 +00:00
stylesheetlist.rs
submitevent.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
subtlecrypto.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
svgelement.rs Implement inner slot for cryptographic nonce (#36965) 2025-05-14 10:21:21 +00:00
svggraphicselement.rs
svgimageelement.rs svg: Add mock SVGImageElement interface (#36975) 2025-05-13 10:43:10 +00:00
svgsvgelement.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
test_mapping.json
testbinding.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
testbindingiterable.rs
testbindingmaplikewithinterface.rs crown: Do not check trait item projections. (#36095) 2025-03-22 19:55:27 +00:00
testbindingmaplikewithprimitive.rs crown: Do not check trait item projections. (#36095) 2025-03-22 19:55:27 +00:00
testbindingpairiterable.rs
testbindingproxy.rs
testbindingsetlikewithinterface.rs crown: Do not check trait item projections. (#36095) 2025-03-22 19:55:27 +00:00
testbindingsetlikewithprimitive.rs crown: Do not check trait item projections. (#36095) 2025-03-22 19:55:27 +00:00
testns.rs
testutils.rs Implement TestUtils (#36301) 2025-04-04 19:42:28 +00:00
testworklet.rs
testworkletglobalscope.rs
text.rs Add CanGc as arguments in methods in Attr and Node (#36371) 2025-04-06 06:27:59 +00:00
textcontrol.rs
textdecoder.rs
textencoder.rs
textmetrics.rs
texttrack.rs
texttrackcue.rs
texttrackcuelist.rs
texttracklist.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
timeranges.rs
touch.rs
touchevent.rs
touchlist.rs
trackevent.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
transformstream.rs refactor: merge cross_realm_transform_* fields into one (#37102) 2025-05-27 02:27:13 +00:00
transformstreamdefaultcontroller.rs Script implement TransformStream and TransformStreamDefaultController (#36739) 2025-05-08 08:45:57 +00:00
transitionevent.rs
treewalker.rs
trustedhtml.rs Implement trusted HTML sinks for Element (#36941) 2025-05-12 10:53:03 +00:00
trustedscript.rs Implement all trusted sinks in HTMLScriptElement (#36668) 2025-05-03 08:35:46 +00:00
trustedscripturl.rs Implement all trusted sinks in HTMLScriptElement (#36668) 2025-05-03 08:35:46 +00:00
trustedtypepolicy.rs Implement all trusted sinks in HTMLScriptElement (#36668) 2025-05-03 08:35:46 +00:00
trustedtypepolicyfactory.rs Correct event_target for CSP violations (#36887) 2025-05-08 10:46:31 +00:00
uievent.rs
underlyingsourcecontainer.rs Script implement TransformStream and TransformStreamDefaultController (#36739) 2025-05-08 08:45:57 +00:00
url.rs
urlhelper.rs
urlpattern.rs Implement URLPattern::{text, exec} (#37044) 2025-05-24 11:12:11 +00:00
urlsearchparams.rs
userscripts.rs Allow setting userscripts directly without the need of files (#35388) 2025-03-27 03:00:08 +00:00
validation.rs resolve issue #36074 new_js_regex and matches_js_regex need a CanGc argument (#36111) 2025-03-29 13:09:56 +00:00
validitystate.rs Support single-value <select> elements (#35684) 2025-04-03 12:11:55 +00:00
values.rs
vertexarrayobject.rs Remove ref_filter_map dependency (#36857) 2025-05-18 14:00:58 +00:00
videotrack.rs
videotracklist.rs
virtualmethods.rs svg: Add mock SVGImageElement interface (#36975) 2025-05-13 10:43:10 +00:00
visibilitystateentry.rs
vttcue.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
vttregion.rs Use Window in new methods instead of GlobalScope for interfaces with … (#36133) 2025-04-02 14:50:56 +00:00
webgl2renderingcontext.rs canvas: Add HTMLVideoElement to CanvasImageSource union type (#37135) 2025-05-28 12:04:01 +00:00
webglactiveinfo.rs
webglbuffer.rs
webglcontextevent.rs
webglframebuffer.rs Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
webglobject.rs
webglprogram.rs
webglquery.rs
webglrenderbuffer.rs
webglrenderingcontext.rs canvas: Add HTMLVideoElement to CanvasImageSource union type (#37135) 2025-05-28 12:04:01 +00:00
webglsampler.rs
webglshader.rs
webglshaderprecisionformat.rs
webglsync.rs
webgltexture.rs
webgltransformfeedback.rs
webgluniformlocation.rs
webglvertexarrayobject.rs
webglvertexarrayobjectoes.rs
websocket.rs Correct event_target for CSP violations (#36887) 2025-05-08 10:46:31 +00:00
wheelevent.rs
window.rs Add support for static SVG images using resvg crate (#36721) 2025-05-27 11:02:40 +00:00
windowproxy.rs constellation: Pass system theme to new Pipelines (#37132) 2025-05-26 12:05:38 +00:00
worker.rs Implement Trusted types worker sinks (#36811) 2025-05-04 17:05:07 +00:00
workerglobalscope.rs Implement Trusted types worker sinks (#36811) 2025-05-04 17:05:07 +00:00
workerlocation.rs
workernavigator.rs content/dom: set navigator.onLine attribute to true (#36560) 2025-04-19 01:34:13 +00:00
worklet.rs Don't build testbinding-related code by default (#37034) 2025-05-17 08:14:19 +00:00
workletglobalscope.rs Don't build testbinding-related code by default (#37034) 2025-05-17 08:14:19 +00:00
writablestream.rs Script implement TransformStream and TransformStreamDefaultController (#36739) 2025-05-08 08:45:57 +00:00
writablestreamdefaultcontroller.rs Script implement TransformStream and TransformStreamDefaultController (#36739) 2025-05-08 08:45:57 +00:00
writablestreamdefaultwriter.rs Streams: Implement stream pipe-to (#35650) 2025-03-18 11:13:09 +00:00
xmldocument.rs Switch to data_url::mime for document content type (#36522) 2025-04-15 17:12:48 +00:00
xmlhttprequest.rs script: Set HTTP status code when aborting an XMLHttpRequest (#37190) 2025-06-01 15:37:46 +00:00
xmlhttprequesteventtarget.rs
xmlhttprequestupload.rs
xmlserializer.rs
xpathevaluator.rs
xpathexpression.rs
xpathresult.rs XPath: implement lang() and id() core functions (#34594) 2025-06-02 19:00:13 +00:00