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

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/Modules/.

* Modules/battery/BatteryManager.idl:
* Modules/encryptedmedia/MediaKeySession.idl:
* Modules/encryptedmedia/MediaKeys.idl:
* Modules/gamepad/GamepadList.idl:
* Modules/geolocation/Geolocation.idl:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/indexeddb/IDBVersionChangeEvent.idl:
* Modules/mediacontrols/MediaControlsHost.idl:
* Modules/mediasource/MediaSource.idl:
* Modules/mediasource/SourceBuffer.idl:
* Modules/mediasource/SourceBufferList.idl:
* Modules/mediasource/WebKitMediaSource.idl:
* Modules/mediasource/WebKitSourceBuffer.idl:
* Modules/mediasource/WebKitSourceBufferList.idl:
* Modules/mediastream/MediaStream.idl:
* Modules/mediastream/MediaStreamTrack.idl:
* Modules/mediastream/RTCDTMFSender.idl:
* Modules/mediastream/RTCDataChannel.idl:
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/RTCStatsReport.idl:
* Modules/mediastream/RTCStatsResponse.idl:
* Modules/networkinfo/NetworkInfoConnection.idl:
* Modules/notifications/Notification.idl:
* Modules/notifications/NotificationCenter.idl:
* Modules/proximity/DeviceProximityEvent.idl:
* Modules/quota/StorageInfo.idl:
* Modules/quota/StorageQuota.idl:
* Modules/speech/SpeechGrammarList.idl:
* Modules/speech/SpeechRecognition.idl:
* Modules/speech/SpeechRecognitionResult.idl:
* Modules/speech/SpeechRecognitionResultList.idl:
* Modules/speech/SpeechSynthesis.idl:
* Modules/webaudio/AnalyserNode.idl:
* Modules/webaudio/AudioBuffer.idl:
* Modules/webaudio/AudioBufferSourceNode.idl:
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/AudioListener.idl:
* Modules/webaudio/AudioNode.idl:
* Modules/webaudio/AudioParam.idl:
* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/OscillatorNode.idl:
* Modules/webaudio/PannerNode.idl:
* Modules/webdatabase/Database.idl:
* Modules/webdatabase/DatabaseSync.idl:
* Modules/webdatabase/SQLResultSetRowList.idl:
* Modules/webdatabase/SQLTransaction.idl:
* Modules/webdatabase/SQLTransactionSync.idl:
* Modules/websockets/WebSocket.idl:

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

