Update WebKit IDLs after chrome roll.

R=antonm@google.com,blois@google.com
BUG=

Review URL: https://chromiumcodereview.appspot.com//14107003

git-svn-id: http://dart.googlecode.com/svn/third_party/WebCore@21250 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/Modules/filesystem/DOMFileSystem.idl b/Modules/filesystem/DOMFileSystem.idl
index 0d3594e..e5d0762 100644
--- a/Modules/filesystem/DOMFileSystem.idl
+++ b/Modules/filesystem/DOMFileSystem.idl
@@ -31,8 +31,7 @@
 
 [
     Conditional=FILE_SYSTEM,
-    ActiveDOMObject,
-    JSNoStaticTables
+    ActiveDOMObject
 ] interface DOMFileSystem {
     readonly attribute DOMString name;
     readonly attribute DirectoryEntry root;
diff --git a/Modules/filesystem/DOMFileSystemSync.idl b/Modules/filesystem/DOMFileSystemSync.idl
index 06db9e9..9d202d2 100644
--- a/Modules/filesystem/DOMFileSystemSync.idl
+++ b/Modules/filesystem/DOMFileSystemSync.idl
@@ -29,8 +29,7 @@
  */
 
 [
-    Conditional=FILE_SYSTEM,
-    JSNoStaticTables
+    Conditional=FILE_SYSTEM
 ] interface DOMFileSystemSync {
     readonly attribute DOMString name;
     readonly attribute DirectoryEntrySync root;
diff --git a/Modules/filesystem/DataTransferItemFileSystem.idl b/Modules/filesystem/DataTransferItemFileSystem.idl
index 86def72..cc9dcab 100644
--- a/Modules/filesystem/DataTransferItemFileSystem.idl
+++ b/Modules/filesystem/DataTransferItemFileSystem.idl
@@ -29,7 +29,7 @@
  */
 
 [
-    Conditional=DATA_TRANSFER_ITEMS&FILE_SYSTEM,
+    Conditional=FILE_SYSTEM,
     Supplemental=DataTransferItem
 ] interface DataTransferItemFileSystem {
     [CallWith=ScriptExecutionContext] Entry webkitGetAsEntry();
diff --git a/Modules/filesystem/DirectoryEntry.idl b/Modules/filesystem/DirectoryEntry.idl
index 63b427a..3f18600 100644
--- a/Modules/filesystem/DirectoryEntry.idl
+++ b/Modules/filesystem/DirectoryEntry.idl
@@ -29,10 +29,7 @@
  */
 
 [
-    Conditional=FILE_SYSTEM,
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject,
-    JSNoStaticTables
+    Conditional=FILE_SYSTEM
 ] interface DirectoryEntry : Entry {
     DirectoryReader createReader();
     void getFile(in [TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString path, in [Optional] Dictionary options, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
diff --git a/Modules/filesystem/DirectoryEntrySync.idl b/Modules/filesystem/DirectoryEntrySync.idl
index 5f53a9d..3a8f28f 100644
--- a/Modules/filesystem/DirectoryEntrySync.idl
+++ b/Modules/filesystem/DirectoryEntrySync.idl
@@ -29,10 +29,7 @@
  */
 
 [
-    Conditional=FILE_SYSTEM,
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject,
-    JSNoStaticTables
+    Conditional=FILE_SYSTEM
 ] interface DirectoryEntrySync : EntrySync {
     DirectoryReaderSync createReader() raises (FileException);
     FileEntrySync getFile(in [TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString path, in Dictionary flags) raises (FileException);
diff --git a/Modules/filesystem/DirectoryReader.idl b/Modules/filesystem/DirectoryReader.idl
index e0467a9..f2d307e 100644
--- a/Modules/filesystem/DirectoryReader.idl
+++ b/Modules/filesystem/DirectoryReader.idl
@@ -30,7 +30,6 @@
 
 [
     Conditional=FILE_SYSTEM,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface DirectoryReader {
     void readEntries(in [Callback] EntriesCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
diff --git a/Modules/filesystem/DirectoryReaderSync.idl b/Modules/filesystem/DirectoryReaderSync.idl
index d21f90b..c11861d 100644
--- a/Modules/filesystem/DirectoryReaderSync.idl
+++ b/Modules/filesystem/DirectoryReaderSync.idl
@@ -30,7 +30,6 @@
 
 [
     Conditional=FILE_SYSTEM,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface DirectoryReaderSync {
     EntryArraySync readEntries() raises (FileException);
diff --git a/Modules/filesystem/Entry.idl b/Modules/filesystem/Entry.idl
index c43def4..d9345f3 100644
--- a/Modules/filesystem/Entry.idl
+++ b/Modules/filesystem/Entry.idl
@@ -30,8 +30,7 @@
 
 [
     Conditional=FILE_SYSTEM,
-    CustomToJSObject,
-    JSNoStaticTables
+    CustomToJSObject
 ] interface Entry {
     readonly attribute boolean isFile;
     readonly attribute boolean isDirectory;
diff --git a/Modules/filesystem/EntryArray.idl b/Modules/filesystem/EntryArray.idl
index bc03d55..d0ef36e 100644
--- a/Modules/filesystem/EntryArray.idl
+++ b/Modules/filesystem/EntryArray.idl
@@ -31,7 +31,6 @@
 [
     Conditional=FILE_SYSTEM,
     IndexedGetter,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface EntryArray {
     readonly attribute unsigned long length;
diff --git a/Modules/filesystem/EntryArraySync.idl b/Modules/filesystem/EntryArraySync.idl
index ea4bed8..527ead0 100644
--- a/Modules/filesystem/EntryArraySync.idl
+++ b/Modules/filesystem/EntryArraySync.idl
@@ -31,7 +31,6 @@
 [
     Conditional=FILE_SYSTEM,
     IndexedGetter,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface EntryArraySync {
     readonly attribute unsigned long length;
diff --git a/Modules/filesystem/EntrySync.idl b/Modules/filesystem/EntrySync.idl
index 20b43b3..8370ce4 100644
--- a/Modules/filesystem/EntrySync.idl
+++ b/Modules/filesystem/EntrySync.idl
@@ -30,8 +30,7 @@
 
 [
     Conditional=FILE_SYSTEM,
-    CustomToJSObject,
-    JSNoStaticTables
+    CustomToJSObject
 ] interface EntrySync {
     readonly attribute boolean isFile;
     readonly attribute boolean isDirectory;
diff --git a/Modules/filesystem/FileEntry.idl b/Modules/filesystem/FileEntry.idl
index 9bad551..1735dc1 100644
--- a/Modules/filesystem/FileEntry.idl
+++ b/Modules/filesystem/FileEntry.idl
@@ -29,10 +29,7 @@
  */
 
 [
-    Conditional=FILE_SYSTEM,
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject,
-    JSNoStaticTables
+    Conditional=FILE_SYSTEM
 ] interface FileEntry : Entry {
     void createWriter(in [Callback] FileWriterCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
     void file(in [Callback] FileCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
diff --git a/Modules/filesystem/FileEntrySync.idl b/Modules/filesystem/FileEntrySync.idl
index 8876400..2eba12e 100644
--- a/Modules/filesystem/FileEntrySync.idl
+++ b/Modules/filesystem/FileEntrySync.idl
@@ -29,10 +29,7 @@
  */
 
 [
-    Conditional=FILE_SYSTEM,
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject,
-    JSNoStaticTables
+    Conditional=FILE_SYSTEM
 ] interface FileEntrySync : EntrySync {
     File file() raises (FileException);
     FileWriterSync createWriter() raises (FileException);
diff --git a/Modules/filesystem/FileWriter.idl b/Modules/filesystem/FileWriter.idl
index f4b2e91..113f367 100644
--- a/Modules/filesystem/FileWriter.idl
+++ b/Modules/filesystem/FileWriter.idl
@@ -33,8 +33,7 @@
     Conditional=FILE_SYSTEM,
     ActiveDOMObject,
     CallWith=ScriptExecutionContext,
-    EventTarget,
-    JSNoStaticTables
+    EventTarget
 ] interface FileWriter {
     // ready states
     const unsigned short INIT = 0;
diff --git a/Modules/filesystem/FileWriterSync.idl b/Modules/filesystem/FileWriterSync.idl
index 13301da..3408bd2 100644
--- a/Modules/filesystem/FileWriterSync.idl
+++ b/Modules/filesystem/FileWriterSync.idl
@@ -29,8 +29,7 @@
  */
 
 [
-    Conditional=FILE_SYSTEM,
-    JSNoStaticTables
+    Conditional=FILE_SYSTEM
 ] interface FileWriterSync {
     // synchronous write/modify methods
     void write(in Blob data) raises (FileException);
diff --git a/Modules/filesystem/Metadata.idl b/Modules/filesystem/Metadata.idl
index 627c5de..92a4f19 100644
--- a/Modules/filesystem/Metadata.idl
+++ b/Modules/filesystem/Metadata.idl
@@ -30,7 +30,6 @@
 
 [
     Conditional=FILE_SYSTEM,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface Metadata {
     readonly attribute Date modificationTime;
diff --git a/Modules/geolocation/Geolocation.idl b/Modules/geolocation/Geolocation.idl
index f430c8d..16bd523 100644
--- a/Modules/geolocation/Geolocation.idl
+++ b/Modules/geolocation/Geolocation.idl
@@ -25,8 +25,7 @@
 
 // http://www.w3.org/TR/geolocation-API/#geolocation_interface
 [
-    Conditional=GEOLOCATION, 
-    JSGenerateIsReachable=ImplFrame,
+    Conditional=GEOLOCATION,
     OmitConstructor
 ] interface Geolocation {
     [Custom] void getCurrentPosition(in PositionCallback successCallback,
diff --git a/Modules/indexeddb/DOMWindowIndexedDatabase.idl b/Modules/indexeddb/DOMWindowIndexedDatabase.idl
index 19e6868..02e2397 100644
--- a/Modules/indexeddb/DOMWindowIndexedDatabase.idl
+++ b/Modules/indexeddb/DOMWindowIndexedDatabase.idl
@@ -25,7 +25,6 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
     Supplemental=DOMWindow
 ] interface DOMWindowIndexedDatabase {
     [ImplementedAs=indexedDB,V8MeasureAs=PrefixedIndexedDB] readonly attribute IDBFactory webkitIndexedDB;
@@ -53,4 +52,3 @@
     attribute IDBTransactionConstructor IDBTransaction;
     attribute IDBVersionChangeEventConstructor IDBVersionChangeEvent;
 };
-
diff --git a/Modules/indexeddb/IDBAny.idl b/Modules/indexeddb/IDBAny.idl
index a200ee2..7960e8f 100644
--- a/Modules/indexeddb/IDBAny.idl
+++ b/Modules/indexeddb/IDBAny.idl
@@ -24,10 +24,8 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
     CustomToJSObject,
-    V8NoWrapperCache,
-    JSNoStaticTables
+    V8NoWrapperCache
 ] interface IDBAny {
     // This space is intentionally left blank.
 };
diff --git a/Modules/indexeddb/IDBCursor.idl b/Modules/indexeddb/IDBCursor.idl
index 4b6265b..9ecaa8a 100644
--- a/Modules/indexeddb/IDBCursor.idl
+++ b/Modules/indexeddb/IDBCursor.idl
@@ -23,10 +23,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-[
-    Conditional=INDEXED_DATABASE,
-    JSNoStaticTables
-] interface IDBCursor {
+interface IDBCursor {
 
     readonly attribute DOMString direction;
     readonly attribute any key;
diff --git a/Modules/indexeddb/IDBCursorWithValue.idl b/Modules/indexeddb/IDBCursorWithValue.idl
index 7ee92da..d170774 100644
--- a/Modules/indexeddb/IDBCursorWithValue.idl
+++ b/Modules/indexeddb/IDBCursorWithValue.idl
@@ -23,9 +23,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-[
-    Conditional=INDEXED_DATABASE,
-    JSNoStaticTables
-] interface IDBCursorWithValue : IDBCursor {
+interface IDBCursorWithValue : IDBCursor {
     readonly attribute any value;
 };
diff --git a/Modules/indexeddb/IDBDatabase.idl b/Modules/indexeddb/IDBDatabase.idl
index 1348548..a9f5440 100644
--- a/Modules/indexeddb/IDBDatabase.idl
+++ b/Modules/indexeddb/IDBDatabase.idl
@@ -25,10 +25,8 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
     ActiveDOMObject,
-    EventTarget,
-    JSNoStaticTables
+    EventTarget
 ] interface IDBDatabase {
     readonly attribute DOMString name;
     readonly attribute IDBAny version;
@@ -38,7 +36,7 @@
     attribute EventListener onerror;
     attribute EventListener onversionchange;
 
-    [JSCustom] IDBObjectStore createObjectStore(in DOMString name, in [Optional] Dictionary options)
+    IDBObjectStore createObjectStore(in DOMString name, in [Optional] Dictionary options)
         raises (DOMException);
     void deleteObjectStore(in DOMString name)
         raises (DOMException);
@@ -61,4 +59,3 @@
     boolean dispatchEvent(in Event evt)
         raises(EventException);
 };
-
diff --git a/Modules/indexeddb/IDBFactory.idl b/Modules/indexeddb/IDBFactory.idl
index ef51bbf..d299faf 100644
--- a/Modules/indexeddb/IDBFactory.idl
+++ b/Modules/indexeddb/IDBFactory.idl
@@ -24,8 +24,6 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface IDBFactory {
     [CallWith=ScriptExecutionContext, ImplementedAs=getDatabaseNames] IDBRequest webkitGetDatabaseNames()
@@ -39,4 +37,3 @@
     [CallWith=ScriptExecutionContext] short cmp(in any first, in any second)
         raises (DOMException);
 };
-
diff --git a/Modules/indexeddb/IDBIndex.idl b/Modules/indexeddb/IDBIndex.idl
index 391abe8..4cb860e 100644
--- a/Modules/indexeddb/IDBIndex.idl
+++ b/Modules/indexeddb/IDBIndex.idl
@@ -24,8 +24,6 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface IDBIndex {
     readonly attribute DOMString name;
@@ -57,4 +55,3 @@
     [CallWith=ScriptExecutionContext] IDBRequest count(in any key)
         raises (DOMException);
 };
-
diff --git a/Modules/indexeddb/IDBKeyRange.idl b/Modules/indexeddb/IDBKeyRange.idl
index e5728c6..50e8978 100644
--- a/Modules/indexeddb/IDBKeyRange.idl
+++ b/Modules/indexeddb/IDBKeyRange.idl
@@ -24,8 +24,6 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface IDBKeyRange {
     [ImplementedAs=lowerValue,CallWith=ScriptExecutionContext] readonly attribute any lower;
@@ -42,4 +40,3 @@
     [CallWith=ScriptExecutionContext] static IDBKeyRange bound(in any lower, in any upper, in [Optional] boolean lowerOpen, in [Optional] boolean upperOpen)
         raises (DOMException);
 };
-
diff --git a/Modules/indexeddb/IDBObjectStore.idl b/Modules/indexeddb/IDBObjectStore.idl
index 4660322..700cf17 100644
--- a/Modules/indexeddb/IDBObjectStore.idl
+++ b/Modules/indexeddb/IDBObjectStore.idl
@@ -24,8 +24,6 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface IDBObjectStore {
     [TreatReturnedNullStringAs=Null] readonly attribute DOMString name;
@@ -53,9 +51,9 @@
     [CallWith=ScriptExecutionContext] IDBRequest openCursor(in any key, in [Optional] DOMString direction)
         raises (DOMException);
 
-    [CallWith=ScriptExecutionContext, JSCustom] IDBIndex createIndex(in DOMString name, in sequence<DOMString> keyPath, in [Optional] Dictionary options)
+    [CallWith=ScriptExecutionContext] IDBIndex createIndex(in DOMString name, in sequence<DOMString> keyPath, in [Optional] Dictionary options)
         raises (DOMException);
-    [CallWith=ScriptExecutionContext, JSCustom] IDBIndex createIndex(in DOMString name, in DOMString keyPath, in [Optional] Dictionary options)
+    [CallWith=ScriptExecutionContext] IDBIndex createIndex(in DOMString name, in DOMString keyPath, in [Optional] Dictionary options)
         raises (DOMException);
     IDBIndex index(in DOMString name)
         raises (DOMException);
diff --git a/Modules/indexeddb/IDBOpenDBRequest.idl b/Modules/indexeddb/IDBOpenDBRequest.idl
index 97e242a..8a8b6ab 100644
--- a/Modules/indexeddb/IDBOpenDBRequest.idl
+++ b/Modules/indexeddb/IDBOpenDBRequest.idl
@@ -24,10 +24,7 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
-    EventTarget,
-    JSNoStaticTables,
-    JSGenerateToJSObject
+    EventTarget
 ] interface IDBOpenDBRequest : IDBRequest {
     attribute EventListener onblocked;
     attribute EventListener onupgradeneeded;
diff --git a/Modules/indexeddb/IDBRequest.idl b/Modules/indexeddb/IDBRequest.idl
index b658298..d0fd55a 100644
--- a/Modules/indexeddb/IDBRequest.idl
+++ b/Modules/indexeddb/IDBRequest.idl
@@ -28,10 +28,8 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
     ActiveDOMObject,
-    EventTarget,
-    JSNoStaticTables
+    EventTarget
 ] interface IDBRequest {
     readonly attribute IDBAny result
         getter raises (DOMException);
diff --git a/Modules/indexeddb/IDBTransaction.idl b/Modules/indexeddb/IDBTransaction.idl
index 0ec5949..48f1fa3 100644
--- a/Modules/indexeddb/IDBTransaction.idl
+++ b/Modules/indexeddb/IDBTransaction.idl
@@ -25,10 +25,8 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
     ActiveDOMObject,
-    EventTarget,
-    JSNoStaticTables
+    EventTarget
 ] interface IDBTransaction {
 
     // Properties
diff --git a/Modules/indexeddb/IDBVersionChangeEvent.idl b/Modules/indexeddb/IDBVersionChangeEvent.idl
index e921928..e349114 100644
--- a/Modules/indexeddb/IDBVersionChangeEvent.idl
+++ b/Modules/indexeddb/IDBVersionChangeEvent.idl
@@ -23,10 +23,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-[
-    Conditional=INDEXED_DATABASE,
-    JSNoStaticTables
-] interface IDBVersionChangeEvent : Event {
+interface IDBVersionChangeEvent : Event {
     readonly attribute IDBAny oldVersion;
     readonly attribute IDBAny newVersion;
 };
diff --git a/Modules/indexeddb/WorkerContextIndexedDatabase.idl b/Modules/indexeddb/WorkerContextIndexedDatabase.idl
index b632a75..787c044 100644
--- a/Modules/indexeddb/WorkerContextIndexedDatabase.idl
+++ b/Modules/indexeddb/WorkerContextIndexedDatabase.idl
@@ -25,7 +25,6 @@
  */
 
 [
-    Conditional=INDEXED_DATABASE,
     Supplemental=WorkerContext
 ] interface WorkerContextIndexedDatabase {
     [ImplementedAs=indexedDB,V8EnabledAtRuntime] readonly attribute IDBFactory webkitIndexedDB;
@@ -53,4 +52,3 @@
     attribute IDBTransactionConstructor IDBTransaction;
     attribute IDBVersionChangeEventConstructor IDBVersionChangeEvent;
 };
-
diff --git a/Modules/mediasource/MediaSource.idl b/Modules/mediasource/MediaSource.idl
index d0c562f..12312e7 100644
--- a/Modules/mediasource/MediaSource.idl
+++ b/Modules/mediasource/MediaSource.idl
@@ -29,7 +29,6 @@
  */
  
 [
-    Conditional=MEDIA_SOURCE,
     V8EnabledAtRuntime=mediaSource,
     ActiveDOMObject,
     EventTarget,
diff --git a/Modules/mediasource/SourceBuffer.idl b/Modules/mediasource/SourceBuffer.idl
index c24b8fa..3212eff 100644
--- a/Modules/mediasource/SourceBuffer.idl
+++ b/Modules/mediasource/SourceBuffer.idl
@@ -29,7 +29,6 @@
  */
  
 [
-    Conditional=MEDIA_SOURCE,
     V8EnabledAtRuntime=mediaSource
 ] interface SourceBuffer {
 
diff --git a/Modules/mediasource/SourceBufferList.idl b/Modules/mediasource/SourceBufferList.idl
index 588a922..906bcb5 100644
--- a/Modules/mediasource/SourceBufferList.idl
+++ b/Modules/mediasource/SourceBufferList.idl
@@ -29,7 +29,6 @@
  */
  
 [
-    Conditional=MEDIA_SOURCE,
     V8EnabledAtRuntime=mediaSource,
     IndexedGetter,
     EventTarget,
diff --git a/Modules/mediastream/LocalMediaStream.idl b/Modules/mediastream/LocalMediaStream.idl
index c4b480f..6d95162 100644
--- a/Modules/mediastream/LocalMediaStream.idl
+++ b/Modules/mediastream/LocalMediaStream.idl
@@ -24,9 +24,7 @@
 
 [
     Conditional=MEDIA_STREAM,
-    EventTarget,
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject
+    EventTarget
 ] interface LocalMediaStream : MediaStream {
     void stop();
 };
diff --git a/Modules/webaudio/AnalyserNode.idl b/Modules/webaudio/AnalyserNode.idl
index 85006e1..c885fde 100644
--- a/Modules/webaudio/AnalyserNode.idl
+++ b/Modules/webaudio/AnalyserNode.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface AnalyserNode : AudioNode {
     attribute unsigned long fftSize
         setter raises(DOMException);
diff --git a/Modules/webaudio/AudioBufferCallback.idl b/Modules/webaudio/AudioBufferCallback.idl
index 365c8ea..1e6b17b 100644
--- a/Modules/webaudio/AudioBufferCallback.idl
+++ b/Modules/webaudio/AudioBufferCallback.idl
@@ -24,7 +24,6 @@
 
 [
     Conditional=WEB_AUDIO,
-    JSGenerateToJSObject,
     Callback
 ] interface AudioBufferCallback {
     boolean handleEvent(in AudioBuffer audioBuffer);
diff --git a/Modules/webaudio/AudioBufferSourceNode.idl b/Modules/webaudio/AudioBufferSourceNode.idl
index f8f98b3..2c2b9e7 100644
--- a/Modules/webaudio/AudioBufferSourceNode.idl
+++ b/Modules/webaudio/AudioBufferSourceNode.idl
@@ -24,8 +24,7 @@
 
 // A cached (non-streamed), memory-resident audio source
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface AudioBufferSourceNode : AudioSourceNode {
     [CustomSetter] attribute AudioBuffer buffer
         setter raises (DOMException);
diff --git a/Modules/webaudio/AudioDestinationNode.idl b/Modules/webaudio/AudioDestinationNode.idl
index 5481fe7..ca128df 100644
--- a/Modules/webaudio/AudioDestinationNode.idl
+++ b/Modules/webaudio/AudioDestinationNode.idl
@@ -24,7 +24,6 @@
 
 [
     Conditional=WEB_AUDIO,
-    JSGenerateToJSObject,
     V8SkipVTableValidation
 ] interface AudioDestinationNode : AudioNode {
     readonly attribute unsigned long maxChannelCount;
diff --git a/Modules/webaudio/AudioProcessingEvent.idl b/Modules/webaudio/AudioProcessingEvent.idl
index 5b498d2..297ec00 100644
--- a/Modules/webaudio/AudioProcessingEvent.idl
+++ b/Modules/webaudio/AudioProcessingEvent.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface AudioProcessingEvent : Event {
     readonly attribute AudioBuffer inputBuffer;
     readonly attribute AudioBuffer outputBuffer; 
diff --git a/Modules/webaudio/BiquadFilterNode.idl b/Modules/webaudio/BiquadFilterNode.idl
index f374af5..52cf1de 100644
--- a/Modules/webaudio/BiquadFilterNode.idl
+++ b/Modules/webaudio/BiquadFilterNode.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface BiquadFilterNode : AudioNode {
     // Filter type.
     const unsigned short LOWPASS = 0;
diff --git a/Modules/webaudio/ChannelMergerNode.idl b/Modules/webaudio/ChannelMergerNode.idl
index 8158d7c..e79ce5a 100644
--- a/Modules/webaudio/ChannelMergerNode.idl
+++ b/Modules/webaudio/ChannelMergerNode.idl
@@ -27,7 +27,6 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface ChannelMergerNode : AudioNode {
 };
diff --git a/Modules/webaudio/ChannelSplitterNode.idl b/Modules/webaudio/ChannelSplitterNode.idl
index 6bbf0bb..eabfba1 100644
--- a/Modules/webaudio/ChannelSplitterNode.idl
+++ b/Modules/webaudio/ChannelSplitterNode.idl
@@ -23,7 +23,6 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface ChannelSplitterNode : AudioNode {
 };
diff --git a/Modules/webaudio/ConvolverNode.idl b/Modules/webaudio/ConvolverNode.idl
index 5451d4e..f033917 100644
--- a/Modules/webaudio/ConvolverNode.idl
+++ b/Modules/webaudio/ConvolverNode.idl
@@ -24,8 +24,7 @@
 
 // A linear convolution effect
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface ConvolverNode : AudioNode {
     attribute AudioBuffer buffer;
     attribute boolean normalize;
diff --git a/Modules/webaudio/DOMWindowWebAudio.idl b/Modules/webaudio/DOMWindowWebAudio.idl
index 4b1b7d1..20fece2 100644
--- a/Modules/webaudio/DOMWindowWebAudio.idl
+++ b/Modules/webaudio/DOMWindowWebAudio.idl
@@ -29,7 +29,7 @@
     Supplemental=DOMWindow
 ] interface DOMWindowWebAudio {
 #if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
-    [JSCustomGetter, V8EnabledAtRuntime] attribute AudioContextConstructor webkitAudioContext;
+    [V8EnabledAtRuntime] attribute AudioContextConstructor webkitAudioContext;
     [V8EnabledAtRuntime] attribute OfflineAudioContextConstructor webkitOfflineAudioContext;
     attribute PannerNodeConstructor webkitAudioPannerNode;
     attribute AudioProcessingEventConstructor AudioProcessingEvent;
diff --git a/Modules/webaudio/DelayNode.idl b/Modules/webaudio/DelayNode.idl
index 699ead4..b5cb6eb 100644
--- a/Modules/webaudio/DelayNode.idl
+++ b/Modules/webaudio/DelayNode.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface DelayNode : AudioNode {
     readonly attribute AudioParam delayTime;
 };
diff --git a/Modules/webaudio/DynamicsCompressorNode.idl b/Modules/webaudio/DynamicsCompressorNode.idl
index ad7a47e..6be99d0 100644
--- a/Modules/webaudio/DynamicsCompressorNode.idl
+++ b/Modules/webaudio/DynamicsCompressorNode.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface DynamicsCompressorNode : AudioNode {
     readonly attribute AudioParam threshold; // in Decibels
     readonly attribute AudioParam knee; // in Decibels
diff --git a/Modules/webaudio/GainNode.idl b/Modules/webaudio/GainNode.idl
index cbb0c96..0f1a88e 100644
--- a/Modules/webaudio/GainNode.idl
+++ b/Modules/webaudio/GainNode.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface GainNode : AudioNode {
     // FIXME: eventually it will be interesting to remove the readonly restriction, but need to properly deal with thread safety here.
     readonly attribute AudioParam gain;
diff --git a/Modules/webaudio/MediaElementAudioSourceNode.idl b/Modules/webaudio/MediaElementAudioSourceNode.idl
index 916360b..f9ef1a3 100644
--- a/Modules/webaudio/MediaElementAudioSourceNode.idl
+++ b/Modules/webaudio/MediaElementAudioSourceNode.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO&VIDEO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO&VIDEO
 ] interface MediaElementAudioSourceNode : AudioSourceNode {
     readonly attribute HTMLMediaElement mediaElement;
 };
diff --git a/Modules/webaudio/MediaStreamAudioDestinationNode.idl b/Modules/webaudio/MediaStreamAudioDestinationNode.idl
index c71bba4..26f2c3d 100644
--- a/Modules/webaudio/MediaStreamAudioDestinationNode.idl
+++ b/Modules/webaudio/MediaStreamAudioDestinationNode.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO&MEDIA_STREAM,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO&MEDIA_STREAM
 ] interface MediaStreamAudioDestinationNode : AudioSourceNode {
     readonly attribute MediaStream stream;
 };
diff --git a/Modules/webaudio/MediaStreamAudioSourceNode.idl b/Modules/webaudio/MediaStreamAudioSourceNode.idl
index d91e5e8..f32a332 100644
--- a/Modules/webaudio/MediaStreamAudioSourceNode.idl
+++ b/Modules/webaudio/MediaStreamAudioSourceNode.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO&MEDIA_STREAM,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO&MEDIA_STREAM
 ] interface MediaStreamAudioSourceNode : AudioSourceNode {
     readonly attribute MediaStream mediaStream;
 };
diff --git a/Modules/webaudio/OfflineAudioCompletionEvent.idl b/Modules/webaudio/OfflineAudioCompletionEvent.idl
index 10cd0ff..a3fbc72 100644
--- a/Modules/webaudio/OfflineAudioCompletionEvent.idl
+++ b/Modules/webaudio/OfflineAudioCompletionEvent.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface OfflineAudioCompletionEvent : Event {
     readonly attribute AudioBuffer renderedBuffer;
 };
diff --git a/Modules/webaudio/OfflineAudioContext.idl b/Modules/webaudio/OfflineAudioContext.idl
index 881075c..5fa6fca 100644
--- a/Modules/webaudio/OfflineAudioContext.idl
+++ b/Modules/webaudio/OfflineAudioContext.idl
@@ -25,7 +25,6 @@
 [
     Conditional=WEB_AUDIO,
     EventTarget,
-    JSGenerateToJSObject,
     Constructor(in unsigned long numberOfChannels, in unsigned long numberOfFrames, in float sampleRate),
     ConstructorRaisesException,
     CallWith=ScriptExecutionContext
diff --git a/Modules/webaudio/OscillatorNode.idl b/Modules/webaudio/OscillatorNode.idl
index 7a94df5..8a265b1 100644
--- a/Modules/webaudio/OscillatorNode.idl
+++ b/Modules/webaudio/OscillatorNode.idl
@@ -24,8 +24,7 @@
 
 // OscillatorNode is an audio generator of periodic waveforms.
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface OscillatorNode : AudioSourceNode {
 
     // Type constants.
diff --git a/Modules/webaudio/PannerNode.idl b/Modules/webaudio/PannerNode.idl
index 36616cc..fd46057 100644
--- a/Modules/webaudio/PannerNode.idl
+++ b/Modules/webaudio/PannerNode.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface PannerNode : AudioNode {
     // Panning model
     const unsigned short EQUALPOWER = 0;
diff --git a/Modules/webaudio/ScriptProcessorNode.idl b/Modules/webaudio/ScriptProcessorNode.idl
index 78cf6da..b0d6535 100644
--- a/Modules/webaudio/ScriptProcessorNode.idl
+++ b/Modules/webaudio/ScriptProcessorNode.idl
@@ -25,8 +25,6 @@
 // For real-time audio stream synthesis/processing in JavaScript 
 [
     Conditional=WEB_AUDIO,
-    JSGenerateToJSObject,
-    JSGenerateToNativeObject,
     EventTarget
 ] interface ScriptProcessorNode : AudioNode {
     // Rendering callback
diff --git a/Modules/webaudio/WaveShaperNode.idl b/Modules/webaudio/WaveShaperNode.idl
index 35740b1..9bc7b24 100644
--- a/Modules/webaudio/WaveShaperNode.idl
+++ b/Modules/webaudio/WaveShaperNode.idl
@@ -23,8 +23,7 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
+    Conditional=WEB_AUDIO
 ] interface WaveShaperNode : AudioNode {
     attribute Float32Array curve;
 };
diff --git a/Modules/webdatabase/Database.idl b/Modules/webdatabase/Database.idl
index 5f64897..ebedc7b 100644
--- a/Modules/webdatabase/Database.idl
+++ b/Modules/webdatabase/Database.idl
@@ -28,8 +28,7 @@
 
 [
     Conditional=SQL_DATABASE,
-    OmitConstructor,
-    JSNoStaticTables
+    OmitConstructor
 ] interface Database {
     readonly attribute DOMString version;
     void changeVersion(in DOMString oldVersion, in DOMString newVersion, in [Callback, Optional] SQLTransactionCallback callback, in [Callback, Optional] SQLTransactionErrorCallback errorCallback, in [Callback, Optional] VoidCallback successCallback);
diff --git a/Modules/webdatabase/DatabaseSync.idl b/Modules/webdatabase/DatabaseSync.idl
index 1301eab..591ad6e 100644
--- a/Modules/webdatabase/DatabaseSync.idl
+++ b/Modules/webdatabase/DatabaseSync.idl
@@ -30,8 +30,7 @@
 
 [
     Conditional=SQL_DATABASE,
-    OmitConstructor,
-    JSNoStaticTables
+    OmitConstructor
 ] interface DatabaseSync {
     readonly attribute DOMString version;
     readonly attribute DOMString lastErrorMessage;
diff --git a/Modules/webdatabase/SQLError.idl b/Modules/webdatabase/SQLError.idl
index 4803584..c05f350 100644
--- a/Modules/webdatabase/SQLError.idl
+++ b/Modules/webdatabase/SQLError.idl
@@ -29,7 +29,6 @@
 [
     Conditional=SQL_DATABASE,
     OmitConstructor,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface SQLError {
     readonly attribute unsigned long code;
diff --git a/Modules/webdatabase/SQLException.idl b/Modules/webdatabase/SQLException.idl
index b9511b4..3b6a9c3 100644
--- a/Modules/webdatabase/SQLException.idl
+++ b/Modules/webdatabase/SQLException.idl
@@ -30,7 +30,6 @@
 
 [
     Conditional=SQL_DATABASE,
-    JSNoStaticTables,
     DoNotCheckConstants,
     ImplementationLacksVTable
 ] exception SQLException {
diff --git a/Modules/webdatabase/SQLResultSet.idl b/Modules/webdatabase/SQLResultSet.idl
index 7cc8889..541d8ca 100644
--- a/Modules/webdatabase/SQLResultSet.idl
+++ b/Modules/webdatabase/SQLResultSet.idl
@@ -29,7 +29,6 @@
 [
     Conditional=SQL_DATABASE,
     OmitConstructor,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface SQLResultSet {
     readonly attribute SQLResultSetRowList rows;
diff --git a/Modules/webdatabase/SQLResultSetRowList.idl b/Modules/webdatabase/SQLResultSetRowList.idl
index 51fba66..2a367f5 100644
--- a/Modules/webdatabase/SQLResultSetRowList.idl
+++ b/Modules/webdatabase/SQLResultSetRowList.idl
@@ -29,7 +29,6 @@
 [
     Conditional=SQL_DATABASE,
     OmitConstructor,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface SQLResultSetRowList {
     readonly attribute unsigned long length;
diff --git a/Modules/webdatabase/SQLTransaction.idl b/Modules/webdatabase/SQLTransaction.idl
index 4d4df17..f3a252c 100644
--- a/Modules/webdatabase/SQLTransaction.idl
+++ b/Modules/webdatabase/SQLTransaction.idl
@@ -29,7 +29,6 @@
 [
     Conditional=SQL_DATABASE,
     OmitConstructor,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface SQLTransaction {
     [Custom] void executeSql(in DOMString sqlStatement,
diff --git a/Modules/webdatabase/SQLTransactionSync.idl b/Modules/webdatabase/SQLTransactionSync.idl
index 1fe8a17..7221c94 100644
--- a/Modules/webdatabase/SQLTransactionSync.idl
+++ b/Modules/webdatabase/SQLTransactionSync.idl
@@ -31,7 +31,6 @@
 [
     Conditional=SQL_DATABASE,
     OmitConstructor,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface SQLTransactionSync {
     [Custom] SQLResultSet executeSql(in DOMString sqlStatement, in ObjectArray arguments);
diff --git a/Modules/websockets/CloseEvent.idl b/Modules/websockets/CloseEvent.idl
index 3f29a49..ce25834 100644
--- a/Modules/websockets/CloseEvent.idl
+++ b/Modules/websockets/CloseEvent.idl
@@ -29,7 +29,6 @@
  */
 
 [
-    JSNoStaticTables,
     ConstructorTemplate=Event
 ] interface CloseEvent : Event {
     [InitializedByEventConstructor] readonly attribute boolean wasClean;
diff --git a/Modules/websockets/DOMWindowWebSocket.idl b/Modules/websockets/DOMWindowWebSocket.idl
index a70f67e..9392dc5 100644
--- a/Modules/websockets/DOMWindowWebSocket.idl
+++ b/Modules/websockets/DOMWindowWebSocket.idl
@@ -30,7 +30,7 @@
 ] interface DOMWindowWebSocket {
 #if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
     attribute CloseEventConstructor CloseEvent;
-    [JSCustomGetter, V8EnabledAtRuntime] attribute WebSocketConstructor WebSocket; // Usable with the new operator
+    [V8EnabledAtRuntime] attribute WebSocketConstructor WebSocket; // Usable with the new operator
 #endif
 };
 
diff --git a/Modules/websockets/WebSocket.idl b/Modules/websockets/WebSocket.idl
index 41fe22b..5e2ff28 100644
--- a/Modules/websockets/WebSocket.idl
+++ b/Modules/websockets/WebSocket.idl
@@ -38,7 +38,6 @@
     ConstructorRaisesException,
     CallWith=ScriptExecutionContext,
     EventTarget,
-    JSNoStaticTables,
     ConstructorParameters=1
 ] interface WebSocket {
     readonly attribute DOMString URL; // Lowercased .url is the one in the spec, but leaving .URL for compatibility reasons.
diff --git a/Modules/websockets/WorkerContextWebSocket.idl b/Modules/websockets/WorkerContextWebSocket.idl
index 1f8ae5d..aa1812a 100644
--- a/Modules/websockets/WorkerContextWebSocket.idl
+++ b/Modules/websockets/WorkerContextWebSocket.idl
@@ -28,6 +28,6 @@
     Conditional=WEB_SOCKETS,
     Supplemental=WorkerContext
 ] interface WorkerContextWebSocket {
-    [JSCustomGetter,V8EnabledAtRuntime] attribute WebSocketConstructor WebSocket; // Usable with the new operator
+    [V8EnabledAtRuntime] attribute WebSocketConstructor WebSocket; // Usable with the new operator
 };
 
diff --git a/README b/README
index 2408f0e..84f6428 100644
--- a/README
+++ b/README
@@ -6,4 +6,4 @@
 
 The current version corresponds to:
 URL: http://src.chromium.org/multivm/trunk/webkit
-Current revision: 1167
+Current revision: 1177
diff --git a/bindings/scripts/test/TestTypedArray.idl b/bindings/scripts/test/TestTypedArray.idl
index 91c6a10..7d41fff 100644
--- a/bindings/scripts/test/TestTypedArray.idl
+++ b/bindings/scripts/test/TestTypedArray.idl
@@ -29,8 +29,6 @@
     ConstructorParameters=123,
     NumericIndexedGetter,
     CustomIndexedSetter,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     CustomToJSObject,
     DoNotCheckConstants,
     TypedArray=double
diff --git a/css/CSSFontFaceLoadEvent.idl b/css/CSSFontFaceLoadEvent.idl
index 02dcee0..fcd9861 100644
--- a/css/CSSFontFaceLoadEvent.idl
+++ b/css/CSSFontFaceLoadEvent.idl
@@ -31,7 +31,6 @@
 [
     Conditional=FONT_LOAD_EVENTS,
     V8EnabledAtRuntime=fontLoadEvents,
-    JSNoStaticTables,
     ConstructorTemplate=Event
 ] interface CSSFontFaceLoadEvent : Event {
     readonly attribute [InitializedByEventConstructor] CSSFontFaceRule fontface;
diff --git a/css/CSSFontFaceRule.idl b/css/CSSFontFaceRule.idl
index ba97a7b..f13497c 100644
--- a/css/CSSFontFaceRule.idl
+++ b/css/CSSFontFaceRule.idl
@@ -19,10 +19,7 @@
  */
 
 // Introduced in DOM Level 2:
-interface [
-    JSGenerateToJSObject,
-    JSGenerateToNativeObject,
-] CSSFontFaceRule : CSSRule {
+interface CSSFontFaceRule : CSSRule {
     readonly attribute CSSStyleDeclaration style;
 };
 
diff --git a/css/CSSRule.idl b/css/CSSRule.idl
index 4c18e52..2891e33 100644
--- a/css/CSSRule.idl
+++ b/css/CSSRule.idl
@@ -20,9 +20,6 @@
 
 // Introduced in DOM Level 2:
 [
-    JSCustomHeader,
-    JSCustomMarkFunction,
-    JSGenerateIsReachable,
     CustomToJSObject,
     ObjCPolymorphic,
     V8DependentLifetime,
diff --git a/css/CSSRuleList.idl b/css/CSSRuleList.idl
index 683b655..ae95487 100644
--- a/css/CSSRuleList.idl
+++ b/css/CSSRuleList.idl
@@ -25,7 +25,6 @@
 
 // Introduced in DOM Level 2:
 [
-    JSCustomIsReachable,
     IndexedGetter,
     V8DependentLifetime,
     V8SkipVTableValidation
diff --git a/css/CSSStyleDeclaration.idl b/css/CSSStyleDeclaration.idl
index ba544ac..7cb3690 100644
--- a/css/CSSStyleDeclaration.idl
+++ b/css/CSSStyleDeclaration.idl
@@ -20,10 +20,6 @@
 
 // Introduced in DOM Level 2:
 [
-    JSCustomHeader,
-    JSCustomMarkFunction,
-    JSGenerateIsReachable,
-    JSCustomGetOwnPropertySlotAndDescriptor,
     CustomNamedSetter,
 #if defined(V8_BINDING) && V8_BINDING
     NamedGetter,
@@ -37,7 +33,7 @@
                  setter raises(DOMException);
 
     [TreatReturnedNullStringAs=Null] DOMString          getPropertyValue(in [Optional=DefaultIsUndefined] DOMString propertyName);
-    [JSCustom] CSSValue           getPropertyCSSValue(in [Optional=DefaultIsUndefined] DOMString propertyName);
+    CSSValue           getPropertyCSSValue(in [Optional=DefaultIsUndefined] DOMString propertyName);
     [TreatReturnedNullStringAs=Null] DOMString          removeProperty(in [Optional=DefaultIsUndefined] DOMString propertyName)
         raises(DOMException);
     [TreatReturnedNullStringAs=Null] DOMString          getPropertyPriority(in [Optional=DefaultIsUndefined] DOMString propertyName);
diff --git a/css/CSSValue.idl b/css/CSSValue.idl
index b961037..9d1a034 100644
--- a/css/CSSValue.idl
+++ b/css/CSSValue.idl
@@ -20,8 +20,6 @@
 
 [
     CustomToJSObject,
-    JSCustomIsReachable,
-    JSCustomFinalize,
     ObjCPolymorphic,
     V8DependentLifetime,
     ImplementationLacksVTable
diff --git a/css/MediaList.idl b/css/MediaList.idl
index 5c8ea3c..1b10e80 100644
--- a/css/MediaList.idl
+++ b/css/MediaList.idl
@@ -25,8 +25,6 @@
 
 // Introduced in DOM Level 2:
 [
-    JSCustomHeader,
-    JSGenerateIsReachable,
     IndexedGetter,
     ImplementationLacksVTable
 ] interface MediaList {
diff --git a/css/MediaQueryListListener.idl b/css/MediaQueryListListener.idl
index cfcea0b..73b70eb 100644
--- a/css/MediaQueryListListener.idl
+++ b/css/MediaQueryListListener.idl
@@ -18,7 +18,6 @@
  */
 
 [
-    JSNoStaticTables,
     ObjCProtocol,
     CPPPureInterface,
     OmitConstructor
diff --git a/css/StyleMedia.idl b/css/StyleMedia.idl
index 6568a2e..b4e9213 100644
--- a/css/StyleMedia.idl
+++ b/css/StyleMedia.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    JSGenerateIsReachable=ImplFrame
-] interface StyleMedia {
+interface StyleMedia {
     readonly attribute DOMString type;
     boolean matchMedium(in [Optional=DefaultIsUndefined] DOMString mediaquery);
 };
diff --git a/css/StyleSheet.idl b/css/StyleSheet.idl
index 9d6d845..fabce52 100644
--- a/css/StyleSheet.idl
+++ b/css/StyleSheet.idl
@@ -20,9 +20,6 @@
 
 // Introduced in DOM Level 2:
 [
-    JSCustomHeader,
-    JSCustomMarkFunction,
-    JSGenerateIsReachable,
     CustomToJSObject,
     ObjCPolymorphic,
     V8GenerateIsReachable=ImplOwnerNodeRoot
diff --git a/dom/Attr.idl b/dom/Attr.idl
index bd3b50f..0f7b0fb 100644
--- a/dom/Attr.idl
+++ b/dom/Attr.idl
@@ -18,10 +18,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    JSCustomMarkFunction,
-    JSGenerateToNativeObject
-] interface Attr : Node {
+interface Attr : Node {
 
     // DOM Level 1
 
diff --git a/dom/Clipboard.idl b/dom/Clipboard.idl
index b85235e..7e092bb 100644
--- a/dom/Clipboard.idl
+++ b/dom/Clipboard.idl
@@ -41,6 +41,6 @@
     [Custom] void setDragImage(in HTMLImageElement image, in long x, in long y)
         raises(DOMException);
 
-    [Conditional=DATA_TRANSFER_ITEMS, V8EnabledAtRuntime=DataTransferItems] readonly attribute DataTransferItemList items;
+    [V8EnabledAtRuntime=DataTransferItems] readonly attribute DataTransferItemList items;
 };
 
diff --git a/dom/DOMCoreException.idl b/dom/DOMCoreException.idl
index 2c67f1e..71ec5d5 100644
--- a/dom/DOMCoreException.idl
+++ b/dom/DOMCoreException.idl
@@ -27,7 +27,6 @@
  */
 
 [
-    JSNoStaticTables,
     DoNotCheckConstants,
     InterfaceName=DOMException,
     ImplementationLacksVTable
diff --git a/dom/DOMNamedFlowCollection.idl b/dom/DOMNamedFlowCollection.idl
index b546ddc..60e2689 100644
--- a/dom/DOMNamedFlowCollection.idl
+++ b/dom/DOMNamedFlowCollection.idl
@@ -31,7 +31,6 @@
     Conditional=CSS_REGIONS,
     V8EnabledAtRuntime=cssRegions,
     InterfaceName=WebKitNamedFlowCollection,
-    JSGenerateToJSObject,
     IndexedGetter,
     NamedGetter,
     ImplementationLacksVTable
diff --git a/dom/DOMStringList.idl b/dom/DOMStringList.idl
index 6e13b2b..6722aa6 100644
--- a/dom/DOMStringList.idl
+++ b/dom/DOMStringList.idl
@@ -25,8 +25,6 @@
 
 [
     IndexedGetter,
-    JSCustomToNativeObject,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface DOMStringList {
     readonly attribute unsigned long length;
diff --git a/dom/DataTransferItem.idl b/dom/DataTransferItem.idl
index 7c33893..9be3a45 100644
--- a/dom/DataTransferItem.idl
+++ b/dom/DataTransferItem.idl
@@ -29,7 +29,6 @@
  */
 
 [
-    Conditional=DATA_TRANSFER_ITEMS,
     ImplementationLacksVTable
 ] interface DataTransferItem {
     readonly attribute DOMString kind;
diff --git a/dom/DataTransferItemList.idl b/dom/DataTransferItemList.idl
index e65336a..799ea32 100644
--- a/dom/DataTransferItemList.idl
+++ b/dom/DataTransferItemList.idl
@@ -29,9 +29,7 @@
  */
 
 [
-    Conditional=DATA_TRANSFER_ITEMS,
     IndexedGetter,
-    JSGenerateToNativeObject,
 #if defined(V8_BINDING) && V8_BINDING
     CustomDeleteProperty,
 #endif
diff --git a/dom/Document.idl b/dom/Document.idl
index 391a5ed..2f0a2a9 100644
--- a/dom/Document.idl
+++ b/dom/Document.idl
@@ -19,9 +19,7 @@
  */
 
 [
-    CustomToJSObject,
-    JSGenerateToNativeObject,
-    JSInlineGetOwnPropertySlot
+    CustomToJSObject
 ] interface Document : Node {
 
     // DOM Level 1 Core
@@ -247,7 +245,6 @@
     NodeList querySelectorAll(in DOMString selectors)
         raises(DOMException);
 
-#if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
     // Mozilla version
     [V8EnabledAtRuntime] readonly attribute boolean webkitIsFullScreen;
     [V8EnabledAtRuntime] readonly attribute boolean webkitFullScreenKeyboardInputAllowed;
@@ -258,7 +255,6 @@
     [V8EnabledAtRuntime] readonly attribute boolean webkitFullscreenEnabled;
     [V8EnabledAtRuntime] readonly attribute Element webkitFullscreenElement;
     [V8EnabledAtRuntime] void webkitExitFullscreen();
-#endif
 
     [Conditional=POINTER_LOCK] void webkitExitPointerLock();
     [Conditional=POINTER_LOCK] readonly attribute Element webkitPointerLockElement;
@@ -340,11 +336,11 @@
     [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch] attribute EventListener ontouchmove;
     [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch] attribute EventListener ontouchend;
     [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch] attribute EventListener ontouchcancel;
-    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventListener onwebkitfullscreenchange;
-    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventListener onwebkitfullscreenerror;
+    [NotEnumerable] attribute EventListener onwebkitfullscreenchange;
+    [NotEnumerable] attribute EventListener onwebkitfullscreenerror;
     [NotEnumerable, Conditional=POINTER_LOCK] attribute EventListener onwebkitpointerlockchange;
     [NotEnumerable, Conditional=POINTER_LOCK] attribute EventListener onwebkitpointerlockerror;
-    [NotEnumerable, Conditional=CSP_NEXT, V8EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] attribute EventListener onsecuritypolicyviolation;
+    [NotEnumerable, V8EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] attribute EventListener onsecuritypolicyviolation;
 #endif
 
 #if defined(ENABLE_TOUCH_EVENTS) && ENABLE_TOUCH_EVENTS
@@ -380,11 +376,11 @@
 #endif
 
     // Page visibility API.
-    [Conditional=PAGE_VISIBILITY_API] readonly attribute DOMString webkitVisibilityState;
-    [Conditional=PAGE_VISIBILITY_API] readonly attribute boolean webkitHidden;
+    readonly attribute DOMString webkitVisibilityState;
+    readonly attribute boolean webkitHidden;
 
     // Security Policy API: http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-interfaces
-    [Conditional=CSP_NEXT, V8EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] readonly attribute DOMSecurityPolicy securityPolicy;
+    [V8EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] readonly attribute DOMSecurityPolicy securityPolicy;
 
 };
 
diff --git a/dom/DocumentType.idl b/dom/DocumentType.idl
index 0dbcdb8..10fc1f3 100644
--- a/dom/DocumentType.idl
+++ b/dom/DocumentType.idl
@@ -17,9 +17,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    JSGenerateToNativeObject
-] interface DocumentType : Node {
+interface DocumentType : Node {
 
     // DOM Level 1
 
diff --git a/dom/Element.idl b/dom/Element.idl
index 38806da..35f3379 100644
--- a/dom/Element.idl
+++ b/dom/Element.idl
@@ -19,8 +19,6 @@
  */
 
 [
-    JSGenerateToNativeObject,
-    JSInlineGetOwnPropertySlot,
     V8CustomToJSObject,
     V8SkipVTableValidation
 ] interface Element : Node {
@@ -145,14 +143,12 @@
     [V8PerWorldBindings] readonly attribute DOMString innerText;
 #endif
 
-#if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
     // Mozilla version
     const unsigned short ALLOW_KEYBOARD_INPUT = 1;
     [V8EnabledAtRuntime] void webkitRequestFullScreen(in [Optional=DefaultIsUndefined] unsigned short flags);
 
     // W3C version
     [V8EnabledAtRuntime] void webkitRequestFullscreen();
-#endif
 
     [Conditional=POINTER_LOCK] void webkitRequestPointerLock();
 
@@ -230,8 +226,8 @@
     [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch, V8PerWorldBindings] attribute EventListener ontouchmove;
     [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch, V8PerWorldBindings] attribute EventListener ontouchend;
     [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch, V8PerWorldBindings] attribute EventListener ontouchcancel;
-    [NotEnumerable, Conditional=FULLSCREEN_API, V8PerWorldBindings] attribute EventListener onwebkitfullscreenchange;
-    [NotEnumerable, Conditional=FULLSCREEN_API, V8PerWorldBindings] attribute EventListener onwebkitfullscreenerror;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onwebkitfullscreenchange;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onwebkitfullscreenerror;
 #endif
 };
 
diff --git a/dom/ErrorEvent.idl b/dom/ErrorEvent.idl
index 433e8d9..612a970 100644
--- a/dom/ErrorEvent.idl
+++ b/dom/ErrorEvent.idl
@@ -29,7 +29,6 @@
  */
 
 [
-    JSNoStaticTables,
     ConstructorTemplate=Event
 ] interface ErrorEvent : Event {
     [InitializedByEventConstructor] readonly attribute DOMString message;
diff --git a/dom/Event.idl b/dom/Event.idl
index 7a75193..1e5df64 100644
--- a/dom/Event.idl
+++ b/dom/Event.idl
@@ -22,7 +22,6 @@
 [
     CustomToJSObject,
     ConstructorTemplate=Event,
-    JSNoStaticTables,
     ObjCPolymorphic,
     V8SkipVTableValidation
 ] interface Event {
diff --git a/dom/EventException.idl b/dom/EventException.idl
index f97c2aa..cb89cdb 100644
--- a/dom/EventException.idl
+++ b/dom/EventException.idl
@@ -28,7 +28,6 @@
 
 // Introduced in DOM Level 2:
 [
-    JSNoStaticTables,
     DoNotCheckConstants,
     ImplementationLacksVTable,
 ] exception EventException {
diff --git a/dom/EventListener.idl b/dom/EventListener.idl
index 3786408..9bf715a 100644
--- a/dom/EventListener.idl
+++ b/dom/EventListener.idl
@@ -20,7 +20,6 @@
 
 // Introduced in DOM Level 2:
 [
-    JSNoStaticTables,
     ObjCProtocol,
     CPPPureInterface,
     OmitConstructor
diff --git a/dom/EventTarget.idl b/dom/EventTarget.idl
index b7fe772..30c5b23 100644
--- a/dom/EventTarget.idl
+++ b/dom/EventTarget.idl
@@ -24,7 +24,6 @@
     CPPPureInterface,
     OmitConstructor,
     CustomToJSObject,
-    JSCustomToNativeObject,
     V8NoWrapperCache,
     EventTarget
 ] interface EventTarget {
diff --git a/dom/MessageChannel.idl b/dom/MessageChannel.idl
index 103014d..fe565c2 100644
--- a/dom/MessageChannel.idl
+++ b/dom/MessageChannel.idl
@@ -28,8 +28,6 @@
     Constructor,
     CallWith=ScriptExecutionContext,
     V8CustomConstructor,
-    JSCustomMarkFunction,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface MessageChannel {
 
diff --git a/dom/MessageEvent.idl b/dom/MessageEvent.idl
index 38877fa..1225e56 100644
--- a/dom/MessageEvent.idl
+++ b/dom/MessageEvent.idl
@@ -26,7 +26,6 @@
  */
 
 [
-    JSNoStaticTables,
     ConstructorTemplate=Event
 ] interface MessageEvent : Event {
     [InitializedByEventConstructor] readonly attribute DOMString origin;
diff --git a/dom/MessagePort.idl b/dom/MessagePort.idl
index bbd48c0..b851ec7 100644
--- a/dom/MessagePort.idl
+++ b/dom/MessagePort.idl
@@ -26,11 +26,8 @@
  */
 
 [
-    JSCustomMarkFunction,
-    JSGenerateIsReachable=Impl,
     ActiveDOMObject,
-    EventTarget,
-    JSNoStaticTables
+    EventTarget
 ] interface MessagePort {
 // We need to have something as an ObjC binding, because MessagePort is used in MessageEvent, which already has one,
 // but we don't want to actually expose the API while it is in flux.
diff --git a/dom/MutationObserver.idl b/dom/MutationObserver.idl
index d420bbb..54ffd61 100644
--- a/dom/MutationObserver.idl
+++ b/dom/MutationObserver.idl
@@ -31,7 +31,6 @@
 [
     CustomConstructor,
     ConstructorParameters=1,
-    JSCustomIsReachable,
     ImplementationLacksVTable
 ] interface MutationObserver {
     void observe(in Node target, in Dictionary options)
diff --git a/dom/Node.idl b/dom/Node.idl
index 5ddfbec..2a8416c 100644
--- a/dom/Node.idl
+++ b/dom/Node.idl
@@ -19,15 +19,8 @@
  */
 
 [
-    JSCustomHeader,
-    JSCustomMarkFunction,
-    JSCustomPushEventHandlerScope,
-    JSCustomIsReachable,
-    JSCustomFinalize,
     CustomToJSObject,
     EventTarget,
-    JSGenerateToNativeObject,
-    JSInlineGetOwnPropertySlot,
     ObjCPolymorphic,
     V8DependentLifetime
 ] interface Node
diff --git a/dom/NodeFilter.idl b/dom/NodeFilter.idl
index fa1535c..5a3dccf 100644
--- a/dom/NodeFilter.idl
+++ b/dom/NodeFilter.idl
@@ -20,8 +20,6 @@
 
 // Introduced in DOM Level 2:
 [
-    JSCustomMarkFunction,
-    JSCustomToNativeObject,
     ObjCProtocol,
     CPPPureInterface,
     ImplementationLacksVTable
diff --git a/dom/NodeIterator.idl b/dom/NodeIterator.idl
index 77259d0..4e316d5 100644
--- a/dom/NodeIterator.idl
+++ b/dom/NodeIterator.idl
@@ -20,7 +20,6 @@
 
 // Introduced in DOM Level 2:
 [
-    JSCustomMarkFunction,
     ImplementationLacksVTable
 ] interface NodeIterator {
     readonly attribute Node root;
diff --git a/dom/ProgressEvent.idl b/dom/ProgressEvent.idl
index ae25a95..fd82129 100644
--- a/dom/ProgressEvent.idl
+++ b/dom/ProgressEvent.idl
@@ -24,8 +24,7 @@
  */
 
 [
-    ConstructorTemplate=Event,
-    JSNoStaticTables
+    ConstructorTemplate=Event
 ] interface ProgressEvent : Event {
     [InitializedByEventConstructor] readonly attribute boolean lengthComputable;
     [InitializedByEventConstructor] readonly attribute unsigned long long loaded;
diff --git a/dom/PropertyNodeList.idl b/dom/PropertyNodeList.idl
index 5b2b484..297ff87 100644
--- a/dom/PropertyNodeList.idl
+++ b/dom/PropertyNodeList.idl
@@ -30,8 +30,7 @@
 
 [
     Conditional=MICRODATA,
-    IndexedGetter,
-    JSGenerateToJSObject
+    IndexedGetter
 ] interface PropertyNodeList : NodeList {
 
     sequence<MicroDataItemValue> getValues();
diff --git a/dom/SecurityPolicyViolationEvent.idl b/dom/SecurityPolicyViolationEvent.idl
index 435707f..09edded 100644
--- a/dom/SecurityPolicyViolationEvent.idl
+++ b/dom/SecurityPolicyViolationEvent.idl
@@ -23,7 +23,6 @@
  */
 
 [
-    Conditional=CSP_NEXT,
     ConstructorTemplate=Event,
 ] interface SecurityPolicyViolationEvent : Event {
     [InitializedByEventConstructor] readonly attribute DOMString documentURI;
diff --git a/dom/ShadowRoot.idl b/dom/ShadowRoot.idl
index 5b35e9f..4304e9b 100644
--- a/dom/ShadowRoot.idl
+++ b/dom/ShadowRoot.idl
@@ -25,8 +25,7 @@
  */
 
 [
-    Conditional=SHADOW_DOM,
-    JSGenerateToJSObject
+    Conditional=SHADOW_DOM
 ] interface ShadowRoot : DocumentFragment {
     readonly attribute Element activeElement;
     attribute boolean applyAuthorStyles;
diff --git a/dom/TreeWalker.idl b/dom/TreeWalker.idl
index 4d4bf18..7898df4 100644
--- a/dom/TreeWalker.idl
+++ b/dom/TreeWalker.idl
@@ -20,7 +20,6 @@
 
 // Introduced in DOM Level 2:
 [
-    JSCustomMarkFunction,
     ImplementationLacksVTable
 ] interface TreeWalker {
     readonly attribute Node root;
diff --git a/dom/WebKitNamedFlow.idl b/dom/WebKitNamedFlow.idl
index 11ee4ad..23d50d8 100644
--- a/dom/WebKitNamedFlow.idl
+++ b/dom/WebKitNamedFlow.idl
@@ -29,7 +29,6 @@
 
 [
     EventTarget,
-    JSGenerateToJSObject,
     GenerateIsReachable=ImplOwnerNodeRoot
 ] interface WebKitNamedFlow {
     readonly attribute DOMString name;
diff --git a/fileapi/Blob.idl b/fileapi/Blob.idl
index 15babb7..ac35f85 100644
--- a/fileapi/Blob.idl
+++ b/fileapi/Blob.idl
@@ -29,9 +29,7 @@
  */
 
 [
-    JSGenerateIsReachable=Impl,
     CustomToJSObject,
-    JSNoStaticTables,
     CustomConstructor,
     ConstructorParameters=2
 ] interface Blob {
diff --git a/fileapi/File.idl b/fileapi/File.idl
index ddfb9a2..6bce28f 100644
--- a/fileapi/File.idl
+++ b/fileapi/File.idl
@@ -23,11 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject,
-    JSNoStaticTables
-] interface File : Blob {
+interface File : Blob {
     readonly attribute DOMString name;
 #if !defined(LANGUAGE_GOBJECT) || !LANGUAGE_GOBJECT
     readonly attribute Date lastModifiedDate;
diff --git a/fileapi/FileError.idl b/fileapi/FileError.idl
index c588100..16a8cc2 100644
--- a/fileapi/FileError.idl
+++ b/fileapi/FileError.idl
@@ -30,7 +30,6 @@
 
 [
     Conditional=BLOB|FILE_SYSTEM,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface FileError {
 #if !defined(LANGUAGE_OBJECTIVE_C)
diff --git a/fileapi/FileException.idl b/fileapi/FileException.idl
index 4e3e0ab..81c6b7f 100644
--- a/fileapi/FileException.idl
+++ b/fileapi/FileException.idl
@@ -31,7 +31,6 @@
 [
     Conditional=BLOB|FILE_SYSTEM,
     DoNotCheckConstants,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] exception FileException {
 
diff --git a/fileapi/FileList.idl b/fileapi/FileList.idl
index 9e8ef50..59fa393 100644
--- a/fileapi/FileList.idl
+++ b/fileapi/FileList.idl
@@ -25,7 +25,6 @@
 
 [
     IndexedGetter,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface FileList {
     readonly attribute unsigned long length;
diff --git a/fileapi/FileReader.idl b/fileapi/FileReader.idl
index 3347b68..02b7e0d 100644
--- a/fileapi/FileReader.idl
+++ b/fileapi/FileReader.idl
@@ -34,8 +34,7 @@
     ActiveDOMObject,
     Constructor,
     CallWith=ScriptExecutionContext,
-    EventTarget,
-    JSNoStaticTables
+    EventTarget
 ] interface FileReader {
     // ready states
     const unsigned short EMPTY = 0;
diff --git a/fileapi/FileReaderSync.idl b/fileapi/FileReaderSync.idl
index bc3f86d..b0182aa 100644
--- a/fileapi/FileReaderSync.idl
+++ b/fileapi/FileReaderSync.idl
@@ -30,8 +30,7 @@
 
 [
     Conditional=BLOB,
-    Constructor,
-    JSNoStaticTables
+    Constructor
 ] interface FileReaderSync {
     [CallWith=ScriptExecutionContext] ArrayBuffer readAsArrayBuffer(in Blob blob)
         raises(FileException);
diff --git a/html/DOMFormData.idl b/html/DOMFormData.idl
index 10febe9..d1a0148 100644
--- a/html/DOMFormData.idl
+++ b/html/DOMFormData.idl
@@ -31,8 +31,6 @@
 [
     CustomConstructor,
     ConstructorParameters=1,
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject,
     InterfaceName=FormData,
     ImplementationLacksVTable
 ] interface DOMFormData {
diff --git a/html/DOMSettableTokenList.idl b/html/DOMSettableTokenList.idl
index f3936e8..ceb8d29 100644
--- a/html/DOMSettableTokenList.idl
+++ b/html/DOMSettableTokenList.idl
@@ -24,7 +24,6 @@
 
 [
     IndexedGetter,
-    JSGenerateToJSObject,
     V8SkipVTableValidation
 ] interface DOMSettableTokenList : DOMTokenList {
     attribute DOMString value;
diff --git a/html/DOMURL.idl b/html/DOMURL.idl
index f21c2d1..35fab08 100644
--- a/html/DOMURL.idl
+++ b/html/DOMURL.idl
@@ -27,15 +27,10 @@
 [
     Conditional=BLOB,
     Constructor,
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject,
-    JSNoStaticTables,
     InterfaceName=URL,
     ImplementationLacksVTable
 ] interface DOMURL {
-#if defined(ENABLE_MEDIA_SOURCE) && ENABLE_MEDIA_SOURCE
     [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(in MediaSource? source);
-#endif
 #if defined(ENABLE_MEDIA_STREAM) && ENABLE_MEDIA_STREAM
     [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(in MediaStream? stream);
 #endif
diff --git a/html/HTMLAppletElement.idl b/html/HTMLAppletElement.idl
index 073cfd7..4a1470c 100644
--- a/html/HTMLAppletElement.idl
+++ b/html/HTMLAppletElement.idl
@@ -20,7 +20,6 @@
 
 [
     CustomNamedSetter,
-    JSCustomGetOwnPropertySlotAndDescriptor,
     V8CustomIndexedGetter,
     CustomCall
 ] interface HTMLAppletElement : HTMLElement {
diff --git a/html/HTMLBodyElement.idl b/html/HTMLBodyElement.idl
index 32a7d50..8ffcf10 100644
--- a/html/HTMLBodyElement.idl
+++ b/html/HTMLBodyElement.idl
@@ -28,29 +28,29 @@
 
 #if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
     // Event handler attributes
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onbeforeunload;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onhashchange;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onmessage;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onoffline;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener ononline;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onpopstate;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onresize;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onstorage;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onunload;
+    [NotEnumerable] attribute EventListener onbeforeunload;
+    [NotEnumerable] attribute EventListener onhashchange;
+    [NotEnumerable] attribute EventListener onmessage;
+    [NotEnumerable] attribute EventListener onoffline;
+    [NotEnumerable] attribute EventListener ononline;
+    [NotEnumerable] attribute EventListener onpopstate;
+    [NotEnumerable] attribute EventListener onresize;
+    [NotEnumerable] attribute EventListener onstorage;
+    [NotEnumerable] attribute EventListener onunload;
 
-    [Conditional=ORIENTATION_EVENTS, NotEnumerable, JSWindowEventListener] attribute EventListener onorientationchange;
+    [Conditional=ORIENTATION_EVENTS, NotEnumerable] attribute EventListener onorientationchange;
 
     // Overrides of Element attributes (with different implementation in bindings).
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onblur;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onerror;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onfocus;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onload;
+    [NotEnumerable] attribute EventListener onblur;
+    [NotEnumerable] attribute EventListener onerror;
+    [NotEnumerable] attribute EventListener onfocus;
+    [NotEnumerable] attribute EventListener onload;
 
     // Not implemented yet.
-    // attribute [NotEnumerable, JSWindowEventListener] EventListener onafterprint;
-    // attribute [NotEnumerable, JSWindowEventListener] EventListener onbeforeprint;
-    // attribute [NotEnumerable, JSWindowEventListener] EventListener onredo;
-    // attribute [NotEnumerable, JSWindowEventListener] EventListener onundo;
+    // attribute [NotEnumerable] EventListener onafterprint;
+    // attribute [NotEnumerable] EventListener onbeforeprint;
+    // attribute [NotEnumerable] EventListener onredo;
+    // attribute [NotEnumerable] EventListener onundo;
 #endif
 };
 
diff --git a/html/HTMLCanvasElement.idl b/html/HTMLCanvasElement.idl
index fdbdefc..c4ed862 100644
--- a/html/HTMLCanvasElement.idl
+++ b/html/HTMLCanvasElement.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    JSGenerateToNativeObject
-] interface HTMLCanvasElement : HTMLElement {
+interface HTMLCanvasElement : HTMLElement {
 
     attribute long width;
     attribute long height;
diff --git a/html/HTMLDocument.idl b/html/HTMLDocument.idl
index 07427cf..6f2169d 100644
--- a/html/HTMLDocument.idl
+++ b/html/HTMLDocument.idl
@@ -23,7 +23,7 @@
     V8CustomToJSObject,
     V8SkipVTableValidation
 ] interface HTMLDocument : Document {
-    [JSCustom, V8Custom] void open();
+    [V8Custom] void open();
     void close();
     [Custom] void write(in [Optional=DefaultIsUndefined] DOMString text);
     [Custom] void writeln(in [Optional=DefaultIsUndefined] DOMString text);
@@ -36,7 +36,7 @@
 
 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
     // FIXME: This should eventually be available (if they are wanted) for all languages.
-    [JSCustom, Replaceable, Deletable] attribute HTMLAllCollection all;
+    [Replaceable, Deletable] attribute HTMLAllCollection all;
 #endif
 
     void clear();
diff --git a/html/HTMLElement.idl b/html/HTMLElement.idl
index 5b70e6c..def5a48 100644
--- a/html/HTMLElement.idl
+++ b/html/HTMLElement.idl
@@ -19,8 +19,6 @@
  */
 
 [
-    JSGenerateToNativeObject,
-    JSCustomPushEventHandlerScope,
     V8CustomToJSObject,
     V8SkipVTableValidation
 ] interface HTMLElement : Element {
diff --git a/html/HTMLEmbedElement.idl b/html/HTMLEmbedElement.idl
index 43a120b..ea62e2b 100644
--- a/html/HTMLEmbedElement.idl
+++ b/html/HTMLEmbedElement.idl
@@ -20,7 +20,6 @@
 
 [
     CustomNamedSetter,
-    JSCustomGetOwnPropertySlotAndDescriptor,
     CustomCall,
     V8CustomIndexedGetter,
     V8SkipVTableValidation
diff --git a/html/HTMLFrameSetElement.idl b/html/HTMLFrameSetElement.idl
index b4fa43d..993126c 100644
--- a/html/HTMLFrameSetElement.idl
+++ b/html/HTMLFrameSetElement.idl
@@ -26,29 +26,29 @@
 
 #if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
     // Event handler attributes
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onbeforeunload;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onhashchange;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onmessage;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onoffline;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener ononline;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onpopstate;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onresize;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onstorage;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onunload;
+    [NotEnumerable] attribute EventListener onbeforeunload;
+    [NotEnumerable] attribute EventListener onhashchange;
+    [NotEnumerable] attribute EventListener onmessage;
+    [NotEnumerable] attribute EventListener onoffline;
+    [NotEnumerable] attribute EventListener ononline;
+    [NotEnumerable] attribute EventListener onpopstate;
+    [NotEnumerable] attribute EventListener onresize;
+    [NotEnumerable] attribute EventListener onstorage;
+    [NotEnumerable] attribute EventListener onunload;
 
-    [Conditional=ORIENTATION_EVENTS, NotEnumerable, JSWindowEventListener] attribute EventListener onorientationchange;
+    [Conditional=ORIENTATION_EVENTS, NotEnumerable] attribute EventListener onorientationchange;
 
     // Overrides of Element attributes (with different implementation in bindings).
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onblur;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onerror;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onfocus;
-    [NotEnumerable, JSWindowEventListener] attribute EventListener onload;
+    [NotEnumerable] attribute EventListener onblur;
+    [NotEnumerable] attribute EventListener onerror;
+    [NotEnumerable] attribute EventListener onfocus;
+    [NotEnumerable] attribute EventListener onload;
 
     // Not implemented yet.
-    // attribute [NotEnumerable, JSWindowEventListener] EventListener onafterprint;
-    // attribute [NotEnumerable, JSWindowEventListener] EventListener onbeforeprint;
-    // attribute [NotEnumerable, JSWindowEventListener] EventListener onredo;
-    // attribute [NotEnumerable, JSWindowEventListener] EventListener onundo;
+    // attribute [NotEnumerable] EventListener onafterprint;
+    // attribute [NotEnumerable] EventListener onbeforeprint;
+    // attribute [NotEnumerable] EventListener onredo;
+    // attribute [NotEnumerable] EventListener onundo;
 #endif
 };
 
diff --git a/html/HTMLIFrameElement.idl b/html/HTMLIFrameElement.idl
index eea2fb7..5eb83a9 100644
--- a/html/HTMLIFrameElement.idl
+++ b/html/HTMLIFrameElement.idl
@@ -27,7 +27,7 @@
     [Reflect] attribute DOMString marginWidth;
     [Reflect] attribute DOMString name;
     [Reflect] attribute DOMString sandbox;
-    [Reflect, Conditional=IFRAME_SEAMLESS] attribute boolean seamless;
+    [Reflect, V8EnabledAtRuntime=seamlessIFrames] attribute boolean seamless;
     [Reflect] attribute DOMString scrolling;
     [Reflect, URL] attribute DOMString src;
     [Reflect] attribute DOMString srcdoc;
diff --git a/html/HTMLImageElement.idl b/html/HTMLImageElement.idl
index 5ef7cde..c3fe26f 100644
--- a/html/HTMLImageElement.idl
+++ b/html/HTMLImageElement.idl
@@ -19,7 +19,6 @@
  */
 
 [
-    JSGenerateToNativeObject,
     V8SkipVTableValidation
 ] interface HTMLImageElement : HTMLElement {
     [Reflect] attribute DOMString name;
diff --git a/html/HTMLMediaElement.idl b/html/HTMLMediaElement.idl
index 939452d..8d658c0 100644
--- a/html/HTMLMediaElement.idl
+++ b/html/HTMLMediaElement.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=VIDEO,
-    JSGenerateToNativeObject,
     ActiveDOMObject
 ] interface HTMLMediaElement : HTMLElement {
 
diff --git a/html/HTMLObjectElement.idl b/html/HTMLObjectElement.idl
index 5ce02fb..b2e0132 100644
--- a/html/HTMLObjectElement.idl
+++ b/html/HTMLObjectElement.idl
@@ -20,7 +20,6 @@
 
 [
     CustomNamedSetter,
-    JSCustomGetOwnPropertySlotAndDescriptor,
     V8CustomIndexedGetter,
     CustomCall
 ] interface HTMLObjectElement : HTMLElement {
diff --git a/html/HTMLOptionElement.idl b/html/HTMLOptionElement.idl
index d805392..66bcabd 100644
--- a/html/HTMLOptionElement.idl
+++ b/html/HTMLOptionElement.idl
@@ -19,7 +19,6 @@
  */
 
 [
-    JSGenerateToNativeObject,
     NamedConstructor=Option(in [Optional=DefaultIsNullString] DOMString data, in [Optional=DefaultIsNullString] DOMString value, in [Optional=DefaultIsUndefined] boolean defaultSelected, in [Optional=DefaultIsUndefined] boolean selected),
     ConstructorRaisesException
 ] interface HTMLOptionElement : HTMLElement {
diff --git a/html/HTMLOptionsCollection.idl b/html/HTMLOptionsCollection.idl
index b240f24..692ead2 100644
--- a/html/HTMLOptionsCollection.idl
+++ b/html/HTMLOptionsCollection.idl
@@ -19,7 +19,6 @@
  */
 
 [
-    JSGenerateToNativeObject,
     CustomIndexedSetter,
     NamedGetter,
     GenerateIsReachable=ImplOwnerNodeRoot,
diff --git a/html/HTMLPropertiesCollection.idl b/html/HTMLPropertiesCollection.idl
index 48bf0be..988118d 100644
--- a/html/HTMLPropertiesCollection.idl
+++ b/html/HTMLPropertiesCollection.idl
@@ -30,7 +30,6 @@
 
 [
     Conditional=MICRODATA,
-    JSGenerateToJSObject,
     IndexedGetter,
     NamedGetter
 ] interface HTMLPropertiesCollection : HTMLCollection {
diff --git a/html/HTMLScriptElement.idl b/html/HTMLScriptElement.idl
index 1365d12..195571a 100644
--- a/html/HTMLScriptElement.idl
+++ b/html/HTMLScriptElement.idl
@@ -27,5 +27,5 @@
     [Reflect, URL] attribute DOMString src;
     [Reflect] attribute DOMString type;
     [Reflect] attribute DOMString crossOrigin;
-    [Reflect, Conditional=CSP_NEXT] attribute DOMString nonce;
+    [Reflect, V8EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] attribute DOMString nonce;
 };
diff --git a/html/HTMLTableCaptionElement.idl b/html/HTMLTableCaptionElement.idl
index d9b3aa5..e29f097 100644
--- a/html/HTMLTableCaptionElement.idl
+++ b/html/HTMLTableCaptionElement.idl
@@ -18,9 +18,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    JSGenerateToNativeObject
-] interface HTMLTableCaptionElement : HTMLElement {
+interface HTMLTableCaptionElement : HTMLElement {
     [Reflect] attribute DOMString align;
 };
 
diff --git a/html/HTMLTableSectionElement.idl b/html/HTMLTableSectionElement.idl
index d11f429..e198bd6 100644
--- a/html/HTMLTableSectionElement.idl
+++ b/html/HTMLTableSectionElement.idl
@@ -18,9 +18,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    JSGenerateToNativeObject
-] interface HTMLTableSectionElement : HTMLElement {
+interface HTMLTableSectionElement : HTMLElement {
     [Reflect] attribute DOMString align;
     [Reflect=char] attribute DOMString ch;
     [Reflect=charoff] attribute DOMString chOff;
diff --git a/html/HTMLTemplateElement.idl b/html/HTMLTemplateElement.idl
index 1684808..3599d01 100644
--- a/html/HTMLTemplateElement.idl
+++ b/html/HTMLTemplateElement.idl
@@ -29,6 +29,6 @@
  */
 
 interface HTMLTemplateElement : HTMLElement {
-    [JSCustom, V8CacheAttributeForGC] readonly attribute DocumentFragment content;
+    [V8CacheAttributeForGC] readonly attribute DocumentFragment content;
 };
 
diff --git a/html/HTMLVideoElement.idl b/html/HTMLVideoElement.idl
index dba4408..c544f68 100644
--- a/html/HTMLVideoElement.idl
+++ b/html/HTMLVideoElement.idl
@@ -24,8 +24,7 @@
  */
 
 [
-    Conditional=VIDEO,
-    JSGenerateToNativeObject
+    Conditional=VIDEO
 ] interface HTMLVideoElement : HTMLMediaElement {
     [Reflect] attribute unsigned long width;
     [Reflect] attribute unsigned long height;
diff --git a/html/MediaController.idl b/html/MediaController.idl
index 8a0c96f..4b31f5c 100644
--- a/html/MediaController.idl
+++ b/html/MediaController.idl
@@ -27,7 +27,6 @@
     Conditional=VIDEO,
     Constructor,
     CallWith=ScriptExecutionContext,
-    JSGenerateToJSObject,
     EventTarget
 ] interface MediaController {
     readonly attribute TimeRanges buffered;
diff --git a/html/RadioNodeList.idl b/html/RadioNodeList.idl
index 7cae485..cfb85c2 100644
--- a/html/RadioNodeList.idl
+++ b/html/RadioNodeList.idl
@@ -24,7 +24,6 @@
  */
 
 [
-    JSGenerateToJSObject,
     IndexedGetter,
 ] interface RadioNodeList : NodeList {
     attribute DOMString value;
diff --git a/html/canvas/ArrayBuffer.idl b/html/canvas/ArrayBuffer.idl
index 8a13001..47fa94d 100644
--- a/html/canvas/ArrayBuffer.idl
+++ b/html/canvas/ArrayBuffer.idl
@@ -24,10 +24,8 @@
  */
 
 [
-    JSGenerateIsReachable=Impl,
     CustomConstructor,
     ConstructorParameters=1,
-    JSNoStaticTables,
     ImplementationNamespace=WTF,
     ImplementationLacksVTable
 ] interface ArrayBuffer {
diff --git a/html/canvas/ArrayBufferView.idl b/html/canvas/ArrayBufferView.idl
index 3d6fae2..552927e 100644
--- a/html/canvas/ArrayBufferView.idl
+++ b/html/canvas/ArrayBufferView.idl
@@ -25,7 +25,6 @@
 
 [
     CustomToJSObject,
-    JSNoStaticTables,
     ImplementationNamespace=WTF
 ] interface ArrayBufferView {
     readonly attribute ArrayBuffer buffer;
diff --git a/html/canvas/CanvasRenderingContext.idl b/html/canvas/CanvasRenderingContext.idl
index c48e681..a340905 100644
--- a/html/canvas/CanvasRenderingContext.idl
+++ b/html/canvas/CanvasRenderingContext.idl
@@ -24,8 +24,6 @@
  */
 
 [
-    JSCustomMarkFunction,
-    JSGenerateIsReachable,
     CustomToJSObject
 ] interface CanvasRenderingContext {
     readonly attribute HTMLCanvasElement canvas;
diff --git a/html/canvas/DataView.idl b/html/canvas/DataView.idl
index 60f8fa7..ce5aef4 100644
--- a/html/canvas/DataView.idl
+++ b/html/canvas/DataView.idl
@@ -26,8 +26,7 @@
 [
     CustomConstructor,
     ConstructorParameters=3,
-    CustomToJSObject,
-    JSNoStaticTables
+    CustomToJSObject
 ] interface DataView : ArrayBufferView {
     // All these methods raise an exception if they would read or write beyond the end of the view.
 
@@ -49,9 +48,9 @@
         raises (DOMException);
 
     // Use custom code to handle NaN case for JSC.
-    [JSCustom, StrictTypeChecking] float getFloat32(in unsigned long byteOffset, in [Optional] boolean littleEndian)
+    [StrictTypeChecking] float getFloat32(in unsigned long byteOffset, in [Optional] boolean littleEndian)
         raises (DOMException);
-    [JSCustom, StrictTypeChecking] double getFloat64(in unsigned long byteOffset, in [Optional] boolean littleEndian)
+    [StrictTypeChecking] double getFloat64(in unsigned long byteOffset, in [Optional] boolean littleEndian)
         raises (DOMException);
 
     // We have to use custom code because our code generator does not support uint8_t type.
diff --git a/html/canvas/EXTDrawBuffers.idl b/html/canvas/EXTDrawBuffers.idl
index a164c88..364bdbb 100644
--- a/html/canvas/EXTDrawBuffers.idl
+++ b/html/canvas/EXTDrawBuffers.idl
@@ -27,7 +27,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor,
     DoNotCheckConstants
 ] interface EXTDrawBuffers {
diff --git a/html/canvas/EXTTextureFilterAnisotropic.idl b/html/canvas/EXTTextureFilterAnisotropic.idl
index 07668e7..88dac88 100644
--- a/html/canvas/EXTTextureFilterAnisotropic.idl
+++ b/html/canvas/EXTTextureFilterAnisotropic.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor,
     DoNotCheckConstants
 ] interface EXTTextureFilterAnisotropic {
diff --git a/html/canvas/Float32Array.idl b/html/canvas/Float32Array.idl
index 5b466c2..d6cb7b3 100644
--- a/html/canvas/Float32Array.idl
+++ b/html/canvas/Float32Array.idl
@@ -29,8 +29,6 @@
     ConstructorParameters=1,
     NumericIndexedGetter,
     CustomIndexedSetter,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     CustomToJSObject,
     DoNotCheckConstants,
     TypedArray=float,
diff --git a/html/canvas/Float64Array.idl b/html/canvas/Float64Array.idl
index 0f3a513..37fe7c1 100644
--- a/html/canvas/Float64Array.idl
+++ b/html/canvas/Float64Array.idl
@@ -29,8 +29,6 @@
     ConstructorParameters=1,
     NumericIndexedGetter,
     CustomIndexedSetter,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     CustomToJSObject,
     DoNotCheckConstants,
     TypedArray=double,
diff --git a/html/canvas/Int16Array.idl b/html/canvas/Int16Array.idl
index 44e23f5..7e2b90c 100644
--- a/html/canvas/Int16Array.idl
+++ b/html/canvas/Int16Array.idl
@@ -28,8 +28,6 @@
     ConstructorParameters=1,
     NumericIndexedGetter,
     CustomIndexedSetter,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     CustomToJSObject,
     DoNotCheckConstants,
     TypedArray=short,
diff --git a/html/canvas/Int32Array.idl b/html/canvas/Int32Array.idl
index 141cbd0..c5cbf20 100644
--- a/html/canvas/Int32Array.idl
+++ b/html/canvas/Int32Array.idl
@@ -29,8 +29,6 @@
     ConstructorParameters=1,
     NumericIndexedGetter,
     CustomIndexedSetter,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     CustomToJSObject,
     DoNotCheckConstants,
     TypedArray=int,
diff --git a/html/canvas/Int8Array.idl b/html/canvas/Int8Array.idl
index 1e2c990..8b2731f 100644
--- a/html/canvas/Int8Array.idl
+++ b/html/canvas/Int8Array.idl
@@ -29,8 +29,6 @@
     ConstructorParameters=1,
     NumericIndexedGetter,
     CustomIndexedSetter,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     CustomToJSObject,
     DoNotCheckConstants,
     TypedArray=signed char,
diff --git a/html/canvas/OESElementIndexUint.idl b/html/canvas/OESElementIndexUint.idl
index 41b4baa..374ee88 100644
--- a/html/canvas/OESElementIndexUint.idl
+++ b/html/canvas/OESElementIndexUint.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor
 ] interface OESElementIndexUint {
 };
diff --git a/html/canvas/OESStandardDerivatives.idl b/html/canvas/OESStandardDerivatives.idl
index c4eb48d..323e7c3 100644
--- a/html/canvas/OESStandardDerivatives.idl
+++ b/html/canvas/OESStandardDerivatives.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor,
     DoNotCheckConstants
 ] interface OESStandardDerivatives {
diff --git a/html/canvas/OESTextureFloat.idl b/html/canvas/OESTextureFloat.idl
index 2d1b3c5..129b2cb 100644
--- a/html/canvas/OESTextureFloat.idl
+++ b/html/canvas/OESTextureFloat.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor
 ] interface OESTextureFloat {
 };
diff --git a/html/canvas/OESTextureHalfFloat.idl b/html/canvas/OESTextureHalfFloat.idl
index 03a6723..abedc56 100644
--- a/html/canvas/OESTextureHalfFloat.idl
+++ b/html/canvas/OESTextureHalfFloat.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor
 ] interface OESTextureHalfFloat {
 };
\ No newline at end of file
diff --git a/html/canvas/OESVertexArrayObject.idl b/html/canvas/OESVertexArrayObject.idl
index f233906..a44e740 100644
--- a/html/canvas/OESVertexArrayObject.idl
+++ b/html/canvas/OESVertexArrayObject.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL, 
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor, 
     DoNotCheckConstants
 ] interface OESVertexArrayObject {
diff --git a/html/canvas/Uint16Array.idl b/html/canvas/Uint16Array.idl
index efa0b59..1fd90fe 100644
--- a/html/canvas/Uint16Array.idl
+++ b/html/canvas/Uint16Array.idl
@@ -29,8 +29,6 @@
     ConstructorParameters=1,
     NumericIndexedGetter,
     CustomIndexedSetter,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     CustomToJSObject,
     DoNotCheckConstants,
     TypedArray=unsigned short,
diff --git a/html/canvas/Uint32Array.idl b/html/canvas/Uint32Array.idl
index acfd7c6..5614a95 100644
--- a/html/canvas/Uint32Array.idl
+++ b/html/canvas/Uint32Array.idl
@@ -29,8 +29,6 @@
     ConstructorParameters=1,
     NumericIndexedGetter,
     CustomIndexedSetter,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     CustomToJSObject,
     DoNotCheckConstants,
     TypedArray=unsigned int,
diff --git a/html/canvas/Uint8Array.idl b/html/canvas/Uint8Array.idl
index 583d6c3..20bcca2 100644
--- a/html/canvas/Uint8Array.idl
+++ b/html/canvas/Uint8Array.idl
@@ -29,8 +29,6 @@
     ConstructorParameters=1,
     NumericIndexedGetter,
     CustomIndexedSetter,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     CustomToJSObject,
     DoNotCheckConstants,
     TypedArray=unsigned char,
diff --git a/html/canvas/Uint8ClampedArray.idl b/html/canvas/Uint8ClampedArray.idl
index 4ca932a..4f7775b 100644
--- a/html/canvas/Uint8ClampedArray.idl
+++ b/html/canvas/Uint8ClampedArray.idl
@@ -29,8 +29,6 @@
     ConstructorParameters=1,
     NumericIndexedGetter,
     CustomIndexedSetter,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     CustomToJSObject,
     DoNotCheckConstants,
     TypedArray=unsigned char,
diff --git a/html/canvas/WebGLCompressedTextureATC.idl b/html/canvas/WebGLCompressedTextureATC.idl
index a11b32b..76b0ba1 100644
--- a/html/canvas/WebGLCompressedTextureATC.idl
+++ b/html/canvas/WebGLCompressedTextureATC.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor,
     DoNotCheckConstants
 ] interface WebGLCompressedTextureATC {
diff --git a/html/canvas/WebGLCompressedTexturePVRTC.idl b/html/canvas/WebGLCompressedTexturePVRTC.idl
index 7494877..875ee29 100644
--- a/html/canvas/WebGLCompressedTexturePVRTC.idl
+++ b/html/canvas/WebGLCompressedTexturePVRTC.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor,
     DoNotCheckConstants
 ] interface WebGLCompressedTexturePVRTC {
diff --git a/html/canvas/WebGLCompressedTextureS3TC.idl b/html/canvas/WebGLCompressedTextureS3TC.idl
index 6642d28..024c4a9 100644
--- a/html/canvas/WebGLCompressedTextureS3TC.idl
+++ b/html/canvas/WebGLCompressedTextureS3TC.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor,
     DoNotCheckConstants
 ] interface WebGLCompressedTextureS3TC {
diff --git a/html/canvas/WebGLDebugRendererInfo.idl b/html/canvas/WebGLDebugRendererInfo.idl
index c7ae7f8..8c85501 100644
--- a/html/canvas/WebGLDebugRendererInfo.idl
+++ b/html/canvas/WebGLDebugRendererInfo.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor,
     DoNotCheckConstants
 ] interface WebGLDebugRendererInfo {
diff --git a/html/canvas/WebGLDebugShaders.idl b/html/canvas/WebGLDebugShaders.idl
index ed52d4d..c09da2f 100644
--- a/html/canvas/WebGLDebugShaders.idl
+++ b/html/canvas/WebGLDebugShaders.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor
 ] interface WebGLDebugShaders {
     [StrictTypeChecking, TreatReturnedNullStringAs=Null] DOMString getTranslatedShaderSource(in WebGLShader shader) raises(DOMException);
diff --git a/html/canvas/WebGLDepthTexture.idl b/html/canvas/WebGLDepthTexture.idl
index 45069ac..ebc5417 100644
--- a/html/canvas/WebGLDepthTexture.idl
+++ b/html/canvas/WebGLDepthTexture.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor,
     DoNotCheckConstants
 ] interface WebGLDepthTexture {
diff --git a/html/canvas/WebGLLoseContext.idl b/html/canvas/WebGLLoseContext.idl
index fcdd907..b89826e 100644
--- a/html/canvas/WebGLLoseContext.idl
+++ b/html/canvas/WebGLLoseContext.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL,
-    JSGenerateIsReachable=ImplContext,
     OmitConstructor
 ] interface WebGLLoseContext {
     [StrictTypeChecking] void loseContext();
diff --git a/html/canvas/WebGLRenderingContext.idl b/html/canvas/WebGLRenderingContext.idl
index 0ddc847..56610f4 100644
--- a/html/canvas/WebGLRenderingContext.idl
+++ b/html/canvas/WebGLRenderingContext.idl
@@ -40,7 +40,6 @@
 
 [
     Conditional=WEBGL,
-    JSCustomMarkFunction,
     DoNotCheckConstants
 ] interface WebGLRenderingContext : CanvasRenderingContext {
 
diff --git a/html/track/TextTrack.idl b/html/track/TextTrack.idl
index da355e2..97360b0 100644
--- a/html/track/TextTrack.idl
+++ b/html/track/TextTrack.idl
@@ -27,8 +27,6 @@
     Conditional=VIDEO_TRACK,
     V8EnabledAtRuntime=webkitVideoTrack,
     EventTarget,
-    JSCustomMarkFunction,
-    JSCustomIsReachable,
     V8SkipVTableValidation
 ] interface TextTrack {
     readonly attribute DOMString kind;
diff --git a/html/track/TextTrackCue.idl b/html/track/TextTrackCue.idl
index 3865adb..686f37f 100644
--- a/html/track/TextTrackCue.idl
+++ b/html/track/TextTrackCue.idl
@@ -26,12 +26,9 @@
 [
     Conditional=VIDEO_TRACK,
     V8EnabledAtRuntime=webkitVideoTrack,
-    JSGenerateToNativeObject,
     Constructor(in double startTime, in double endTime, in DOMString text),
     CallWith=ScriptExecutionContext,
     EventTarget,
-    JSCustomMarkFunction,
-    JSCustomIsReachable,
     ImplementationLacksVTable
 ] interface TextTrackCue {
     readonly attribute TextTrack track;
diff --git a/html/track/TextTrackList.idl b/html/track/TextTrackList.idl
index 0b0e450..d525332 100644
--- a/html/track/TextTrackList.idl
+++ b/html/track/TextTrackList.idl
@@ -28,8 +28,6 @@
     V8EnabledAtRuntime=webkitVideoTrack,
     IndexedGetter,
     EventTarget,
-    JSCustomMarkFunction,
-    JSCustomIsReachable,
     V8GenerateIsReachable=ImplOwnerRoot
 ] interface TextTrackList {
     readonly attribute unsigned long length;
diff --git a/html/track/TextTrackRegion.idl b/html/track/TextTrackRegion.idl
index 328166b..29fdf7a 100644
--- a/html/track/TextTrackRegion.idl
+++ b/html/track/TextTrackRegion.idl
@@ -26,7 +26,6 @@
 [
     Conditional=VIDEO_TRACK & WEBVTT_REGIONS,
     V8EnabledAtRuntime=webkitVideoTrack,
-    JSGenerateToNativeObject,
     Constructor()
 ] interface TextTrackRegion {
     readonly attribute TextTrack track;
diff --git a/inspector/CodeGeneratorInspector.py b/inspector/CodeGeneratorInspector.py
index 049e099..b43e2ec 100755
--- a/inspector/CodeGeneratorInspector.py
+++ b/inspector/CodeGeneratorInspector.py
@@ -46,7 +46,6 @@
     "Debugger": "JAVASCRIPT_DEBUGGER",
     "DOMDebugger": "JAVASCRIPT_DEBUGGER",
     "FileSystem": "FILE_SYSTEM",
-    "IndexedDB": "INDEXED_DATABASE",
     "Profiler": "JAVASCRIPT_DEBUGGER",
     "Worker": "WORKERS",
 }
diff --git a/inspector/CodeGeneratorInspectorStrings.py b/inspector/CodeGeneratorInspectorStrings.py
index f7204d1..a045604 100644
--- a/inspector/CodeGeneratorInspectorStrings.py
+++ b/inspector/CodeGeneratorInspectorStrings.py
@@ -102,8 +102,6 @@
 
 typedef String ErrorString;
 
-#if ENABLE(INSPECTOR)
-
 class InspectorFrontend {
 public:
     InspectorFrontend(InspectorFrontendChannel*);
@@ -113,8 +111,6 @@
 private:
 ${fieldDeclarations}};
 
-#endif // ENABLE(INSPECTOR)
-
 } // namespace WebCore
 #endif // !defined(InspectorFrontend_h)
 """)
@@ -123,10 +119,11 @@
 """#ifndef InspectorBackendDispatcher_h
 #define InspectorBackendDispatcher_h
 
+#include "InspectorTypeBuilder.h"
+
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefCounted.h>
 #include <wtf/text/WTFString.h>
-#include "InspectorTypeBuilder.h"
 
 namespace WebCore {
 
@@ -203,16 +200,13 @@
 """
 
 #include "config.h"
-
-#if ENABLE(INSPECTOR)
-
 #include "InspectorBackendDispatcher.h"
-#include <wtf/text/WTFString.h>
-#include <wtf/text/CString.h>
+
 
 #include "InspectorAgent.h"
-#include "InspectorValues.h"
 #include "InspectorFrontendChannel.h"
+#include "InspectorValues.h"
+#include <wtf/text/CString.h>
 #include <wtf/text/WTFString.h>
 
 namespace WebCore {
@@ -504,21 +498,18 @@
 
 } // namespace WebCore
 
-#endif // ENABLE(INSPECTOR)
 """)
 
 frontend_cpp = (
 """
 
 #include "config.h"
-#if ENABLE(INSPECTOR)
 
 #include "InspectorFrontend.h"
-#include <wtf/text/WTFString.h>
-#include <wtf/text/CString.h>
-
 #include "InspectorFrontendChannel.h"
 #include "InspectorValues.h"
+
+#include <wtf/text/CString.h>
 #include <wtf/text/WTFString.h>
 
 namespace WebCore {
@@ -531,7 +522,6 @@
 
 } // namespace WebCore
 
-#endif // ENABLE(INSPECTOR)
 """)
 
 typebuilder_h = (
@@ -539,9 +529,8 @@
 #ifndef InspectorTypeBuilder_h
 #define InspectorTypeBuilder_h
 
-#if ENABLE(INSPECTOR)
-
 #include "InspectorValues.h"
+
 #include <wtf/Assertions.h>
 #include <wtf/PassRefPtr.h>
 
@@ -831,8 +820,6 @@
 
 } // namespace WebCore
 
-#endif // ENABLE(INSPECTOR)
-
 #endif // !defined(InspectorTypeBuilder_h)
 
 """)
@@ -841,9 +828,9 @@
 """
 
 #include "config.h"
-#if ENABLE(INSPECTOR)
 
 #include "InspectorTypeBuilder.h"
+
 #include <wtf/text/CString.h>
 
 namespace WebCore {
@@ -883,7 +870,6 @@
 
 } // namespace WebCore
 
-#endif // ENABLE(INSPECTOR)
 """)
 
 backend_js = (
diff --git a/inspector/InjectedScriptHost.idl b/inspector/InjectedScriptHost.idl
index 6880f6f..7ece9d7 100644
--- a/inspector/InjectedScriptHost.idl
+++ b/inspector/InjectedScriptHost.idl
@@ -45,16 +45,7 @@
     [Custom] any functionDetails(in any object);
     [Custom] Array getInternalProperties(in any object);
     [Custom] Array getEventListeners(in Node node);
-
-    // FIXME: Remove evaluateReturnsEvalFunction once InjectedScriptHost returns eval in evaluate on V8. https://webkit.org/b/113134
-    readonly attribute boolean evaluateReturnsEvalFunction;
-
-#if defined(V8_BINDING) && V8_BINDING
     [Custom] any evaluate(in DOMString text);
-#else
-    [Custom] readonly attribute any evaluate;
-#endif
-
     [Custom] DOMString databaseId(in any database);
     [Custom] DOMString storageId(in any storage);
 
diff --git a/inspector/Inspector.json b/inspector/Inspector.json
index 29deb19..0e39e3e 100644
--- a/inspector/Inspector.json
+++ b/inspector/Inspector.json
@@ -307,14 +307,6 @@
                 "hidden": true
             },
             {
-                "name": "canOverrideDeviceMetrics",
-                "description": "Checks whether <code>setDeviceMetricsOverride</code> can be invoked.",
-                "returns": [
-                    { "name": "result", "type": "boolean", "description": "If true, <code>setDeviceMetricsOverride</code> can safely be invoked on the agent." }
-                ],
-                "hidden": true
-            },
-            {
                 "name": "setDeviceMetricsOverride",
                 "description": "Overrides the values of device screen dimensions (window.screen.width, window.screen.height, window.innerWidth, window.innerHeight, and \"device-width\"/\"device-height\"-related CSS media query results) and the font scale factor.",
                 "parameters": [
@@ -334,14 +326,6 @@
                 "hidden": true
             },
             {
-                "name": "canShowDebugBorders",
-                "description": "Tells if backend supports debug borders on layers",
-                "returns": [
-                    { "name": "show", "type": "boolean", "description": "True if the debug borders can be shown" }
-                ],
-                "hidden": true
-            },
-            {
                 "name": "setShowDebugBorders",
                 "description": "Requests that backend shows debug borders on layers",
                 "parameters": [
@@ -2679,22 +2663,6 @@
             {
                 "name": "stop",
                 "description": "Stops capturing instrumentation events."
-            },
-            {
-                "name": "supportsFrameInstrumentation",
-                "returns": [
-                    { "name": "result", "type": "boolean", "description": "True if timeline supports frame instrumentation." }
-                ],
-                "hidden": true,
-                "description": "Tells whether timeline agent supports frame instrumentation."
-            },
-            {
-                "name": "canMonitorMainThread",
-                "returns": [
-                    { "name": "result", "type": "boolean", "description": "True if timeline supports main thread CPU utilization instrumentation." }
-                ],
-                "hidden": true,
-                "description": "Tells whether timeline agent supports main thread CPU utilization instrumentation."
             }
         ],
         "events": [
@@ -2773,22 +2741,6 @@
         ],
         "commands": [
             {
-                "name": "causesRecompilation",
-                "returns": [
-                    { "name": "result", "type": "boolean", "description": "True if enabling debugger causes scripts recompilation." }
-                ],
-                "hidden": true,
-                "description": "Tells whether enabling debugger causes scripts recompilation."
-            },
-            {
-                "name": "supportsSeparateScriptCompilationAndExecution",
-                "returns": [
-                    { "name": "result", "type": "boolean", "description": "True if debugger supports separate script compilation and execution." }
-                ],
-                "hidden": true,
-                "description": "Tells whether debugger supports separate script compilation and execution."
-            },
-            {
                 "name": "enable",
                 "description": "Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received."
             },
@@ -2882,7 +2834,7 @@
                 "returns": [
                     { "name": "result", "type": "boolean", "description": "True if <code>setScriptSource</code> is supported." }
                 ],
-                "description": "Tells whether <code>setScriptSource</code> is supported."
+                "description": "Always returns true."
             },
             {
                 "name": "setScriptSource",
@@ -3181,24 +3133,6 @@
         ],
         "commands": [
             {
-                "name": "causesRecompilation",
-                "returns": [
-                    { "name": "result", "type": "boolean" }
-                ]
-            },
-            {
-                "name": "isSampling",
-                "returns": [
-                    { "name": "result", "type": "boolean" }
-                ]
-            },
-            {
-                "name": "hasHeapProfiler",
-                "returns": [
-                    { "name": "result", "type": "boolean" }
-                ]
-            },
-            {
                 "name": "enable"
             },
             {
@@ -3330,12 +3264,6 @@
         ],
         "commands": [
             {
-                "name": "hasHeapProfiler",
-                "returns": [
-                    { "name": "result", "type": "boolean" }
-                ]
-            },
-            {
                 "name": "getProfileHeaders",
                 "returns": [
                     { "name": "headers", "type": "array", "items": { "$ref": "ProfileHeader"} }
diff --git a/inspector/compile-front-end.py b/inspector/compile-front-end.py
index fecaea4..34b9c67 100755
--- a/inspector/compile-front-end.py
+++ b/inspector/compile-front-end.py
@@ -137,7 +137,6 @@
             "KeyboardShortcut.js",
             "OverviewGrid.js",
             "Panel.js",
-            "PanelEnablerView.js",
             "Placard.js",
             "Popover.js",
             "ProgressIndicator.js",
diff --git a/loader/appcache/DOMApplicationCache.idl b/loader/appcache/DOMApplicationCache.idl
index a848654..e387740 100644
--- a/loader/appcache/DOMApplicationCache.idl
+++ b/loader/appcache/DOMApplicationCache.idl
@@ -22,12 +22,11 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
- 
+
 [
     EventTarget,
     OmitConstructor,
-    DoNotCheckConstants,
-    JSGenerateIsReachable=ImplFrame
+    DoNotCheckConstants
 ] interface DOMApplicationCache {
     // update status
     const unsigned short UNCACHED = 0;
diff --git a/page/BarInfo.idl b/page/BarInfo.idl
index a7dc091..4ddb7c6 100644
--- a/page/BarInfo.idl
+++ b/page/BarInfo.idl
@@ -27,7 +27,6 @@
  */
 
 [
-    JSGenerateIsReachable=ImplFrame,
     OmitConstructor
 ] interface BarInfo {
     readonly attribute boolean visible;
diff --git a/page/Console.idl b/page/Console.idl
index faefd6b..294e5ba 100644
--- a/page/Console.idl
+++ b/page/Console.idl
@@ -27,7 +27,6 @@
  */
 
 [
-    JSGenerateIsReachable=ImplFrame,
     OmitConstructor
 ] interface Console {
 
diff --git a/page/DOMSecurityPolicy.idl b/page/DOMSecurityPolicy.idl
index 2e17fb7..f8b47c8 100644
--- a/page/DOMSecurityPolicy.idl
+++ b/page/DOMSecurityPolicy.idl
@@ -23,7 +23,6 @@
  */
 
 [
-    Conditional=CSP_NEXT,
     OmitConstructor,
     InterfaceName=SecurityPolicy
 ] interface DOMSecurityPolicy {
diff --git a/page/DOMSelection.idl b/page/DOMSelection.idl
index ee6979a..5d10908 100644
--- a/page/DOMSelection.idl
+++ b/page/DOMSelection.idl
@@ -30,7 +30,6 @@
 // This is based off of Mozilla's Selection interface
 // https://developer.mozilla.org/En/DOM/Selection
 [
-    JSGenerateIsReachable=ImplFrame,
     InterfaceName=Selection
 ] interface DOMSelection {
     readonly attribute Node anchorNode;
diff --git a/page/DOMWindow.idl b/page/DOMWindow.idl
index e1ab0ca..81e5da6 100644
--- a/page/DOMWindow.idl
+++ b/page/DOMWindow.idl
@@ -26,18 +26,13 @@
 
 [
     CheckSecurity,
-    JSCustomDefineOwnProperty,
     CustomDeleteProperty,
     CustomGetOwnPropertySlot,
     CustomEnumerateProperty,
-    JSCustomMarkFunction,
-    JSCustomToNativeObject,
     CustomPutFunction,
     EventTarget,
     ExtendsDOMGlobalObject,
-    JSGenerateToNativeObject,
     ReplaceableConstructor,
-    JSLegacyParent=JSDOMWindowBase,
     V8CustomToJSObject,
     V8NoWrapperCache,
     V8CustomIndexedGetter,
@@ -478,8 +473,8 @@
     [Conditional=MICRODATA] attribute HTMLPropertiesCollectionConstructor HTMLPropertiesCollection;
     attribute HTMLUnknownElementConstructor HTMLUnknownElement;
 
-    [JSCustomGetter, CustomConstructor] attribute HTMLImageElementConstructorConstructor Image; // Usable with new operator
-    [JSCustomGetter] attribute HTMLOptionElementConstructorConstructor Option; // Usable with new operator
+    [CustomConstructor] attribute HTMLImageElementConstructorConstructor Image; // Usable with new operator
+    attribute HTMLOptionElementConstructorConstructor Option; // Usable with new operator
 
     [Conditional=ENCRYPTED_MEDIA, V8EnabledAtRuntime=encryptedMedia] attribute MediaKeyEventConstructor MediaKeyEvent;
     attribute [Conditional=ENCRYPTED_MEDIA_V2, V8EnabledAtRuntime=encryptedMedia] MediaKeysConstructor MediaKeys;
@@ -495,7 +490,7 @@
     [Conditional=VIDEO_TRACK & WEBVTT_REGIONS, V8EnabledAtRuntime=webkitVideoTrack] attribute TextTrackRegionConstructor TextTrackRegion; // Usable with the new operator
     [Conditional=VIDEO_TRACK, V8EnabledAtRuntime=webkitVideoTrack] attribute TrackEventConstructor TrackEvent;
 
-    [JSCustomGetter, Conditional=VIDEO, V8EnabledAtRuntime] attribute HTMLAudioElementConstructorConstructor Audio; // Usable with the new operator
+    [Conditional=VIDEO, V8EnabledAtRuntime] attribute HTMLAudioElementConstructorConstructor Audio; // Usable with the new operator
     [Conditional=VIDEO, V8EnabledAtRuntime] attribute HTMLAudioElementConstructor HTMLAudioElement;
     [Conditional=VIDEO, V8EnabledAtRuntime] attribute HTMLMediaElementConstructor HTMLMediaElement;
     [Conditional=VIDEO, V8EnabledAtRuntime] attribute HTMLVideoElementConstructor HTMLVideoElement;
@@ -570,7 +565,7 @@
     [Conditional=WEBGL] attribute WebGLContextEventConstructor WebGLContextEvent;
     [Conditional=PROXIMITY_EVENTS] attribute DeviceProximityEventConstructor DeviceProximityEvent;
     [Conditional=REQUEST_AUTOCOMPLETE] attribute AutocompleteErrorEventConstructor AutocompleteErrorEvent;
-    [Conditional=CSP_NEXT, V8EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] attribute SecurityPolicyViolationEventConstructor SecurityPolicyViolationEvent;
+    [V8EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] attribute SecurityPolicyViolationEventConstructor SecurityPolicyViolationEvent;
 
     attribute EventExceptionConstructor EventException;
 
@@ -585,7 +580,7 @@
     attribute ClipboardConstructor Clipboard;
 
     [Conditional=WORKERS] attribute WorkerConstructor Worker; // Usable with the new operator
-    [Conditional=SHARED_WORKERS, JSCustomGetter, V8EnabledAtRuntime] attribute SharedWorkerConstructor SharedWorker; // Usable with the new operator
+    [Conditional=SHARED_WORKERS, V8EnabledAtRuntime] attribute SharedWorkerConstructor SharedWorker; // Usable with the new operator
 
     attribute FileConstructor File;
     attribute FileListConstructor FileList;
@@ -797,9 +792,9 @@
     attribute MutationObserverConstructor WebKitMutationObserver; // FIXME: Add metrics to determine when we can remove this.
     attribute MutationObserverConstructor MutationObserver;
 
-    [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] attribute MediaSourceConstructor WebKitMediaSource;
-    [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] attribute SourceBufferConstructor WebKitSourceBuffer;
-    [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] attribute SourceBufferListConstructor WebKitSourceBufferList;
+    [V8EnabledAtRuntime=mediaSource] attribute MediaSourceConstructor WebKitMediaSource;
+    [V8EnabledAtRuntime=mediaSource] attribute SourceBufferConstructor WebKitSourceBuffer;
+    [V8EnabledAtRuntime=mediaSource] attribute SourceBufferListConstructor WebKitSourceBufferList;
 
 #endif // defined(LANGUAGE_JAVASCRIPT)
 
diff --git a/page/EventSource.idl b/page/EventSource.idl
index 6dcf2d6..8af0799 100644
--- a/page/EventSource.idl
+++ b/page/EventSource.idl
@@ -34,8 +34,7 @@
     Constructor(in DOMString url, in [Optional] Dictionary eventSourceInit),
     CallWith=ScriptExecutionContext,
     ConstructorRaisesException,
-    EventTarget,
-    JSNoStaticTables
+    EventTarget
 ] interface EventSource {
 
     readonly attribute DOMString URL; // Lowercased .url is the one in the spec, but leaving .URL for compatibility reasons.
diff --git a/page/History.idl b/page/History.idl
index 99a9dbe..aa891c0 100644
--- a/page/History.idl
+++ b/page/History.idl
@@ -27,9 +27,7 @@
 #if defined(V8_BINDING) && V8_BINDING
     CheckSecurity,
 #endif
-    JSCustomGetOwnPropertySlotAndDescriptor,
     CustomNamedSetter,
-    JSGenerateIsReachable=ImplFrame,
     CustomDeleteProperty,
     CustomEnumerateProperty,
     OmitConstructor
diff --git a/page/Location.idl b/page/Location.idl
index 8b03f77..c9443e2 100644
--- a/page/Location.idl
+++ b/page/Location.idl
@@ -30,14 +30,9 @@
 #if defined(V8_BINDING) && V8_BINDING
     CheckSecurity,
 #endif
-    JSCustomGetOwnPropertySlotAndDescriptor,
     CustomNamedSetter,
-    JSGenerateIsReachable=ImplFrame,
     CustomDeleteProperty,
     CustomEnumerateProperty,
-    JSCustomDefineOwnProperty,
-    JSCustomNamedGetterOnPrototype,
-    JSCustomDefineOwnPropertyOnPrototype,
     OmitConstructor
 ] interface Location {
 #if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
diff --git a/page/MemoryInfo.idl b/page/MemoryInfo.idl
index 4e31749..12f88bc 100644
--- a/page/MemoryInfo.idl
+++ b/page/MemoryInfo.idl
@@ -35,7 +35,7 @@
 
     readonly attribute unsigned long totalJSHeapSize;
     readonly attribute unsigned long usedJSHeapSize;
-    [JSCustomGetter] readonly attribute unsigned long jsHeapSizeLimit;
+    readonly attribute unsigned long jsHeapSizeLimit;
 
 };
 
diff --git a/page/Navigator.idl b/page/Navigator.idl
index 0c676eb..8f1838a 100644
--- a/page/Navigator.idl
+++ b/page/Navigator.idl
@@ -18,7 +18,6 @@
 */
 
 [
-    JSGenerateIsReachable=ImplFrame,
     OmitConstructor
 ] interface Navigator {
     readonly attribute DOMString appCodeName;
diff --git a/page/Screen.idl b/page/Screen.idl
index ee3cc30..0a06fa8 100644
--- a/page/Screen.idl
+++ b/page/Screen.idl
@@ -28,7 +28,6 @@
 
 
 [
-    JSGenerateIsReachable=ImplFrame,
     OmitConstructor
 ] interface Screen {
     readonly attribute unsigned long height;
diff --git a/page/WorkerNavigator.idl b/page/WorkerNavigator.idl
index c37e200..03d9c79 100644
--- a/page/WorkerNavigator.idl
+++ b/page/WorkerNavigator.idl
@@ -28,8 +28,6 @@
 
 [
     Conditional=WORKERS,
-    JSGenerateIsReachable=Impl,
-    JSNoStaticTables,
     OmitConstructor
 ] interface WorkerNavigator {
     readonly attribute DOMString appName;
diff --git a/plugins/DOMMimeTypeArray.idl b/plugins/DOMMimeTypeArray.idl
index 0c24c5b..327c55b 100644
--- a/plugins/DOMMimeTypeArray.idl
+++ b/plugins/DOMMimeTypeArray.idl
@@ -19,7 +19,6 @@
 */
 
 [
-    JSGenerateIsReachable=ImplFrame,
     NamedGetter,
     IndexedGetter,
     InterfaceName=MimeTypeArray
diff --git a/plugins/DOMPluginArray.idl b/plugins/DOMPluginArray.idl
index ef4708b..e38c927 100644
--- a/plugins/DOMPluginArray.idl
+++ b/plugins/DOMPluginArray.idl
@@ -19,7 +19,6 @@
 */
 
 [
-    JSGenerateIsReachable=ImplFrame,
     NamedGetter,
     IndexedGetter,
     InterfaceName=PluginArray
diff --git a/storage/Storage.idl b/storage/Storage.idl
index 98c3b42..8097db6 100644
--- a/storage/Storage.idl
+++ b/storage/Storage.idl
@@ -25,7 +25,6 @@
 
 [
     NamedGetter,
-    JSGenerateIsReachable=ImplFrame,
     CustomDeleteProperty,
     CustomEnumerateProperty,
     V8CustomIndexedGetter,
diff --git a/svg/SVGElement.idl b/svg/SVGElement.idl
index ae35f3f..9f2d0b8 100644
--- a/svg/SVGElement.idl
+++ b/svg/SVGElement.idl
@@ -21,7 +21,6 @@
  */
 
 [
-    JSGenerateToNativeObject,
     Conditional=SVG,
     V8CustomToJSObject
 ] interface SVGElement : Element {
diff --git a/svg/SVGElementInstance.idl b/svg/SVGElementInstance.idl
index 0ef01c9..7d2a2bc 100644
--- a/svg/SVGElementInstance.idl
+++ b/svg/SVGElementInstance.idl
@@ -26,9 +26,6 @@
 
 [
     Conditional=SVG,
-    JSCustomMarkFunction,
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject,
     EventTarget
 ] interface SVGElementInstance
 #if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
diff --git a/svg/SVGViewSpec.idl b/svg/SVGViewSpec.idl
index cd33f4b..8c0f1de 100644
--- a/svg/SVGViewSpec.idl
+++ b/svg/SVGViewSpec.idl
@@ -26,8 +26,7 @@
 // SVGViewSpec intentionally doesn't inherit from SVGZoomAndPan & SVGFitToViewBox on the IDLs.
 // It would require that any of those classes would be RefCounted, and we want to avoid that.
 [
-    Conditional=SVG,
-    JSGenerateToJSObject
+    Conditional=SVG
 ] interface SVGViewSpec {
       readonly attribute SVGTransformList transform;
       readonly attribute SVGElement viewTarget;
diff --git a/testing/InternalSettings.idl b/testing/InternalSettings.idl
index 9b9de38..25d4539 100644
--- a/testing/InternalSettings.idl
+++ b/testing/InternalSettings.idl
@@ -24,8 +24,7 @@
  */
 
 [
-    OmitConstructor,
-    JSGenerateToJSObject
+    OmitConstructor
 ] interface InternalSettings : InternalSettingsGenerated {
     void setMockScrollbarsEnabled(in boolean enabled) raises(DOMException);
     void setTouchEventEmulationEnabled(in boolean enabled) raises(DOMException);
diff --git a/testing/Internals.idl b/testing/Internals.idl
index a44e24e..3df2f4b 100644
--- a/testing/Internals.idl
+++ b/testing/Internals.idl
@@ -232,12 +232,10 @@
     void setHeaderHeight(in Document document, in float height);
     void setFooterHeight(in Document document, in float height);
 
-#if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
     void webkitWillEnterFullScreenForElement(in Document document, in Element element);
     void webkitDidEnterFullScreenForElement(in Document document, in Element element);
     void webkitWillExitFullScreenForElement(in Document document, in Element element);
     void webkitDidExitFullScreenForElement(in Document document, in Element element);
-#endif
 
     void registerURLSchemeAsBypassingContentSecurityPolicy(in DOMString scheme);
     void removeURLSchemeRegisteredAsBypassingContentSecurityPolicy(in DOMString scheme);
@@ -271,4 +269,6 @@
     [Conditional=SPEECH_SYNTHESIS] void enableMockSpeechSynthesizer();
 
     DOMString getImageSourceURL(in Element element) raises(DOMException);
+
+    boolean isSelectPopupVisible(in Node node);
 };
diff --git a/workers/AbstractWorker.idl b/workers/AbstractWorker.idl
index 643fa95..55e7df3 100644
--- a/workers/AbstractWorker.idl
+++ b/workers/AbstractWorker.idl
@@ -32,7 +32,6 @@
 [
     Conditional=WORKERS,
     ActiveDOMObject,
-    JSCustomToJSObject,
     EventTarget
 ] interface AbstractWorker {
 
diff --git a/workers/DedicatedWorkerContext.idl b/workers/DedicatedWorkerContext.idl
index 72bcc03..2333570 100644
--- a/workers/DedicatedWorkerContext.idl
+++ b/workers/DedicatedWorkerContext.idl
@@ -32,8 +32,6 @@
     Conditional=WORKERS,
     ExtendsDOMGlobalObject,
     IsWorkerContext,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     OmitConstructor
 ] interface DedicatedWorkerContext : WorkerContext {
 
diff --git a/workers/SharedWorker.idl b/workers/SharedWorker.idl
index 3680ec1..1f2e845 100644
--- a/workers/SharedWorker.idl
+++ b/workers/SharedWorker.idl
@@ -31,13 +31,9 @@
 
 [
     Conditional=SHARED_WORKERS,
-    JSCustomConstructor,
     Constructor(in DOMString scriptURL, in [Optional=DefaultIsNullString] DOMString name),
     CallWith=ScriptExecutionContext,
-    ConstructorRaisesException,
-    JSCustomMarkFunction,
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject
+    ConstructorRaisesException
 ] interface SharedWorker : AbstractWorker {
     readonly attribute MessagePort port;
 };
diff --git a/workers/SharedWorkerContext.idl b/workers/SharedWorkerContext.idl
index 2d57ebb..e411976 100644
--- a/workers/SharedWorkerContext.idl
+++ b/workers/SharedWorkerContext.idl
@@ -32,8 +32,6 @@
     Conditional=SHARED_WORKERS,
     ExtendsDOMGlobalObject,
     IsWorkerContext,
-    JSGenerateToNativeObject,
-    JSNoStaticTables,
     OmitConstructor
 ] interface SharedWorkerContext : WorkerContext {
 
diff --git a/workers/Worker.idl b/workers/Worker.idl
index 09ba5c0..2f06067 100644
--- a/workers/Worker.idl
+++ b/workers/Worker.idl
@@ -27,12 +27,9 @@
 
 [
     Conditional=WORKERS,
-    JSCustomConstructor,
     Constructor(in DOMString scriptUrl),
     CallWith=ScriptExecutionContext,
-    ConstructorRaisesException,
-    JSGenerateToNativeObject,
-    JSGenerateToJSObject
+    ConstructorRaisesException
 ] interface Worker : AbstractWorker {
 
     attribute EventListener onmessage;
diff --git a/workers/WorkerContext.idl b/workers/WorkerContext.idl
index eec9b7f..fefb13c 100644
--- a/workers/WorkerContext.idl
+++ b/workers/WorkerContext.idl
@@ -26,13 +26,9 @@
 
 [
     Conditional=WORKERS,
-    JSCustomMarkFunction,
-    JSCustomGetOwnPropertySlotAndDescriptor,
     EventTarget,
     ExtendsDOMGlobalObject,
     IsWorkerContext,
-    JSLegacyParent=JSWorkerContextBase,
-    JSNoStaticTables,
     OmitConstructor,
     V8CustomToJSObject,
     V8NoWrapperCache
@@ -73,10 +69,10 @@
     attribute WorkerLocationConstructor WorkerLocation;
 
 #if defined(ENABLE_CHANNEL_MESSAGING) && ENABLE_CHANNEL_MESSAGING
-    [JSCustomGetter] attribute MessageChannelConstructor MessageChannel;
+    attribute MessageChannelConstructor MessageChannel;
 #endif
-    [JSCustomGetter] attribute EventSourceConstructor EventSource;
-    [JSCustomGetter] attribute XMLHttpRequestConstructor XMLHttpRequest;
+    attribute EventSourceConstructor EventSource;
+    attribute XMLHttpRequestConstructor XMLHttpRequest;
 #endif
 
 #if defined(ENABLE_BLOB) && ENABLE_BLOB
diff --git a/workers/WorkerLocation.idl b/workers/WorkerLocation.idl
index 5c9ddfa..fd4b977 100644
--- a/workers/WorkerLocation.idl
+++ b/workers/WorkerLocation.idl
@@ -28,8 +28,6 @@
 
 [
     Conditional=WORKERS,
-    JSGenerateIsReachable=Impl,
-    JSNoStaticTables,
     ImplementationLacksVTable
 ] interface WorkerLocation {
     readonly attribute DOMString href;
diff --git a/xml/XMLHttpRequest.idl b/xml/XMLHttpRequest.idl
index 51c2b28..3266362 100644
--- a/xml/XMLHttpRequest.idl
+++ b/xml/XMLHttpRequest.idl
@@ -41,9 +41,7 @@
     Constructor,
     CallWith=ScriptExecutionContext,
     V8CustomConstructor,
-    JSCustomMarkFunction,
-    EventTarget,
-    JSNoStaticTables
+    EventTarget
 ] interface XMLHttpRequest {
     // From XMLHttpRequestEventTarget
     // event handler attributes
diff --git a/xml/XMLHttpRequestException.idl b/xml/XMLHttpRequestException.idl
index 540f282..16e2846 100644
--- a/xml/XMLHttpRequestException.idl
+++ b/xml/XMLHttpRequestException.idl
@@ -27,7 +27,6 @@
  */
 
 [
-    JSNoStaticTables,
     DoNotCheckConstants,
     ImplementationLacksVTable
 ] exception XMLHttpRequestException {
diff --git a/xml/XMLHttpRequestProgressEvent.idl b/xml/XMLHttpRequestProgressEvent.idl
index 5ed5c21..cd0f45b 100644
--- a/xml/XMLHttpRequestProgressEvent.idl
+++ b/xml/XMLHttpRequestProgressEvent.idl
@@ -23,10 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-[
-    JSNoStaticTables
 // We should also inherit from LSProgressEvent when the idl is added.
-] interface XMLHttpRequestProgressEvent : ProgressEvent {
+interface XMLHttpRequestProgressEvent : ProgressEvent {
      readonly attribute unsigned long long position;
      readonly attribute unsigned long long totalSize;
 };
diff --git a/xml/XMLHttpRequestUpload.idl b/xml/XMLHttpRequestUpload.idl
index 61031df..f4b8527 100644
--- a/xml/XMLHttpRequestUpload.idl
+++ b/xml/XMLHttpRequestUpload.idl
@@ -27,9 +27,7 @@
  */
 
 [
-    JSGenerateIsReachable=Impl,
-    EventTarget,
-    JSNoStaticTables
+    EventTarget
 ] interface XMLHttpRequestUpload {
     // From XMLHttpRequestEventTarget
     // event handler attributes
diff --git a/xml/XPathResult.idl b/xml/XPathResult.idl
index 6fa77c8..6534f4a 100644
--- a/xml/XPathResult.idl
+++ b/xml/XPathResult.idl
@@ -18,7 +18,6 @@
  */
 
 [
-    JSCustomMarkFunction,
     ImplementationLacksVTable
 ] interface XPathResult {
     const unsigned short ANY_TYPE                       = 0;