servo/components/script/dom
bors-servo fd7698c3ea
Auto merge of #29805 - jdm:dom-protos, r=mrobinson
Support extending DOM classes in JS

Adds support for determining the correct prototype as part of a `new` call for non-HTML constructors. Support for HTML constructors [was added](https://github.com/servo/servo/blob/master/components/script/dom/bindings/htmlconstructor.rs#L116) as part of the custom element work, but that wasn't enough for extending other DOM objects like `EventTarget`.

This work is based on Gecko's code in https://searchfox.org/mozilla-central/rev/2d678a843ceab81e43f7ffb83212197dc10e944a/dom/bindings/BindingUtils.cpp#3667, and is split into two parts:
1) the actualy new implementation (demonstrating that extending `EventTarget` works as expected)
2) plumbing the new prototype through all of the rest of the DOM object construction code.

This ends up being more complex than the way it's done in Gecko because they have lazy DOM reflectors, so their native DOM objects can be constructed without any knowledge of a JS prototype. Servo's reflectors are eager, however, so we need to propagate prototype information into individual constructors. As a result, this was a tedious set of changes to make.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #29770
- [x] There are tests for these changes
2023-06-01 05:06:09 +02:00
..
bindings Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
servoparser Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
webgl_extensions revert: Introduce Untransplantable trait to indicate transplantability at the type level 2023-03-23 18:06:17 +08:00
webgl_validations Update nightly rustc. 2021-11-01 08:46:18 -04:00
webidls Add value argument to URLSearchParams's has() and delete() 2023-05-11 08:34:17 +02:00
abstractworker.rs
abstractworkerglobalscope.rs Enter realms more consistently during the script event loop. 2023-05-20 14:30:22 -04:00
activation.rs Event dispatch rewritten to resemble spec more often, activate on clicks better 2020-02-12 15:57:37 -05:00
analysernode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
animationevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
attr.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
audiobuffer.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
audiobuffersourcenode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
audiocontext.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
audiodestinationnode.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
audiolistener.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
audionode.rs
audioparam.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
audioscheduledsourcenode.rs
audiotrack.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
audiotracklist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
baseaudiocontext.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
beforeunloadevent.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
biquadfilternode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
blob.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
bluetooth.rs Remove unused argument from AlreadyInRealm::assert. 2023-05-20 11:05:09 -04:00
bluetoothadvertisingevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
bluetoothcharacteristicproperties.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
bluetoothdevice.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
bluetoothpermissionresult.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
bluetoothremotegattcharacteristic.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
bluetoothremotegattdescriptor.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
bluetoothremotegattserver.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
bluetoothremotegattservice.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
bluetoothuuid.rs Modify script to prevent further violations of snake_case 2020-01-18 14:22:15 +05:30
broadcastchannel.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
canvasgradient.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
canvaspattern.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
canvasrenderingcontext2d.rs Enable textAlign, textBaseline and direction attributes for canvas 2020-06-10 22:34:20 +05:30
cdatasection.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
channelmergernode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
channelsplitternode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
characterdata.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
client.rs serviceworker: make job queue unique per origin 2020-05-21 13:21:21 +08:00
closeevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
comment.rs Formatting. 2023-05-28 23:54:02 -04:00
compositionevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
console.rs Fix formatting. 2023-05-20 11:05:10 -04:00
constantsourcenode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
create.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
crypto.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
css.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
cssconditionrule.rs
cssfontfacerule.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
cssgroupingrule.rs
cssimportrule.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
csskeyframerule.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
csskeyframesrule.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
cssmediarule.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
cssnamespacerule.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
cssrule.rs Further changes required by Servo 2023-05-30 23:26:02 +02:00
cssrulelist.rs Fix compiler warnings 2021-08-14 21:35:15 -07:00
cssstyledeclaration.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
cssstylerule.rs Implements Stylesheet.ownerNode 2020-10-10 21:21:00 +02:00
cssstylesheet.rs Implements StyleSheet.media 2020-10-16 10:55:00 +02:00
cssstylevalue.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
csssupportsrule.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
cssviewportrule.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
customelementregistry.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
customevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
dedicatedworkerglobalscope.rs feat: shorten thread names 2021-07-19 00:57:48 +09:00
dissimilaroriginlocation.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
dissimilaroriginwindow.rs Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
document.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
documentfragment.rs Formatting. 2023-05-28 23:54:02 -04:00
documentorshadowroot.rs Further changes required by Servo 2023-05-16 13:00:18 +02:00
documenttype.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
domexception.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
domimplementation.rs Formatting. 2023-05-28 23:54:02 -04:00
dommatrix.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
dommatrixreadonly.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
domparser.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
dompoint.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
dompointreadonly.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
domquad.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
domrect.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
domrectreadonly.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
domstringlist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
domstringmap.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
domtokenlist.rs Implement DOMTokenList.supports API 2020-10-05 09:26:36 +02:00
dynamicmoduleowner.rs Introduce DynamicModuleOwner dom struct 2020-07-18 00:43:32 +09:00
element.rs Formatting. 2023-05-28 23:54:02 -04:00
errorevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
event.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
eventsource.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
eventtarget.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
extendableevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
extendablemessageevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
fakexrdevice.rs Update webxr 2020-04-27 08:02:41 -07:00
fakexrinputcontroller.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
file.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
filelist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
filereader.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
filereadersync.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
focusevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
formdata.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
formdataevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
gainnode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
gamepad.rs Remove WebVR 2020-04-08 20:23:41 -05:00
gamepadbutton.rs Remove WebVR 2020-04-08 20:23:41 -05:00
gamepadbuttonlist.rs Remove WebVR 2020-04-08 20:23:41 -05:00
gamepadevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
gamepadlist.rs Remove WebVR 2020-04-08 20:23:41 -05:00
gamepadpose.rs Remove WebVR 2020-04-08 20:23:41 -05:00
globalscope.rs Remove unused argument from AlreadyInRealm::assert. 2023-05-20 11:05:09 -04:00
gpu.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
gpuadapter.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
gpubindgroup.rs Implement GPURenderBundleEncoder and GPURenderBundle 2020-07-24 12:45:23 +05:30
gpubindgrouplayout.rs Implement GPURenderBundleEncoder and GPURenderBundle 2020-07-24 12:45:23 +05:30
gpubuffer.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
gpubufferusage.rs Initial implementation of GPUBuffer for WebGPU 2019-12-17 11:00:08 +01:00
gpucanvascontext.rs Update arrayvec. 2022-04-01 01:14:13 -04:00
gpucolorwrite.rs Implement GPURenderPipeline 2020-05-30 11:38:32 +05:30
gpucommandbuffer.rs Remove entries from error_command_buffers on drop 2020-08-08 20:20:07 +05:30
gpucommandencoder.rs defer encoding errors to finish() 2020-08-22 17:43:10 +05:30
gpucomputepassencoder.rs defer encoding errors to finish() 2020-08-22 17:43:10 +05:30
gpucomputepipeline.rs address review and disable test 2020-09-23 21:32:25 +05:30
gpudevice.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
gpudevicelostinfo.rs Implement Async Error reporting for WebGPU and update wgpu-core 2020-07-16 23:21:09 +05:30
gpumapmode.rs Implement GPUBuffer.mapAsync and update wgpu-core 2020-06-27 20:27:17 +05:30
gpuoutofmemoryerror.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
gpupipelinelayout.rs Implement GPUPipelineBase for implicit pipeline layouts 2020-08-19 16:44:26 +05:30
gpuqueue.rs Use Device limits and features provided by user 2020-09-23 11:37:03 +05:30
gpurenderbundle.rs Implement GPURenderBundleEncoder and GPURenderBundle 2020-07-24 12:45:23 +05:30
gpurenderbundleencoder.rs update wgpu and some cleanup 2020-08-17 13:33:54 +05:30
gpurenderpassencoder.rs defer encoding errors to finish() 2020-08-22 17:43:10 +05:30
gpurenderpipeline.rs address review and disable test 2020-09-23 21:32:25 +05:30
gpusampler.rs Implement GPURenderBundleEncoder and GPURenderBundle 2020-07-24 12:45:23 +05:30
gpushadermodule.rs Implement GPURenderBundleEncoder and GPURenderBundle 2020-07-24 12:45:23 +05:30
gpushaderstage.rs Initial implementation of GPUBindGroupLayout for WebGPU 2020-01-16 10:53:51 +01:00
gpuswapchain.rs defer encoding errors to finish() 2020-08-22 17:43:10 +05:30
gputexture.rs Prevent redundant texture and buffer destroy calls 2020-08-25 11:07:25 +05:30
gputextureusage.rs Implement GPUTexture and GPUTextureView 2020-06-01 23:28:12 +05:30
gputextureview.rs Implement GPURenderBundleEncoder and GPURenderBundle 2020-07-24 12:45:23 +05:30
gpuuncapturederrorevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
gpuvalidationerror.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
hashchangeevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
headers.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
history.rs Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
htmlanchorelement.rs Formatting. 2023-05-28 23:54:02 -04:00
htmlareaelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlaudioelement.rs Formatting. 2023-05-28 23:54:02 -04:00
htmlbaseelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlbodyelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlbrelement.rs Formatting. 2023-05-28 23:54:02 -04:00
htmlbuttonelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlcanvaselement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlcollection.rs Fix checking for empty set for getElementsByClassName 2023-04-21 15:21:53 +09:00
htmldataelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmldatalistelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmldetailselement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmldialogelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmldirectoryelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmldivelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmldlistelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlembedelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlfieldsetelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlfontelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlformcontrolscollection.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
htmlformelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlframeelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlframesetelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlheadelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlheadingelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlhrelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlhtmlelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmliframeelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlimageelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlinputelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmllabelelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmllegendelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmllielement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmllinkelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlmapelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlmediaelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlmenuelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlmetaelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlmeterelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlmodelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlobjectelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlolistelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmloptgroupelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmloptionelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmloptionscollection.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmloutputelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlparagraphelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlparamelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlpictureelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlpreelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlprogresselement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlquoteelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlscriptelement.rs Formatting. 2023-05-28 23:54:02 -04:00
htmlselectelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlsourceelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlspanelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlstyleelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmltablecaptionelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmltablecellelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmltablecolelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmltableelement.rs Formatting. 2023-05-28 23:54:02 -04:00
htmltablerowelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmltablesectionelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmltemplateelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmltextareaelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmltimeelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmltitleelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmltrackelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlulistelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlunknownelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
htmlvideoelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
identityhub.rs Update rustc. 2021-12-02 17:05:19 -05:00
imagebitmap.rs implemented CreateImageBitmap function for Canvas image source 2020-04-29 21:51:10 -04:00
imagedata.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
inputevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
keyboardevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
location.rs Make Location operate on the correct objects 2023-05-18 15:41:08 +02:00
macros.rs Fix compiler warnings 2021-08-14 21:35:15 -07:00
mediadeviceinfo.rs Implement MediaDevices.enumerateDevices() 2020-07-10 13:18:26 +02:00
mediadevices.rs Remove unused argument from AlreadyInRealm::assert. 2023-05-20 11:05:09 -04:00
mediaelementaudiosourcenode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
mediaerror.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
mediafragmentparser.rs
medialist.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
mediametadata.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
mediaquerylist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
mediaquerylistevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
mediasession.rs Enter a realm when handling mediasession commands. 2020-08-06 14:09:38 -04:00
mediastream.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
mediastreamaudiodestinationnode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
mediastreamaudiosourcenode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
mediastreamtrack.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
mediastreamtrackaudiosourcenode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
messagechannel.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
messageevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
messageport.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
mimetype.rs
mimetypearray.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
mod.rs Implement GPUUncapturedErrorEvent 2020-08-11 14:24:58 +05:30
mouseevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
mutationobserver.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
mutationrecord.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
namednodemap.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
navigationpreloadmanager.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
navigator.rs dom: Implement Navigator.languages. 2020-07-14 11:50:59 -04:00
navigatorinfo.rs Modify script to prevent further violations of snake_case 2020-01-18 14:22:15 +05:30
node.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
nodeiterator.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
nodelist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
offlineaudiocompletionevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
offlineaudiocontext.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
offscreencanvas.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
offscreencanvasrenderingcontext2d.rs Enable textAlign, textBaseline and direction attributes for canvas 2020-06-10 22:34:20 +05:30
oscillatornode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
pagetransitionevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
paintrenderingcontext2d.rs Update euclid 2020-04-07 08:51:08 -07:00
paintsize.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
paintworkletglobalscope.rs Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
pannernode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
performance.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
performanceentry.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
performancemark.rs
performancemeasure.rs
performancenavigation.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
performancenavigationtiming.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
performanceobserver.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
performanceobserverentrylist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
performancepainttiming.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
performanceresourcetiming.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
performancetiming.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
permissions.rs Remove unused argument from AlreadyInRealm::assert. 2023-05-20 11:05:09 -04:00
permissionstatus.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
plugin.rs
pluginarray.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
popstateevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
processinginstruction.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
progressevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
promise.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
promisenativehandler.rs integrate readablestream with fetch and blob 2020-06-04 11:38:35 +08:00
promiserejectionevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
radionodelist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
range.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
raredata.rs Cache the result of retrieving an element's client rectangle from layout. 2020-03-31 17:15:44 -04:00
readablestream.rs Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
request.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
response.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
rtcdatachannel.rs Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
rtcdatachannelevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
rtcerror.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
rtcerrorevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
rtcicecandidate.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
rtcpeerconnection.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
rtcpeerconnectioniceevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
rtcrtpsender.rs dom: Add WebRTC transceiver stubs. 2020-07-14 12:48:45 -04:00
rtcrtptransceiver.rs dom: Add WebRTC transceiver stubs. 2020-07-14 12:48:45 -04:00
rtcsessiondescription.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
rtctrackevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
screen.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
selection.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
serviceworker.rs serviceworker: make job queue unique per origin 2020-05-21 13:21:21 +08:00
serviceworkercontainer.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
serviceworkerglobalscope.rs feat: shorten thread names 2021-07-19 00:57:48 +09:00
serviceworkerregistration.rs serviceworker: make job queue unique per origin 2020-05-21 13:21:21 +08:00
shadowroot.rs Further changes required by Servo 2023-05-16 13:00:18 +02:00
stereopannernode.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
storage.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
storageevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
stylepropertymapreadonly.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
stylesheet.rs Implements StyleSheet.media 2020-10-16 10:55:00 +02:00
stylesheetlist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
submitevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
svgelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
svggraphicselement.rs
svgsvgelement.rs Support arbitrary protos when wrapping DOM objects with constructors. 2023-05-28 23:23:12 -04:00
test_mapping.json
testbinding.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
testbindingiterable.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
testbindingpairiterable.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
testbindingproxy.rs
testrunner.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
testworklet.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
testworkletglobalscope.rs Revert "feat(script): add {DissimilarOriginWindow, PaintWorkletGlobalScope, TestWorkletGlobalScope}::origin" 2021-07-13 21:12:44 +09:00
text.rs Formatting. 2023-05-28 23:54:02 -04:00
textcontrol.rs
textdecoder.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
textencoder.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
textmetrics.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
texttrack.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
texttrackcue.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
texttrackcuelist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
texttracklist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
timeranges.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
touch.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
touchevent.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
touchlist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
trackevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
transitionevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
treewalker.rs Update nightly rustc. 2021-11-01 08:46:18 -04:00
uievent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
url.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
urlhelper.rs make is_origin_trustworthy a method of ServoUrl + fix localhost handling 2020-05-19 20:06:59 +03:00
urlsearchparams.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
userscripts.rs Added off thread compilation 2020-07-21 16:20:51 -04:00
validation.rs Form constraints validation 2020-04-02 10:16:46 +02:00
validitystate.rs Form constraints validation 2020-04-02 10:16:46 +02:00
values.rs
vertexarrayobject.rs Replaced failible boolean with an enum 2020-04-23 18:23:01 +02:00
videotrack.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
videotracklist.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
virtualmethods.rs Introduce ElementCSSInlineStyle for SVGElement 2020-06-05 00:10:19 +09:00
vttcue.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
vttregion.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
webgl2renderingcontext.rs Update mozjs. 2021-02-18 09:35:45 -05:00
webglactiveinfo.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
webglbuffer.rs Replaced failible boolean with an enum 2020-04-23 18:23:01 +02:00
webglcontextevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
webglframebuffer.rs Make textures that come from webxr invalid outside an rAF 2020-08-06 17:51:58 -05:00
webglobject.rs
webglprogram.rs Replaced failible boolean with an enum 2020-04-23 18:23:01 +02:00
webglquery.rs Replaced failible boolean with an enum 2020-04-23 18:23:01 +02:00
webglrenderbuffer.rs Replaced failible boolean with an enum 2020-04-23 18:23:01 +02:00
webglrenderingcontext.rs Update mozjs. 2021-02-18 09:35:45 -05:00
webglsampler.rs Replaced failible boolean with an enum 2020-04-23 18:23:01 +02:00
webglshader.rs Implement EXT_frag_depth 2020-05-11 11:51:04 +03:00
webglshaderprecisionformat.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
webglsync.rs Replaced failible boolean with an enum 2020-04-23 18:23:01 +02:00
webgltexture.rs Make textures that come from webxr invalid outside an rAF 2020-08-06 17:51:58 -05:00
webgltransformfeedback.rs Replaced failible boolean with an enum 2020-04-23 18:23:01 +02:00
webgluniformlocation.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
webglvertexarrayobject.rs Replaced failible boolean with an enum 2020-04-23 18:23:01 +02:00
webglvertexarrayobjectoes.rs Replaced failible boolean with an enum 2020-04-23 18:23:01 +02:00
websocket.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
wheelevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
window.rs fixup! Checks moved to Element::client_rect(), fixed conditions for the special cases, reconfigured Window constructor to initialize current_viewport to initial window size 2023-05-05 11:13:26 -07:00
windowproxy.rs Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
worker.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
workerglobalscope.rs Add creation url and Secure Contexts 2020-11-25 18:30:50 +00:00
workerlocation.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
workernavigator.rs dom: Implement Navigator.languages. 2020-07-14 11:50:59 -04:00
worklet.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
workletglobalscope.rs Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
xmldocument.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
xmlhttprequest.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xmlhttprequesteventtarget.rs
xmlhttprequestupload.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
xmlserializer.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xrcompositionlayer.rs Add a dummy implementation of all the XR Layer types 2020-08-04 15:10:01 -05:00
xrcubelayer.rs Add a dummy implementation of all the XR Layer types 2020-08-04 15:10:01 -05:00
xrcylinderlayer.rs Add a dummy implementation of all the XR Layer types 2020-08-04 15:10:01 -05:00
xrequirectlayer.rs Add a dummy implementation of all the XR Layer types 2020-08-04 15:10:01 -05:00
xrframe.rs Bump euclid to 0.22 2023-01-26 08:59:21 +01:00
xrhand.rs Add XRHand[index] 2020-04-27 17:35:48 -07:00
xrhittestresult.rs Bump euclid to 0.22 2023-01-26 08:59:21 +01:00
xrhittestsource.rs Add XRFrame::getHitTestResults() 2020-04-19 20:29:14 -07:00
xrinputsource.rs Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
xrinputsourcearray.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
xrinputsourceevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xrinputsourceschangeevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xrjointpose.rs Add XRJointPose 2020-04-27 17:35:48 -07:00
xrjointspace.rs Add XRJointSpace 2020-04-27 17:35:48 -07:00
xrlayer.rs Update WebXR Layer IDL, and matching changes to the Rust code. 2020-08-03 12:37:01 -05:00
xrlayerevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xrmediabinding.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xrpose.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
xrprojectionlayer.rs Add a dummy implementation of all the XR Layer types 2020-08-04 15:10:01 -05:00
xrquadlayer.rs Add a dummy implementation of all the XR Layer types 2020-08-04 15:10:01 -05:00
xrray.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xrreferencespace.rs Bump euclid to 0.22 2023-01-26 08:59:21 +01:00
xrrenderstate.rs Update WebXR Layer IDL, and matching changes to the Rust code. 2020-08-03 12:37:01 -05:00
xrrigidtransform.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xrsession.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
xrsessionevent.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xrspace.rs Add XRJointSpace 2020-04-27 17:35:48 -07:00
xrsubimage.rs Added first-cut implementation of XR layers 2020-04-13 13:57:58 -05:00
xrsystem.rs Remove global argument from Promise::new_in_current_realm. 2023-05-20 11:05:09 -04:00
xrtest.rs Support .supportedModes to enable newer tests 2020-04-19 20:29:14 -07:00
xrview.rs Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
xrviewerpose.rs Make GlobalScope.get_cx a static method. 2023-05-20 11:05:09 -04:00
xrviewport.rs Add trait DomObjectWrap to provide WRAP function 2020-03-20 22:16:56 -04:00
xrwebglbinding.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xrwebgllayer.rs Rename reflect_dom_object2. 2023-05-31 23:03:32 -04:00
xrwebglsubimage.rs Support for webxr layer management 2020-06-28 16:37:45 -05:00