55 files changed:
Source/WebCore/ChangeLog
Source/WebCore/Modules/battery/BatteryManager.idl
Source/WebCore/Modules/encryptedmedia/MediaKeySession.idl
Source/WebCore/Modules/encryptedmedia/MediaKeys.idl
Source/WebCore/Modules/gamepad/GamepadList.idl
Source/WebCore/Modules/geolocation/Geolocation.idl
Source/WebCore/Modules/indexeddb/IDBCursor.idl
Source/WebCore/Modules/indexeddb/IDBDatabase.idl
Source/WebCore/Modules/indexeddb/IDBFactory.idl
Source/WebCore/Modules/indexeddb/IDBIndex.idl
Source/WebCore/Modules/indexeddb/IDBKeyRange.idl
Source/WebCore/Modules/indexeddb/IDBObjectStore.idl
Source/WebCore/Modules/indexeddb/IDBTransaction.idl
Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.idl
Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl
Source/WebCore/Modules/mediasource/MediaSource.idl
Source/WebCore/Modules/mediasource/SourceBuffer.idl
Source/WebCore/Modules/mediasource/SourceBufferList.idl
Source/WebCore/Modules/mediasource/WebKitMediaSource.idl
Source/WebCore/Modules/mediasource/WebKitSourceBuffer.idl
Source/WebCore/Modules/mediasource/WebKitSourceBufferList.idl
Source/WebCore/Modules/mediastream/MediaStream.idl
Source/WebCore/Modules/mediastream/MediaStreamTrack.idl
Source/WebCore/Modules/mediastream/RTCDTMFSender.idl
Source/WebCore/Modules/mediastream/RTCDataChannel.idl
Source/WebCore/Modules/mediastream/RTCPeerConnection.idl
Source/WebCore/Modules/mediastream/RTCStatsReport.idl
Source/WebCore/Modules/mediastream/RTCStatsResponse.idl
Source/WebCore/Modules/networkinfo/NetworkInfoConnection.idl
Source/WebCore/Modules/notifications/Notification.idl
Source/WebCore/Modules/notifications/NotificationCenter.idl
Source/WebCore/Modules/proximity/DeviceProximityEvent.idl
Source/WebCore/Modules/quota/StorageInfo.idl
Source/WebCore/Modules/quota/StorageQuota.idl
Source/WebCore/Modules/speech/SpeechGrammarList.idl
Source/WebCore/Modules/speech/SpeechRecognition.idl
Source/WebCore/Modules/speech/SpeechRecognitionResult.idl
Source/WebCore/Modules/speech/SpeechRecognitionResultList.idl
Source/WebCore/Modules/speech/SpeechSynthesis.idl
Source/WebCore/Modules/webaudio/AnalyserNode.idl
Source/WebCore/Modules/webaudio/AudioBuffer.idl
Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl
Source/WebCore/Modules/webaudio/AudioContext.idl
Source/WebCore/Modules/webaudio/AudioListener.idl
Source/WebCore/Modules/webaudio/AudioNode.idl
Source/WebCore/Modules/webaudio/AudioParam.idl
Source/WebCore/Modules/webaudio/BiquadFilterNode.idl
Source/WebCore/Modules/webaudio/OscillatorNode.idl
Source/WebCore/Modules/webaudio/PannerNode.idl
Source/WebCore/Modules/webdatabase/Database.idl
Source/WebCore/Modules/webdatabase/DatabaseSync.idl
Source/WebCore/Modules/webdatabase/SQLResultSetRowList.idl
Source/WebCore/Modules/webdatabase/SQLTransaction.idl
Source/WebCore/Modules/webdatabase/SQLTransactionSync.idl
Source/WebCore/Modules/websockets/WebSocket.idl

