[WebIDL] Annotate IDL interfaces under Source/WebCore/html/ with the OperationsNotDel...
authorzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 6 Oct 2013 18:18:48 +0000 (18:18 +0000)
committerzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 6 Oct 2013 18:18:48 +0000 (18:18 +0000)
https://bugs.webkit.org/show_bug.cgi?id=122280

Reviewed by Darin Adler.

Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
doesn't have any effect, but will keep the operations not configurable after the generator is modified
to preserve the original behavior. The attribute will be removed from each interface after checking
conformity with other browsers (in terms of configurability of operations of that interface) and the
WebKit's existing test suites.

This patch covers IDL interfaces under Source/WebCore/html/.

* html/DOMFormData.idl:
* html/DOMSettableTokenList.idl:
* html/DOMTokenList.idl:
* html/DOMURL.idl:
* html/HTMLAllCollection.idl:
* html/HTMLAnchorElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLCollection.idl:
* html/HTMLDocument.idl:
* html/HTMLElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFieldSetElement.idl:
* html/HTMLFormControlsCollection.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLKeygenElement.idl:
* html/HTMLMarqueeElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptionsCollection.idl:
* html/HTMLOutputElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLVideoElement.idl:
* html/MediaController.idl:
* html/RadioNodeList.idl:
* html/TimeRanges.idl:
* html/canvas/CanvasGradient.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/DOMPath.idl:
* html/canvas/EXTDrawBuffers.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/WebGLDebugShaders.idl:
* html/canvas/WebGLLoseContext.idl:
* html/canvas/WebGLRenderingContext.idl:
* html/track/AudioTrackList.idl:
* html/track/TextTrack.idl:
* html/track/TextTrackCue.idl:
* html/track/TextTrackCueList.idl:
* html/track/TextTrackList.idl:
* html/track/TextTrackRegionList.idl:
* html/track/VideoTrackList.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156999 268f45cc-cd09-0410-ab3c-d52691b4dbfc

49 files changed:
Source/WebCore/ChangeLog
Source/WebCore/html/DOMFormData.idl
Source/WebCore/html/DOMSettableTokenList.idl
Source/WebCore/html/DOMTokenList.idl
Source/WebCore/html/DOMURL.idl
Source/WebCore/html/HTMLAllCollection.idl
Source/WebCore/html/HTMLAnchorElement.idl
Source/WebCore/html/HTMLButtonElement.idl
Source/WebCore/html/HTMLCanvasElement.idl
Source/WebCore/html/HTMLCollection.idl
Source/WebCore/html/HTMLDocument.idl
Source/WebCore/html/HTMLElement.idl
Source/WebCore/html/HTMLEmbedElement.idl
Source/WebCore/html/HTMLFieldSetElement.idl
Source/WebCore/html/HTMLFormControlsCollection.idl
Source/WebCore/html/HTMLFormElement.idl
Source/WebCore/html/HTMLFrameElement.idl
Source/WebCore/html/HTMLIFrameElement.idl
Source/WebCore/html/HTMLInputElement.idl
Source/WebCore/html/HTMLKeygenElement.idl
Source/WebCore/html/HTMLMarqueeElement.idl
Source/WebCore/html/HTMLMediaElement.idl
Source/WebCore/html/HTMLObjectElement.idl
Source/WebCore/html/HTMLOptionsCollection.idl
Source/WebCore/html/HTMLOutputElement.idl
Source/WebCore/html/HTMLSelectElement.idl
Source/WebCore/html/HTMLTableElement.idl
Source/WebCore/html/HTMLTableRowElement.idl
Source/WebCore/html/HTMLTableSectionElement.idl
Source/WebCore/html/HTMLTextAreaElement.idl
Source/WebCore/html/HTMLVideoElement.idl
Source/WebCore/html/MediaController.idl
Source/WebCore/html/RadioNodeList.idl
Source/WebCore/html/TimeRanges.idl
Source/WebCore/html/canvas/CanvasGradient.idl
Source/WebCore/html/canvas/CanvasRenderingContext2D.idl
Source/WebCore/html/canvas/DOMPath.idl
Source/WebCore/html/canvas/EXTDrawBuffers.idl
Source/WebCore/html/canvas/OESVertexArrayObject.idl
Source/WebCore/html/canvas/WebGLDebugShaders.idl
Source/WebCore/html/canvas/WebGLLoseContext.idl
Source/WebCore/html/canvas/WebGLRenderingContext.idl
Source/WebCore/html/track/AudioTrackList.idl
Source/WebCore/html/track/TextTrack.idl
Source/WebCore/html/track/TextTrackCue.idl
Source/WebCore/html/track/TextTrackCueList.idl
Source/WebCore/html/track/TextTrackList.idl
Source/WebCore/html/track/TextTrackRegionList.idl
Source/WebCore/html/track/VideoTrackList.idl

