servo/components/script/dom/webidls
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
..
Attr.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
Blob.webidl Adding for support Blob.{close,isClose} #6723 2015-07-29 09:54:08 +02:00
BrowserElement.webidl [Browser API] implement mozbrowsericonchange event 2015-11-14 09:59:50 +01:00
CanvasGradient.webidl Link to the HTML multipage spec, not the single-page one. 2015-10-13 11:48:51 -07:00
CanvasPattern.webidl Better references. 2015-07-22 10:49:26 -07:00
CanvasRenderingContext2D.webidl Update Canvas webIDL to spec 2015-11-28 20:03:48 -08:00
CharacterData.webidl Auto merge of #7601 - nox:cleanup-dom-webidls, r=Ms2ger 2015-09-19 17:50:22 -06:00
ChildNode.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
CloseEvent.webidl Correct the initial value of wasClean in CloseEvent. 2015-05-06 12:36:06 +02:00
Comment.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
Console.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
Crypto.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
CSS.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
CSSStyleDeclaration.webidl Add dashed CSS properties to CSSStyleDeclaration. 2015-08-28 13:15:17 -04:00
CustomEvent.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
DedicatedWorkerGlobalScope.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
Document.webidl Implement [Unforgeable] 2015-12-02 22:15:11 +01:00
DocumentFragment.webidl Implement NonElementParentNode for DocumentFragment 2015-09-10 01:33:13 +02:00
DocumentType.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
DOMException.webidl Add better stringifier for DOMException 2015-09-24 11:58:28 +05:30
DOMImplementation.webidl Add XMLDocument object 2015-11-27 14:55:41 +01:00
DOMParser.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
DOMPoint.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
DOMPointReadOnly.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
DOMRect.webidl Improve implementation of DOMRect and implement DOMRectReadOnly 2015-10-17 22:47:01 +02:00
DOMRectList.webidl
DOMRectReadOnly.webidl Improve implementation of DOMRect and implement DOMRectReadOnly 2015-10-17 22:47:01 +02:00
DOMStringMap.webidl Link to the HTML multipage spec, not the single-page one. 2015-10-13 11:48:51 -07:00
DOMTokenList.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
Element.webidl script: Element.webkitMatchesSelector() 2015-10-25 15:27:20 +09:00
ElementContentEditable.webidl Add ElementContentEditable WebIDL interface 2015-11-06 23:07:57 -05:00
ElementCSSInlineStyle.webidl Implement RemoveProperty, SetProperty, and supported property indices. 2014-12-18 12:54:02 -05:00
ErrorEvent.webidl Clean up whitespace, long lines for WebIDLs 2015-07-26 22:12:10 +07:00
Event.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
EventHandler.webidl Make OnErrorEventHandlerNonNull return 'any' instead of 'boolean'. 2015-11-29 00:10:32 -08:00
EventListener.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
EventTarget.webidl Introduce [Abstract] to mark non-leaf interfaces 2015-09-13 19:46:28 +02:00
File.webidl Update WHATWG links to use HTTPS 2015-04-13 21:34:27 -07:00
FileList.webidl Implement the FileList interface. Fixes #6708 2015-08-01 19:31:20 +02:00
FileReader.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
FormData.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
Function.webidl Replace usage of old-style WHATWG spec links 2015-10-10 11:55:09 -04:00
HTMLAnchorElement.webidl Update URL-related interfaces and their tests up to spec 2015-10-19 21:05:07 +02:00
HTMLAppletElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLAreaElement.webidl Update URL-related interfaces and their tests up to spec 2015-10-19 21:05:07 +02:00
HTMLAudioElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLBaseElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLBodyElement.webidl Add tracking issues for body/document attributes 2015-11-28 17:53:59 -05:00
HTMLBRElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLButtonElement.webidl Implement 'labels' attribute on 'labelable elements' 2015-11-01 09:50:14 -05:00
HTMLCanvasElement.webidl Implement HTMLCanvasElement#toDataURL 2015-10-26 21:24:21 -07:00
HTMLCollection.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
HTMLDataElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLDataListElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLDialogElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLDirectoryElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLDivElement.webidl Auto merge of #7953 - frewsxcv:htmldivelement-align, r=mbrubeck 2015-10-10 14:11:33 -06:00
HTMLDListElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLElement.webidl Add ElementContentEditable WebIDL interface 2015-11-06 23:07:57 -05:00
HTMLEmbedElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLFieldSetElement.webidl Add tracking issue for HTMLFormControlsCollection 2015-11-17 10:06:17 -05:00
HTMLFontElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLFormElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLFrameElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLFrameSetElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLHeadElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLHeadingElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLHRElement.webidl Implement <hr> element 'width' attribute 2015-11-14 16:46:59 -05:00
HTMLHtmlElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLHyperlinkElementUtils.webidl Update URL-related interfaces and their tests up to spec 2015-10-19 21:05:07 +02:00
HTMLIFrameElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLImageElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLInputElement.webidl Implement 'labels' attribute on 'labelable elements' 2015-11-01 09:50:14 -05:00
HTMLLabelElement.webidl Implement 'htmlFor' attribute for <label> elements 2015-10-25 08:06:44 -04:00
HTMLLegendElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLLIElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLLinkElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLMapElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLMediaElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLMetaElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLMeterElement.webidl Implement 'labels' attribute on 'labelable elements' 2015-11-01 09:50:14 -05:00
HTMLModElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLObjectElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLOListElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLOptGroupElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLOptionElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLOutputElement.webidl Implement 'labels' attribute on 'labelable elements' 2015-11-01 09:50:14 -05:00
HTMLParagraphElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLParamElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLPreElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLProgressElement.webidl Implement 'labels' attribute on 'labelable elements' 2015-11-01 09:50:14 -05:00
HTMLQuoteElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLScriptElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLSelectElement.webidl Implement 'labels' attribute on 'labelable elements' 2015-11-01 09:50:14 -05:00
HTMLSourceElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLSpanElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLStyleElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLTableCaptionElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLTableCellElement.webidl Implement 'bgcolor' IDL attribute for 'HTMLTableCellElement' 2015-11-13 00:47:20 -05:00
HTMLTableColElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLTableDataCellElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLTableElement.webidl Implement 'width' IDL attribute on <table> 2015-11-09 23:31:25 -05:00
HTMLTableHeaderCellElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLTableRowElement.webidl Implement HTMLTableRowElement insertCell and deleteCell 2015-10-17 00:07:22 -04:00
HTMLTableSectionElement.webidl Implement deleteRow and insertRow for <table> element 2015-10-11 09:47:46 -04:00
HTMLTemplateElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLTextAreaElement.webidl Implement 'labels' attribute on 'labelable elements' 2015-11-01 09:50:14 -05:00
HTMLTimeElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLTitleElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLTrackElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLUListElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLUnknownElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
HTMLVideoElement.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
ImageData.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
KeyboardEvent.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
Location.webidl Implement [Unforgeable] 2015-12-02 22:15:11 +01:00
MessageEvent.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
MouseEvent.webidl Auto merge of #6773 - dzbarsky:which, r=Ms2ger 2015-07-27 05:57:09 -06:00
NamedNodeMap.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
Navigator.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
Node.webidl Auto merge of #7601 - nox:cleanup-dom-webidls, r=Ms2ger 2015-09-19 17:50:22 -06:00
NodeFilter.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
NodeIterator.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
NodeList.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
NonElementParentNode.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
ParentNode.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
Performance.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
PerformanceTiming.webidl Add DOM-related performance timing properties 2015-11-13 17:51:34 -05:00
ProcessingInstruction.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
ProgressEvent.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
Range.webidl Implement Range#deleteContents 2015-11-25 00:02:25 -08:00
Screen.webidl
ServoHTMLParser.webidl Tidy finds WebIDLs with no spec. 2015-07-21 15:36:33 -07:00
ServoXMLParser.webidl M1503 - Integrate XML parse -Initial Steps 2015-11-04 19:18:20 -05:00
SharedMouseAndKeyboardEventInit.webidl Add KeyboardEvent stub. 2014-11-13 11:24:14 -05:00
Storage.webidl Implement a quota of 5MB per origin for localstorage and sessionstorage 2015-10-09 03:55:27 +08:00
StorageEvent.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
TestBinding.webidl Auto merge of #8147 - nox:weakref, r=Ms2ger 2015-11-13 06:22:40 +05:30
TestBindingProxy.webidl Remove deprecated 'creator' WebIDL attribute 2015-09-21 07:12:17 -04:00
Text.webidl Annotate many DOM attribute and methods with [Constant] and [Pure] 2015-09-19 16:03:13 +02:00
TextDecoder.webidl Implement TextDecoder#decode. 2015-04-08 16:55:50 +02:00
TextEncoder.webidl Implement TextEncoder 2015-03-31 17:21:27 -07:00
Touch.webidl Implement Document.createTouch 2015-10-22 10:49:30 -07:00
TouchEvent.webidl Add bindings for TouchEvent DOM interfaces 2015-10-22 10:35:11 -07:00
TouchList.webidl Add bindings for TouchEvent DOM interfaces 2015-10-22 10:35:11 -07:00
TreeWalker.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
UIEvent.webidl
URL.webidl Update URL-related interfaces and their tests up to spec 2015-10-19 21:05:07 +02:00
URLSearchParams.webidl Update URLSearchParams to use USVString and String. 2015-10-30 16:33:29 +01:00
ValidityState.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
WebGLActiveInfo.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLBuffer.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLContextEvent.webidl webgl: Implement WebGLContextEvent and use it on context creation error 2015-10-08 00:29:31 +02:00
WebGLFramebuffer.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLObject.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLProgram.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLRenderbuffer.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLRenderingContext.webidl webgl: Implement getSupportedExtensions 2015-11-11 17:13:59 +01:00
WebGLShader.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLShaderPrecisionFormat.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLTexture.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLUniformLocation.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebSocket.webidl Fixes #8213: Implement Blob variant of WebSocket.send() 2015-11-04 21:42:10 -07:00
Window.webidl Implement [Unforgeable] 2015-12-02 22:15:11 +01:00
Worker.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
WorkerGlobalScope.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
WorkerLocation.webidl Update URL-related interfaces and their tests up to spec 2015-10-19 21:05:07 +02:00
WorkerNavigator.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
XMLDocument.webidl Add XMLDocument object 2015-11-27 14:55:41 +01:00
XMLHttpRequest.webidl Implement the overrideMimeType method for XMLHttpRequest 2015-11-05 22:19:24 -05:00
XMLHttpRequestEventTarget.webidl Introduce [Abstract] to mark non-leaf interfaces 2015-09-13 19:46:28 +02:00
XMLHttpRequestUpload.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00