servo/components/script/dom
Anthony Ramine 60976406cc Implement [Unforgeable]
This is mostly stolen from Gecko. As there, we define the unforgeable members
on an object stored in the slots of the prototype object. They are then copied
onto instance objects when they are instantiated. It should be noted that
proxy objects see their unforgeable memebers defined on their expando object.

Unforgeable attributes aren't properly inherited in codegen (in a similar
fashion as getters and setters as filed in #5875) and require to be redefined
in derived interfaces. Fortunately, there are currently no such interfaces.

No unforgeable members can be included into the TestBinding interfaces for good
measure because they are not compatible with setters.

Given the unforgeable holder object has the same prototype as actual instances
of the interface, the finalize hook needs to check its slot pointer for nullity
before dropping it.

The new failing test isn't related to Unforgeable attributes, but to the fact
that all Document instances currently have a Location, even if their window
isn't in a browsing context.
2015-12-02 22:15:11 +01:00
..
bindings Implement [Unforgeable] 2015-12-02 22:15:11 +01:00
webidls Implement [Unforgeable] 2015-12-02 22:15:11 +01:00
activation.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
attr.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
blob.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
browsercontext.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
canvasgradient.rs Parse currentColor as Canvas2D color 2015-11-21 11:59:19 -08:00
canvaspattern.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
canvasrenderingcontext2d.rs Update Canvas webIDL to spec 2015-11-28 20:03:48 -08:00
characterdata.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
closeevent.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
comment.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
console.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
create.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
crypto.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
css.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
cssstyledeclaration.rs Defined new trait ParseErrorReporter and added error_reporter member to ParserContext 2015-11-25 18:28:30 -05:00
customevent.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
dedicatedworkerglobalscope.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
document.rs Auto merge of #8675 - GuillaumeGomez:master, r=nox 2015-11-27 19:29:04 +05:30
documentfragment.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
documenttype.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domexception.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domimplementation.rs Add XMLDocument object 2015-11-27 14:55:41 +01:00
domparser.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
dompoint.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
dompointreadonly.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domrect.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domrectlist.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domrectreadonly.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domstringmap.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domtokenlist.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
element.rs Auto merge of #8675 - GuillaumeGomez:master, r=nox 2015-11-27 19:29:04 +05:30
errorevent.rs Use DOMString::new() somewhat consistently. 2015-11-04 12:09:10 +01:00
event.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
eventdispatcher.rs Clean up the conversion routines 2015-11-11 14:19:30 +01:00
eventtarget.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
file.rs more refactoring 2015-10-30 20:26:29 +09:00
filelist.rs merge from master 2015-11-03 19:01:23 +09:00
filereader.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
formdata.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
htmlanchorelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlappletelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlareaelement.rs more refactoring 2015-10-30 20:26:29 +09:00
htmlaudioelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlbaseelement.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
htmlbodyelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlbrelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlbuttonelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlcanvaselement.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
htmlcollection.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
htmldataelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmldatalistelement.rs move Castable into dom::bindings::inheritance 2015-10-30 20:24:42 +09:00
htmldialogelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmldirectoryelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmldivelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmldlistelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlembedelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlfieldsetelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlfontelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlformelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlframeelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlframesetelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlheadelement.rs move Castable into dom::bindings::inheritance 2015-10-30 20:24:42 +09:00
htmlheadingelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlhrelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlhtmlelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmliframeelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlimageelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlinputelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmllabelelement.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
htmllegendelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmllielement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmllinkelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlmapelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlmediaelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlmetaelement.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
htmlmeterelement.rs make test-tidy happy + fix some merge errors 2015-11-03 19:11:01 +09:00
htmlmodelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlobjectelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlolistelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmloptgroupelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmloptionelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmloutputelement.rs make test-tidy happy + fix some merge errors 2015-11-03 19:11:01 +09:00
htmlparagraphelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlparamelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlpreelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlprogresselement.rs make test-tidy happy + fix some merge errors 2015-11-03 19:11:01 +09:00
htmlquoteelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlscriptelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlselectelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmlsourceelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlspanelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlstyleelement.rs Defined new trait ParseErrorReporter and added error_reporter member to ParserContext 2015-11-25 18:28:30 -05:00
htmltablecaptionelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmltablecellelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmltablecolelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmltabledatacellelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmltableelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmltableheadercellelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmltablerowelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmltablesectionelement.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
htmltemplateelement.rs move Castable into dom::bindings::inheritance 2015-10-30 20:24:42 +09:00
htmltextareaelement.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
htmltimeelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmltitleelement.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
htmltrackelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlulistelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlunknownelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlvideoelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
imagedata.rs Remove #[allow(raw_pointer_derive)] attributes 2015-11-27 14:32:57 -05:00
keyboardevent.rs Cleanup some unneeded let bindings 2015-11-06 00:22:31 -08:00
location.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
macros.rs Compute attribute name atoms at compile-time. 2015-11-27 15:42:34 -08:00
messageevent.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
mod.rs Add XMLDocument object 2015-11-27 14:55:41 +01:00
mouseevent.rs Get rid of a bunch of explicit derefs 2015-11-03 19:51:46 -08:00
namednodemap.rs Update string_cache to 0.2. 2015-11-25 10:13:21 -06:00
navigator.rs more refactoring 2015-10-30 20:26:29 +09:00
navigatorinfo.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
node.rs Auto merge of #8701 - nerith:attribute, r=jdm 2015-11-28 06:07:46 +05:30
nodeiterator.rs Get rid of a bunch of explicit derefs 2015-11-03 19:51:46 -08:00
nodelist.rs merge from master 2015-11-03 19:01:23 +09:00
performance.rs merge from master 2015-11-03 19:01:23 +09:00
performancetiming.rs Add DOM-related performance timing properties 2015-11-13 17:51:34 -05:00
processinginstruction.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
progressevent.rs rearrange imports to be in alphabetical order 2015-10-30 20:28:59 +09:00
range.rs Add XMLDocument object 2015-11-27 14:55:41 +01:00
screen.rs more refactoring 2015-10-30 20:26:29 +09:00
servohtmlparser.rs Use set_plaintext_state instead of plaintext tag 2015-11-27 00:45:34 -08:00
servoxmlparser.rs M1503 - Integrate XML parse -Initial Steps 2015-11-04 19:18:20 -05:00
storage.rs Replaced DOMString by String in storage APIs. 2015-11-12 17:52:59 -06:00
storageevent.rs rearrange imports to be in alphabetical order 2015-10-30 20:28:59 +09:00
testbinding.rs Auto merge of #8147 - nox:weakref, r=Ms2ger 2015-11-13 06:22:40 +05:30
testbindingproxy.rs Use DOMString::new() somewhat consistently. 2015-11-04 12:09:10 +01:00
text.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
textdecoder.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
textencoder.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
touch.rs more refactoring 2015-10-30 20:26:29 +09:00
touchevent.rs rearrange imports to be in alphabetical order 2015-10-30 20:28:59 +09:00
touchlist.rs merge from master 2015-11-03 19:01:23 +09:00
treewalker.rs Get rid of a bunch of explicit derefs 2015-11-03 19:51:46 -08:00
uievent.rs Get rid of a bunch of explicit derefs 2015-11-03 19:51:46 -08:00
url.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
urlhelper.rs Update URL-related interfaces and their tests up to spec 2015-10-19 21:05:07 +02:00
urlsearchparams.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
userscripts.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
validitystate.rs more refactoring 2015-10-30 20:26:29 +09:00
values.rs Consolidate magic number representing max unsigned long 2015-10-10 13:46:11 -04:00
virtualmethods.rs Implement <hr> 'color' attribute 2015-11-08 18:34:27 -05:00
webglactiveinfo.rs Make DOMString a newtype around String, rather than a typedef. 2015-11-04 12:09:11 +01:00
webglbuffer.rs merge from master 2015-11-03 19:01:23 +09:00
webglcontextevent.rs Use DOMString::new() somewhat consistently. 2015-11-04 12:09:10 +01:00
webglframebuffer.rs merge from master 2015-11-03 19:01:23 +09:00
webglobject.rs more refactoring 2015-10-30 20:26:29 +09:00
webglprogram.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
webglrenderbuffer.rs merge from master 2015-11-03 19:01:23 +09:00
webglrenderingcontext.rs Split ConstellationMsg into ScriptMsg and CompositorMsg 2015-11-16 23:10:53 -08:00
webglshader.rs Make DOMString a newtype around String, rather than a typedef. 2015-11-04 12:09:11 +01:00
webglshaderprecisionformat.rs more refactoring 2015-10-30 20:26:29 +09:00
webgltexture.rs merge from master 2015-11-03 19:01:23 +09:00
webgluniformlocation.rs more refactoring 2015-10-30 20:26:29 +09:00
websocket.rs Upgrade to rustc 1.6.0-nightly (d5fde83ae 2015-11-12) 2015-11-27 00:15:29 -05:00
window.rs Defined new trait ParseErrorReporter and added error_reporter member to ParserContext 2015-11-25 18:28:30 -05:00
worker.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
workerglobalscope.rs Split ConstellationMsg into ScriptMsg and CompositorMsg 2015-11-16 23:10:53 -08:00
workerlocation.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
workernavigator.rs more refactoring 2015-10-30 20:26:29 +09:00
xmldocument.rs Implement [Unforgeable] 2015-12-02 22:15:11 +01:00
xmlhttprequest.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
xmlhttprequesteventtarget.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
xmlhttprequestupload.rs more refactoring 2015-10-30 20:26:29 +09:00