index c95c192..4de14d1 100644 (file)
@@ -1,5 +1,70 @@
 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
 
+        [WebIDL] Annotate IDL interfaces under Source/WebCore/html/ with the OperationsNotDeletable attribute
+        https://bugs.webkit.org/show_bug.cgi?id=122280
+
+        Reviewed by Darin Adler.
+
+        Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
+        interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
+        doesn't have any effect, but will keep the operations not configurable after the generator is modified
+        to preserve the original behavior. The attribute will be removed from each interface after checking
+        conformity with other browsers (in terms of configurability of operations of that interface) and the
+        WebKit's existing test suites.
+
+        This patch covers IDL interfaces under Source/WebCore/html/.
+
+        * html/DOMFormData.idl:
+        * html/DOMSettableTokenList.idl:
+        * html/DOMTokenList.idl:
+        * html/DOMURL.idl:
+        * html/HTMLAllCollection.idl:
+        * html/HTMLAnchorElement.idl:
+        * html/HTMLButtonElement.idl:
+        * html/HTMLCanvasElement.idl:
+        * html/HTMLCollection.idl:
+        * html/HTMLDocument.idl:
+        * html/HTMLElement.idl:
+        * html/HTMLEmbedElement.idl:
+        * html/HTMLFieldSetElement.idl:
+        * html/HTMLFormControlsCollection.idl:
+        * html/HTMLFormElement.idl:
+        * html/HTMLFrameElement.idl:
+        * html/HTMLIFrameElement.idl:
+        * html/HTMLInputElement.idl:
+        * html/HTMLKeygenElement.idl:
+        * html/HTMLMarqueeElement.idl:
+        * html/HTMLMediaElement.idl:
+        * html/HTMLObjectElement.idl:
+        * html/HTMLOptionsCollection.idl:
+        * html/HTMLOutputElement.idl:
+        * html/HTMLSelectElement.idl:
+        * html/HTMLTableElement.idl:
+        * html/HTMLTableRowElement.idl:
+        * html/HTMLTableSectionElement.idl:
+        * html/HTMLTextAreaElement.idl:
+        * html/HTMLVideoElement.idl:
+        * html/MediaController.idl:
+        * html/RadioNodeList.idl:
+        * html/TimeRanges.idl:
+        * html/canvas/CanvasGradient.idl:
+        * html/canvas/CanvasRenderingContext2D.idl:
+        * html/canvas/DOMPath.idl:
+        * html/canvas/EXTDrawBuffers.idl:
+        * html/canvas/OESVertexArrayObject.idl:
+        * html/canvas/WebGLDebugShaders.idl:
+        * html/canvas/WebGLLoseContext.idl:
+        * html/canvas/WebGLRenderingContext.idl:
+        * html/track/AudioTrackList.idl:
+        * html/track/TextTrack.idl:
+        * html/track/TextTrackCue.idl:
+        * html/track/TextTrackCueList.idl:
+        * html/track/TextTrackList.idl:
+        * html/track/TextTrackRegionList.idl:
+        * html/track/VideoTrackList.idl:
+
+2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
+
         [WebIIDL] Annotate IDL interfaces under Source/WebCore/svg/ with the OperationsNotDeletable attribute
         https://bugs.webkit.org/show_bug.cgi?id=122279
 
