servo/components/script/dom/webidls
bors-servo 5e8ab6c0ff Auto merge of #11168 - daoshengmu:texSubImage2D, r=emilio
Implement WebGL TexSubImage2D

Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because I have run the wpt test of texSubImage2D.html, and it works.

Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.

I have implemented ```TexSubImage2D``` follow [the spec](https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8). This is my first version of implementation, and I notice I can reuse the code from ```TexImage2D```. Therefore, I would like to discuss make ```validate_tex_image2D_from_buffer``` and ```validate_tex_image2D_from_source``` to remove duplicate code.

Part of #10209

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11168)
<!-- Reviewable:end -->
2016-06-09 19:49:08 -05:00
..
Attr.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
BeforeUnloadEvent.webidl dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
Blob.webidl Rewrite Blob constructor interface 2016-05-10 20:19:10 +08:00
Bluetooth.webidl requestDevice options (filters and optionalServices) 2016-05-03 11:35:18 +02:00
BluetoothAdvertisingData.webidl Disable nonstandard interfaces via prefs. 2016-05-02 14:32:52 -04:00
BluetoothCharacteristicProperties.webidl Disable nonstandard interfaces via prefs. 2016-05-02 14:32:52 -04:00
BluetoothDevice.webidl Remove BluetoothDevice members 2016-05-05 12:47:52 +02:00
BluetoothRemoteGATTCharacteristic.webidl Replace the union types with the correct typedefs in the webidl files and the API classes. 2016-05-03 11:35:30 +02:00
BluetoothRemoteGATTDescriptor.webidl Error handling 2016-05-03 11:35:26 +02:00
BluetoothRemoteGATTServer.webidl Replace the union types with the correct typedefs in the webidl files and the API classes. 2016-05-03 11:35:30 +02:00
BluetoothRemoteGATTService.webidl Add included services 2016-05-24 15:50:33 +02:00
BluetoothUUID.webidl Disable nonstandard interfaces via prefs. 2016-05-02 14:32:52 -04:00
BrowserElement.webidl Fire a mozbrowseropenwindow event when an html anchor has a non-self target. 2016-06-02 09:44:35 -05:00
CanvasGradient.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
CanvasPattern.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
CanvasRenderingContext2D.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
CharacterData.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ChildNode.webidl Implement [Unscopable] (fixes #11583) 2016-06-07 15:34:44 +02:00
Client.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
CloseEvent.webidl
Comment.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Console.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Crypto.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
CSS.webidl Mark CSS as [Abstract] 2015-12-16 00:42:20 +01:00
CSSStyleDeclaration.webidl Auto merge of #11428 - g-k:csstext, r=SimonSapin 2016-06-01 01:59:12 -05:00
CustomEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DedicatedWorkerGlobalScope.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
Document.webidl Make Document::DefaultView return a null value when there's no browsing context 2016-06-08 23:10:20 +03:00
DocumentFragment.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DocumentType.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMException.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMImplementation.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMParser.webidl Added support for additional xml types to DOMParser::parseFromString 2016-06-01 20:55:27 -05:00
DOMPoint.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMPointReadOnly.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMQuad.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMRect.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMRectList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMRectReadOnly.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMStringMap.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMTokenList.webidl Make DOMTokenList.contains not throw anymore 2016-06-04 15:22:11 +02:00
Element.webidl Add Element::InsertAdjacentHTML 2016-06-08 15:08:53 +02:00
ElementContentEditable.webidl Add ElementContentEditable WebIDL interface 2015-11-06 23:07:57 -05:00
ElementCSSInlineStyle.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ErrorEvent.webidl Clean up whitespace, long lines for WebIDLs 2015-07-26 22:12:10 +07:00
Event.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
EventHandler.webidl dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
EventListener.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
EventSource.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
EventTarget.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
File.webidl Implement missing interfaces of File DOM object 2016-05-11 22:35:21 +08:00
FileList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
FileReader.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
FocusEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ForceTouchEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
FormData.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Function.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HashChangeEvent.webidl add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
HTMLAnchorElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLAppletElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLAreaElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLAudioElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLBaseElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLBodyElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLBRElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLButtonElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLCanvasElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLCollection.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDataElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDataListElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDetailsElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDialogElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDirectoryElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDivElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDListElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLEmbedElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLFieldSetElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLFontElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLFormControlsCollection.webidl Update the WebIDL parser 2016-05-18 11:30:53 +02:00
HTMLFormElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLFrameElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLFrameSetElement.webidl dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
HTMLHeadElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLHeadingElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLHRElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLHtmlElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLHyperlinkElementUtils.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLIFrameElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLImageElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLInputElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLLabelElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLLegendElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLLIElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLLinkElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLMapElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLMediaElement.webidl Implement partial spec-recommended preload=none support. 2016-05-03 18:05:26 -04:00
HTMLMetaElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLMeterElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLModElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLObjectElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLOListElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLOptGroupElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLOptionElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLOutputElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLParagraphElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLParamElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLPreElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLProgressElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLQuoteElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLScriptElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLSelectElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLSourceElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLSpanElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLStyleElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableCaptionElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableCellElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLTableColElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableDataCellElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableHeaderCellElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableRowElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableSectionElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTemplateElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTextAreaElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTimeElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTitleElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTrackElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLUListElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLUnknownElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLVideoElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ImageData.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
KeyboardEvent.webidl Fix all the links to the UI Events spec 2016-06-04 16:04:35 +02:00
Location.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
MediaError.webidl Add more specification step comments and update to the latest specification. 2016-05-03 18:05:28 -04:00
MessageEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
MimeType.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
MimeTypeArray.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
MouseEvent.webidl Fix all the links to the UI Events spec 2016-06-04 16:04:35 +02:00
NamedNodeMap.webidl Clarify some argument names in NamedNodeMap interface 2016-06-03 16:40:52 +02:00
Navigator.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
Node.webidl use USVStrings instead of DOMString for urls in Node and Document 2016-05-28 14:53:31 -04:00
NodeFilter.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
NodeIterator.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
NodeList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
NonElementParentNode.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
PageTransitionEvent.webidl add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
ParentNode.webidl Implement [Unscopable] (fixes #11583) 2016-06-07 15:34:44 +02:00
Performance.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
PerformanceTiming.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Plugin.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
PluginArray.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
PopStateEvent.webidl add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
ProcessingInstruction.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ProgressEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
RadioNodeList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Range.webidl Implement Range::createContextualFragment 2016-06-03 01:31:53 +02:00
Screen.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ServiceWorker.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
ServiceWorkerContainer.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
ServiceWorkerGlobalScope.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
ServiceWorkerRegistration.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
ServoHTMLParser.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ServoXMLParser.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
SharedMouseAndKeyboardEventInit.webidl Fix all the links to the UI Events spec 2016-06-04 16:04:35 +02:00
Storage.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
StorageEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
StyleSheet.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
StyleSheetList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TestBinding.webidl Implement [Func] 2016-05-27 00:55:02 +02:00
TestBindingProxy.webidl Disable nonstandard interfaces via prefs. 2016-05-02 14:32:52 -04:00
Text.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TextDecoder.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TextEncoder.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Touch.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TouchEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TouchList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TreeWalker.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
UIEvent.webidl Fix all the links to the UI Events spec 2016-06-04 16:04:35 +02:00
URL.webidl Implement URL.domainToUnicode 2016-06-06 10:58:37 -07:00
URLSearchParams.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ValidityState.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07: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 Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07: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 Enable texSubImage2D API 2016-06-02 02:43:28 +08: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 Make WebSocket constructor take (DOMString or sequence<DOMString>) 2016-01-17 21:33:04 -07:00
Window.webidl Implement window.openURLInDefaultBrowser() (fixes #11292) 2016-05-27 16:16:02 +02:00
Worker.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
WorkerGlobalScope.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
WorkerLocation.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
WorkerNavigator.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
XMLDocument.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
XMLHttpRequest.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
XMLHttpRequestEventTarget.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
XMLHttpRequestUpload.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00