index 9127e94..d18970e 100644 (file)
@@ -1,3 +1,72 @@
+2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
+
+        [WebIDL] Annotate IDL interfaces under Source/WebCore/Modules/ with the OperationsNotDeletable attribute
+        https://bugs.webkit.org/show_bug.cgi?id=122281
+
+        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/Modules/.
+
+        * Modules/battery/BatteryManager.idl:
+        * Modules/encryptedmedia/MediaKeySession.idl:
+        * Modules/encryptedmedia/MediaKeys.idl:
+        * Modules/gamepad/GamepadList.idl:
+        * Modules/geolocation/Geolocation.idl:
+        * Modules/indexeddb/IDBCursor.idl:
+        * Modules/indexeddb/IDBDatabase.idl:
+        * Modules/indexeddb/IDBFactory.idl:
+        * Modules/indexeddb/IDBIndex.idl:
+        * Modules/indexeddb/IDBKeyRange.idl:
+        * Modules/indexeddb/IDBObjectStore.idl:
+        * Modules/indexeddb/IDBTransaction.idl:
+        * Modules/indexeddb/IDBVersionChangeEvent.idl:
+        * Modules/mediacontrols/MediaControlsHost.idl:
+        * Modules/mediasource/MediaSource.idl:
+        * Modules/mediasource/SourceBuffer.idl:
+        * Modules/mediasource/SourceBufferList.idl:
+        * Modules/mediasource/WebKitMediaSource.idl:
+        * Modules/mediasource/WebKitSourceBuffer.idl:
+        * Modules/mediasource/WebKitSourceBufferList.idl:
+        * Modules/mediastream/MediaStream.idl:
+        * Modules/mediastream/MediaStreamTrack.idl:
+        * Modules/mediastream/RTCDTMFSender.idl:
+        * Modules/mediastream/RTCDataChannel.idl:
+        * Modules/mediastream/RTCPeerConnection.idl:
+        * Modules/mediastream/RTCStatsReport.idl:
+        * Modules/mediastream/RTCStatsResponse.idl:
+        * Modules/networkinfo/NetworkInfoConnection.idl:
+        * Modules/notifications/Notification.idl:
+        * Modules/notifications/NotificationCenter.idl:
+        * Modules/proximity/DeviceProximityEvent.idl:
+        * Modules/quota/StorageInfo.idl:
+        * Modules/quota/StorageQuota.idl:
+        * Modules/speech/SpeechGrammarList.idl:
+        * Modules/speech/SpeechRecognition.idl:
+        * Modules/speech/SpeechRecognitionResult.idl:
+        * Modules/speech/SpeechRecognitionResultList.idl:
+        * Modules/speech/SpeechSynthesis.idl:
+        * Modules/webaudio/AnalyserNode.idl:
+        * Modules/webaudio/AudioBuffer.idl:
+        * Modules/webaudio/AudioBufferSourceNode.idl:
+        * Modules/webaudio/AudioContext.idl:
+        * Modules/webaudio/AudioListener.idl:
+        * Modules/webaudio/AudioNode.idl:
+        * Modules/webaudio/AudioParam.idl:
+        * Modules/webaudio/BiquadFilterNode.idl:
+        * Modules/webaudio/OscillatorNode.idl:
+        * Modules/webaudio/PannerNode.idl:
+        * Modules/webdatabase/Database.idl:
+        * Modules/webdatabase/DatabaseSync.idl:
+        * Modules/webdatabase/SQLResultSetRowList.idl:
+        * Modules/webdatabase/SQLTransaction.idl:
+        * Modules/webdatabase/SQLTransactionSync.idl:
+        * Modules/websockets/WebSocket.idl:
+
 2013-10-06  Andreas Kling  <akling@apple.com>
 
         Tighten AbstractWorker and subclasses a bit.
index c6fb69e..6abf2b0 100644 (file)
@@ -22,8 +22,9 @@
     NoInterfaceObject,
     Conditional=BATTERY_STATUS,
     ActiveDOMObject,