index 9291845..8081ec6 100644 (file)
@@ -33,7 +33,8 @@
     JSGenerateToNativeObject,
     JSGenerateToJSObject,
     InterfaceName=FormData,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface DOMFormData {
     // void append(DOMString name, DOMString value);
     // void append(DOMString name, Blob value, optional DOMString filename);
index 59d0be2..e7eca8b 100644 (file)
@@ -25,6 +25,7 @@
 [
     JSGenerateToJSObject,
     SkipVTableValidation,
+    OperationsNotDeletable
 ] interface DOMSettableTokenList : DOMTokenList {
     attribute DOMString value;
 
index 5893129..83de013 100644 (file)
@@ -24,7 +24,8 @@
 
 [
     GenerateIsReachable=ImplElementRoot,
-    SkipVTableValidation
+    SkipVTableValidation,
+    OperationsNotDeletable
 ] interface DOMTokenList {
     readonly attribute unsigned long length;
     [TreatReturnedNullStringAs=Null] getter DOMString item(unsigned long index);
index 46d4748..5543523 100644 (file)
@@ -32,7 +32,8 @@
     JSGenerateToJSObject,
     JSNoStaticTables,
     InterfaceName=URL,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface DOMURL {
     [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(Blob? blob);
     [CallWith=ScriptExecutionContext] static void revokeObjectURL(DOMString url);
index a8e4434..139f61c 100644 (file)
@@ -27,6 +27,7 @@
     CustomCall,
     MasqueradesAsUndefined,
     GenerateIsReachable=ImplOwnerNodeRoot,
+    OperationsNotDeletable
 ] interface HTMLAllCollection {
     readonly attribute unsigned long length;
     [Custom] getter Node item([Default=Undefined] optional unsigned long index);
index df68362..c061a7f 100644 (file)
@@ -18,7 +18,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-interface HTMLAnchorElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLAnchorElement : HTMLElement {
     [Reflect] attribute DOMString charset;
     [Reflect] attribute DOMString coords;
     [Conditional=DOWNLOAD_ATTRIBUTE, Reflect] attribute DOMString download;
index a8c6c52..1296290 100644 (file)
@@ -18,7 +18,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-interface HTMLButtonElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLButtonElement : HTMLElement {
     [Reflect] attribute boolean autofocus;
     [Reflect] attribute boolean disabled;
     readonly attribute HTMLFormElement form;
index 564205c..d9ae755 100644 (file)
@@ -25,7 +25,8 @@
  */
 
 [
-    JSGenerateToNativeObject
+    JSGenerateToNativeObject,
+    OperationsNotDeletable
 ] interface HTMLCanvasElement : HTMLElement {
 
     attribute long width;
index 62cb050..ae47ae0 100644 (file)
@@ -22,6 +22,7 @@
     CustomToJSObject,
     GenerateIsReachable=ImplOwnerNodeRoot,
     ObjCPolymorphic,
+    OperationsNotDeletable
 ] interface HTMLCollection {
     readonly attribute unsigned long length;
     getter Node item([Default=Undefined] optional unsigned long index);
index a09f006..45ad32a 100644 (file)
@@ -20,6 +20,7 @@
 
 [
     CustomNamedGetter,
+    OperationsNotDeletable
 ] interface HTMLDocument : Document {
     [Custom] void open();
     void close();
index 99767fc..2163566 100644 (file)
@@ -21,6 +21,7 @@
 [
     JSGenerateToNativeObject,
     JSCustomPushEventHandlerScope,
+    OperationsNotDeletable
 ] interface HTMLElement : Element {
 #if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
              // FIXME: id should be moved to Element for ObjC as well.
index f209e86..9a8af7d 100644 (file)
@@ -22,6 +22,7 @@
     CustomNamedSetter,
     JSCustomGetOwnPropertySlotAndDescriptor,
     CustomCall,
+    OperationsNotDeletable
 ] interface HTMLEmbedElement : HTMLElement {
 [Reflect] attribute DOMString align;
 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
index 4e77da9..8b255f8 100644 (file)
@@ -17,7 +17,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-interface HTMLFieldSetElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLFieldSetElement : HTMLElement {
     [Reflect] attribute boolean disabled;
     readonly attribute HTMLFormElement form;
     [Reflect] attribute DOMString name;
index 375d27f..7f886cb 100644 (file)
@@ -20,6 +20,7 @@
 
 [
     GenerateIsReachable=ImplOwnerNodeRoot,
+    OperationsNotDeletable
 ] interface HTMLFormControlsCollection : HTMLCollection {
     getter Node ([Default=Undefined] optional unsigned long index);
     [Custom] getter Node namedItem([Default=Undefined] optional DOMString name);
index a632dba..cfcd88d 100644 (file)
@@ -19,7 +19,8 @@
  */
 
 [
-    CustomNamedGetter
+    CustomNamedGetter,
+    OperationsNotDeletable
 ] interface HTMLFormElement : HTMLElement {
     [Reflect=accept_charset] attribute DOMString acceptCharset;
     [Reflect, URL] attribute DOMString action;
index 5a43248..3bb4df0 100644 (file)
@@ -18,7 +18,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-interface HTMLFrameElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLFrameElement : HTMLElement {
 
     [Reflect] attribute DOMString frameBorder;
     [Reflect] attribute DOMString longDesc;
index 7a71582..ed61332 100644 (file)
@@ -18,7 +18,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-interface HTMLIFrameElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLIFrameElement : HTMLElement {
     [Reflect] attribute DOMString align;
     [Reflect] attribute DOMString frameBorder;
     [Reflect] attribute DOMString height;
index 727bf69..d03cafe 100644 (file)
@@ -19,7 +19,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-interface HTMLInputElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLInputElement : HTMLElement {
     [Reflect] attribute DOMString accept;
     [Reflect] attribute DOMString alt;
     [Reflect] attribute DOMString autocomplete;
index c8361d8..3a0f226 100644 (file)
@@ -28,7 +28,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-interface HTMLKeygenElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLKeygenElement : HTMLElement {
     [Reflect] attribute boolean autofocus;
     [Reflect] attribute DOMString challenge;
     [Reflect] attribute boolean disabled;
index 5b8e3a9..d35704c 100644 (file)
@@ -17,7 +17,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-interface HTMLMarqueeElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLMarqueeElement : HTMLElement {
     void start();
     void stop();
     
index 883e2f7..4e08df1 100644 (file)
@@ -26,7 +26,8 @@
 [
     Conditional=VIDEO,
     JSGenerateToNativeObject,
-    ActiveDOMObject
+    ActiveDOMObject,
+    OperationsNotDeletable
 ] interface HTMLMediaElement : HTMLElement {
 
 // error state
index fb1c3f4..ff12919 100644 (file)
@@ -21,7 +21,8 @@
 [
     CustomNamedSetter,
     JSCustomGetOwnPropertySlotAndDescriptor,
-    CustomCall
+    CustomCall,
+    OperationsNotDeletable
 ] interface HTMLObjectElement : HTMLElement {
     readonly attribute HTMLFormElement form;
     [Reflect] attribute DOMString code;
index a33209b..51a9a06 100644 (file)
@@ -22,6 +22,7 @@
     JSGenerateToNativeObject,
     CustomIndexedSetter,
     GenerateIsReachable=ImplOwnerNodeRoot,
+    OperationsNotDeletable
 ] interface HTMLOptionsCollection : HTMLCollection {
     attribute long selectedIndex;
     [CustomSetter, SetterRaisesException] attribute unsigned long length;
index 7edaca2..bd4025b 100644 (file)
@@ -22,7 +22,9 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-interface HTMLOutputElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLOutputElement : HTMLElement {
     readonly attribute DOMSettableTokenList htmlFor;
     readonly attribute HTMLFormElement form;
     [Reflect] attribute DOMString name;
index 92a96a3..8400a88 100644 (file)
@@ -20,6 +20,7 @@
 
 [
     CustomIndexedSetter,
+    OperationsNotDeletable
 ] interface HTMLSelectElement : HTMLElement {
     [Reflect] attribute boolean autofocus;
     [Reflect] attribute boolean disabled;
index 1881de3..e0b5a0c 100644 (file)
@@ -18,7 +18,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-interface HTMLTableElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLTableElement : HTMLElement {
     [SetterRaisesException] attribute HTMLTableCaptionElement caption;
     [SetterRaisesException] attribute HTMLTableSectionElement tHead;
     [SetterRaisesException] attribute HTMLTableSectionElement tFoot;
index a56f70a..42f33a3 100644 (file)
@@ -18,7 +18,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-interface HTMLTableRowElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLTableRowElement : HTMLElement {
     readonly attribute long rowIndex;
     readonly attribute long sectionRowIndex;
     readonly attribute HTMLCollection cells;
index ffa64ad..f222128 100644 (file)
@@ -19,7 +19,8 @@
  */
 
 [
-    JSGenerateToNativeObject
+    JSGenerateToNativeObject,
+    OperationsNotDeletable
 ] interface HTMLTableSectionElement : HTMLElement {
     [Reflect] attribute DOMString align;
     [Reflect=char] attribute DOMString ch;
index bd5b7a5..251f8ba 100644 (file)
@@ -19,7 +19,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-interface HTMLTextAreaElement : HTMLElement {
+[
+    OperationsNotDeletable
+] interface HTMLTextAreaElement : HTMLElement {
     [Reflect] attribute boolean autofocus;
     attribute long cols;
     [Reflect] attribute DOMString dirName;
index a4cdb0b..e604e27 100644 (file)
@@ -25,7 +25,8 @@
 
 [
     Conditional=VIDEO,
-    JSGenerateToNativeObject
+    JSGenerateToNativeObject,
+    OperationsNotDeletable
 ] interface HTMLVideoElement : HTMLMediaElement {
     [Reflect] attribute unsigned long width;
     [Reflect] attribute unsigned long height;
index 26e6650..3deb6a1 100644 (file)
@@ -28,7 +28,8 @@
     Constructor,
     ConstructorCallWith=ScriptExecutionContext,
     JSGenerateToJSObject,
-    EventTarget
+    EventTarget,
+    OperationsNotDeletable
 ] interface MediaController {
     readonly attribute TimeRanges buffered;
     readonly attribute TimeRanges seekable;
index c0ed32c..cedd193 100644 (file)
@@ -26,6 +26,7 @@
 [
     NoInterfaceObject,
     JSGenerateToJSObject,
+    OperationsNotDeletable
 ] interface RadioNodeList : NodeList {
     attribute DOMString value;
 
index c2e7d05..efbc171 100644 (file)
@@ -25,7 +25,8 @@
 
 [
     Conditional=VIDEO,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface TimeRanges {
     readonly attribute unsigned long length;
     [RaisesException] double start(unsigned long index);
index 6ecd51b..9ec2ada 100644 (file)
@@ -23,7 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 [
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface CanvasGradient {
 
     [RaisesException] void addColorStop([Default=Undefined] optional float offset, 
index ffac896..0bbdf5d 100644 (file)
@@ -25,7 +25,9 @@
 
 enum CanvasWindingRule { "nonzero", "evenodd" };
 
-interface CanvasRenderingContext2D : CanvasRenderingContext {
+[
+    OperationsNotDeletable
+] interface CanvasRenderingContext2D : CanvasRenderingContext {
 
     void save();
     void restore();
index 04c38bc..e4a8528 100644 (file)
@@ -33,7 +33,8 @@
     Constructor(DOMString text),
 #endif
     Conditional=CANVAS_PATH,
-    InterfaceName=Path
+    InterfaceName=Path,
+    OperationsNotDeletable
 ] interface DOMPath {
 
     // FIXME: These methods should be shared with CanvasRenderingContext2D in the CanvasPathMethods interface.
index 047f9d2..5a62010 100644 (file)
@@ -29,7 +29,8 @@ typedef unsigned long GLenum;
     NoInterfaceObject,
     Conditional=WEBGL,
     GenerateIsReachable=ImplContext,
-    DoNotCheckConstants
+    DoNotCheckConstants,
+    OperationsNotDeletable
 ] interface EXTDrawBuffers {
     const GLenum COLOR_ATTACHMENT0_EXT = 0x8CE0;
     const GLenum COLOR_ATTACHMENT1_EXT = 0x8CE1;
index e3e0c2f..0af082d 100644 (file)
@@ -27,7 +27,8 @@
     NoInterfaceObject,
     Conditional=WEBGL, 
     GenerateIsReachable=ImplContext,
-    DoNotCheckConstants
+    DoNotCheckConstants,
+    OperationsNotDeletable
 ] interface OESVertexArrayObject {
     const unsigned int VERTEX_ARRAY_BINDING_OES = 0x85B5;
     
index eea9bb4..2cfc656 100644 (file)
@@ -27,6 +27,7 @@
     NoInterfaceObject,
     Conditional=WEBGL,
     GenerateIsReachable=ImplContext,
+    OperationsNotDeletable
 ] interface WebGLDebugShaders {
     [StrictTypeChecking, TreatReturnedNullStringAs=Null, RaisesException] DOMString getTranslatedShaderSource(WebGLShader shader);
 };
index a4522e3..f39975e 100644 (file)
@@ -27,6 +27,7 @@
     NoInterfaceObject,
     Conditional=WEBGL,
     GenerateIsReachable=ImplContext,
+    OperationsNotDeletable
 ] interface WebGLLoseContext {
     [StrictTypeChecking] void loseContext();
     [StrictTypeChecking] void restoreContext();
index 8a8c151..1263226 100644 (file)
@@ -41,7 +41,8 @@ typedef /*unrestricted*/ float GLclampf;
 [
     Conditional=WEBGL,
     JSCustomMarkFunction,
-    DoNotCheckConstants
+    DoNotCheckConstants,
+    OperationsNotDeletable
 ] interface WebGLRenderingContext : CanvasRenderingContext {
 
     /* ClearBufferMask */
index e195fa2..a1649ee 100644 (file)
@@ -28,7 +28,8 @@
     Conditional=VIDEO_TRACK,
     GenerateIsReachable=ImplElementRoot,
     EventTarget,
-    JSCustomMarkFunction
+    JSCustomMarkFunction,
+    OperationsNotDeletable
 ] interface AudioTrackList {
     readonly attribute unsigned long length;
     getter AudioTrack item(unsigned long index);
index 1af8ad2..b8c7416 100644 (file)
@@ -28,7 +28,8 @@
     EventTarget,
     GenerateIsReachable=ImplElementRoot,
     JSCustomMarkFunction,
-    SkipVTableValidation
+    SkipVTableValidation,
+    OperationsNotDeletable
 ] interface TextTrack {
     readonly attribute DOMString kind;
     readonly attribute DOMString label;
index 92e0e41..3f1488d 100644 (file)
@@ -31,7 +31,8 @@
     EventTarget,
     JSCustomMarkFunction,
     CustomIsReachable,
-    SkipVTableValidation
+    SkipVTableValidation,
+    OperationsNotDeletable
 ] interface TextTrackCue {
     readonly attribute TextTrack track;
 
index 0802592..e95a756 100644 (file)
@@ -25,7 +25,8 @@
 
 [
     Conditional=VIDEO_TRACK,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface TextTrackCueList {
     readonly attribute unsigned long length;
     getter TextTrackCue item(unsigned long index);
index 01b0a35..38b5237 100644 (file)
@@ -27,7 +27,8 @@
     Conditional=VIDEO_TRACK,
     GenerateIsReachable=ImplElementRoot,
     EventTarget,
-    JSCustomMarkFunction
+    JSCustomMarkFunction,
+    OperationsNotDeletable
 ] interface TextTrackList {
     readonly attribute unsigned long length;
     getter TextTrack item(unsigned long index);
index 8804a52..9bc680e 100644 (file)
@@ -26,7 +26,8 @@
 [
     NoInterfaceObject,
     Conditional=VIDEO_TRACK & WEBVTT_REGIONS,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface TextTrackRegionList {
     readonly attribute unsigned long length;
     getter TextTrackRegion item(unsigned long index);
index 902f516..729c0f7 100644 (file)
@@ -28,7 +28,8 @@
     Conditional=VIDEO_TRACK,
     GenerateIsReachable=ImplElementRoot,
     EventTarget,
-    JSCustomMarkFunction
+    JSCustomMarkFunction,
+    OperationsNotDeletable
 ] interface VideoTrackList {
     readonly attribute unsigned long length;
     getter VideoTrack item(unsigned long index);