-    EventTarget
- ] interface BatteryManager {
+    EventTarget,
+    OperationsNotDeletable
+] interface BatteryManager {
     readonly attribute boolean charging;
     readonly attribute double chargingTime;
     readonly attribute double dischargingTime;
index 709c1f8..b54d30f 100644 (file)
@@ -26,7 +26,8 @@
 [
     Conditional=ENCRYPTED_MEDIA_V2,
     EventTarget,
-    InterfaceName=WebKitMediaKeySession
+    InterfaceName=WebKitMediaKeySession,
+    OperationsNotDeletable
 ] interface MediaKeySession {
     // error state
     readonly attribute MediaKeyError error;
index 9bf4a28..c7efd2d 100644 (file)
@@ -27,7 +27,8 @@
     Conditional=ENCRYPTED_MEDIA_V2,
     Constructor(DOMString keySystem),
     ConstructorRaisesException,
-    InterfaceName=WebKitMediaKeys
+    InterfaceName=WebKitMediaKeys,
+    OperationsNotDeletable
 ] interface MediaKeys {
     [CallWith=ScriptExecutionContext, RaisesException] MediaKeySession createSession([Default=Undefined] optional DOMString type, [Default=Undefined] optional Uint8Array initData);
 
index 28935ba..0058c8f 100644 (file)
@@ -26,7 +26,8 @@
 [
     NoInterfaceObject,
     Conditional=GAMEPAD,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface GamepadList {
     readonly attribute unsigned long length;
     getter Gamepad item([Default=Undefined] optional unsigned long index);
index e3ac9ea..e831c00 100644 (file)
@@ -28,6 +28,7 @@
     NoInterfaceObject,
     Conditional=GEOLOCATION, 
     GenerateIsReachable=ImplFrame,
+    OperationsNotDeletable
 ] interface Geolocation {
     [Custom] void getCurrentPosition(PositionCallback successCallback,
                                      optional PositionErrorCallback errorCallback,
index 5043ec2..93b4640 100644 (file)
@@ -25,7 +25,8 @@
 
 [
     Conditional=INDEXED_DATABASE,
-    JSNoStaticTables
+    JSNoStaticTables,
+    OperationsNotDeletable
 ] interface IDBCursor {
     readonly attribute IDBAny source;
     readonly attribute DOMString direction;
index 123dbfa..6bff948 100644 (file)
@@ -30,7 +30,8 @@
     EventTarget,
     JSNoStaticTables,
     JSGenerateToJSObject,
-    JSGenerateToNativeObject
+    JSGenerateToNativeObject,
+    OperationsNotDeletable
 ] interface IDBDatabase : EventTarget {
     readonly attribute DOMString name;
     readonly attribute unsigned long long version;
index 896d638..84304fe 100644 (file)
@@ -26,7 +26,8 @@
 [
     Conditional=INDEXED_DATABASE,
     JSNoStaticTables,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface IDBFactory {
     [CallWith=ScriptExecutionContext, RaisesException] IDBOpenDBRequest open(DOMString name, [EnforceRange] optional unsigned long long version);
     [CallWith=ScriptExecutionContext, RaisesException] IDBOpenDBRequest deleteDatabase(DOMString name);
index ba0b0ac..e2c6665 100644 (file)
@@ -26,7 +26,8 @@
 [
     Conditional=INDEXED_DATABASE,
     JSNoStaticTables,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface IDBIndex {
     readonly attribute DOMString name;
     readonly attribute IDBObjectStore objectStore;
index 0fec31a..309a953 100644 (file)
@@ -26,7 +26,8 @@
 [
     Conditional=INDEXED_DATABASE,
     JSNoStaticTables,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface IDBKeyRange {
     [ImplementedAs=lowerValue,CallWith=ScriptExecutionContext] readonly attribute any lower;
     [ImplementedAs=upperValue,CallWith=ScriptExecutionContext] readonly attribute any upper;
index 463b9fb..7b67a48 100644 (file)
@@ -26,7 +26,8 @@
 [
     Conditional=INDEXED_DATABASE,
     JSNoStaticTables,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface IDBObjectStore {
     [TreatReturnedNullStringAs=Null] readonly attribute DOMString name;
     [ImplementedAs=keyPathAny] readonly attribute IDBAny keyPath;
index e464342..99a5c8d 100644 (file)
@@ -30,7 +30,8 @@
     EventTarget,
     JSNoStaticTables,
     JSGenerateToJSObject,
-    JSGenerateToNativeObject
+    JSGenerateToNativeObject,
+    OperationsNotDeletable
 ] interface IDBTransaction : EventTarget {
     readonly attribute DOMString mode;
     readonly attribute IDBDatabase db;
index 8d11c8a..850eac4 100644 (file)
@@ -25,7 +25,8 @@
 
 [
     Conditional=INDEXED_DATABASE,
-    JSNoStaticTables
+    JSNoStaticTables,
+    OperationsNotDeletable
 ] interface IDBVersionChangeEvent : Event {
     readonly attribute unsigned long long oldVersion;
     readonly attribute unsigned long long? newVersion;
index 135a0d4..bd70278 100644 (file)
@@ -26,7 +26,8 @@
 [
     NoInterfaceObject,
     Conditional=MEDIA_CONTROLS_SCRIPT,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface MediaControlsHost {
     TextTrack[] sortedTrackListForMenu(TextTrackList trackList);
     DOMString displayNameForTrack(TextTrack track);
index d0d4dd4..6a89654 100644 (file)
@@ -34,7 +34,8 @@
     EventTarget,
     JSGenerateToNativeObject,
     Constructor,
-    ConstructorCallWith=ScriptExecutionContext
+    ConstructorCallWith=ScriptExecutionContext,
+    OperationsNotDeletable
 ] interface MediaSource : EventTarget {
     // All the source buffers created by this object.
     readonly attribute SourceBufferList sourceBuffers;
index c190b1c..5e06b3d 100644 (file)
@@ -33,7 +33,8 @@
     NoInterfaceObject,
     ActiveDOMObject,
     EventTarget,
-    JSGenerateToNativeObject
+    JSGenerateToNativeObject,
+    OperationsNotDeletable
 ] interface SourceBuffer : EventTarget {
 
     readonly attribute boolean updating;
index b86f6aa..cfd7639 100644 (file)
@@ -33,7 +33,8 @@
     NoInterfaceObject,
     EventTarget,
     JSGenerateToNativeObject,
-    CallWith=ScriptExecutionContext
+    CallWith=ScriptExecutionContext,
+    OperationsNotDeletable
 ] interface SourceBufferList : EventTarget {
     readonly attribute unsigned long length;
     getter SourceBuffer item(unsigned long index);
index bd3ebf7..da84614 100644 (file)
@@ -34,7 +34,8 @@
     EventTarget,
     JSGenerateToNativeObject,
     Constructor,
-    ConstructorCallWith=ScriptExecutionContext
+    ConstructorCallWith=ScriptExecutionContext,
+    OperationsNotDeletable
 ] interface WebKitMediaSource : EventTarget {
     // All the source buffers created by this object.
     readonly attribute WebKitSourceBufferList sourceBuffers;
index 62923b3..b3ab12e 100644 (file)
@@ -29,7 +29,8 @@
  */
  
 [
-    Conditional=MEDIA_SOURCE
+    Conditional=MEDIA_SOURCE,
+    OperationsNotDeletable
 ] interface WebKitSourceBuffer {
 
     // Returns the time ranges buffered.
index 661b9a1..95db58c 100644 (file)
@@ -31,7 +31,8 @@
 [
     Conditional=MEDIA_SOURCE,
     EventTarget,
-    JSGenerateToNativeObject
+    JSGenerateToNativeObject,
+    OperationsNotDeletable
 ] interface WebKitSourceBufferList : EventTarget {
     readonly attribute unsigned long length;
     getter WebKitSourceBuffer item(unsigned long index);
index 7d0fc95..33dd0ca 100644 (file)
@@ -29,7 +29,8 @@
     Constructor(MediaStream stream),
     Constructor(MediaStreamTrack[] tracks),
     ConstructorCallWith=ScriptExecutionContext,
-    InterfaceName=webkitMediaStream
+    InterfaceName=webkitMediaStream,
+    OperationsNotDeletable
 ] interface MediaStream {
 
     readonly attribute DOMString id;
index be4a0c8..83ac104 100644 (file)
@@ -26,7 +26,8 @@
     Conditional=MEDIA_STREAM,
     EventTarget,
     ActiveDOMObject,
-    SkipVTableValidation
+    SkipVTableValidation,
+    OperationsNotDeletable
 ] interface MediaStreamTrack {
     readonly attribute DOMString kind;
     readonly attribute DOMString id;
index e89a1c4..40efb12 100644 (file)
@@ -27,7 +27,8 @@
     NoInterfaceObject,
     Conditional=MEDIA_STREAM,
     ActiveDOMObject,
-    EventTarget
+    EventTarget,
+    OperationsNotDeletable
 ] interface RTCDTMFSender {
     readonly attribute boolean canInsertDTMF;
     readonly attribute MediaStreamTrack track;
index 534715f..3e1bccd 100644 (file)
@@ -25,7 +25,8 @@
 [
     NoInterfaceObject,
     Conditional=MEDIA_STREAM,
-    EventTarget
+    EventTarget,
+    OperationsNotDeletable
 ] interface RTCDataChannel {
     readonly attribute DOMString label;
     readonly attribute boolean ordered;
index c968c50..c1f6f34 100644 (file)
@@ -35,7 +35,8 @@
     ConstructorRaisesException,
     ConstructorCallWith=ScriptExecutionContext,
     EventTarget,
-    InterfaceName=webkitRTCPeerConnection
+    InterfaceName=webkitRTCPeerConnection,
+    OperationsNotDeletable
 ] interface RTCPeerConnection {
     [RaisesException] void createOffer(RTCSessionDescriptionCallback successCallback, [Default=Undefined] optional RTCErrorCallback failureCallback, optional Dictionary mediaConstraints);
 
index ade809b..f3702f2 100644 (file)
@@ -25,7 +25,8 @@
 [
     NoInterfaceObject,
     Conditional=MEDIA_STREAM,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface RTCStatsReport {
     readonly attribute Date timestamp;
     readonly attribute DOMString id;
index b1a0da8..2150aa3 100644 (file)
@@ -24,7 +24,8 @@
 
 [
     NoInterfaceObject,
-    Conditional=MEDIA_STREAM
+    Conditional=MEDIA_STREAM,
+    OperationsNotDeletable
 ] interface RTCStatsResponse {
     sequence<RTCStatsReport> result();
     getter RTCStatsReport namedItem([Default=Undefined] optional DOMString name);
index 7182e19..9cd10d9 100644 (file)
@@ -24,7 +24,8 @@
     NoInterfaceObject,
     Conditional=NETWORK_INFO,
     ActiveDOMObject,
-    EventTarget
+    EventTarget,
+    OperationsNotDeletable
 ] interface NetworkInfoConnection {
     readonly attribute double bandwidth;
     readonly attribute boolean metered;
index 5ee2849..6aad054 100644 (file)
@@ -36,8 +36,8 @@
 #if defined(ENABLE_NOTIFICATIONS) && ENABLE_NOTIFICATIONS
     Constructor(DOMString title, [Default=Undefined] optional Dictionary options),
     ConstructorCallWith=ScriptExecutionContext,
-#else
 #endif
+    OperationsNotDeletable,
 ] interface Notification {
     void show();
 #if defined(ENABLE_LEGACY_NOTIFICATIONS) && ENABLE_LEGACY_NOTIFICATIONS
index 54343cf..0eae14a 100644 (file)
@@ -33,6 +33,7 @@
     NoInterfaceObject,
     Conditional=LEGACY_NOTIFICATIONS,
     ActiveDOMObject,
+    OperationsNotDeletable
 ] interface NotificationCenter {
    [RaisesException] Notification createNotification(DOMString iconUrl, DOMString title, DOMString body);
 
index 519a60b..d0a4c41 100644 (file)
@@ -19,7 +19,8 @@
 
 [
     Conditional=PROXIMITY_EVENTS,
-    ConstructorTemplate=Event
+    ConstructorTemplate=Event,
+    OperationsNotDeletable
 ] interface DeviceProximityEvent : Event {
     [InitializedByEventConstructor] readonly attribute double value;
     [InitializedByEventConstructor] readonly attribute double min;
index cb1e132..c9ffcee 100644 (file)
@@ -26,7 +26,8 @@
 [
     NoInterfaceObject,
     Conditional=QUOTA,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface StorageInfo {
     const unsigned short TEMPORARY = 0;
     const unsigned short PERSISTENT = 1;
index f8546c7..7239971 100644 (file)
@@ -26,7 +26,8 @@
 [
     NoInterfaceObject,
     Conditional=QUOTA,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface StorageQuota {
     [CallWith=ScriptExecutionContext] void queryUsageAndQuota(StorageUsageCallback usageCallback, optional StorageErrorCallback errorCallback);
     [CallWith=ScriptExecutionContext] void requestQuota(unsigned long long newQuotaInBytes, optional StorageQuotaCallback quotaCallback, optional StorageErrorCallback errorCallback);
index e33360b..af17074 100644 (file)
@@ -27,7 +27,8 @@
     Conditional=SCRIPTED_SPEECH,
     Constructor,
     ImplementationLacksVTable,
-    InterfaceName=webkitSpeechGrammarList
+    InterfaceName=webkitSpeechGrammarList,
+    OperationsNotDeletable
 ] interface SpeechGrammarList {
     readonly attribute unsigned long length;
     getter SpeechGrammar item([IsIndex] unsigned long index);
index 371acf5..a6008e7 100644 (file)
@@ -29,7 +29,8 @@
     Constructor,
     ConstructorCallWith=ScriptExecutionContext,
     EventTarget,
-    InterfaceName=webkitSpeechRecognition
+    InterfaceName=webkitSpeechRecognition,
+    OperationsNotDeletable
 ] interface SpeechRecognition {
     attribute SpeechGrammarList grammars;
     attribute DOMString lang;
index cc7213b..9f5bfe7 100644 (file)
@@ -26,7 +26,8 @@
 [
     NoInterfaceObject,
     Conditional=SCRIPTED_SPEECH,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface SpeechRecognitionResult {
     readonly attribute unsigned long length;
     getter SpeechRecognitionAlternative item([IsIndex] unsigned long index);
index 4635651..d09b8c1 100644 (file)
@@ -26,7 +26,8 @@
 [
     NoInterfaceObject,
     Conditional=SCRIPTED_SPEECH,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface SpeechRecognitionResultList {
     readonly attribute unsigned long length;
     getter SpeechRecognitionResult item([IsIndex] unsigned long index);
index 32419c0..e154e9e 100644 (file)
@@ -25,7 +25,8 @@
  
 [
     NoInterfaceObject,
-    Conditional=SPEECH_SYNTHESIS
+    Conditional=SPEECH_SYNTHESIS,
+    OperationsNotDeletable
 ] interface SpeechSynthesis  {
     readonly attribute boolean pending;
     readonly attribute boolean speaking;
index ddc33a8..0fe83c0 100644 (file)
@@ -24,7 +24,8 @@
 
 [
     Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    JSGenerateToJSObject,
+    OperationsNotDeletable
 ] interface AnalyserNode : AudioNode {
     [SetterRaisesException] attribute unsigned long fftSize;
     readonly attribute unsigned long frequencyBinCount;
index e208fc3..d1d601a 100644 (file)
@@ -28,7 +28,8 @@
 
 [
     Conditional=WEB_AUDIO,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface AudioBuffer {
     readonly attribute long length; // in sample-frames
     readonly attribute float duration; // in seconds
index 1ad4321..0f9bcd3 100644 (file)
@@ -25,7 +25,8 @@
 // A cached (non-streamed), memory-resident audio source
 [
     Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    JSGenerateToJSObject,
+    OperationsNotDeletable
 ] interface AudioBufferSourceNode : AudioNode {
     [CustomSetter, SetterRaisesException] attribute AudioBuffer buffer;
 
index ef31906..ef94b24 100644 (file)
@@ -29,7 +29,8 @@
     ActiveDOMObject,
     CustomConstructor,
     EventTarget,
-    InterfaceName=webkitAudioContext
+    InterfaceName=webkitAudioContext,
+    OperationsNotDeletable
 ] interface AudioContext {
     // All rendered audio ultimately connects to destination, which represents the audio hardware.
     readonly attribute AudioDestinationNode destination;
index c98b6d0..ee7dadd 100644 (file)
@@ -28,7 +28,8 @@
 
 [
     Conditional=WEB_AUDIO,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface AudioListener {
     attribute float dopplerFactor;  // same as OpenAL (default 1.0)
     attribute float speedOfSound;   // in meters / second (default 343.3)
index d7b7853..2915b0f 100644 (file)
@@ -27,7 +27,8 @@
     JSGenerateToJSObject,
     JSGenerateToNativeObject,
     GenerateIsReachable=Impl,
-    EventTarget
+    EventTarget,
+    OperationsNotDeletable
 ] interface AudioNode : EventTarget {
     readonly attribute AudioContext context;
     readonly attribute unsigned long numberOfInputs;
index 2719ddc..1fdbb20 100644 (file)
@@ -27,7 +27,8 @@
  */
 
 [
-    Conditional=WEB_AUDIO
+    Conditional=WEB_AUDIO,
+    OperationsNotDeletable
 ] interface AudioParam {
     attribute float value;
     readonly attribute float minValue;
index 687f742..f728b15 100644 (file)
@@ -24,7 +24,8 @@
 
 [
     Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    JSGenerateToJSObject,
+    OperationsNotDeletable
 ] interface BiquadFilterNode : AudioNode {
     // Filter type.
     const unsigned short LOWPASS = 0;
index e6479f3..9699e8e 100644 (file)
@@ -25,7 +25,8 @@
 // OscillatorNode is an audio generator of periodic waveforms.
 [
     Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    JSGenerateToJSObject,
+    OperationsNotDeletable
 ] interface OscillatorNode : AudioNode {
 
     // Type constants.
index 93d49d3..d9509c0 100644 (file)
@@ -25,7 +25,8 @@
 [
     Conditional=WEB_AUDIO,
     JSGenerateToJSObject,
-    InterfaceName=webkitAudioPannerNode
+    InterfaceName=webkitAudioPannerNode,
+    OperationsNotDeletable
 ] interface PannerNode : AudioNode {
     // Panning model
     const unsigned short EQUALPOWER = 0;
index 5b821b1..a4d10e8 100644 (file)
@@ -29,7 +29,8 @@
 [
     NoInterfaceObject,
     Conditional=SQL_DATABASE,
-    JSNoStaticTables
+    JSNoStaticTables,
+    OperationsNotDeletable
 ] interface Database {
     readonly attribute DOMString version;
     void changeVersion(DOMString oldVersion, DOMString newVersion, optional SQLTransactionCallback callback, optional SQLTransactionErrorCallback errorCallback, optional VoidCallback successCallback);
index f6f983c..3f3ccce 100644 (file)
@@ -31,7 +31,8 @@
 [
     NoInterfaceObject,
     Conditional=SQL_DATABASE,
-    JSNoStaticTables
+    JSNoStaticTables,
+    OperationsNotDeletable
 ] interface DatabaseSync {
     readonly attribute DOMString version;
     readonly attribute DOMString lastErrorMessage;
index 71b291f..fadaf5c 100644 (file)
@@ -30,7 +30,8 @@
     NoInterfaceObject,
     Conditional=SQL_DATABASE,
     JSNoStaticTables,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface SQLResultSetRowList {
     readonly attribute unsigned long length;
     [Custom] any item(unsigned long index);
index 245c496..3d95337 100644 (file)
@@ -30,7 +30,8 @@
     NoInterfaceObject,
     Conditional=SQL_DATABASE,
     JSNoStaticTables,
-    SkipVTableValidation
+    SkipVTableValidation,
+    OperationsNotDeletable
 ] interface SQLTransaction {
     [Custom] void executeSql(DOMString sqlStatement,
                              ObjectArray arguments,
index 95aa664..a9210e4 100644 (file)
@@ -32,7 +32,8 @@
     NoInterfaceObject,
     Conditional=SQL_DATABASE,
     JSNoStaticTables,
-    ImplementationLacksVTable
+    ImplementationLacksVTable,
+    OperationsNotDeletable
 ] interface SQLTransactionSync {
     [Custom] SQLResultSet executeSql(DOMString sqlStatement, ObjectArray arguments);
 };
index 59de969..9e9ae08 100644 (file)
@@ -41,6 +41,7 @@
     ConstructorCallWith=ScriptExecutionContext,
     EventTarget,
     JSNoStaticTables,
+    OperationsNotDeletable
 ] interface WebSocket {
     readonly attribute DOMString URL; // Lowercased .url is the one in the spec, but leaving .URL for compatibility reasons.
     readonly attribute DOMString url;