diff --git a/ghcjs-dom.cabal b/ghcjs-dom.cabal
--- a/ghcjs-dom.cabal
+++ b/ghcjs-dom.cabal
@@ -1,5 +1,5 @@
 name: ghcjs-dom
-version: 0.0.1
+version: 0.0.2
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
@@ -39,7 +39,7 @@
           GHCJS.DOM
           GHCJS.DOM.Types
           GHCJS.DOM.Attr
-          GHCJS.DOM.BarInfo
+          GHCJS.DOM.BarProp
           GHCJS.DOM.Blob
           GHCJS.DOM.CharacterData
           GHCJS.DOM.Console
@@ -55,12 +55,14 @@
           GHCJS.DOM.DOMImplementation
           GHCJS.DOM.DOMMimeType
           GHCJS.DOM.DOMMimeTypeArray
+          GHCJS.DOM.DOMNamedFlowCollection
           GHCJS.DOM.DOMPlugin
           GHCJS.DOM.DOMPluginArray
           GHCJS.DOM.DOMSelection
           GHCJS.DOM.DOMSettableTokenList
           GHCJS.DOM.DOMTokenList
           GHCJS.DOM.DOMWindow
+          GHCJS.DOM.DOMWindowCSS
           GHCJS.DOM.Element
           GHCJS.DOM.Event
           GHCJS.DOM.EventM
@@ -125,10 +127,10 @@
           GHCJS.DOM.HTMLTextAreaElement
           GHCJS.DOM.HTMLTitleElement
           GHCJS.DOM.HTMLUListElement
+          GHCJS.DOM.KeyboardEvent
           GHCJS.DOM.Location
           GHCJS.DOM.MediaList
           GHCJS.DOM.MediaQueryList
-          GHCJS.DOM.MemoryInfo
           GHCJS.DOM.MouseEvent
           GHCJS.DOM.NamedNodeMap
           GHCJS.DOM.Navigator
@@ -152,7 +154,6 @@
           GHCJS.DOM.ValidityState
           GHCJS.DOM.WebKitNamedFlow
           GHCJS.DOM.WebKitPoint
-          GHCJS.DOM.Window
           GHCJS.DOM.XPathExpression
           GHCJS.DOM.XPathNSResolver
           GHCJS.DOM.XPathResult
@@ -181,9 +182,9 @@
         cpp-options: -DUSE_WEBKIT
         build-depends:  glib >=0.12.3.1 && <0.13, transformers >=0.3.0.0 && <0.4
         if flag(gtk3)
-            build-depends: gtk3 >=0.12.4 && <0.13, webkitgtk3 >=0.12.5 && <0.13
+            build-depends: gtk3 >=0.12.4 && <0.13, webkitgtk3 >=0.12.5.1 && <0.13
         else
-            build-depends: gtk >=0.12.4 && <0.13, webkit >=0.12.5 && <0.13
+            build-depends: gtk >=0.12.4 && <0.13, webkit >=0.12.5.1 && <0.13
         c-sources:      cbits/ghcjs_stubs.c
 
     hs-source-dirs: src
diff --git a/src/GHCJS/DOM/BarInfo.hs b/src/GHCJS/DOM/BarInfo.hs
deleted file mode 100644
--- a/src/GHCJS/DOM/BarInfo.hs
+++ /dev/null
@@ -1,37 +0,0 @@
-{-# LANGUAGE CPP #-}
-#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
-{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
-module GHCJS.DOM.BarInfo
-       (ghcjs_dom_bar_info_get_visible, barInfoGetVisible) where
-import GHCJS.Types
-import GHCJS.Foreign
-import Data.Word
-import GHCJS.DOM.Types
-import Control.Applicative ((<$>))
-import GHCJS.DOM.EventM
-import GHCJS.Types
-import GHCJS.Foreign
-import Data.Word
-import GHCJS.DOM.Types
-import Control.Applicative ((<$>))
-import GHCJS.DOM.EventM
-
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "($1[\"visible\"] ? 1 : 0)"
-        ghcjs_dom_bar_info_get_visible :: JSRef BarInfo -> IO Bool
-#else 
-ghcjs_dom_bar_info_get_visible :: JSRef BarInfo -> IO Bool
-ghcjs_dom_bar_info_get_visible = undefined
-#endif
- 
-barInfoGetVisible :: (IsBarInfo self) => self -> IO Bool
-barInfoGetVisible self
-  = ghcjs_dom_bar_info_get_visible (unBarInfo (toBarInfo self))
-#else
-module GHCJS.DOM.BarInfo (
-  module Graphics.UI.Gtk.WebKit.DOM.BarInfo
-  ) where
-import Graphics.UI.Gtk.WebKit.DOM.BarInfo
-#endif
diff --git a/src/GHCJS/DOM/BarProp.hs b/src/GHCJS/DOM/BarProp.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/BarProp.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.BarProp
+       (ghcjs_dom_bar_prop_get_visible, barPropGetVisible) where
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.DOM.EventM
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.DOM.EventM
+
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"visible\"] ? 1 : 0)"
+        ghcjs_dom_bar_prop_get_visible :: JSRef BarProp -> IO Bool
+#else 
+ghcjs_dom_bar_prop_get_visible :: JSRef BarProp -> IO Bool
+ghcjs_dom_bar_prop_get_visible = undefined
+#endif
+ 
+barPropGetVisible :: (IsBarProp self) => self -> IO Bool
+barPropGetVisible self
+  = ghcjs_dom_bar_prop_get_visible (unBarProp (toBarProp self))
+#else
+module GHCJS.DOM.BarProp (
+  module Graphics.UI.Gtk.WebKit.DOM.BarProp
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.BarProp
+#endif
diff --git a/src/GHCJS/DOM/CSSStyleDeclaration.hs b/src/GHCJS/DOM/CSSStyleDeclaration.hs
--- a/src/GHCJS/DOM/CSSStyleDeclaration.hs
+++ b/src/GHCJS/DOM/CSSStyleDeclaration.hs
@@ -4,8 +4,6 @@
 module GHCJS.DOM.CSSStyleDeclaration
        (ghcjs_dom_css_style_declaration_get_property_value,
         cssStyleDeclarationGetPropertyValue,
-        ghcjs_dom_css_style_declaration_get_property_css_value,
-        cssStyleDeclarationGetPropertyCSSValue,
         ghcjs_dom_css_style_declaration_remove_property,
         cssStyleDeclarationRemoveProperty,
         ghcjs_dom_css_style_declaration_get_property_priority,
@@ -59,27 +57,6 @@
 cssStyleDeclarationGetPropertyValue self propertyName
   = fromJSString <$>
       (ghcjs_dom_css_style_declaration_get_property_value
-         (unCSSStyleDeclaration (toCSSStyleDeclaration self))
-         (toJSString propertyName))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"getPropertyCSSValue\"]($2)"
-        ghcjs_dom_css_style_declaration_get_property_css_value ::
-        JSRef CSSStyleDeclaration -> JSString -> IO (JSRef CSSValue)
-#else 
-ghcjs_dom_css_style_declaration_get_property_css_value ::
-                                                         JSRef CSSStyleDeclaration ->
-                                                           JSString -> IO (JSRef CSSValue)
-ghcjs_dom_css_style_declaration_get_property_css_value = undefined
-#endif
- 
-cssStyleDeclarationGetPropertyCSSValue ::
-                                       (IsCSSStyleDeclaration self, ToJSString propertyName) =>
-                                         self -> propertyName -> IO (Maybe CSSValue)
-cssStyleDeclarationGetPropertyCSSValue self propertyName
-  = fmap CSSValue . maybeJSNull <$>
-      (ghcjs_dom_css_style_declaration_get_property_css_value
          (unCSSStyleDeclaration (toCSSStyleDeclaration self))
          (toJSString propertyName))
 
diff --git a/src/GHCJS/DOM/Console.hs b/src/GHCJS/DOM/Console.hs
--- a/src/GHCJS/DOM/Console.hs
+++ b/src/GHCJS/DOM/Console.hs
@@ -3,7 +3,7 @@
 {-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
 module GHCJS.DOM.Console
        (ghcjs_dom_console_time, consoleTime, ghcjs_dom_console_group_end,
-        consoleGroupEnd, ghcjs_dom_console_get_memory, consoleGetMemory)
+        consoleGroupEnd)
        where
 import GHCJS.Types
 import GHCJS.Foreign
@@ -46,23 +46,6 @@
 consoleGroupEnd :: (IsConsole self) => self -> IO ()
 consoleGroupEnd self
   = ghcjs_dom_console_group_end (unConsole (toConsole self))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"memory\"]"
-        ghcjs_dom_console_get_memory ::
-        JSRef Console -> IO (JSRef MemoryInfo)
-#else 
-ghcjs_dom_console_get_memory ::
-                               JSRef Console -> IO (JSRef MemoryInfo)
-ghcjs_dom_console_get_memory = undefined
-#endif
- 
-consoleGetMemory ::
-                 (IsConsole self) => self -> IO (Maybe MemoryInfo)
-consoleGetMemory self
-  = fmap MemoryInfo . maybeJSNull <$>
-      (ghcjs_dom_console_get_memory (unConsole (toConsole self)))
 #else
 module GHCJS.DOM.Console (
   module Graphics.UI.Gtk.WebKit.DOM.Console
diff --git a/src/GHCJS/DOM/DOMNamedFlowCollection.hs b/src/GHCJS/DOM/DOMNamedFlowCollection.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMNamedFlowCollection.hs
@@ -0,0 +1,90 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMNamedFlowCollection
+       (ghcjs_dom_dom_named_flow_collection_item,
+        domNamedFlowCollectionItem,
+        ghcjs_dom_dom_named_flow_collection_named_item,
+        domNamedFlowCollectionNamedItem,
+        ghcjs_dom_dom_named_flow_collection_get_length,
+        domNamedFlowCollectionGetLength)
+       where
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.DOM.EventM
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.DOM.EventM
+
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"item\"]($2)"
+        ghcjs_dom_dom_named_flow_collection_item ::
+        JSRef DOMNamedFlowCollection -> Word -> IO (JSRef WebKitNamedFlow)
+#else 
+ghcjs_dom_dom_named_flow_collection_item ::
+                                           JSRef DOMNamedFlowCollection ->
+                                             Word -> IO (JSRef WebKitNamedFlow)
+ghcjs_dom_dom_named_flow_collection_item = undefined
+#endif
+ 
+domNamedFlowCollectionItem ::
+                           (IsDOMNamedFlowCollection self) =>
+                             self -> Word -> IO (Maybe WebKitNamedFlow)
+domNamedFlowCollectionItem self index
+  = fmap WebKitNamedFlow . maybeJSNull <$>
+      (ghcjs_dom_dom_named_flow_collection_item
+         (unDOMNamedFlowCollection (toDOMNamedFlowCollection self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"namedItem\"]($2)"
+        ghcjs_dom_dom_named_flow_collection_named_item ::
+        JSRef DOMNamedFlowCollection ->
+          JSString -> IO (JSRef WebKitNamedFlow)
+#else 
+ghcjs_dom_dom_named_flow_collection_named_item ::
+                                                 JSRef DOMNamedFlowCollection ->
+                                                   JSString -> IO (JSRef WebKitNamedFlow)
+ghcjs_dom_dom_named_flow_collection_named_item = undefined
+#endif
+ 
+domNamedFlowCollectionNamedItem ::
+                                (IsDOMNamedFlowCollection self, ToJSString name) =>
+                                  self -> name -> IO (Maybe WebKitNamedFlow)
+domNamedFlowCollectionNamedItem self name
+  = fmap WebKitNamedFlow . maybeJSNull <$>
+      (ghcjs_dom_dom_named_flow_collection_named_item
+         (unDOMNamedFlowCollection (toDOMNamedFlowCollection self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_dom_named_flow_collection_get_length ::
+        JSRef DOMNamedFlowCollection -> IO Word
+#else 
+ghcjs_dom_dom_named_flow_collection_get_length ::
+                                                 JSRef DOMNamedFlowCollection -> IO Word
+ghcjs_dom_dom_named_flow_collection_get_length = undefined
+#endif
+ 
+domNamedFlowCollectionGetLength ::
+                                (IsDOMNamedFlowCollection self) => self -> IO Word
+domNamedFlowCollectionGetLength self
+  = ghcjs_dom_dom_named_flow_collection_get_length
+      (unDOMNamedFlowCollection (toDOMNamedFlowCollection self))
+#else
+module GHCJS.DOM.DOMNamedFlowCollection (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMNamedFlowCollection
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMNamedFlowCollection
+#endif
diff --git a/src/GHCJS/DOM/DOMWindow.hs b/src/GHCJS/DOM/DOMWindow.hs
--- a/src/GHCJS/DOM/DOMWindow.hs
+++ b/src/GHCJS/DOM/DOMWindow.hs
@@ -79,18 +79,19 @@
         ghcjs_dom_dom_window_get_session_storage,
         domWindowGetSessionStorage, ghcjs_dom_dom_window_get_local_storage,
         domWindowGetLocalStorage, ghcjs_dom_dom_window_get_console,
-        domWindowGetConsole, domWindowOnabort, domWindowOnbeforeunload,
-        domWindowOnblur, domWindowOncanplay, domWindowOncanplaythrough,
-        domWindowOnchange, domWindowOnclick, domWindowOncontextmenu,
-        domWindowOndblclick, domWindowOndrag, domWindowOndragend,
-        domWindowOndragenter, domWindowOndragleave, domWindowOndragover,
-        domWindowOndragstart, domWindowOndrop, domWindowOndurationchange,
-        domWindowOnemptied, domWindowOnended, domWindowOnerror,
-        domWindowOnfocus, domWindowOnhashchange, domWindowOninput,
-        domWindowOninvalid, domWindowOnkeydown, domWindowOnkeypress,
-        domWindowOnkeyup, domWindowOnload, domWindowOnloadeddata,
-        domWindowOnloadedmetadata, domWindowOnloadstart,
-        domWindowOnmessage, domWindowOnmousedown, domWindowOnmousemove,
+        domWindowGetConsole, ghcjs_dom_dom_window_get_css, domWindowGetCSS,
+        domWindowOnabort, domWindowOnbeforeunload, domWindowOnblur,
+        domWindowOncanplay, domWindowOncanplaythrough, domWindowOnchange,
+        domWindowOnclick, domWindowOncontextmenu, domWindowOndblclick,
+        domWindowOndrag, domWindowOndragend, domWindowOndragenter,
+        domWindowOndragleave, domWindowOndragover, domWindowOndragstart,
+        domWindowOndrop, domWindowOndurationchange, domWindowOnemptied,
+        domWindowOnended, domWindowOnerror, domWindowOnfocus,
+        domWindowOnhashchange, domWindowOninput, domWindowOninvalid,
+        domWindowOnkeydown, domWindowOnkeypress, domWindowOnkeyup,
+        domWindowOnload, domWindowOnloadeddata, domWindowOnloadedmetadata,
+        domWindowOnloadstart, domWindowOnmessage, domWindowOnmousedown,
+        domWindowOnmouseenter, domWindowOnmouseleave, domWindowOnmousemove,
         domWindowOnmouseout, domWindowOnmouseover, domWindowOnmouseup,
         domWindowOnmousewheel, domWindowOnoffline, domWindowOnonline,
         domWindowOnpagehide, domWindowOnpageshow, domWindowOnpause,
@@ -103,9 +104,10 @@
         domWindowOnreset, domWindowOnsearch, domWindowOnwebkitanimationend,
         domWindowOnwebkitanimationiteration,
         domWindowOnwebkitanimationstart, domWindowOnwebkittransitionend,
-        domWindowOntouchstart, domWindowOntouchmove, domWindowOntouchend,
-        domWindowOntouchcancel, domWindowOndevicemotion,
-        domWindowOndeviceorientation, domWindowOnwebkitdeviceproximity)
+        domWindowOntransitionend, domWindowOntouchstart,
+        domWindowOntouchmove, domWindowOntouchend, domWindowOntouchcancel,
+        domWindowOndevicemotion, domWindowOndeviceorientation,
+        domWindowOnwebkitdeviceproximity)
        where
 import GHCJS.Types
 import GHCJS.Foreign
@@ -478,79 +480,6 @@
 
 
 #ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"clearTimeout\"]($2)"
-        ghcjs_dom_dom_window_clear_timeout ::
-        JSRef DOMWindow -> Int -> IO ()
-#else 
-ghcjs_dom_dom_window_clear_timeout ::
-                                     JSRef DOMWindow -> Int -> IO ()
-ghcjs_dom_dom_window_clear_timeout = undefined
-#endif
- 
-domWindowClearTimeout :: (IsDOMWindow self) => self -> Int -> IO ()
-domWindowClearTimeout self handle
-  = ghcjs_dom_dom_window_clear_timeout
-      (unDOMWindow (toDOMWindow self))
-      handle
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"clearInterval\"]($2)"
-        ghcjs_dom_dom_window_clear_interval ::
-        JSRef DOMWindow -> Int -> IO ()
-#else 
-ghcjs_dom_dom_window_clear_interval ::
-                                      JSRef DOMWindow -> Int -> IO ()
-ghcjs_dom_dom_window_clear_interval = undefined
-#endif
- 
-domWindowClearInterval ::
-                       (IsDOMWindow self) => self -> Int -> IO ()
-domWindowClearInterval self handle
-  = ghcjs_dom_dom_window_clear_interval
-      (unDOMWindow (toDOMWindow self))
-      handle
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"atob\"]($2)"
-        ghcjs_dom_dom_window_atob ::
-        JSRef DOMWindow -> JSString -> IO JSString
-#else 
-ghcjs_dom_dom_window_atob ::
-                            JSRef DOMWindow -> JSString -> IO JSString
-ghcjs_dom_dom_window_atob = undefined
-#endif
- 
-domWindowAtob ::
-              (IsDOMWindow self, ToJSString string, FromJSString result) =>
-                self -> string -> IO result
-domWindowAtob self string
-  = fromJSString <$>
-      (ghcjs_dom_dom_window_atob (unDOMWindow (toDOMWindow self))
-         (toJSString string))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"btoa\"]($2)"
-        ghcjs_dom_dom_window_btoa ::
-        JSRef DOMWindow -> JSString -> IO JSString
-#else 
-ghcjs_dom_dom_window_btoa ::
-                            JSRef DOMWindow -> JSString -> IO JSString
-ghcjs_dom_dom_window_btoa = undefined
-#endif
- 
-domWindowBtoa ::
-              (IsDOMWindow self, ToJSString string, FromJSString result) =>
-                self -> string -> IO result
-domWindowBtoa self string
-  = fromJSString <$>
-      (ghcjs_dom_dom_window_btoa (unDOMWindow (toDOMWindow self))
-         (toJSString string))
-
-
-#ifdef __GHCJS__ 
 foreign import javascript unsafe
         "($1[\"dispatchEvent\"]($2) ? 1 : 0)"
         ghcjs_dom_dom_window_dispatch_event ::
@@ -634,17 +563,17 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"locationbar\"]"
         ghcjs_dom_dom_window_get_locationbar ::
-        JSRef DOMWindow -> IO (JSRef BarInfo)
+        JSRef DOMWindow -> IO (JSRef BarProp)
 #else 
 ghcjs_dom_dom_window_get_locationbar ::
-                                       JSRef DOMWindow -> IO (JSRef BarInfo)
+                                       JSRef DOMWindow -> IO (JSRef BarProp)
 ghcjs_dom_dom_window_get_locationbar = undefined
 #endif
  
 domWindowGetLocationbar ::
-                        (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+                        (IsDOMWindow self) => self -> IO (Maybe BarProp)
 domWindowGetLocationbar self
-  = fmap BarInfo . maybeJSNull <$>
+  = fmap BarProp . maybeJSNull <$>
       (ghcjs_dom_dom_window_get_locationbar
          (unDOMWindow (toDOMWindow self)))
 
@@ -652,34 +581,34 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"menubar\"]"
         ghcjs_dom_dom_window_get_menubar ::
-        JSRef DOMWindow -> IO (JSRef BarInfo)
+        JSRef DOMWindow -> IO (JSRef BarProp)
 #else 
 ghcjs_dom_dom_window_get_menubar ::
-                                   JSRef DOMWindow -> IO (JSRef BarInfo)
+                                   JSRef DOMWindow -> IO (JSRef BarProp)
 ghcjs_dom_dom_window_get_menubar = undefined
 #endif
  
 domWindowGetMenubar ::
-                    (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+                    (IsDOMWindow self) => self -> IO (Maybe BarProp)
 domWindowGetMenubar self
-  = fmap BarInfo . maybeJSNull <$>
+  = fmap BarProp . maybeJSNull <$>
       (ghcjs_dom_dom_window_get_menubar (unDOMWindow (toDOMWindow self)))
 
 
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"personalbar\"]"
         ghcjs_dom_dom_window_get_personalbar ::
-        JSRef DOMWindow -> IO (JSRef BarInfo)
+        JSRef DOMWindow -> IO (JSRef BarProp)
 #else 
 ghcjs_dom_dom_window_get_personalbar ::
-                                       JSRef DOMWindow -> IO (JSRef BarInfo)
+                                       JSRef DOMWindow -> IO (JSRef BarProp)
 ghcjs_dom_dom_window_get_personalbar = undefined
 #endif
  
 domWindowGetPersonalbar ::
-                        (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+                        (IsDOMWindow self) => self -> IO (Maybe BarProp)
 domWindowGetPersonalbar self
-  = fmap BarInfo . maybeJSNull <$>
+  = fmap BarProp . maybeJSNull <$>
       (ghcjs_dom_dom_window_get_personalbar
          (unDOMWindow (toDOMWindow self)))
 
@@ -687,17 +616,17 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"scrollbars\"]"
         ghcjs_dom_dom_window_get_scrollbars ::
-        JSRef DOMWindow -> IO (JSRef BarInfo)
+        JSRef DOMWindow -> IO (JSRef BarProp)
 #else 
 ghcjs_dom_dom_window_get_scrollbars ::
-                                      JSRef DOMWindow -> IO (JSRef BarInfo)
+                                      JSRef DOMWindow -> IO (JSRef BarProp)
 ghcjs_dom_dom_window_get_scrollbars = undefined
 #endif
  
 domWindowGetScrollbars ::
-                       (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+                       (IsDOMWindow self) => self -> IO (Maybe BarProp)
 domWindowGetScrollbars self
-  = fmap BarInfo . maybeJSNull <$>
+  = fmap BarProp . maybeJSNull <$>
       (ghcjs_dom_dom_window_get_scrollbars
          (unDOMWindow (toDOMWindow self)))
 
@@ -705,17 +634,17 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"statusbar\"]"
         ghcjs_dom_dom_window_get_statusbar ::
-        JSRef DOMWindow -> IO (JSRef BarInfo)
+        JSRef DOMWindow -> IO (JSRef BarProp)
 #else 
 ghcjs_dom_dom_window_get_statusbar ::
-                                     JSRef DOMWindow -> IO (JSRef BarInfo)
+                                     JSRef DOMWindow -> IO (JSRef BarProp)
 ghcjs_dom_dom_window_get_statusbar = undefined
 #endif
  
 domWindowGetStatusbar ::
-                      (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+                      (IsDOMWindow self) => self -> IO (Maybe BarProp)
 domWindowGetStatusbar self
-  = fmap BarInfo . maybeJSNull <$>
+  = fmap BarProp . maybeJSNull <$>
       (ghcjs_dom_dom_window_get_statusbar
          (unDOMWindow (toDOMWindow self)))
 
@@ -723,17 +652,17 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"toolbar\"]"
         ghcjs_dom_dom_window_get_toolbar ::
-        JSRef DOMWindow -> IO (JSRef BarInfo)
+        JSRef DOMWindow -> IO (JSRef BarProp)
 #else 
 ghcjs_dom_dom_window_get_toolbar ::
-                                   JSRef DOMWindow -> IO (JSRef BarInfo)
+                                   JSRef DOMWindow -> IO (JSRef BarProp)
 ghcjs_dom_dom_window_get_toolbar = undefined
 #endif
  
 domWindowGetToolbar ::
-                    (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+                    (IsDOMWindow self) => self -> IO (Maybe BarProp)
 domWindowGetToolbar self
-  = fmap BarInfo . maybeJSNull <$>
+  = fmap BarProp . maybeJSNull <$>
       (ghcjs_dom_dom_window_get_toolbar (unDOMWindow (toDOMWindow self)))
 
 
@@ -1327,7 +1256,24 @@
 domWindowGetConsole self
   = fmap Console . maybeJSNull <$>
       (ghcjs_dom_dom_window_get_console (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"CSS\"]"
+        ghcjs_dom_dom_window_get_css ::
+        JSRef DOMWindow -> IO (JSRef DOMWindowCSS)
+#else 
+ghcjs_dom_dom_window_get_css ::
+                               JSRef DOMWindow -> IO (JSRef DOMWindowCSS)
+ghcjs_dom_dom_window_get_css = undefined
+#endif
  
+domWindowGetCSS ::
+                (IsDOMWindow self) => self -> IO (Maybe DOMWindowCSS)
+domWindowGetCSS self
+  = fmap DOMWindowCSS . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_css (unDOMWindow (toDOMWindow self)))
+ 
 domWindowOnabort ::
                  (IsDOMWindow self) => Signal self (EventM UIEvent self ())
 domWindowOnabort = (connect "abort")
@@ -1460,6 +1406,14 @@
                      (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
 domWindowOnmousedown = (connect "mousedown")
  
+domWindowOnmouseenter ::
+                      (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnmouseenter = (connect "mouseenter")
+ 
+domWindowOnmouseleave ::
+                      (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnmouseleave = (connect "mouseleave")
+ 
 domWindowOnmousemove ::
                      (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
 domWindowOnmousemove = (connect "mousemove")
@@ -1596,6 +1550,10 @@
 domWindowOnwebkittransitionend ::
                                (IsDOMWindow self) => Signal self (EventM UIEvent self ())
 domWindowOnwebkittransitionend = (connect "webkittransitionend")
+ 
+domWindowOntransitionend ::
+                         (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOntransitionend = (connect "transitionend")
  
 domWindowOntouchstart ::
                       (IsDOMWindow self) => Signal self (EventM UIEvent self ())
diff --git a/src/GHCJS/DOM/DOMWindowCSS.hs b/src/GHCJS/DOM/DOMWindowCSS.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMWindowCSS.hs
@@ -0,0 +1,64 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMWindowCSS
+       (ghcjs_dom_dom_window_css_supports, domWindowCSSSupports) where
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.DOM.EventM
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.DOM.EventM
+
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"supports\"]($2, $3) ? 1 : 0)"
+        ghcjs_dom_dom_window_css_supports ::
+        JSRef DOMWindowCSS -> JSString -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_window_css_supports ::
+                                    JSRef DOMWindowCSS -> JSString -> JSString -> IO Bool
+ghcjs_dom_dom_window_css_supports = undefined
+#endif
+ 
+domWindowCSSSupports ::
+                     (IsDOMWindowCSS self, ToJSString property, ToJSString value) =>
+                       self -> property -> value -> IO Bool
+domWindowCSSSupports self property value
+  = ghcjs_dom_dom_window_css_supports
+      (unDOMWindowCSS (toDOMWindowCSS self))
+      (toJSString property)
+      (toJSString value)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"supports\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_window_css_supports ::
+        JSRef DOMWindowCSS -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_window_css_supports ::
+                                    JSRef DOMWindowCSS -> JSString -> IO Bool
+ghcjs_dom_dom_window_css_supports = undefined
+#endif
+ 
+domWindowCSSSupports ::
+                     (IsDOMWindowCSS self, ToJSString conditionText) =>
+                       self -> conditionText -> IO Bool
+domWindowCSSSupports self conditionText
+  = ghcjs_dom_dom_window_css_supports
+      (unDOMWindowCSS (toDOMWindowCSS self))
+      (toJSString conditionText)
+#else
+module GHCJS.DOM.DOMWindowCSS (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMWindowCSS
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMWindowCSS
+#endif
diff --git a/src/GHCJS/DOM/Document.hs b/src/GHCJS/DOM/Document.hs
--- a/src/GHCJS/DOM/Document.hs
+++ b/src/GHCJS/DOM/Document.hs
@@ -49,7 +49,11 @@
         ghcjs_dom_document_get_elements_by_class_name,
         documentGetElementsByClassName, ghcjs_dom_document_query_selector,
         documentQuerySelector, ghcjs_dom_document_query_selector_all,
-        documentQuerySelectorAll, ghcjs_dom_document_get_doctype,
+        documentQuerySelectorAll,
+        ghcjs_dom_document_webkit_exit_pointer_lock,
+        documentWebkitExitPointerLock,
+        ghcjs_dom_document_webkit_get_named_flows,
+        documentWebkitGetNamedFlows, ghcjs_dom_document_get_doctype,
         documentGetDoctype, ghcjs_dom_document_get_implementation,
         documentGetImplementation, ghcjs_dom_document_get_document_element,
         documentGetDocumentElement, ghcjs_dom_document_get_input_encoding,
@@ -98,21 +102,23 @@
         documentOnerror, documentOnfocus, documentOninput,
         documentOninvalid, documentOnkeydown, documentOnkeypress,
         documentOnkeyup, documentOnload, documentOnmousedown,
-        documentOnmousemove, documentOnmouseout, documentOnmouseover,
-        documentOnmouseup, documentOnmousewheel,
-        documentOnreadystatechange, documentOnscroll, documentOnselect,
-        documentOnsubmit, documentOnbeforecut, documentOncut,
-        documentOnbeforecopy, documentOncopy, documentOnbeforepaste,
-        documentOnpaste, documentOnreset, documentOnsearch,
-        documentOnselectstart, documentOnselectionchange,
+        documentOnmouseenter, documentOnmouseleave, documentOnmousemove,
+        documentOnmouseout, documentOnmouseover, documentOnmouseup,
+        documentOnmousewheel, documentOnreadystatechange, documentOnscroll,
+        documentOnselect, documentOnsubmit, documentOnbeforecut,
+        documentOncut, documentOnbeforecopy, documentOncopy,
+        documentOnbeforepaste, documentOnpaste, documentOnreset,
+        documentOnsearch, documentOnselectstart, documentOnselectionchange,
         documentOntouchstart, documentOntouchmove, documentOntouchend,
         documentOntouchcancel, documentOnwebkitfullscreenchange,
         documentOnwebkitfullscreenerror, documentOnwebkitpointerlockchange,
         documentOnwebkitpointerlockerror,
-        ghcjs_dom_document_get_webkit_visibility_state,
-        documentGetWebkitVisibilityState,
-        ghcjs_dom_document_get_webkit_hidden, documentGetWebkitHidden,
-        ghcjs_dom_document_get_security_policy, documentGetSecurityPolicy)
+        documentOnsecuritypolicyviolation,
+        ghcjs_dom_document_get_visibility_state,
+        documentGetVisibilityState, ghcjs_dom_document_get_hidden,
+        documentGetHidden, ghcjs_dom_document_get_security_policy,
+        documentGetSecurityPolicy, ghcjs_dom_document_get_current_script,
+        documentGetCurrentScript)
        where
 import GHCJS.Types
 import GHCJS.Foreign
@@ -902,6 +908,40 @@
 
 
 #ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitExitPointerLock\"]()"
+        ghcjs_dom_document_webkit_exit_pointer_lock ::
+        JSRef Document -> IO ()
+#else 
+ghcjs_dom_document_webkit_exit_pointer_lock ::
+                                              JSRef Document -> IO ()
+ghcjs_dom_document_webkit_exit_pointer_lock = undefined
+#endif
+ 
+documentWebkitExitPointerLock :: (IsDocument self) => self -> IO ()
+documentWebkitExitPointerLock self
+  = ghcjs_dom_document_webkit_exit_pointer_lock
+      (unDocument (toDocument self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitGetNamedFlows\"]()"
+        ghcjs_dom_document_webkit_get_named_flows ::
+        JSRef Document -> IO (JSRef DOMNamedFlowCollection)
+#else 
+ghcjs_dom_document_webkit_get_named_flows ::
+                                            JSRef Document -> IO (JSRef DOMNamedFlowCollection)
+ghcjs_dom_document_webkit_get_named_flows = undefined
+#endif
+ 
+documentWebkitGetNamedFlows ::
+                            (IsDocument self) => self -> IO (Maybe DOMNamedFlowCollection)
+documentWebkitGetNamedFlows self
+  = fmap DOMNamedFlowCollection . maybeJSNull <$>
+      (ghcjs_dom_document_webkit_get_named_flows
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"doctype\"]"
         ghcjs_dom_document_get_doctype ::
         JSRef Document -> IO (JSRef DocumentType)
@@ -1630,6 +1670,14 @@
                     (IsDocument self) => Signal self (EventM MouseEvent self ())
 documentOnmousedown = (connect "mousedown")
  
+documentOnmouseenter ::
+                     (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnmouseenter = (connect "mouseenter")
+ 
+documentOnmouseleave ::
+                     (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnmouseleave = (connect "mouseleave")
+ 
 documentOnmousemove ::
                     (IsDocument self) => Signal self (EventM MouseEvent self ())
 documentOnmousemove = (connect "mousemove")
@@ -1740,42 +1788,46 @@
                                  (IsDocument self) => Signal self (EventM UIEvent self ())
 documentOnwebkitpointerlockerror
   = (connect "webkitpointerlockerror")
+ 
+documentOnsecuritypolicyviolation ::
+                                  (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnsecuritypolicyviolation
+  = (connect "securitypolicyviolation")
 
 
 #ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"webkitVisibilityState\"]"
-        ghcjs_dom_document_get_webkit_visibility_state ::
+foreign import javascript unsafe "$1[\"visibilityState\"]"
+        ghcjs_dom_document_get_visibility_state ::
         JSRef Document -> IO JSString
 #else 
-ghcjs_dom_document_get_webkit_visibility_state ::
-                                                 JSRef Document -> IO JSString
-ghcjs_dom_document_get_webkit_visibility_state = undefined
+ghcjs_dom_document_get_visibility_state ::
+                                          JSRef Document -> IO JSString
+ghcjs_dom_document_get_visibility_state = undefined
 #endif
  
-documentGetWebkitVisibilityState ::
-                                 (IsDocument self, FromJSString result) => self -> IO result
-documentGetWebkitVisibilityState self
+documentGetVisibilityState ::
+                           (IsDocument self, FromJSString result) => self -> IO result
+documentGetVisibilityState self
   = fromJSString <$>
-      (ghcjs_dom_document_get_webkit_visibility_state
+      (ghcjs_dom_document_get_visibility_state
          (unDocument (toDocument self)))
 
 
 #ifdef __GHCJS__ 
-foreign import javascript unsafe "($1[\"webkitHidden\"] ? 1 : 0)"
-        ghcjs_dom_document_get_webkit_hidden :: JSRef Document -> IO Bool
+foreign import javascript unsafe "($1[\"hidden\"] ? 1 : 0)"
+        ghcjs_dom_document_get_hidden :: JSRef Document -> IO Bool
 #else 
-ghcjs_dom_document_get_webkit_hidden :: JSRef Document -> IO Bool
-ghcjs_dom_document_get_webkit_hidden = undefined
+ghcjs_dom_document_get_hidden :: JSRef Document -> IO Bool
+ghcjs_dom_document_get_hidden = undefined
 #endif
  
-documentGetWebkitHidden :: (IsDocument self) => self -> IO Bool
-documentGetWebkitHidden self
-  = ghcjs_dom_document_get_webkit_hidden
-      (unDocument (toDocument self))
+documentGetHidden :: (IsDocument self) => self -> IO Bool
+documentGetHidden self
+  = ghcjs_dom_document_get_hidden (unDocument (toDocument self))
 
 
 #ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"SecurityPolicy\"]"
+foreign import javascript unsafe "$1[\"securityPolicy\"]"
         ghcjs_dom_document_get_security_policy ::
         JSRef Document -> IO (JSRef DOMSecurityPolicy)
 #else 
@@ -1789,6 +1841,24 @@
 documentGetSecurityPolicy self
   = fmap DOMSecurityPolicy . maybeJSNull <$>
       (ghcjs_dom_document_get_security_policy
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"currentScript\"]"
+        ghcjs_dom_document_get_current_script ::
+        JSRef Document -> IO (JSRef HTMLScriptElement)
+#else 
+ghcjs_dom_document_get_current_script ::
+                                        JSRef Document -> IO (JSRef HTMLScriptElement)
+ghcjs_dom_document_get_current_script = undefined
+#endif
+ 
+documentGetCurrentScript ::
+                         (IsDocument self) => self -> IO (Maybe HTMLScriptElement)
+documentGetCurrentScript self
+  = fmap HTMLScriptElement . maybeJSNull <$>
+      (ghcjs_dom_document_get_current_script
          (unDocument (toDocument self)))
 #else
 module GHCJS.DOM.Document (
diff --git a/src/GHCJS/DOM/Element.hs b/src/GHCJS/DOM/Element.hs
--- a/src/GHCJS/DOM/Element.hs
+++ b/src/GHCJS/DOM/Element.hs
@@ -10,7 +10,8 @@
         ghcjs_dom_element_remove_attribute_node,
         elementRemoveAttributeNode,
         ghcjs_dom_element_get_elements_by_tag_name,
-        elementGetElementsByTagName, ghcjs_dom_element_get_attribute_ns,
+        elementGetElementsByTagName, ghcjs_dom_element_has_attributes,
+        elementHasAttributes, ghcjs_dom_element_get_attribute_ns,
         elementGetAttributeNS, ghcjs_dom_element_set_attribute_ns,
         elementSetAttributeNS, ghcjs_dom_element_remove_attribute_ns,
         elementRemoveAttributeNS,
@@ -30,27 +31,31 @@
         elementGetElementsByClassName, ghcjs_dom_element_query_selector,
         elementQuerySelector, ghcjs_dom_element_query_selector_all,
         elementQuerySelectorAll, ghcjs_dom_element_webkit_matches_selector,
-        elementWebkitMatchesSelector, ghcjs_dom_element_get_tag_name,
-        elementGetTagName, ghcjs_dom_element_get_style, elementGetStyle,
-        ghcjs_dom_element_get_offset_left, elementGetOffsetLeft,
-        ghcjs_dom_element_get_offset_top, elementGetOffsetTop,
-        ghcjs_dom_element_get_offset_width, elementGetOffsetWidth,
-        ghcjs_dom_element_get_offset_height, elementGetOffsetHeight,
-        ghcjs_dom_element_get_offset_parent, elementGetOffsetParent,
-        ghcjs_dom_element_get_client_left, elementGetClientLeft,
-        ghcjs_dom_element_get_client_top, elementGetClientTop,
-        ghcjs_dom_element_get_client_width, elementGetClientWidth,
-        ghcjs_dom_element_get_client_height, elementGetClientHeight,
-        ghcjs_dom_element_set_scroll_left, elementSetScrollLeft,
-        ghcjs_dom_element_get_scroll_left, elementGetScrollLeft,
-        ghcjs_dom_element_set_scroll_top, elementSetScrollTop,
-        ghcjs_dom_element_get_scroll_top, elementGetScrollTop,
-        ghcjs_dom_element_get_scroll_width, elementGetScrollWidth,
-        ghcjs_dom_element_get_scroll_height, elementGetScrollHeight,
-        ghcjs_dom_element_set_class_name, elementSetClassName,
-        ghcjs_dom_element_get_class_name, elementGetClassName,
-        ghcjs_dom_element_get_class_list, elementGetClassList,
-        ghcjs_dom_element_get_first_element_child,
+        elementWebkitMatchesSelector,
+        ghcjs_dom_element_webkit_request_pointer_lock,
+        elementWebkitRequestPointerLock, ghcjs_dom_element_get_tag_name,
+        elementGetTagName, ghcjs_dom_element_get_attributes,
+        elementGetAttributes, ghcjs_dom_element_get_style, elementGetStyle,
+        ghcjs_dom_element_set_id, elementSetId, ghcjs_dom_element_get_id,
+        elementGetId, ghcjs_dom_element_get_offset_left,
+        elementGetOffsetLeft, ghcjs_dom_element_get_offset_top,
+        elementGetOffsetTop, ghcjs_dom_element_get_offset_width,
+        elementGetOffsetWidth, ghcjs_dom_element_get_offset_height,
+        elementGetOffsetHeight, ghcjs_dom_element_get_offset_parent,
+        elementGetOffsetParent, ghcjs_dom_element_get_client_left,
+        elementGetClientLeft, ghcjs_dom_element_get_client_top,
+        elementGetClientTop, ghcjs_dom_element_get_client_width,
+        elementGetClientWidth, ghcjs_dom_element_get_client_height,
+        elementGetClientHeight, ghcjs_dom_element_set_scroll_left,
+        elementSetScrollLeft, ghcjs_dom_element_get_scroll_left,
+        elementGetScrollLeft, ghcjs_dom_element_set_scroll_top,
+        elementSetScrollTop, ghcjs_dom_element_get_scroll_top,
+        elementGetScrollTop, ghcjs_dom_element_get_scroll_width,
+        elementGetScrollWidth, ghcjs_dom_element_get_scroll_height,
+        elementGetScrollHeight, ghcjs_dom_element_set_class_name,
+        elementSetClassName, ghcjs_dom_element_get_class_name,
+        elementGetClassName, ghcjs_dom_element_get_class_list,
+        elementGetClassList, ghcjs_dom_element_get_first_element_child,
         elementGetFirstElementChild,
         ghcjs_dom_element_get_last_element_child,
         elementGetLastElementChild,
@@ -68,15 +73,15 @@
         elementOndragstart, elementOndrop, elementOnerror, elementOnfocus,
         elementOninput, elementOninvalid, elementOnkeydown,
         elementOnkeypress, elementOnkeyup, elementOnload,
-        elementOnmousedown, elementOnmousemove, elementOnmouseout,
-        elementOnmouseover, elementOnmouseup, elementOnmousewheel,
-        elementOnscroll, elementOnselect, elementOnsubmit,
-        elementOnbeforecut, elementOncut, elementOnbeforecopy,
-        elementOncopy, elementOnbeforepaste, elementOnpaste,
-        elementOnreset, elementOnsearch, elementOnselectstart,
-        elementOntouchstart, elementOntouchmove, elementOntouchend,
-        elementOntouchcancel, elementOnwebkitfullscreenchange,
-        elementOnwebkitfullscreenerror)
+        elementOnmousedown, elementOnmouseenter, elementOnmouseleave,
+        elementOnmousemove, elementOnmouseout, elementOnmouseover,
+        elementOnmouseup, elementOnmousewheel, elementOnscroll,
+        elementOnselect, elementOnsubmit, elementOnbeforecut, elementOncut,
+        elementOnbeforecopy, elementOncopy, elementOnbeforepaste,
+        elementOnpaste, elementOnreset, elementOnsearch,
+        elementOnselectstart, elementOntouchstart, elementOntouchmove,
+        elementOntouchend, elementOntouchcancel,
+        elementOnwebkitfullscreenchange, elementOnwebkitfullscreenerror)
        where
 import GHCJS.Types
 import GHCJS.Foreign
@@ -227,6 +232,20 @@
 
 
 #ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"hasAttributes\"]() ? 1 : 0)"
+        ghcjs_dom_element_has_attributes :: JSRef Element -> IO Bool
+#else 
+ghcjs_dom_element_has_attributes :: JSRef Element -> IO Bool
+ghcjs_dom_element_has_attributes = undefined
+#endif
+ 
+elementHasAttributes :: (IsElement self) => self -> IO Bool
+elementHasAttributes self
+  = ghcjs_dom_element_has_attributes (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"getAttributeNS\"]($2, $3)"
         ghcjs_dom_element_get_attribute_ns ::
         JSRef Element -> JSString -> JSString -> IO JSString
@@ -563,6 +582,24 @@
 
 
 #ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"webkitRequestPointerLock\"]()"
+        ghcjs_dom_element_webkit_request_pointer_lock ::
+        JSRef Element -> IO ()
+#else 
+ghcjs_dom_element_webkit_request_pointer_lock ::
+                                                JSRef Element -> IO ()
+ghcjs_dom_element_webkit_request_pointer_lock = undefined
+#endif
+ 
+elementWebkitRequestPointerLock ::
+                                (IsElement self) => self -> IO ()
+elementWebkitRequestPointerLock self
+  = ghcjs_dom_element_webkit_request_pointer_lock
+      (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"tagName\"]"
         ghcjs_dom_element_get_tag_name :: JSRef Element -> IO JSString
 #else 
@@ -578,6 +615,23 @@
 
 
 #ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"attributes\"]"
+        ghcjs_dom_element_get_attributes ::
+        JSRef Element -> IO (JSRef NamedNodeMap)
+#else 
+ghcjs_dom_element_get_attributes ::
+                                   JSRef Element -> IO (JSRef NamedNodeMap)
+ghcjs_dom_element_get_attributes = undefined
+#endif
+ 
+elementGetAttributes ::
+                     (IsElement self) => self -> IO (Maybe NamedNodeMap)
+elementGetAttributes self
+  = fmap NamedNodeMap . maybeJSNull <$>
+      (ghcjs_dom_element_get_attributes (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"style\"]"
         ghcjs_dom_element_get_style ::
         JSRef Element -> IO (JSRef CSSStyleDeclaration)
@@ -595,6 +649,36 @@
 
 
 #ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"id\"] = $2;"
+        ghcjs_dom_element_set_id :: JSRef Element -> JSString -> IO ()
+#else 
+ghcjs_dom_element_set_id :: JSRef Element -> JSString -> IO ()
+ghcjs_dom_element_set_id = undefined
+#endif
+ 
+elementSetId ::
+             (IsElement self, ToJSString val) => self -> val -> IO ()
+elementSetId self val
+  = ghcjs_dom_element_set_id (unElement (toElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"id\"]"
+        ghcjs_dom_element_get_id :: JSRef Element -> IO JSString
+#else 
+ghcjs_dom_element_get_id :: JSRef Element -> IO JSString
+ghcjs_dom_element_get_id = undefined
+#endif
+ 
+elementGetId ::
+             (IsElement self, FromJSString result) => self -> IO result
+elementGetId self
+  = fromJSString <$>
+      (ghcjs_dom_element_get_id (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"offsetLeft\"]"
         ghcjs_dom_element_get_offset_left :: JSRef Element -> IO Int
 #else 
@@ -1035,6 +1119,14 @@
 elementOnmousedown ::
                    (IsElement self) => Signal self (EventM MouseEvent self ())
 elementOnmousedown = (connect "mousedown")
+ 
+elementOnmouseenter ::
+                    (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnmouseenter = (connect "mouseenter")
+ 
+elementOnmouseleave ::
+                    (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnmouseleave = (connect "mouseleave")
  
 elementOnmousemove ::
                    (IsElement self) => Signal self (EventM MouseEvent self ())
diff --git a/src/GHCJS/DOM/File.hs b/src/GHCJS/DOM/File.hs
--- a/src/GHCJS/DOM/File.hs
+++ b/src/GHCJS/DOM/File.hs
@@ -1,7 +1,10 @@
 {-# LANGUAGE CPP #-}
 #if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
 {-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
-module GHCJS.DOM.File (ghcjs_dom_file_get_name, fileGetName) where
+module GHCJS.DOM.File
+       (ghcjs_dom_file_get_name, fileGetName,
+        ghcjs_dom_file_get_webkit_relative_path, fileGetWebkitRelativePath)
+       where
 import GHCJS.Types
 import GHCJS.Foreign
 import Data.Word
@@ -29,6 +32,23 @@
             (IsFile self, FromJSString result) => self -> IO result
 fileGetName self
   = fromJSString <$> (ghcjs_dom_file_get_name (unFile (toFile self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitRelativePath\"]"
+        ghcjs_dom_file_get_webkit_relative_path ::
+        JSRef File -> IO JSString
+#else 
+ghcjs_dom_file_get_webkit_relative_path ::
+                                          JSRef File -> IO JSString
+ghcjs_dom_file_get_webkit_relative_path = undefined
+#endif
+ 
+fileGetWebkitRelativePath ::
+                          (IsFile self, FromJSString result) => self -> IO result
+fileGetWebkitRelativePath self
+  = fromJSString <$>
+      (ghcjs_dom_file_get_webkit_relative_path (unFile (toFile self)))
 #else
 module GHCJS.DOM.File (
   module Graphics.UI.Gtk.WebKit.DOM.File
diff --git a/src/GHCJS/DOM/Geolocation.hs b/src/GHCJS/DOM/Geolocation.hs
--- a/src/GHCJS/DOM/Geolocation.hs
+++ b/src/GHCJS/DOM/Geolocation.hs
@@ -30,10 +30,10 @@
  
 geolocationClearWatch ::
                       (IsGeolocation self) => self -> Int -> IO ()
-geolocationClearWatch self watchId
+geolocationClearWatch self watchID
   = ghcjs_dom_geolocation_clear_watch
       (unGeolocation (toGeolocation self))
-      watchId
+      watchID
 #else
 module GHCJS.DOM.Geolocation (
   module Graphics.UI.Gtk.WebKit.DOM.Geolocation
diff --git a/src/GHCJS/DOM/HTMLCollection.hs b/src/GHCJS/DOM/HTMLCollection.hs
--- a/src/GHCJS/DOM/HTMLCollection.hs
+++ b/src/GHCJS/DOM/HTMLCollection.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
 module GHCJS.DOM.HTMLCollection
        (ghcjs_dom_html_collection_item, htmlCollectionItem,
+        ghcjs_dom_html_collection_named_item, htmlCollectionNamedItem,
         ghcjs_dom_html_collection_get_length, htmlCollectionGetLength)
        where
 import GHCJS.Types
@@ -37,6 +38,26 @@
       (ghcjs_dom_html_collection_item
          (unHTMLCollection (toHTMLCollection self))
          index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"namedItem\"]($2)"
+        ghcjs_dom_html_collection_named_item ::
+        JSRef HTMLCollection -> JSString -> IO (JSRef Node)
+#else 
+ghcjs_dom_html_collection_named_item ::
+                                       JSRef HTMLCollection -> JSString -> IO (JSRef Node)
+ghcjs_dom_html_collection_named_item = undefined
+#endif
+ 
+htmlCollectionNamedItem ::
+                        (IsHTMLCollection self, ToJSString name) =>
+                          self -> name -> IO (Maybe Node)
+htmlCollectionNamedItem self name
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_html_collection_named_item
+         (unHTMLCollection (toHTMLCollection self))
+         (toJSString name))
 
 
 #ifdef __GHCJS__ 
diff --git a/src/GHCJS/DOM/HTMLDocument.hs b/src/GHCJS/DOM/HTMLDocument.hs
--- a/src/GHCJS/DOM/HTMLDocument.hs
+++ b/src/GHCJS/DOM/HTMLDocument.hs
@@ -2,8 +2,7 @@
 #if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
 {-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
 module GHCJS.DOM.HTMLDocument
-       (ghcjs_dom_html_document_open, htmlDocumentOpen,
-        ghcjs_dom_html_document_close, htmlDocumentClose,
+       (ghcjs_dom_html_document_close, htmlDocumentClose,
         ghcjs_dom_html_document_clear, htmlDocumentClear,
         ghcjs_dom_html_document_capture_events, htmlDocumentCaptureEvents,
         ghcjs_dom_html_document_release_events, htmlDocumentReleaseEvents,
@@ -44,20 +43,6 @@
 import Control.Applicative ((<$>))
 import GHCJS.DOM.EventM
 
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"open\"]()"
-        ghcjs_dom_html_document_open :: JSRef HTMLDocument -> IO ()
-#else 
-ghcjs_dom_html_document_open :: JSRef HTMLDocument -> IO ()
-ghcjs_dom_html_document_open = undefined
-#endif
- 
-htmlDocumentOpen :: (IsHTMLDocument self) => self -> IO ()
-htmlDocumentOpen self
-  = ghcjs_dom_html_document_open
-      (unHTMLDocument (toHTMLDocument self))
 
 
 #ifdef __GHCJS__ 
diff --git a/src/GHCJS/DOM/HTMLElement.hs b/src/GHCJS/DOM/HTMLElement.hs
--- a/src/GHCJS/DOM/HTMLElement.hs
+++ b/src/GHCJS/DOM/HTMLElement.hs
@@ -8,21 +8,19 @@
         htmlElementInsertAdjacentHTML,
         ghcjs_dom_html_element_insert_adjacent_text,
         htmlElementInsertAdjacentText, ghcjs_dom_html_element_click,
-        htmlElementClick, ghcjs_dom_html_element_set_id, htmlElementSetId,
-        ghcjs_dom_html_element_get_id, htmlElementGetId,
-        ghcjs_dom_html_element_set_title, htmlElementSetTitle,
-        ghcjs_dom_html_element_get_title, htmlElementGetTitle,
-        ghcjs_dom_html_element_set_lang, htmlElementSetLang,
-        ghcjs_dom_html_element_get_lang, htmlElementGetLang,
-        ghcjs_dom_html_element_set_translate, htmlElementSetTranslate,
-        ghcjs_dom_html_element_get_translate, htmlElementGetTranslate,
-        ghcjs_dom_html_element_set_dir, htmlElementSetDir,
-        ghcjs_dom_html_element_get_dir, htmlElementGetDir,
-        ghcjs_dom_html_element_set_tab_index, htmlElementSetTabIndex,
-        ghcjs_dom_html_element_get_tab_index, htmlElementGetTabIndex,
-        ghcjs_dom_html_element_set_draggable, htmlElementSetDraggable,
-        ghcjs_dom_html_element_get_draggable, htmlElementGetDraggable,
-        ghcjs_dom_html_element_set_webkitdropzone,
+        htmlElementClick, ghcjs_dom_html_element_set_title,
+        htmlElementSetTitle, ghcjs_dom_html_element_get_title,
+        htmlElementGetTitle, ghcjs_dom_html_element_set_lang,
+        htmlElementSetLang, ghcjs_dom_html_element_get_lang,
+        htmlElementGetLang, ghcjs_dom_html_element_set_translate,
+        htmlElementSetTranslate, ghcjs_dom_html_element_get_translate,
+        htmlElementGetTranslate, ghcjs_dom_html_element_set_dir,
+        htmlElementSetDir, ghcjs_dom_html_element_get_dir,
+        htmlElementGetDir, ghcjs_dom_html_element_set_tab_index,
+        htmlElementSetTabIndex, ghcjs_dom_html_element_get_tab_index,
+        htmlElementGetTabIndex, ghcjs_dom_html_element_set_draggable,
+        htmlElementSetDraggable, ghcjs_dom_html_element_get_draggable,
+        htmlElementGetDraggable, ghcjs_dom_html_element_set_webkitdropzone,
         htmlElementSetWebkitdropzone,
         ghcjs_dom_html_element_get_webkitdropzone,
         htmlElementGetWebkitdropzone, ghcjs_dom_html_element_set_hidden,
@@ -46,14 +44,7 @@
         ghcjs_dom_html_element_get_is_content_editable,
         htmlElementGetIsContentEditable,
         ghcjs_dom_html_element_set_spellcheck, htmlElementSetSpellcheck,
-        ghcjs_dom_html_element_get_spellcheck, htmlElementGetSpellcheck,
-        ghcjs_dom_html_element_set_item_scope, htmlElementSetItemScope,
-        ghcjs_dom_html_element_get_item_scope, htmlElementGetItemScope,
-        ghcjs_dom_html_element_get_item_type, htmlElementGetItemType,
-        ghcjs_dom_html_element_set_item_id, htmlElementSetItemId,
-        ghcjs_dom_html_element_get_item_id, htmlElementGetItemId,
-        ghcjs_dom_html_element_get_item_ref, htmlElementGetItemRef,
-        ghcjs_dom_html_element_get_item_prop, htmlElementGetItemProp)
+        ghcjs_dom_html_element_get_spellcheck, htmlElementGetSpellcheck)
        where
 import GHCJS.Types
 import GHCJS.Foreign
@@ -150,40 +141,6 @@
 
 
 #ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"id\"] = $2;"
-        ghcjs_dom_html_element_set_id ::
-        JSRef HTMLElement -> JSString -> IO ()
-#else 
-ghcjs_dom_html_element_set_id ::
-                                JSRef HTMLElement -> JSString -> IO ()
-ghcjs_dom_html_element_set_id = undefined
-#endif
- 
-htmlElementSetId ::
-                 (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
-htmlElementSetId self val
-  = ghcjs_dom_html_element_set_id
-      (unHTMLElement (toHTMLElement self))
-      (toJSString val)
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"id\"]"
-        ghcjs_dom_html_element_get_id :: JSRef HTMLElement -> IO JSString
-#else 
-ghcjs_dom_html_element_get_id :: JSRef HTMLElement -> IO JSString
-ghcjs_dom_html_element_get_id = undefined
-#endif
- 
-htmlElementGetId ::
-                 (IsHTMLElement self, FromJSString result) => self -> IO result
-htmlElementGetId self
-  = fromJSString <$>
-      (ghcjs_dom_html_element_get_id
-         (unHTMLElement (toHTMLElement self)))
-
-
-#ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"title\"] = $2;"
         ghcjs_dom_html_element_set_title ::
         JSRef HTMLElement -> JSString -> IO ()
@@ -739,130 +696,6 @@
 htmlElementGetSpellcheck self
   = ghcjs_dom_html_element_get_spellcheck
       (unHTMLElement (toHTMLElement self))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"itemScope\"] = $2;"
-        ghcjs_dom_html_element_set_item_scope ::
-        JSRef HTMLElement -> Bool -> IO ()
-#else 
-ghcjs_dom_html_element_set_item_scope ::
-                                        JSRef HTMLElement -> Bool -> IO ()
-ghcjs_dom_html_element_set_item_scope = undefined
-#endif
- 
-htmlElementSetItemScope ::
-                        (IsHTMLElement self) => self -> Bool -> IO ()
-htmlElementSetItemScope self val
-  = ghcjs_dom_html_element_set_item_scope
-      (unHTMLElement (toHTMLElement self))
-      val
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "($1[\"itemScope\"] ? 1 : 0)"
-        ghcjs_dom_html_element_get_item_scope ::
-        JSRef HTMLElement -> IO Bool
-#else 
-ghcjs_dom_html_element_get_item_scope ::
-                                        JSRef HTMLElement -> IO Bool
-ghcjs_dom_html_element_get_item_scope = undefined
-#endif
- 
-htmlElementGetItemScope :: (IsHTMLElement self) => self -> IO Bool
-htmlElementGetItemScope self
-  = ghcjs_dom_html_element_get_item_scope
-      (unHTMLElement (toHTMLElement self))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"itemType\"]"
-        ghcjs_dom_html_element_get_item_type ::
-        JSRef HTMLElement -> IO (JSRef DOMSettableTokenList)
-#else 
-ghcjs_dom_html_element_get_item_type ::
-                                       JSRef HTMLElement -> IO (JSRef DOMSettableTokenList)
-ghcjs_dom_html_element_get_item_type = undefined
-#endif
- 
-htmlElementGetItemType ::
-                       (IsHTMLElement self) => self -> IO (Maybe DOMSettableTokenList)
-htmlElementGetItemType self
-  = fmap DOMSettableTokenList . maybeJSNull <$>
-      (ghcjs_dom_html_element_get_item_type
-         (unHTMLElement (toHTMLElement self)))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"itemId\"] = $2;"
-        ghcjs_dom_html_element_set_item_id ::
-        JSRef HTMLElement -> JSString -> IO ()
-#else 
-ghcjs_dom_html_element_set_item_id ::
-                                     JSRef HTMLElement -> JSString -> IO ()
-ghcjs_dom_html_element_set_item_id = undefined
-#endif
- 
-htmlElementSetItemId ::
-                     (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
-htmlElementSetItemId self val
-  = ghcjs_dom_html_element_set_item_id
-      (unHTMLElement (toHTMLElement self))
-      (toJSString val)
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"itemId\"]"
-        ghcjs_dom_html_element_get_item_id ::
-        JSRef HTMLElement -> IO JSString
-#else 
-ghcjs_dom_html_element_get_item_id ::
-                                     JSRef HTMLElement -> IO JSString
-ghcjs_dom_html_element_get_item_id = undefined
-#endif
- 
-htmlElementGetItemId ::
-                     (IsHTMLElement self, FromJSString result) => self -> IO result
-htmlElementGetItemId self
-  = fromJSString <$>
-      (ghcjs_dom_html_element_get_item_id
-         (unHTMLElement (toHTMLElement self)))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"itemRef\"]"
-        ghcjs_dom_html_element_get_item_ref ::
-        JSRef HTMLElement -> IO (JSRef DOMSettableTokenList)
-#else 
-ghcjs_dom_html_element_get_item_ref ::
-                                      JSRef HTMLElement -> IO (JSRef DOMSettableTokenList)
-ghcjs_dom_html_element_get_item_ref = undefined
-#endif
- 
-htmlElementGetItemRef ::
-                      (IsHTMLElement self) => self -> IO (Maybe DOMSettableTokenList)
-htmlElementGetItemRef self
-  = fmap DOMSettableTokenList . maybeJSNull <$>
-      (ghcjs_dom_html_element_get_item_ref
-         (unHTMLElement (toHTMLElement self)))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"itemProp\"]"
-        ghcjs_dom_html_element_get_item_prop ::
-        JSRef HTMLElement -> IO (JSRef DOMSettableTokenList)
-#else 
-ghcjs_dom_html_element_get_item_prop ::
-                                       JSRef HTMLElement -> IO (JSRef DOMSettableTokenList)
-ghcjs_dom_html_element_get_item_prop = undefined
-#endif
- 
-htmlElementGetItemProp ::
-                       (IsHTMLElement self) => self -> IO (Maybe DOMSettableTokenList)
-htmlElementGetItemProp self
-  = fmap DOMSettableTokenList . maybeJSNull <$>
-      (ghcjs_dom_html_element_get_item_prop
-         (unHTMLElement (toHTMLElement self)))
 #else
 module GHCJS.DOM.HTMLElement (
   module Graphics.UI.Gtk.WebKit.DOM.HTMLElement
diff --git a/src/GHCJS/DOM/HTMLImageElement.hs b/src/GHCJS/DOM/HTMLImageElement.hs
--- a/src/GHCJS/DOM/HTMLImageElement.hs
+++ b/src/GHCJS/DOM/HTMLImageElement.hs
@@ -25,7 +25,10 @@
         ghcjs_dom_html_image_element_get_long_desc,
         htmlImageElementGetLongDesc, ghcjs_dom_html_image_element_set_src,
         htmlImageElementSetSrc, ghcjs_dom_html_image_element_get_src,
-        htmlImageElementGetSrc, ghcjs_dom_html_image_element_set_use_map,
+        htmlImageElementGetSrc, ghcjs_dom_html_image_element_set_srcset,
+        htmlImageElementSetSrcset, ghcjs_dom_html_image_element_get_srcset,
+        htmlImageElementGetSrcset,
+        ghcjs_dom_html_image_element_set_use_map,
         htmlImageElementSetUseMap,
         ghcjs_dom_html_image_element_get_use_map,
         htmlImageElementGetUseMap, ghcjs_dom_html_image_element_set_vspace,
@@ -413,6 +416,42 @@
 htmlImageElementGetSrc self
   = fromJSString <$>
       (ghcjs_dom_html_image_element_get_src
+         (unHTMLImageElement (toHTMLImageElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"srcset\"] = $2;"
+        ghcjs_dom_html_image_element_set_srcset ::
+        JSRef HTMLImageElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_srcset ::
+                                          JSRef HTMLImageElement -> JSString -> IO ()
+ghcjs_dom_html_image_element_set_srcset = undefined
+#endif
+ 
+htmlImageElementSetSrcset ::
+                          (IsHTMLImageElement self, ToJSString val) => self -> val -> IO ()
+htmlImageElementSetSrcset self val
+  = ghcjs_dom_html_image_element_set_srcset
+      (unHTMLImageElement (toHTMLImageElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"srcset\"]"
+        ghcjs_dom_html_image_element_get_srcset ::
+        JSRef HTMLImageElement -> IO JSString
+#else 
+ghcjs_dom_html_image_element_get_srcset ::
+                                          JSRef HTMLImageElement -> IO JSString
+ghcjs_dom_html_image_element_get_srcset = undefined
+#endif
+ 
+htmlImageElementGetSrcset ::
+                          (IsHTMLImageElement self, FromJSString result) => self -> IO result
+htmlImageElementGetSrcset self
+  = fromJSString <$>
+      (ghcjs_dom_html_image_element_get_srcset
          (unHTMLImageElement (toHTMLImageElement self)))
 
 
diff --git a/src/GHCJS/DOM/HTMLInputElement.hs b/src/GHCJS/DOM/HTMLInputElement.hs
--- a/src/GHCJS/DOM/HTMLInputElement.hs
+++ b/src/GHCJS/DOM/HTMLInputElement.hs
@@ -9,6 +9,8 @@
         ghcjs_dom_html_input_element_set_custom_validity,
         htmlInputElementSetCustomValidity,
         ghcjs_dom_html_input_element_select, htmlInputElementSelect,
+        ghcjs_dom_html_input_element_set_range_text,
+        htmlInputElementSetRangeText,
         ghcjs_dom_html_input_element_set_value_for_user,
         htmlInputElementSetValueForUser,
         ghcjs_dom_html_input_element_set_accept, htmlInputElementSetAccept,
@@ -253,6 +255,52 @@
 htmlInputElementSelect self
   = ghcjs_dom_html_input_element_select
       (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setRangeText\"]($2)"
+        ghcjs_dom_html_input_element_set_range_text ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_range_text ::
+                                              JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_range_text = undefined
+#endif
+ 
+htmlInputElementSetRangeText ::
+                             (IsHTMLInputElement self, ToJSString replacement) =>
+                               self -> replacement -> IO ()
+htmlInputElementSetRangeText self replacement
+  = ghcjs_dom_html_input_element_set_range_text
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString replacement)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"setRangeText\"]($2, $3, $4,\n$5)"
+        ghcjs_dom_html_input_element_set_range_text ::
+        JSRef HTMLInputElement ->
+          JSString -> Word -> Word -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_range_text ::
+                                              JSRef HTMLInputElement ->
+                                                JSString -> Word -> Word -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_range_text = undefined
+#endif
+ 
+htmlInputElementSetRangeText ::
+                             (IsHTMLInputElement self, ToJSString replacement,
+                              ToJSString selectionMode) =>
+                               self -> replacement -> Word -> Word -> selectionMode -> IO ()
+htmlInputElementSetRangeText self replacement start end
+  selectionMode
+  = ghcjs_dom_html_input_element_set_range_text
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString replacement)
+      start
+      end
+      (toJSString selectionMode)
 
 
 #ifdef __GHCJS__ 
diff --git a/src/GHCJS/DOM/HTMLMediaElement.hs b/src/GHCJS/DOM/HTMLMediaElement.hs
--- a/src/GHCJS/DOM/HTMLMediaElement.hs
+++ b/src/GHCJS/DOM/HTMLMediaElement.hs
@@ -81,6 +81,7 @@
         htmlMediaElementGetWebkitAudioDecodedByteCount,
         ghcjs_dom_html_media_element_get_webkit_video_decoded_byte_count,
         htmlMediaElementGetWebkitVideoDecodedByteCount,
+        htmlMediaElementOnwebkitneedkey,
         ghcjs_dom_html_media_element_set_media_group,
         htmlMediaElementSetMediaGroup,
         ghcjs_dom_html_media_element_get_media_group,
@@ -358,15 +359,15 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"currentTime\"] = $2;"
         ghcjs_dom_html_media_element_set_current_time ::
-        JSRef HTMLMediaElement -> Float -> IO ()
+        JSRef HTMLMediaElement -> Double -> IO ()
 #else 
 ghcjs_dom_html_media_element_set_current_time ::
-                                                JSRef HTMLMediaElement -> Float -> IO ()
+                                                JSRef HTMLMediaElement -> Double -> IO ()
 ghcjs_dom_html_media_element_set_current_time = undefined
 #endif
  
 htmlMediaElementSetCurrentTime ::
-                               (IsHTMLMediaElement self) => self -> Float -> IO ()
+                               (IsHTMLMediaElement self) => self -> Double -> IO ()
 htmlMediaElementSetCurrentTime self val
   = ghcjs_dom_html_media_element_set_current_time
       (unHTMLMediaElement (toHTMLMediaElement self))
@@ -376,15 +377,15 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"currentTime\"]"
         ghcjs_dom_html_media_element_get_current_time ::
-        JSRef HTMLMediaElement -> IO Float
+        JSRef HTMLMediaElement -> IO Double
 #else 
 ghcjs_dom_html_media_element_get_current_time ::
-                                                JSRef HTMLMediaElement -> IO Float
+                                                JSRef HTMLMediaElement -> IO Double
 ghcjs_dom_html_media_element_get_current_time = undefined
 #endif
  
 htmlMediaElementGetCurrentTime ::
-                               (IsHTMLMediaElement self) => self -> IO Float
+                               (IsHTMLMediaElement self) => self -> IO Double
 htmlMediaElementGetCurrentTime self
   = ghcjs_dom_html_media_element_get_current_time
       (unHTMLMediaElement (toHTMLMediaElement self))
@@ -410,15 +411,15 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"startTime\"]"
         ghcjs_dom_html_media_element_get_start_time ::
-        JSRef HTMLMediaElement -> IO Float
+        JSRef HTMLMediaElement -> IO Double
 #else 
 ghcjs_dom_html_media_element_get_start_time ::
-                                              JSRef HTMLMediaElement -> IO Float
+                                              JSRef HTMLMediaElement -> IO Double
 ghcjs_dom_html_media_element_get_start_time = undefined
 #endif
  
 htmlMediaElementGetStartTime ::
-                             (IsHTMLMediaElement self) => self -> IO Float
+                             (IsHTMLMediaElement self) => self -> IO Double
 htmlMediaElementGetStartTime self
   = ghcjs_dom_html_media_element_get_start_time
       (unHTMLMediaElement (toHTMLMediaElement self))
@@ -427,15 +428,15 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"duration\"]"
         ghcjs_dom_html_media_element_get_duration ::
-        JSRef HTMLMediaElement -> IO Float
+        JSRef HTMLMediaElement -> IO Double
 #else 
 ghcjs_dom_html_media_element_get_duration ::
-                                            JSRef HTMLMediaElement -> IO Float
+                                            JSRef HTMLMediaElement -> IO Double
 ghcjs_dom_html_media_element_get_duration = undefined
 #endif
  
 htmlMediaElementGetDuration ::
-                            (IsHTMLMediaElement self) => self -> IO Float
+                            (IsHTMLMediaElement self) => self -> IO Double
 htmlMediaElementGetDuration self
   = ghcjs_dom_html_media_element_get_duration
       (unHTMLMediaElement (toHTMLMediaElement self))
@@ -462,15 +463,15 @@
 foreign import javascript unsafe
         "$1[\"defaultPlaybackRate\"] = $2;"
         ghcjs_dom_html_media_element_set_default_playback_rate ::
-        JSRef HTMLMediaElement -> Float -> IO ()
+        JSRef HTMLMediaElement -> Double -> IO ()
 #else 
 ghcjs_dom_html_media_element_set_default_playback_rate ::
-                                                         JSRef HTMLMediaElement -> Float -> IO ()
+                                                         JSRef HTMLMediaElement -> Double -> IO ()
 ghcjs_dom_html_media_element_set_default_playback_rate = undefined
 #endif
  
 htmlMediaElementSetDefaultPlaybackRate ::
-                                       (IsHTMLMediaElement self) => self -> Float -> IO ()
+                                       (IsHTMLMediaElement self) => self -> Double -> IO ()
 htmlMediaElementSetDefaultPlaybackRate self val
   = ghcjs_dom_html_media_element_set_default_playback_rate
       (unHTMLMediaElement (toHTMLMediaElement self))
@@ -480,15 +481,15 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"defaultPlaybackRate\"]"
         ghcjs_dom_html_media_element_get_default_playback_rate ::
-        JSRef HTMLMediaElement -> IO Float
+        JSRef HTMLMediaElement -> IO Double
 #else 
 ghcjs_dom_html_media_element_get_default_playback_rate ::
-                                                         JSRef HTMLMediaElement -> IO Float
+                                                         JSRef HTMLMediaElement -> IO Double
 ghcjs_dom_html_media_element_get_default_playback_rate = undefined
 #endif
  
 htmlMediaElementGetDefaultPlaybackRate ::
-                                       (IsHTMLMediaElement self) => self -> IO Float
+                                       (IsHTMLMediaElement self) => self -> IO Double
 htmlMediaElementGetDefaultPlaybackRate self
   = ghcjs_dom_html_media_element_get_default_playback_rate
       (unHTMLMediaElement (toHTMLMediaElement self))
@@ -497,15 +498,15 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"playbackRate\"] = $2;"
         ghcjs_dom_html_media_element_set_playback_rate ::
-        JSRef HTMLMediaElement -> Float -> IO ()
+        JSRef HTMLMediaElement -> Double -> IO ()
 #else 
 ghcjs_dom_html_media_element_set_playback_rate ::
-                                                 JSRef HTMLMediaElement -> Float -> IO ()
+                                                 JSRef HTMLMediaElement -> Double -> IO ()
 ghcjs_dom_html_media_element_set_playback_rate = undefined
 #endif
  
 htmlMediaElementSetPlaybackRate ::
-                                (IsHTMLMediaElement self) => self -> Float -> IO ()
+                                (IsHTMLMediaElement self) => self -> Double -> IO ()
 htmlMediaElementSetPlaybackRate self val
   = ghcjs_dom_html_media_element_set_playback_rate
       (unHTMLMediaElement (toHTMLMediaElement self))
@@ -515,15 +516,15 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"playbackRate\"]"
         ghcjs_dom_html_media_element_get_playback_rate ::
-        JSRef HTMLMediaElement -> IO Float
+        JSRef HTMLMediaElement -> IO Double
 #else 
 ghcjs_dom_html_media_element_get_playback_rate ::
-                                                 JSRef HTMLMediaElement -> IO Float
+                                                 JSRef HTMLMediaElement -> IO Double
 ghcjs_dom_html_media_element_get_playback_rate = undefined
 #endif
  
 htmlMediaElementGetPlaybackRate ::
-                                (IsHTMLMediaElement self) => self -> IO Float
+                                (IsHTMLMediaElement self) => self -> IO Double
 htmlMediaElementGetPlaybackRate self
   = ghcjs_dom_html_media_element_get_playback_rate
       (unHTMLMediaElement (toHTMLMediaElement self))
@@ -690,15 +691,15 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"volume\"] = $2;"
         ghcjs_dom_html_media_element_set_volume ::
-        JSRef HTMLMediaElement -> Float -> IO ()
+        JSRef HTMLMediaElement -> Double -> IO ()
 #else 
 ghcjs_dom_html_media_element_set_volume ::
-                                          JSRef HTMLMediaElement -> Float -> IO ()
+                                          JSRef HTMLMediaElement -> Double -> IO ()
 ghcjs_dom_html_media_element_set_volume = undefined
 #endif
  
 htmlMediaElementSetVolume ::
-                          (IsHTMLMediaElement self) => self -> Float -> IO ()
+                          (IsHTMLMediaElement self) => self -> Double -> IO ()
 htmlMediaElementSetVolume self val
   = ghcjs_dom_html_media_element_set_volume
       (unHTMLMediaElement (toHTMLMediaElement self))
@@ -708,15 +709,15 @@
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"volume\"]"
         ghcjs_dom_html_media_element_get_volume ::
-        JSRef HTMLMediaElement -> IO Float
+        JSRef HTMLMediaElement -> IO Double
 #else 
 ghcjs_dom_html_media_element_get_volume ::
-                                          JSRef HTMLMediaElement -> IO Float
+                                          JSRef HTMLMediaElement -> IO Double
 ghcjs_dom_html_media_element_get_volume = undefined
 #endif
  
 htmlMediaElementGetVolume ::
-                          (IsHTMLMediaElement self) => self -> IO Float
+                          (IsHTMLMediaElement self) => self -> IO Double
 htmlMediaElementGetVolume self
   = ghcjs_dom_html_media_element_get_volume
       (unHTMLMediaElement (toHTMLMediaElement self))
@@ -924,6 +925,10 @@
 htmlMediaElementGetWebkitVideoDecodedByteCount self
   = ghcjs_dom_html_media_element_get_webkit_video_decoded_byte_count
       (unHTMLMediaElement (toHTMLMediaElement self))
+ 
+htmlMediaElementOnwebkitneedkey ::
+                                (IsHTMLMediaElement self) => Signal self (EventM UIEvent self ())
+htmlMediaElementOnwebkitneedkey = (connect "webkitneedkey")
 
 
 #ifdef __GHCJS__ 
diff --git a/src/GHCJS/DOM/HTMLOptionsCollection.hs b/src/GHCJS/DOM/HTMLOptionsCollection.hs
--- a/src/GHCJS/DOM/HTMLOptionsCollection.hs
+++ b/src/GHCJS/DOM/HTMLOptionsCollection.hs
@@ -2,7 +2,9 @@
 #if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
 {-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
 module GHCJS.DOM.HTMLOptionsCollection
-       (ghcjs_dom_html_options_collection_set_selected_index,
+       (ghcjs_dom_html_options_collection_named_item,
+        htmlOptionsCollectionNamedItem,
+        ghcjs_dom_html_options_collection_set_selected_index,
         htmlOptionsCollectionSetSelectedIndex,
         ghcjs_dom_html_options_collection_get_selected_index,
         htmlOptionsCollectionGetSelectedIndex)
@@ -20,6 +22,27 @@
 import Control.Applicative ((<$>))
 import GHCJS.DOM.EventM
 
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"namedItem\"]($2)"
+        ghcjs_dom_html_options_collection_named_item ::
+        JSRef HTMLOptionsCollection -> JSString -> IO (JSRef Node)
+#else 
+ghcjs_dom_html_options_collection_named_item ::
+                                               JSRef HTMLOptionsCollection ->
+                                                 JSString -> IO (JSRef Node)
+ghcjs_dom_html_options_collection_named_item = undefined
+#endif
+ 
+htmlOptionsCollectionNamedItem ::
+                               (IsHTMLOptionsCollection self, ToJSString name) =>
+                                 self -> name -> IO (Maybe Node)
+htmlOptionsCollectionNamedItem self name
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_html_options_collection_named_item
+         (unHTMLOptionsCollection (toHTMLOptionsCollection self))
+         (toJSString name))
 
 
 #ifdef __GHCJS__ 
diff --git a/src/GHCJS/DOM/HTMLTextAreaElement.hs b/src/GHCJS/DOM/HTMLTextAreaElement.hs
--- a/src/GHCJS/DOM/HTMLTextAreaElement.hs
+++ b/src/GHCJS/DOM/HTMLTextAreaElement.hs
@@ -7,6 +7,8 @@
         ghcjs_dom_html_text_area_element_set_custom_validity,
         htmlTextAreaElementSetCustomValidity,
         ghcjs_dom_html_text_area_element_select, htmlTextAreaElementSelect,
+        ghcjs_dom_html_text_area_element_set_range_text,
+        htmlTextAreaElementSetRangeText,
         ghcjs_dom_html_text_area_element_set_selection_range,
         htmlTextAreaElementSetSelectionRange,
         ghcjs_dom_html_text_area_element_set_autofocus,
@@ -154,6 +156,52 @@
 htmlTextAreaElementSelect self
   = ghcjs_dom_html_text_area_element_select
       (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setRangeText\"]($2)"
+        ghcjs_dom_html_text_area_element_set_range_text ::
+        JSRef HTMLTextAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_range_text ::
+                                                  JSRef HTMLTextAreaElement -> JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_range_text = undefined
+#endif
+ 
+htmlTextAreaElementSetRangeText ::
+                                (IsHTMLTextAreaElement self, ToJSString replacement) =>
+                                  self -> replacement -> IO ()
+htmlTextAreaElementSetRangeText self replacement
+  = ghcjs_dom_html_text_area_element_set_range_text
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      (toJSString replacement)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"setRangeText\"]($2, $3, $4,\n$5)"
+        ghcjs_dom_html_text_area_element_set_range_text ::
+        JSRef HTMLTextAreaElement ->
+          JSString -> Word -> Word -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_range_text ::
+                                                  JSRef HTMLTextAreaElement ->
+                                                    JSString -> Word -> Word -> JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_range_text = undefined
+#endif
+ 
+htmlTextAreaElementSetRangeText ::
+                                (IsHTMLTextAreaElement self, ToJSString replacement,
+                                 ToJSString selectionMode) =>
+                                  self -> replacement -> Word -> Word -> selectionMode -> IO ()
+htmlTextAreaElementSetRangeText self replacement start end
+  selectionMode
+  = ghcjs_dom_html_text_area_element_set_range_text
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      (toJSString replacement)
+      start
+      end
+      (toJSString selectionMode)
 
 
 #ifdef __GHCJS__ 
diff --git a/src/GHCJS/DOM/KeyboardEvent.hs b/src/GHCJS/DOM/KeyboardEvent.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/KeyboardEvent.hs
@@ -0,0 +1,233 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.KeyboardEvent
+       (ghcjs_dom_keyboard_event_get_modifier_state,
+        keyboardEventGetModifierState,
+        ghcjs_dom_keyboard_event_init_keyboard_event,
+        keyboardEventInitKeyboardEvent, cKEY_LOCATION_STANDARD,
+        cKEY_LOCATION_LEFT, cKEY_LOCATION_RIGHT, cKEY_LOCATION_NUMPAD,
+        ghcjs_dom_keyboard_event_get_key_identifier,
+        keyboardEventGetKeyIdentifier,
+        ghcjs_dom_keyboard_event_get_key_location,
+        keyboardEventGetKeyLocation, ghcjs_dom_keyboard_event_get_ctrl_key,
+        keyboardEventGetCtrlKey, ghcjs_dom_keyboard_event_get_shift_key,
+        keyboardEventGetShiftKey, ghcjs_dom_keyboard_event_get_alt_key,
+        keyboardEventGetAltKey, ghcjs_dom_keyboard_event_get_meta_key,
+        keyboardEventGetMetaKey,
+        ghcjs_dom_keyboard_event_get_alt_graph_key,
+        keyboardEventGetAltGraphKey)
+       where
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.DOM.EventM
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.DOM.EventM
+
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"getModifierState\"]($2) ? 1 : 0)"
+        ghcjs_dom_keyboard_event_get_modifier_state ::
+        JSRef KeyboardEvent -> JSString -> IO Bool
+#else 
+ghcjs_dom_keyboard_event_get_modifier_state ::
+                                              JSRef KeyboardEvent -> JSString -> IO Bool
+ghcjs_dom_keyboard_event_get_modifier_state = undefined
+#endif
+ 
+keyboardEventGetModifierState ::
+                              (IsKeyboardEvent self, ToJSString keyIdentifierArg) =>
+                                self -> keyIdentifierArg -> IO Bool
+keyboardEventGetModifierState self keyIdentifierArg
+  = ghcjs_dom_keyboard_event_get_modifier_state
+      (unKeyboardEvent (toKeyboardEvent self))
+      (toJSString keyIdentifierArg)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"initKeyboardEvent\"]($2, $3,\n$4, $5, $6, $7, $8, $9, $10,\n$11, $12)"
+        ghcjs_dom_keyboard_event_init_keyboard_event ::
+        JSRef KeyboardEvent ->
+          JSString ->
+            Bool ->
+              Bool ->
+                JSRef DOMWindow ->
+                  JSString -> Word -> Bool -> Bool -> Bool -> Bool -> Bool -> IO ()
+#else 
+ghcjs_dom_keyboard_event_init_keyboard_event ::
+                                               JSRef KeyboardEvent ->
+                                                 JSString ->
+                                                   Bool ->
+                                                     Bool ->
+                                                       JSRef DOMWindow ->
+                                                         JSString ->
+                                                           Word ->
+                                                             Bool ->
+                                                               Bool -> Bool -> Bool -> Bool -> IO ()
+ghcjs_dom_keyboard_event_init_keyboard_event = undefined
+#endif
+ 
+keyboardEventInitKeyboardEvent ::
+                               (IsKeyboardEvent self, ToJSString type', IsDOMWindow view,
+                                ToJSString keyIdentifier) =>
+                                 self ->
+                                   type' ->
+                                     Bool ->
+                                       Bool ->
+                                         Maybe view ->
+                                           keyIdentifier ->
+                                             Word -> Bool -> Bool -> Bool -> Bool -> Bool -> IO ()
+keyboardEventInitKeyboardEvent self type' canBubble cancelable view
+  keyIdentifier location ctrlKey altKey shiftKey metaKey altGraphKey
+  = ghcjs_dom_keyboard_event_init_keyboard_event
+      (unKeyboardEvent (toKeyboardEvent self))
+      (toJSString type')
+      canBubble
+      cancelable
+      (maybe jsNull (unDOMWindow . toDOMWindow) view)
+      (toJSString keyIdentifier)
+      location
+      ctrlKey
+      altKey
+      shiftKey
+      metaKey
+      altGraphKey
+cKEY_LOCATION_STANDARD = 0
+cKEY_LOCATION_LEFT = 1
+cKEY_LOCATION_RIGHT = 2
+cKEY_LOCATION_NUMPAD = 3
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"keyIdentifier\"]"
+        ghcjs_dom_keyboard_event_get_key_identifier ::
+        JSRef KeyboardEvent -> IO JSString
+#else 
+ghcjs_dom_keyboard_event_get_key_identifier ::
+                                              JSRef KeyboardEvent -> IO JSString
+ghcjs_dom_keyboard_event_get_key_identifier = undefined
+#endif
+ 
+keyboardEventGetKeyIdentifier ::
+                              (IsKeyboardEvent self, FromJSString result) => self -> IO result
+keyboardEventGetKeyIdentifier self
+  = fromJSString <$>
+      (ghcjs_dom_keyboard_event_get_key_identifier
+         (unKeyboardEvent (toKeyboardEvent self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"keyLocation\"]"
+        ghcjs_dom_keyboard_event_get_key_location ::
+        JSRef KeyboardEvent -> IO Word
+#else 
+ghcjs_dom_keyboard_event_get_key_location ::
+                                            JSRef KeyboardEvent -> IO Word
+ghcjs_dom_keyboard_event_get_key_location = undefined
+#endif
+ 
+keyboardEventGetKeyLocation ::
+                            (IsKeyboardEvent self) => self -> IO Word
+keyboardEventGetKeyLocation self
+  = ghcjs_dom_keyboard_event_get_key_location
+      (unKeyboardEvent (toKeyboardEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"ctrlKey\"] ? 1 : 0)"
+        ghcjs_dom_keyboard_event_get_ctrl_key ::
+        JSRef KeyboardEvent -> IO Bool
+#else 
+ghcjs_dom_keyboard_event_get_ctrl_key ::
+                                        JSRef KeyboardEvent -> IO Bool
+ghcjs_dom_keyboard_event_get_ctrl_key = undefined
+#endif
+ 
+keyboardEventGetCtrlKey ::
+                        (IsKeyboardEvent self) => self -> IO Bool
+keyboardEventGetCtrlKey self
+  = ghcjs_dom_keyboard_event_get_ctrl_key
+      (unKeyboardEvent (toKeyboardEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"shiftKey\"] ? 1 : 0)"
+        ghcjs_dom_keyboard_event_get_shift_key ::
+        JSRef KeyboardEvent -> IO Bool
+#else 
+ghcjs_dom_keyboard_event_get_shift_key ::
+                                         JSRef KeyboardEvent -> IO Bool
+ghcjs_dom_keyboard_event_get_shift_key = undefined
+#endif
+ 
+keyboardEventGetShiftKey ::
+                         (IsKeyboardEvent self) => self -> IO Bool
+keyboardEventGetShiftKey self
+  = ghcjs_dom_keyboard_event_get_shift_key
+      (unKeyboardEvent (toKeyboardEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"altKey\"] ? 1 : 0)"
+        ghcjs_dom_keyboard_event_get_alt_key ::
+        JSRef KeyboardEvent -> IO Bool
+#else 
+ghcjs_dom_keyboard_event_get_alt_key ::
+                                       JSRef KeyboardEvent -> IO Bool
+ghcjs_dom_keyboard_event_get_alt_key = undefined
+#endif
+ 
+keyboardEventGetAltKey :: (IsKeyboardEvent self) => self -> IO Bool
+keyboardEventGetAltKey self
+  = ghcjs_dom_keyboard_event_get_alt_key
+      (unKeyboardEvent (toKeyboardEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"metaKey\"] ? 1 : 0)"
+        ghcjs_dom_keyboard_event_get_meta_key ::
+        JSRef KeyboardEvent -> IO Bool
+#else 
+ghcjs_dom_keyboard_event_get_meta_key ::
+                                        JSRef KeyboardEvent -> IO Bool
+ghcjs_dom_keyboard_event_get_meta_key = undefined
+#endif
+ 
+keyboardEventGetMetaKey ::
+                        (IsKeyboardEvent self) => self -> IO Bool
+keyboardEventGetMetaKey self
+  = ghcjs_dom_keyboard_event_get_meta_key
+      (unKeyboardEvent (toKeyboardEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"altGraphKey\"] ? 1 : 0)"
+        ghcjs_dom_keyboard_event_get_alt_graph_key ::
+        JSRef KeyboardEvent -> IO Bool
+#else 
+ghcjs_dom_keyboard_event_get_alt_graph_key ::
+                                             JSRef KeyboardEvent -> IO Bool
+ghcjs_dom_keyboard_event_get_alt_graph_key = undefined
+#endif
+ 
+keyboardEventGetAltGraphKey ::
+                            (IsKeyboardEvent self) => self -> IO Bool
+keyboardEventGetAltGraphKey self
+  = ghcjs_dom_keyboard_event_get_alt_graph_key
+      (unKeyboardEvent (toKeyboardEvent self))
+#else
+module GHCJS.DOM.KeyboardEvent (
+  module Graphics.UI.Gtk.WebKit.DOM.KeyboardEvent
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.KeyboardEvent
+#endif
diff --git a/src/GHCJS/DOM/MemoryInfo.hs b/src/GHCJS/DOM/MemoryInfo.hs
deleted file mode 100644
--- a/src/GHCJS/DOM/MemoryInfo.hs
+++ /dev/null
@@ -1,81 +0,0 @@
-{-# LANGUAGE CPP #-}
-#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
-{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
-module GHCJS.DOM.MemoryInfo
-       (ghcjs_dom_memory_info_get_total_js_heap_size,
-        memoryInfoGetTotalJSHeapSize,
-        ghcjs_dom_memory_info_get_used_js_heap_size,
-        memoryInfoGetUsedJSHeapSize,
-        ghcjs_dom_memory_info_get_js_heap_size_limit,
-        memoryInfoGetJsHeapSizeLimit)
-       where
-import GHCJS.Types
-import GHCJS.Foreign
-import Data.Word
-import GHCJS.DOM.Types
-import Control.Applicative ((<$>))
-import GHCJS.DOM.EventM
-import GHCJS.Types
-import GHCJS.Foreign
-import Data.Word
-import GHCJS.DOM.Types
-import Control.Applicative ((<$>))
-import GHCJS.DOM.EventM
-
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"totalJSHeapSize\"]"
-        ghcjs_dom_memory_info_get_total_js_heap_size ::
-        JSRef MemoryInfo -> IO Word
-#else 
-ghcjs_dom_memory_info_get_total_js_heap_size ::
-                                               JSRef MemoryInfo -> IO Word
-ghcjs_dom_memory_info_get_total_js_heap_size = undefined
-#endif
- 
-memoryInfoGetTotalJSHeapSize ::
-                             (IsMemoryInfo self) => self -> IO Word
-memoryInfoGetTotalJSHeapSize self
-  = ghcjs_dom_memory_info_get_total_js_heap_size
-      (unMemoryInfo (toMemoryInfo self))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"usedJSHeapSize\"]"
-        ghcjs_dom_memory_info_get_used_js_heap_size ::
-        JSRef MemoryInfo -> IO Word
-#else 
-ghcjs_dom_memory_info_get_used_js_heap_size ::
-                                              JSRef MemoryInfo -> IO Word
-ghcjs_dom_memory_info_get_used_js_heap_size = undefined
-#endif
- 
-memoryInfoGetUsedJSHeapSize ::
-                            (IsMemoryInfo self) => self -> IO Word
-memoryInfoGetUsedJSHeapSize self
-  = ghcjs_dom_memory_info_get_used_js_heap_size
-      (unMemoryInfo (toMemoryInfo self))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"jsHeapSizeLimit\"]"
-        ghcjs_dom_memory_info_get_js_heap_size_limit ::
-        JSRef MemoryInfo -> IO Word
-#else 
-ghcjs_dom_memory_info_get_js_heap_size_limit ::
-                                               JSRef MemoryInfo -> IO Word
-ghcjs_dom_memory_info_get_js_heap_size_limit = undefined
-#endif
- 
-memoryInfoGetJsHeapSizeLimit ::
-                             (IsMemoryInfo self) => self -> IO Word
-memoryInfoGetJsHeapSizeLimit self
-  = ghcjs_dom_memory_info_get_js_heap_size_limit
-      (unMemoryInfo (toMemoryInfo self))
-#else
-module GHCJS.DOM.MemoryInfo (
-  module Graphics.UI.Gtk.WebKit.DOM.MemoryInfo
-  ) where
-import Graphics.UI.Gtk.WebKit.DOM.MemoryInfo
-#endif
diff --git a/src/GHCJS/DOM/MouseEvent.hs b/src/GHCJS/DOM/MouseEvent.hs
--- a/src/GHCJS/DOM/MouseEvent.hs
+++ b/src/GHCJS/DOM/MouseEvent.hs
@@ -7,16 +7,17 @@
         ghcjs_dom_mouse_event_get_screen_y, mouseEventGetScreenY,
         ghcjs_dom_mouse_event_get_client_x, mouseEventGetClientX,
         ghcjs_dom_mouse_event_get_client_y, mouseEventGetClientY,
+        ghcjs_dom_mouse_event_get_ctrl_key, mouseEventGetCtrlKey,
+        ghcjs_dom_mouse_event_get_shift_key, mouseEventGetShiftKey,
+        ghcjs_dom_mouse_event_get_alt_key, mouseEventGetAltKey,
+        ghcjs_dom_mouse_event_get_meta_key, mouseEventGetMetaKey,
+        ghcjs_dom_mouse_event_get_button, mouseEventGetButton,
+        ghcjs_dom_mouse_event_get_related_target,
+        mouseEventGetRelatedTarget,
         ghcjs_dom_mouse_event_get_webkit_movement_x,
         mouseEventGetWebkitMovementX,
         ghcjs_dom_mouse_event_get_webkit_movement_y,
-        mouseEventGetWebkitMovementY, ghcjs_dom_mouse_event_get_ctrl_key,
-        mouseEventGetCtrlKey, ghcjs_dom_mouse_event_get_shift_key,
-        mouseEventGetShiftKey, ghcjs_dom_mouse_event_get_alt_key,
-        mouseEventGetAltKey, ghcjs_dom_mouse_event_get_meta_key,
-        mouseEventGetMetaKey, ghcjs_dom_mouse_event_get_button,
-        mouseEventGetButton, ghcjs_dom_mouse_event_get_related_target,
-        mouseEventGetRelatedTarget, ghcjs_dom_mouse_event_get_offset_x,
+        mouseEventGetWebkitMovementY, ghcjs_dom_mouse_event_get_offset_x,
         mouseEventGetOffsetX, ghcjs_dom_mouse_event_get_offset_y,
         mouseEventGetOffsetY, ghcjs_dom_mouse_event_get_x, mouseEventGetX,
         ghcjs_dom_mouse_event_get_y, mouseEventGetY,
@@ -168,40 +169,6 @@
 
 
 #ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"webkitMovementX\"]"
-        ghcjs_dom_mouse_event_get_webkit_movement_x ::
-        JSRef MouseEvent -> IO Int
-#else 
-ghcjs_dom_mouse_event_get_webkit_movement_x ::
-                                              JSRef MouseEvent -> IO Int
-ghcjs_dom_mouse_event_get_webkit_movement_x = undefined
-#endif
- 
-mouseEventGetWebkitMovementX ::
-                             (IsMouseEvent self) => self -> IO Int
-mouseEventGetWebkitMovementX self
-  = ghcjs_dom_mouse_event_get_webkit_movement_x
-      (unMouseEvent (toMouseEvent self))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"webkitMovementY\"]"
-        ghcjs_dom_mouse_event_get_webkit_movement_y ::
-        JSRef MouseEvent -> IO Int
-#else 
-ghcjs_dom_mouse_event_get_webkit_movement_y ::
-                                              JSRef MouseEvent -> IO Int
-ghcjs_dom_mouse_event_get_webkit_movement_y = undefined
-#endif
- 
-mouseEventGetWebkitMovementY ::
-                             (IsMouseEvent self) => self -> IO Int
-mouseEventGetWebkitMovementY self
-  = ghcjs_dom_mouse_event_get_webkit_movement_y
-      (unMouseEvent (toMouseEvent self))
-
-
-#ifdef __GHCJS__ 
 foreign import javascript unsafe "($1[\"ctrlKey\"] ? 1 : 0)"
         ghcjs_dom_mouse_event_get_ctrl_key :: JSRef MouseEvent -> IO Bool
 #else 
@@ -287,6 +254,40 @@
   = fmap EventTarget . maybeJSNull <$>
       (ghcjs_dom_mouse_event_get_related_target
          (unMouseEvent (toMouseEvent self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitMovementX\"]"
+        ghcjs_dom_mouse_event_get_webkit_movement_x ::
+        JSRef MouseEvent -> IO Int
+#else 
+ghcjs_dom_mouse_event_get_webkit_movement_x ::
+                                              JSRef MouseEvent -> IO Int
+ghcjs_dom_mouse_event_get_webkit_movement_x = undefined
+#endif
+ 
+mouseEventGetWebkitMovementX ::
+                             (IsMouseEvent self) => self -> IO Int
+mouseEventGetWebkitMovementX self
+  = ghcjs_dom_mouse_event_get_webkit_movement_x
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitMovementY\"]"
+        ghcjs_dom_mouse_event_get_webkit_movement_y ::
+        JSRef MouseEvent -> IO Int
+#else 
+ghcjs_dom_mouse_event_get_webkit_movement_y ::
+                                              JSRef MouseEvent -> IO Int
+ghcjs_dom_mouse_event_get_webkit_movement_y = undefined
+#endif
+ 
+mouseEventGetWebkitMovementY ::
+                             (IsMouseEvent self) => self -> IO Int
+mouseEventGetWebkitMovementY self
+  = ghcjs_dom_mouse_event_get_webkit_movement_y
+      (unMouseEvent (toMouseEvent self))
 
 
 #ifdef __GHCJS__ 
diff --git a/src/GHCJS/DOM/Node.hs b/src/GHCJS/DOM/Node.hs
--- a/src/GHCJS/DOM/Node.hs
+++ b/src/GHCJS/DOM/Node.hs
@@ -9,7 +9,6 @@
         ghcjs_dom_node_has_child_nodes, nodeHasChildNodes,
         ghcjs_dom_node_clone_node, nodeCloneNode, ghcjs_dom_node_normalize,
         nodeNormalize, ghcjs_dom_node_is_supported, nodeIsSupported,
-        ghcjs_dom_node_has_attributes, nodeHasAttributes,
         ghcjs_dom_node_is_same_node, nodeIsSameNode,
         ghcjs_dom_node_is_equal_node, nodeIsEqualNode,
         ghcjs_dom_node_lookup_prefix, nodeLookupPrefix,
@@ -36,7 +35,6 @@
         ghcjs_dom_node_get_last_child, nodeGetLastChild,
         ghcjs_dom_node_get_previous_sibling, nodeGetPreviousSibling,
         ghcjs_dom_node_get_next_sibling, nodeGetNextSibling,
-        ghcjs_dom_node_get_attributes, nodeGetAttributes,
         ghcjs_dom_node_get_owner_document, nodeGetOwnerDocument,
         ghcjs_dom_node_get_namespace_uri, nodeGetNamespaceURI,
         ghcjs_dom_node_set_prefix, nodeSetPrefix,
@@ -202,20 +200,6 @@
 
 
 #ifdef __GHCJS__ 
-foreign import javascript unsafe
-        "($1[\"hasAttributes\"]() ? 1 : 0)" ghcjs_dom_node_has_attributes
-        :: JSRef Node -> IO Bool
-#else 
-ghcjs_dom_node_has_attributes :: JSRef Node -> IO Bool
-ghcjs_dom_node_has_attributes = undefined
-#endif
- 
-nodeHasAttributes :: (IsNode self) => self -> IO Bool
-nodeHasAttributes self
-  = ghcjs_dom_node_has_attributes (unNode (toNode self))
-
-
-#ifdef __GHCJS__ 
 foreign import javascript unsafe "($1[\"isSameNode\"]($2) ? 1 : 0)"
         ghcjs_dom_node_is_same_node :: JSRef Node -> JSRef Node -> IO Bool
 #else 
@@ -513,23 +497,6 @@
 nodeGetNextSibling self
   = fmap Node . maybeJSNull <$>
       (ghcjs_dom_node_get_next_sibling (unNode (toNode self)))
-
-
-#ifdef __GHCJS__ 
-foreign import javascript unsafe "$1[\"attributes\"]"
-        ghcjs_dom_node_get_attributes ::
-        JSRef Node -> IO (JSRef NamedNodeMap)
-#else 
-ghcjs_dom_node_get_attributes ::
-                                JSRef Node -> IO (JSRef NamedNodeMap)
-ghcjs_dom_node_get_attributes = undefined
-#endif
- 
-nodeGetAttributes ::
-                  (IsNode self) => self -> IO (Maybe NamedNodeMap)
-nodeGetAttributes self
-  = fmap NamedNodeMap . maybeJSNull <$>
-      (ghcjs_dom_node_get_attributes (unNode (toNode self)))
 
 
 #ifdef __GHCJS__ 
diff --git a/src/GHCJS/DOM/TimeRanges.hs b/src/GHCJS/DOM/TimeRanges.hs
--- a/src/GHCJS/DOM/TimeRanges.hs
+++ b/src/GHCJS/DOM/TimeRanges.hs
@@ -23,13 +23,15 @@
 
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"start\"]($2)"
-        ghcjs_dom_time_ranges_start :: JSRef TimeRanges -> Word -> IO Float
+        ghcjs_dom_time_ranges_start ::
+        JSRef TimeRanges -> Word -> IO Double
 #else 
-ghcjs_dom_time_ranges_start :: JSRef TimeRanges -> Word -> IO Float
+ghcjs_dom_time_ranges_start ::
+                              JSRef TimeRanges -> Word -> IO Double
 ghcjs_dom_time_ranges_start = undefined
 #endif
  
-timeRangesStart :: (IsTimeRanges self) => self -> Word -> IO Float
+timeRangesStart :: (IsTimeRanges self) => self -> Word -> IO Double
 timeRangesStart self index
   = ghcjs_dom_time_ranges_start (unTimeRanges (toTimeRanges self))
       index
@@ -37,13 +39,13 @@
 
 #ifdef __GHCJS__ 
 foreign import javascript unsafe "$1[\"end\"]($2)"
-        ghcjs_dom_time_ranges_end :: JSRef TimeRanges -> Word -> IO Float
+        ghcjs_dom_time_ranges_end :: JSRef TimeRanges -> Word -> IO Double
 #else 
-ghcjs_dom_time_ranges_end :: JSRef TimeRanges -> Word -> IO Float
+ghcjs_dom_time_ranges_end :: JSRef TimeRanges -> Word -> IO Double
 ghcjs_dom_time_ranges_end = undefined
 #endif
  
-timeRangesEnd :: (IsTimeRanges self) => self -> Word -> IO Float
+timeRangesEnd :: (IsTimeRanges self) => self -> Word -> IO Double
 timeRangesEnd self index
   = ghcjs_dom_time_ranges_end (unTimeRanges (toTimeRanges self))
       index
diff --git a/src/GHCJS/DOM/Types.hs b/src/GHCJS/DOM/Types.hs
--- a/src/GHCJS/DOM/Types.hs
+++ b/src/GHCJS/DOM/Types.hs
@@ -11,7 +11,7 @@
 
 -- AUTO GENERATION STARTS HERE
   , DOMAttr(DOMAttr), unDOMAttr, IsDOMAttr, toDOMAttr, castToDOMAttr, gTypeDOMAttr
-  , BarInfo(BarInfo), unBarInfo, IsBarInfo, toBarInfo, castToBarInfo, gTypeBarInfo
+  , BarProp(BarProp), unBarProp, IsBarProp, toBarProp, castToBarProp, gTypeBarProp
   , Blob(Blob), unBlob, IsBlob, toBlob, castToBlob, gTypeBlob
   , CDATASection(CDATASection), unCDATASection, IsCDATASection, toCDATASection, castToCDATASection, gTypeCDATASection
   , CSSRule(CSSRule), unCSSRule, IsCSSRule, toCSSRule, castToCSSRule, gTypeCSSRule
@@ -26,6 +26,7 @@
   , DOMImplementation(DOMImplementation), unDOMImplementation, IsDOMImplementation, toDOMImplementation, castToDOMImplementation, gTypeDOMImplementation
   , DOMMimeType(DOMMimeType), unDOMMimeType, IsDOMMimeType, toDOMMimeType, castToDOMMimeType, gTypeDOMMimeType
   , DOMMimeTypeArray(DOMMimeTypeArray), unDOMMimeTypeArray, IsDOMMimeTypeArray, toDOMMimeTypeArray, castToDOMMimeTypeArray, gTypeDOMMimeTypeArray
+  , DOMNamedFlowCollection(DOMNamedFlowCollection), unDOMNamedFlowCollection, IsDOMNamedFlowCollection, toDOMNamedFlowCollection, castToDOMNamedFlowCollection, gTypeDOMNamedFlowCollection
   , DOMPlugin(DOMPlugin), unDOMPlugin, IsDOMPlugin, toDOMPlugin, castToDOMPlugin, gTypeDOMPlugin
   , DOMPluginArray(DOMPluginArray), unDOMPluginArray, IsDOMPluginArray, toDOMPluginArray, castToDOMPluginArray, gTypeDOMPluginArray
   , DOMSecurityPolicy(DOMSecurityPolicy), unDOMSecurityPolicy, IsDOMSecurityPolicy, toDOMSecurityPolicy, castToDOMSecurityPolicy, gTypeDOMSecurityPolicy
@@ -34,6 +35,7 @@
   , DOMStringList(DOMStringList), unDOMStringList, IsDOMStringList, toDOMStringList, castToDOMStringList, gTypeDOMStringList
   , DOMTokenList(DOMTokenList), unDOMTokenList, IsDOMTokenList, toDOMTokenList, castToDOMTokenList, gTypeDOMTokenList
   , DOMWindow(DOMWindow), unDOMWindow, IsDOMWindow, toDOMWindow, castToDOMWindow, gTypeDOMWindow
+  , DOMWindowCSS(DOMWindowCSS), unDOMWindowCSS, IsDOMWindowCSS, toDOMWindowCSS, castToDOMWindowCSS, gTypeDOMWindowCSS
   , Document(Document), unDocument, IsDocument, toDocument, castToDocument, gTypeDocument
   , DocumentFragment(DocumentFragment), unDocumentFragment, IsDocumentFragment, toDocumentFragment, castToDocumentFragment, gTypeDocumentFragment
   , DocumentType(DocumentType), unDocumentType, IsDocumentType, toDocumentType, castToDocumentType, gTypeDocumentType
@@ -108,11 +110,11 @@
   , HTMLUListElement(HTMLUListElement), unHTMLUListElement, IsHTMLUListElement, toHTMLUListElement, castToHTMLUListElement, gTypeHTMLUListElement
   , HTMLVideoElement(HTMLVideoElement), unHTMLVideoElement, IsHTMLVideoElement, toHTMLVideoElement, castToHTMLVideoElement, gTypeHTMLVideoElement
   , History(History), unHistory, IsHistory, toHistory, castToHistory, gTypeHistory
+  , KeyboardEvent(KeyboardEvent), unKeyboardEvent, IsKeyboardEvent, toKeyboardEvent, castToKeyboardEvent, gTypeKeyboardEvent
   , Location(Location), unLocation, IsLocation, toLocation, castToLocation, gTypeLocation
   , MediaError(MediaError), unMediaError, IsMediaError, toMediaError, castToMediaError, gTypeMediaError
   , MediaList(MediaList), unMediaList, IsMediaList, toMediaList, castToMediaList, gTypeMediaList
   , MediaQueryList(MediaQueryList), unMediaQueryList, IsMediaQueryList, toMediaQueryList, castToMediaQueryList, gTypeMediaQueryList
-  , MemoryInfo(MemoryInfo), unMemoryInfo, IsMemoryInfo, toMemoryInfo, castToMemoryInfo, gTypeMemoryInfo
   , MessagePort(MessagePort), unMessagePort, IsMessagePort, toMessagePort, castToMessagePort, gTypeMessagePort
   , MouseEvent(MouseEvent), unMouseEvent, IsMouseEvent, toMouseEvent, castToMouseEvent, gTypeMouseEvent
   , NamedNodeMap(NamedNodeMap), unNamedNodeMap, IsNamedNodeMap, toNamedNodeMap, castToNamedNodeMap, gTypeNamedNodeMap
@@ -134,8 +136,6 @@
   , TreeWalker(TreeWalker), unTreeWalker, IsTreeWalker, toTreeWalker, castToTreeWalker, gTypeTreeWalker
   , UIEvent(UIEvent), unUIEvent, IsUIEvent, toUIEvent, castToUIEvent, gTypeUIEvent
   , ValidityState(ValidityState), unValidityState, IsValidityState, toValidityState, castToValidityState, gTypeValidityState
-  , WebKitAnimation(WebKitAnimation), unWebKitAnimation, IsWebKitAnimation, toWebKitAnimation, castToWebKitAnimation, gTypeWebKitAnimation
-  , WebKitAnimationList(WebKitAnimationList), unWebKitAnimationList, IsWebKitAnimationList, toWebKitAnimationList, castToWebKitAnimationList, gTypeWebKitAnimationList
   , WebKitNamedFlow(WebKitNamedFlow), unWebKitNamedFlow, IsWebKitNamedFlow, toWebKitNamedFlow, castToWebKitNamedFlow, gTypeWebKitNamedFlow
   , WebKitPoint(WebKitPoint), unWebKitPoint, IsWebKitPoint, toWebKitPoint, castToWebKitPoint, gTypeWebKitPoint
   , XPathExpression(XPathExpression), unXPathExpression, IsXPathExpression, toXPathExpression, castToXPathExpression, gTypeXPathExpression
@@ -146,7 +146,6 @@
     propagateGError, GType(..)
   , module Graphics.UI.Gtk.WebKit.Types
   , IsDOMAttr
-  , IsBarInfo
   , IsBlob
   , IsCDATASection
   , IsCSSRule
@@ -246,7 +245,6 @@
   , IsMediaError
   , IsMediaList
   , IsMediaQueryList
-  , IsMemoryInfo
   , IsMessagePort
   , IsMouseEvent
   , IsNamedNodeMap
@@ -360,7 +358,7 @@
 castToDOMAttr = castTo gTypeDOMAttr "DOMAttr"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMAttr" gTypeDOMAttr' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMAttr\"]" gTypeDOMAttr' :: JSRef GType
 #else
 gTypeDOMAttr' = error "gTypeDOMAttr': only available in JavaScript"
 #endif
@@ -371,30 +369,29 @@
 
 
 #if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
-newtype BarInfo = BarInfo (JSRef BarInfo)
+newtype BarProp = BarProp (JSRef BarProp)
 
-unBarInfo (BarInfo o) = o
+unBarProp (BarProp o) = o
 
-class GObjectClass o => IsBarInfo o
-toBarInfo :: IsBarInfo o => o -> BarInfo
-toBarInfo = unsafeCastGObject . toGObject
+class GObjectClass o => IsBarProp o
+toBarProp :: IsBarProp o => o -> BarProp
+toBarProp = unsafeCastGObject . toGObject
 
-instance IsBarInfo BarInfo
-instance GObjectClass BarInfo where
-  toGObject = GObject . castRef . unBarInfo
-  unsafeCastGObject = BarInfo . castRef . unGObject
+instance IsBarProp BarProp
+instance GObjectClass BarProp where
+  toGObject = GObject . castRef . unBarProp
+  unsafeCastGObject = BarProp . castRef . unGObject
 
-castToBarInfo :: GObjectClass obj => obj -> BarInfo
-castToBarInfo = castTo gTypeBarInfo "BarInfo"
+castToBarProp :: GObjectClass obj => obj -> BarProp
+castToBarProp = castTo gTypeBarProp "BarProp"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.BarInfo" gTypeBarInfo' :: JSRef GType
+foreign import javascript unsafe "window[\"BarProp\"]" gTypeBarProp' :: JSRef GType
 #else
-gTypeBarInfo' = error "gTypeBarInfo': only available in JavaScript"
+gTypeBarProp' = error "gTypeBarProp': only available in JavaScript"
 #endif
-gTypeBarInfo = GType gTypeBarInfo'
+gTypeBarProp = GType gTypeBarProp'
 #else
-type IsBarInfo o = BarInfoClass o
 #endif
 
 
@@ -416,7 +413,7 @@
 castToBlob = castTo gTypeBlob "Blob"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Blob" gTypeBlob' :: JSRef GType
+foreign import javascript unsafe "window[\"Blob\"]" gTypeBlob' :: JSRef GType
 #else
 gTypeBlob' = error "gTypeBlob': only available in JavaScript"
 #endif
@@ -447,7 +444,7 @@
 castToCDATASection = castTo gTypeCDATASection "CDATASection"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.CDATASection" gTypeCDATASection' :: JSRef GType
+foreign import javascript unsafe "window[\"CDATASection\"]" gTypeCDATASection' :: JSRef GType
 #else
 gTypeCDATASection' = error "gTypeCDATASection': only available in JavaScript"
 #endif
@@ -475,7 +472,7 @@
 castToCSSRule = castTo gTypeCSSRule "CSSRule"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.CSSRule" gTypeCSSRule' :: JSRef GType
+foreign import javascript unsafe "window[\"CSSRule\"]" gTypeCSSRule' :: JSRef GType
 #else
 gTypeCSSRule' = error "gTypeCSSRule': only available in JavaScript"
 #endif
@@ -503,7 +500,7 @@
 castToCSSRuleList = castTo gTypeCSSRuleList "CSSRuleList"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.CSSRuleList" gTypeCSSRuleList' :: JSRef GType
+foreign import javascript unsafe "window[\"CSSRuleList\"]" gTypeCSSRuleList' :: JSRef GType
 #else
 gTypeCSSRuleList' = error "gTypeCSSRuleList': only available in JavaScript"
 #endif
@@ -531,7 +528,7 @@
 castToCSSStyleDeclaration = castTo gTypeCSSStyleDeclaration "CSSStyleDeclaration"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.CSSStyleDeclaration" gTypeCSSStyleDeclaration' :: JSRef GType
+foreign import javascript unsafe "window[\"CSSStyleDeclaration\"]" gTypeCSSStyleDeclaration' :: JSRef GType
 #else
 gTypeCSSStyleDeclaration' = error "gTypeCSSStyleDeclaration': only available in JavaScript"
 #endif
@@ -560,7 +557,7 @@
 castToCSSStyleSheet = castTo gTypeCSSStyleSheet "CSSStyleSheet"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.CSSStyleSheet" gTypeCSSStyleSheet' :: JSRef GType
+foreign import javascript unsafe "window[\"CSSStyleSheet\"]" gTypeCSSStyleSheet' :: JSRef GType
 #else
 gTypeCSSStyleSheet' = error "gTypeCSSStyleSheet': only available in JavaScript"
 #endif
@@ -588,7 +585,7 @@
 castToCSSValue = castTo gTypeCSSValue "CSSValue"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.CSSValue" gTypeCSSValue' :: JSRef GType
+foreign import javascript unsafe "window[\"CSSValue\"]" gTypeCSSValue' :: JSRef GType
 #else
 gTypeCSSValue' = error "gTypeCSSValue': only available in JavaScript"
 #endif
@@ -617,7 +614,7 @@
 castToCharacterData = castTo gTypeCharacterData "CharacterData"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.CharacterData" gTypeCharacterData' :: JSRef GType
+foreign import javascript unsafe "window[\"CharacterData\"]" gTypeCharacterData' :: JSRef GType
 #else
 gTypeCharacterData' = error "gTypeCharacterData': only available in JavaScript"
 #endif
@@ -647,7 +644,7 @@
 castToComment = castTo gTypeComment "Comment"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Comment" gTypeComment' :: JSRef GType
+foreign import javascript unsafe "window[\"Comment\"]" gTypeComment' :: JSRef GType
 #else
 gTypeComment' = error "gTypeComment': only available in JavaScript"
 #endif
@@ -675,7 +672,7 @@
 castToConsole = castTo gTypeConsole "Console"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Console" gTypeConsole' :: JSRef GType
+foreign import javascript unsafe "window[\"Console\"]" gTypeConsole' :: JSRef GType
 #else
 gTypeConsole' = error "gTypeConsole': only available in JavaScript"
 #endif
@@ -703,7 +700,7 @@
 castToDOMApplicationCache = castTo gTypeDOMApplicationCache "DOMApplicationCache"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMApplicationCache" gTypeDOMApplicationCache' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMApplicationCache\"]" gTypeDOMApplicationCache' :: JSRef GType
 #else
 gTypeDOMApplicationCache' = error "gTypeDOMApplicationCache': only available in JavaScript"
 #endif
@@ -731,7 +728,7 @@
 castToDOMImplementation = castTo gTypeDOMImplementation "DOMImplementation"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMImplementation" gTypeDOMImplementation' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMImplementation\"]" gTypeDOMImplementation' :: JSRef GType
 #else
 gTypeDOMImplementation' = error "gTypeDOMImplementation': only available in JavaScript"
 #endif
@@ -759,7 +756,7 @@
 castToDOMMimeType = castTo gTypeDOMMimeType "DOMMimeType"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMMimeType" gTypeDOMMimeType' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMMimeType\"]" gTypeDOMMimeType' :: JSRef GType
 #else
 gTypeDOMMimeType' = error "gTypeDOMMimeType': only available in JavaScript"
 #endif
@@ -787,7 +784,7 @@
 castToDOMMimeTypeArray = castTo gTypeDOMMimeTypeArray "DOMMimeTypeArray"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMMimeTypeArray" gTypeDOMMimeTypeArray' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMMimeTypeArray\"]" gTypeDOMMimeTypeArray' :: JSRef GType
 #else
 gTypeDOMMimeTypeArray' = error "gTypeDOMMimeTypeArray': only available in JavaScript"
 #endif
@@ -798,6 +795,33 @@
 
 
 #if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMNamedFlowCollection = DOMNamedFlowCollection (JSRef DOMNamedFlowCollection)
+
+unDOMNamedFlowCollection (DOMNamedFlowCollection o) = o
+
+class GObjectClass o => IsDOMNamedFlowCollection o
+toDOMNamedFlowCollection :: IsDOMNamedFlowCollection o => o -> DOMNamedFlowCollection
+toDOMNamedFlowCollection = unsafeCastGObject . toGObject
+
+instance IsDOMNamedFlowCollection DOMNamedFlowCollection
+instance GObjectClass DOMNamedFlowCollection where
+  toGObject = GObject . castRef . unDOMNamedFlowCollection
+  unsafeCastGObject = DOMNamedFlowCollection . castRef . unGObject
+
+castToDOMNamedFlowCollection :: GObjectClass obj => obj -> DOMNamedFlowCollection
+castToDOMNamedFlowCollection = castTo gTypeDOMNamedFlowCollection "DOMNamedFlowCollection"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window[\"DOMNamedFlowCollection\"]" gTypeDOMNamedFlowCollection' :: JSRef GType
+#else
+gTypeDOMNamedFlowCollection' = error "gTypeDOMNamedFlowCollection': only available in JavaScript"
+#endif
+gTypeDOMNamedFlowCollection = GType gTypeDOMNamedFlowCollection'
+#else
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
 newtype DOMPlugin = DOMPlugin (JSRef DOMPlugin)
 
 unDOMPlugin (DOMPlugin o) = o
@@ -815,7 +839,7 @@
 castToDOMPlugin = castTo gTypeDOMPlugin "DOMPlugin"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMPlugin" gTypeDOMPlugin' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMPlugin\"]" gTypeDOMPlugin' :: JSRef GType
 #else
 gTypeDOMPlugin' = error "gTypeDOMPlugin': only available in JavaScript"
 #endif
@@ -843,7 +867,7 @@
 castToDOMPluginArray = castTo gTypeDOMPluginArray "DOMPluginArray"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMPluginArray" gTypeDOMPluginArray' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMPluginArray\"]" gTypeDOMPluginArray' :: JSRef GType
 #else
 gTypeDOMPluginArray' = error "gTypeDOMPluginArray': only available in JavaScript"
 #endif
@@ -871,12 +895,13 @@
 castToDOMSecurityPolicy = castTo gTypeDOMSecurityPolicy "DOMSecurityPolicy"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMSecurityPolicy" gTypeDOMSecurityPolicy' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMSecurityPolicy\"]" gTypeDOMSecurityPolicy' :: JSRef GType
 #else
 gTypeDOMSecurityPolicy' = error "gTypeDOMSecurityPolicy': only available in JavaScript"
 #endif
 gTypeDOMSecurityPolicy = GType gTypeDOMSecurityPolicy'
 #else
+type IsDOMSecurityPolicy o = DOMSecurityPolicyClass o
 #endif
 
 
@@ -898,7 +923,7 @@
 castToDOMSelection = castTo gTypeDOMSelection "DOMSelection"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMSelection" gTypeDOMSelection' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMSelection\"]" gTypeDOMSelection' :: JSRef GType
 #else
 gTypeDOMSelection' = error "gTypeDOMSelection': only available in JavaScript"
 #endif
@@ -927,7 +952,7 @@
 castToDOMSettableTokenList = castTo gTypeDOMSettableTokenList "DOMSettableTokenList"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMSettableTokenList" gTypeDOMSettableTokenList' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMSettableTokenList\"]" gTypeDOMSettableTokenList' :: JSRef GType
 #else
 gTypeDOMSettableTokenList' = error "gTypeDOMSettableTokenList': only available in JavaScript"
 #endif
@@ -955,7 +980,7 @@
 castToDOMStringList = castTo gTypeDOMStringList "DOMStringList"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMStringList" gTypeDOMStringList' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMStringList\"]" gTypeDOMStringList' :: JSRef GType
 #else
 gTypeDOMStringList' = error "gTypeDOMStringList': only available in JavaScript"
 #endif
@@ -983,7 +1008,7 @@
 castToDOMTokenList = castTo gTypeDOMTokenList "DOMTokenList"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMTokenList" gTypeDOMTokenList' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMTokenList\"]" gTypeDOMTokenList' :: JSRef GType
 #else
 gTypeDOMTokenList' = error "gTypeDOMTokenList': only available in JavaScript"
 #endif
@@ -1011,7 +1036,7 @@
 castToDOMWindow = castTo gTypeDOMWindow "DOMWindow"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMWindow" gTypeDOMWindow' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMWindow\"]" gTypeDOMWindow' :: JSRef GType
 #else
 gTypeDOMWindow' = error "gTypeDOMWindow': only available in JavaScript"
 #endif
@@ -1022,6 +1047,33 @@
 
 
 #if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMWindowCSS = DOMWindowCSS (JSRef DOMWindowCSS)
+
+unDOMWindowCSS (DOMWindowCSS o) = o
+
+class GObjectClass o => IsDOMWindowCSS o
+toDOMWindowCSS :: IsDOMWindowCSS o => o -> DOMWindowCSS
+toDOMWindowCSS = unsafeCastGObject . toGObject
+
+instance IsDOMWindowCSS DOMWindowCSS
+instance GObjectClass DOMWindowCSS where
+  toGObject = GObject . castRef . unDOMWindowCSS
+  unsafeCastGObject = DOMWindowCSS . castRef . unGObject
+
+castToDOMWindowCSS :: GObjectClass obj => obj -> DOMWindowCSS
+castToDOMWindowCSS = castTo gTypeDOMWindowCSS "DOMWindowCSS"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window[\"DOMWindowCSS\"]" gTypeDOMWindowCSS' :: JSRef GType
+#else
+gTypeDOMWindowCSS' = error "gTypeDOMWindowCSS': only available in JavaScript"
+#endif
+gTypeDOMWindowCSS = GType gTypeDOMWindowCSS'
+#else
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
 newtype Document = Document (JSRef Document)
 
 unDocument (Document o) = o
@@ -1040,7 +1092,7 @@
 castToDocument = castTo gTypeDocument "Document"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Document" gTypeDocument' :: JSRef GType
+foreign import javascript unsafe "window[\"Document\"]" gTypeDocument' :: JSRef GType
 #else
 gTypeDocument' = error "gTypeDocument': only available in JavaScript"
 #endif
@@ -1069,7 +1121,7 @@
 castToDocumentFragment = castTo gTypeDocumentFragment "DocumentFragment"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DocumentFragment" gTypeDocumentFragment' :: JSRef GType
+foreign import javascript unsafe "window[\"DocumentFragment\"]" gTypeDocumentFragment' :: JSRef GType
 #else
 gTypeDocumentFragment' = error "gTypeDocumentFragment': only available in JavaScript"
 #endif
@@ -1098,7 +1150,7 @@
 castToDocumentType = castTo gTypeDocumentType "DocumentType"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DocumentType" gTypeDocumentType' :: JSRef GType
+foreign import javascript unsafe "window[\"DocumentType\"]" gTypeDocumentType' :: JSRef GType
 #else
 gTypeDocumentType' = error "gTypeDocumentType': only available in JavaScript"
 #endif
@@ -1127,7 +1179,7 @@
 castToElement = castTo gTypeElement "Element"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Element" gTypeElement' :: JSRef GType
+foreign import javascript unsafe "window[\"Element\"]" gTypeElement' :: JSRef GType
 #else
 gTypeElement' = error "gTypeElement': only available in JavaScript"
 #endif
@@ -1156,7 +1208,7 @@
 castToEntityReference = castTo gTypeEntityReference "EntityReference"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.EntityReference" gTypeEntityReference' :: JSRef GType
+foreign import javascript unsafe "window[\"EntityReference\"]" gTypeEntityReference' :: JSRef GType
 #else
 gTypeEntityReference' = error "gTypeEntityReference': only available in JavaScript"
 #endif
@@ -1184,7 +1236,7 @@
 castToEvent = castTo gTypeEvent "Event"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Event" gTypeEvent' :: JSRef GType
+foreign import javascript unsafe "window[\"Event\"]" gTypeEvent' :: JSRef GType
 #else
 gTypeEvent' = error "gTypeEvent': only available in JavaScript"
 #endif
@@ -1212,7 +1264,7 @@
 castToEventTarget = castTo gTypeEventTarget "EventTarget"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.EventTarget" gTypeEventTarget' :: JSRef GType
+foreign import javascript unsafe "window[\"EventTarget\"]" gTypeEventTarget' :: JSRef GType
 #else
 gTypeEventTarget' = error "gTypeEventTarget': only available in JavaScript"
 #endif
@@ -1241,7 +1293,7 @@
 castToFile = castTo gTypeFile "File"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.File" gTypeFile' :: JSRef GType
+foreign import javascript unsafe "window[\"File\"]" gTypeFile' :: JSRef GType
 #else
 gTypeFile' = error "gTypeFile': only available in JavaScript"
 #endif
@@ -1269,7 +1321,7 @@
 castToFileList = castTo gTypeFileList "FileList"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.FileList" gTypeFileList' :: JSRef GType
+foreign import javascript unsafe "window[\"FileList\"]" gTypeFileList' :: JSRef GType
 #else
 gTypeFileList' = error "gTypeFileList': only available in JavaScript"
 #endif
@@ -1297,7 +1349,7 @@
 castToGeolocation = castTo gTypeGeolocation "Geolocation"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Geolocation" gTypeGeolocation' :: JSRef GType
+foreign import javascript unsafe "window[\"Geolocation\"]" gTypeGeolocation' :: JSRef GType
 #else
 gTypeGeolocation' = error "gTypeGeolocation': only available in JavaScript"
 #endif
@@ -1328,7 +1380,7 @@
 castToHTMLAnchorElement = castTo gTypeHTMLAnchorElement "HTMLAnchorElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLAnchorElement" gTypeHTMLAnchorElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLAnchorElement\"]" gTypeHTMLAnchorElement' :: JSRef GType
 #else
 gTypeHTMLAnchorElement' = error "gTypeHTMLAnchorElement': only available in JavaScript"
 #endif
@@ -1359,7 +1411,7 @@
 castToHTMLAppletElement = castTo gTypeHTMLAppletElement "HTMLAppletElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLAppletElement" gTypeHTMLAppletElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLAppletElement\"]" gTypeHTMLAppletElement' :: JSRef GType
 #else
 gTypeHTMLAppletElement' = error "gTypeHTMLAppletElement': only available in JavaScript"
 #endif
@@ -1390,7 +1442,7 @@
 castToHTMLAreaElement = castTo gTypeHTMLAreaElement "HTMLAreaElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLAreaElement" gTypeHTMLAreaElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLAreaElement\"]" gTypeHTMLAreaElement' :: JSRef GType
 #else
 gTypeHTMLAreaElement' = error "gTypeHTMLAreaElement': only available in JavaScript"
 #endif
@@ -1422,7 +1474,7 @@
 castToHTMLAudioElement = castTo gTypeHTMLAudioElement "HTMLAudioElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLAudioElement" gTypeHTMLAudioElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLAudioElement\"]" gTypeHTMLAudioElement' :: JSRef GType
 #else
 gTypeHTMLAudioElement' = error "gTypeHTMLAudioElement': only available in JavaScript"
 #endif
@@ -1453,7 +1505,7 @@
 castToHTMLBRElement = castTo gTypeHTMLBRElement "HTMLBRElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLBRElement" gTypeHTMLBRElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLBRElement\"]" gTypeHTMLBRElement' :: JSRef GType
 #else
 gTypeHTMLBRElement' = error "gTypeHTMLBRElement': only available in JavaScript"
 #endif
@@ -1484,7 +1536,7 @@
 castToHTMLBaseElement = castTo gTypeHTMLBaseElement "HTMLBaseElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLBaseElement" gTypeHTMLBaseElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLBaseElement\"]" gTypeHTMLBaseElement' :: JSRef GType
 #else
 gTypeHTMLBaseElement' = error "gTypeHTMLBaseElement': only available in JavaScript"
 #endif
@@ -1515,7 +1567,7 @@
 castToHTMLBaseFontElement = castTo gTypeHTMLBaseFontElement "HTMLBaseFontElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLBaseFontElement" gTypeHTMLBaseFontElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLBaseFontElement\"]" gTypeHTMLBaseFontElement' :: JSRef GType
 #else
 gTypeHTMLBaseFontElement' = error "gTypeHTMLBaseFontElement': only available in JavaScript"
 #endif
@@ -1546,7 +1598,7 @@
 castToHTMLBodyElement = castTo gTypeHTMLBodyElement "HTMLBodyElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLBodyElement" gTypeHTMLBodyElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLBodyElement\"]" gTypeHTMLBodyElement' :: JSRef GType
 #else
 gTypeHTMLBodyElement' = error "gTypeHTMLBodyElement': only available in JavaScript"
 #endif
@@ -1577,7 +1629,7 @@
 castToHTMLButtonElement = castTo gTypeHTMLButtonElement "HTMLButtonElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLButtonElement" gTypeHTMLButtonElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLButtonElement\"]" gTypeHTMLButtonElement' :: JSRef GType
 #else
 gTypeHTMLButtonElement' = error "gTypeHTMLButtonElement': only available in JavaScript"
 #endif
@@ -1608,7 +1660,7 @@
 castToHTMLCanvasElement = castTo gTypeHTMLCanvasElement "HTMLCanvasElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLCanvasElement" gTypeHTMLCanvasElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLCanvasElement\"]" gTypeHTMLCanvasElement' :: JSRef GType
 #else
 gTypeHTMLCanvasElement' = error "gTypeHTMLCanvasElement': only available in JavaScript"
 #endif
@@ -1636,7 +1688,7 @@
 castToHTMLCollection = castTo gTypeHTMLCollection "HTMLCollection"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLCollection" gTypeHTMLCollection' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLCollection\"]" gTypeHTMLCollection' :: JSRef GType
 #else
 gTypeHTMLCollection' = error "gTypeHTMLCollection': only available in JavaScript"
 #endif
@@ -1667,7 +1719,7 @@
 castToHTMLDListElement = castTo gTypeHTMLDListElement "HTMLDListElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLDListElement" gTypeHTMLDListElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLDListElement\"]" gTypeHTMLDListElement' :: JSRef GType
 #else
 gTypeHTMLDListElement' = error "gTypeHTMLDListElement': only available in JavaScript"
 #endif
@@ -1698,7 +1750,7 @@
 castToHTMLDetailsElement = castTo gTypeHTMLDetailsElement "HTMLDetailsElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLDetailsElement" gTypeHTMLDetailsElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLDetailsElement\"]" gTypeHTMLDetailsElement' :: JSRef GType
 #else
 gTypeHTMLDetailsElement' = error "gTypeHTMLDetailsElement': only available in JavaScript"
 #endif
@@ -1729,7 +1781,7 @@
 castToHTMLDirectoryElement = castTo gTypeHTMLDirectoryElement "HTMLDirectoryElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLDirectoryElement" gTypeHTMLDirectoryElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLDirectoryElement\"]" gTypeHTMLDirectoryElement' :: JSRef GType
 #else
 gTypeHTMLDirectoryElement' = error "gTypeHTMLDirectoryElement': only available in JavaScript"
 #endif
@@ -1760,7 +1812,7 @@
 castToHTMLDivElement = castTo gTypeHTMLDivElement "HTMLDivElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLDivElement" gTypeHTMLDivElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLDivElement\"]" gTypeHTMLDivElement' :: JSRef GType
 #else
 gTypeHTMLDivElement' = error "gTypeHTMLDivElement': only available in JavaScript"
 #endif
@@ -1790,7 +1842,7 @@
 castToHTMLDocument = castTo gTypeHTMLDocument "HTMLDocument"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLDocument" gTypeHTMLDocument' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLDocument\"]" gTypeHTMLDocument' :: JSRef GType
 #else
 gTypeHTMLDocument' = error "gTypeHTMLDocument': only available in JavaScript"
 #endif
@@ -1820,7 +1872,7 @@
 castToHTMLElement = castTo gTypeHTMLElement "HTMLElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLElement" gTypeHTMLElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLElement\"]" gTypeHTMLElement' :: JSRef GType
 #else
 gTypeHTMLElement' = error "gTypeHTMLElement': only available in JavaScript"
 #endif
@@ -1851,7 +1903,7 @@
 castToHTMLEmbedElement = castTo gTypeHTMLEmbedElement "HTMLEmbedElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLEmbedElement" gTypeHTMLEmbedElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLEmbedElement\"]" gTypeHTMLEmbedElement' :: JSRef GType
 #else
 gTypeHTMLEmbedElement' = error "gTypeHTMLEmbedElement': only available in JavaScript"
 #endif
@@ -1882,7 +1934,7 @@
 castToHTMLFieldSetElement = castTo gTypeHTMLFieldSetElement "HTMLFieldSetElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLFieldSetElement" gTypeHTMLFieldSetElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLFieldSetElement\"]" gTypeHTMLFieldSetElement' :: JSRef GType
 #else
 gTypeHTMLFieldSetElement' = error "gTypeHTMLFieldSetElement': only available in JavaScript"
 #endif
@@ -1913,7 +1965,7 @@
 castToHTMLFontElement = castTo gTypeHTMLFontElement "HTMLFontElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLFontElement" gTypeHTMLFontElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLFontElement\"]" gTypeHTMLFontElement' :: JSRef GType
 #else
 gTypeHTMLFontElement' = error "gTypeHTMLFontElement': only available in JavaScript"
 #endif
@@ -1944,7 +1996,7 @@
 castToHTMLFormElement = castTo gTypeHTMLFormElement "HTMLFormElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLFormElement" gTypeHTMLFormElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLFormElement\"]" gTypeHTMLFormElement' :: JSRef GType
 #else
 gTypeHTMLFormElement' = error "gTypeHTMLFormElement': only available in JavaScript"
 #endif
@@ -1975,7 +2027,7 @@
 castToHTMLFrameElement = castTo gTypeHTMLFrameElement "HTMLFrameElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLFrameElement" gTypeHTMLFrameElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLFrameElement\"]" gTypeHTMLFrameElement' :: JSRef GType
 #else
 gTypeHTMLFrameElement' = error "gTypeHTMLFrameElement': only available in JavaScript"
 #endif
@@ -2006,7 +2058,7 @@
 castToHTMLFrameSetElement = castTo gTypeHTMLFrameSetElement "HTMLFrameSetElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLFrameSetElement" gTypeHTMLFrameSetElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLFrameSetElement\"]" gTypeHTMLFrameSetElement' :: JSRef GType
 #else
 gTypeHTMLFrameSetElement' = error "gTypeHTMLFrameSetElement': only available in JavaScript"
 #endif
@@ -2037,7 +2089,7 @@
 castToHTMLHRElement = castTo gTypeHTMLHRElement "HTMLHRElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLHRElement" gTypeHTMLHRElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLHRElement\"]" gTypeHTMLHRElement' :: JSRef GType
 #else
 gTypeHTMLHRElement' = error "gTypeHTMLHRElement': only available in JavaScript"
 #endif
@@ -2068,7 +2120,7 @@
 castToHTMLHeadElement = castTo gTypeHTMLHeadElement "HTMLHeadElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLHeadElement" gTypeHTMLHeadElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLHeadElement\"]" gTypeHTMLHeadElement' :: JSRef GType
 #else
 gTypeHTMLHeadElement' = error "gTypeHTMLHeadElement': only available in JavaScript"
 #endif
@@ -2099,7 +2151,7 @@
 castToHTMLHeadingElement = castTo gTypeHTMLHeadingElement "HTMLHeadingElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLHeadingElement" gTypeHTMLHeadingElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLHeadingElement\"]" gTypeHTMLHeadingElement' :: JSRef GType
 #else
 gTypeHTMLHeadingElement' = error "gTypeHTMLHeadingElement': only available in JavaScript"
 #endif
@@ -2130,7 +2182,7 @@
 castToHTMLHtmlElement = castTo gTypeHTMLHtmlElement "HTMLHtmlElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLHtmlElement" gTypeHTMLHtmlElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLHtmlElement\"]" gTypeHTMLHtmlElement' :: JSRef GType
 #else
 gTypeHTMLHtmlElement' = error "gTypeHTMLHtmlElement': only available in JavaScript"
 #endif
@@ -2161,7 +2213,7 @@
 castToHTMLIFrameElement = castTo gTypeHTMLIFrameElement "HTMLIFrameElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLIFrameElement" gTypeHTMLIFrameElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLIFrameElement\"]" gTypeHTMLIFrameElement' :: JSRef GType
 #else
 gTypeHTMLIFrameElement' = error "gTypeHTMLIFrameElement': only available in JavaScript"
 #endif
@@ -2192,7 +2244,7 @@
 castToHTMLImageElement = castTo gTypeHTMLImageElement "HTMLImageElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLImageElement" gTypeHTMLImageElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLImageElement\"]" gTypeHTMLImageElement' :: JSRef GType
 #else
 gTypeHTMLImageElement' = error "gTypeHTMLImageElement': only available in JavaScript"
 #endif
@@ -2223,7 +2275,7 @@
 castToHTMLInputElement = castTo gTypeHTMLInputElement "HTMLInputElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLInputElement" gTypeHTMLInputElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLInputElement\"]" gTypeHTMLInputElement' :: JSRef GType
 #else
 gTypeHTMLInputElement' = error "gTypeHTMLInputElement': only available in JavaScript"
 #endif
@@ -2254,7 +2306,7 @@
 castToHTMLKeygenElement = castTo gTypeHTMLKeygenElement "HTMLKeygenElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLKeygenElement" gTypeHTMLKeygenElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLKeygenElement\"]" gTypeHTMLKeygenElement' :: JSRef GType
 #else
 gTypeHTMLKeygenElement' = error "gTypeHTMLKeygenElement': only available in JavaScript"
 #endif
@@ -2285,7 +2337,7 @@
 castToHTMLLIElement = castTo gTypeHTMLLIElement "HTMLLIElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLLIElement" gTypeHTMLLIElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLLIElement\"]" gTypeHTMLLIElement' :: JSRef GType
 #else
 gTypeHTMLLIElement' = error "gTypeHTMLLIElement': only available in JavaScript"
 #endif
@@ -2316,7 +2368,7 @@
 castToHTMLLabelElement = castTo gTypeHTMLLabelElement "HTMLLabelElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLLabelElement" gTypeHTMLLabelElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLLabelElement\"]" gTypeHTMLLabelElement' :: JSRef GType
 #else
 gTypeHTMLLabelElement' = error "gTypeHTMLLabelElement': only available in JavaScript"
 #endif
@@ -2347,7 +2399,7 @@
 castToHTMLLegendElement = castTo gTypeHTMLLegendElement "HTMLLegendElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLLegendElement" gTypeHTMLLegendElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLLegendElement\"]" gTypeHTMLLegendElement' :: JSRef GType
 #else
 gTypeHTMLLegendElement' = error "gTypeHTMLLegendElement': only available in JavaScript"
 #endif
@@ -2378,7 +2430,7 @@
 castToHTMLLinkElement = castTo gTypeHTMLLinkElement "HTMLLinkElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLLinkElement" gTypeHTMLLinkElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLLinkElement\"]" gTypeHTMLLinkElement' :: JSRef GType
 #else
 gTypeHTMLLinkElement' = error "gTypeHTMLLinkElement': only available in JavaScript"
 #endif
@@ -2409,7 +2461,7 @@
 castToHTMLMapElement = castTo gTypeHTMLMapElement "HTMLMapElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLMapElement" gTypeHTMLMapElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLMapElement\"]" gTypeHTMLMapElement' :: JSRef GType
 #else
 gTypeHTMLMapElement' = error "gTypeHTMLMapElement': only available in JavaScript"
 #endif
@@ -2440,7 +2492,7 @@
 castToHTMLMarqueeElement = castTo gTypeHTMLMarqueeElement "HTMLMarqueeElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLMarqueeElement" gTypeHTMLMarqueeElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLMarqueeElement\"]" gTypeHTMLMarqueeElement' :: JSRef GType
 #else
 gTypeHTMLMarqueeElement' = error "gTypeHTMLMarqueeElement': only available in JavaScript"
 #endif
@@ -2471,7 +2523,7 @@
 castToHTMLMediaElement = castTo gTypeHTMLMediaElement "HTMLMediaElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLMediaElement" gTypeHTMLMediaElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLMediaElement\"]" gTypeHTMLMediaElement' :: JSRef GType
 #else
 gTypeHTMLMediaElement' = error "gTypeHTMLMediaElement': only available in JavaScript"
 #endif
@@ -2502,7 +2554,7 @@
 castToHTMLMenuElement = castTo gTypeHTMLMenuElement "HTMLMenuElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLMenuElement" gTypeHTMLMenuElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLMenuElement\"]" gTypeHTMLMenuElement' :: JSRef GType
 #else
 gTypeHTMLMenuElement' = error "gTypeHTMLMenuElement': only available in JavaScript"
 #endif
@@ -2533,7 +2585,7 @@
 castToHTMLMetaElement = castTo gTypeHTMLMetaElement "HTMLMetaElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLMetaElement" gTypeHTMLMetaElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLMetaElement\"]" gTypeHTMLMetaElement' :: JSRef GType
 #else
 gTypeHTMLMetaElement' = error "gTypeHTMLMetaElement': only available in JavaScript"
 #endif
@@ -2564,7 +2616,7 @@
 castToHTMLModElement = castTo gTypeHTMLModElement "HTMLModElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLModElement" gTypeHTMLModElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLModElement\"]" gTypeHTMLModElement' :: JSRef GType
 #else
 gTypeHTMLModElement' = error "gTypeHTMLModElement': only available in JavaScript"
 #endif
@@ -2595,7 +2647,7 @@
 castToHTMLOListElement = castTo gTypeHTMLOListElement "HTMLOListElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLOListElement" gTypeHTMLOListElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLOListElement\"]" gTypeHTMLOListElement' :: JSRef GType
 #else
 gTypeHTMLOListElement' = error "gTypeHTMLOListElement': only available in JavaScript"
 #endif
@@ -2626,7 +2678,7 @@
 castToHTMLObjectElement = castTo gTypeHTMLObjectElement "HTMLObjectElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLObjectElement" gTypeHTMLObjectElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLObjectElement\"]" gTypeHTMLObjectElement' :: JSRef GType
 #else
 gTypeHTMLObjectElement' = error "gTypeHTMLObjectElement': only available in JavaScript"
 #endif
@@ -2657,7 +2709,7 @@
 castToHTMLOptGroupElement = castTo gTypeHTMLOptGroupElement "HTMLOptGroupElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLOptGroupElement" gTypeHTMLOptGroupElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLOptGroupElement\"]" gTypeHTMLOptGroupElement' :: JSRef GType
 #else
 gTypeHTMLOptGroupElement' = error "gTypeHTMLOptGroupElement': only available in JavaScript"
 #endif
@@ -2688,7 +2740,7 @@
 castToHTMLOptionElement = castTo gTypeHTMLOptionElement "HTMLOptionElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLOptionElement" gTypeHTMLOptionElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLOptionElement\"]" gTypeHTMLOptionElement' :: JSRef GType
 #else
 gTypeHTMLOptionElement' = error "gTypeHTMLOptionElement': only available in JavaScript"
 #endif
@@ -2717,7 +2769,7 @@
 castToHTMLOptionsCollection = castTo gTypeHTMLOptionsCollection "HTMLOptionsCollection"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLOptionsCollection" gTypeHTMLOptionsCollection' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLOptionsCollection\"]" gTypeHTMLOptionsCollection' :: JSRef GType
 #else
 gTypeHTMLOptionsCollection' = error "gTypeHTMLOptionsCollection': only available in JavaScript"
 #endif
@@ -2748,7 +2800,7 @@
 castToHTMLParagraphElement = castTo gTypeHTMLParagraphElement "HTMLParagraphElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLParagraphElement" gTypeHTMLParagraphElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLParagraphElement\"]" gTypeHTMLParagraphElement' :: JSRef GType
 #else
 gTypeHTMLParagraphElement' = error "gTypeHTMLParagraphElement': only available in JavaScript"
 #endif
@@ -2779,7 +2831,7 @@
 castToHTMLParamElement = castTo gTypeHTMLParamElement "HTMLParamElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLParamElement" gTypeHTMLParamElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLParamElement\"]" gTypeHTMLParamElement' :: JSRef GType
 #else
 gTypeHTMLParamElement' = error "gTypeHTMLParamElement': only available in JavaScript"
 #endif
@@ -2810,7 +2862,7 @@
 castToHTMLPreElement = castTo gTypeHTMLPreElement "HTMLPreElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLPreElement" gTypeHTMLPreElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLPreElement\"]" gTypeHTMLPreElement' :: JSRef GType
 #else
 gTypeHTMLPreElement' = error "gTypeHTMLPreElement': only available in JavaScript"
 #endif
@@ -2841,7 +2893,7 @@
 castToHTMLQuoteElement = castTo gTypeHTMLQuoteElement "HTMLQuoteElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLQuoteElement" gTypeHTMLQuoteElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLQuoteElement\"]" gTypeHTMLQuoteElement' :: JSRef GType
 #else
 gTypeHTMLQuoteElement' = error "gTypeHTMLQuoteElement': only available in JavaScript"
 #endif
@@ -2872,7 +2924,7 @@
 castToHTMLScriptElement = castTo gTypeHTMLScriptElement "HTMLScriptElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLScriptElement" gTypeHTMLScriptElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLScriptElement\"]" gTypeHTMLScriptElement' :: JSRef GType
 #else
 gTypeHTMLScriptElement' = error "gTypeHTMLScriptElement': only available in JavaScript"
 #endif
@@ -2903,7 +2955,7 @@
 castToHTMLSelectElement = castTo gTypeHTMLSelectElement "HTMLSelectElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLSelectElement" gTypeHTMLSelectElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLSelectElement\"]" gTypeHTMLSelectElement' :: JSRef GType
 #else
 gTypeHTMLSelectElement' = error "gTypeHTMLSelectElement': only available in JavaScript"
 #endif
@@ -2934,7 +2986,7 @@
 castToHTMLStyleElement = castTo gTypeHTMLStyleElement "HTMLStyleElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLStyleElement" gTypeHTMLStyleElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLStyleElement\"]" gTypeHTMLStyleElement' :: JSRef GType
 #else
 gTypeHTMLStyleElement' = error "gTypeHTMLStyleElement': only available in JavaScript"
 #endif
@@ -2965,7 +3017,7 @@
 castToHTMLTableCaptionElement = castTo gTypeHTMLTableCaptionElement "HTMLTableCaptionElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLTableCaptionElement" gTypeHTMLTableCaptionElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLTableCaptionElement\"]" gTypeHTMLTableCaptionElement' :: JSRef GType
 #else
 gTypeHTMLTableCaptionElement' = error "gTypeHTMLTableCaptionElement': only available in JavaScript"
 #endif
@@ -2996,7 +3048,7 @@
 castToHTMLTableCellElement = castTo gTypeHTMLTableCellElement "HTMLTableCellElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLTableCellElement" gTypeHTMLTableCellElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLTableCellElement\"]" gTypeHTMLTableCellElement' :: JSRef GType
 #else
 gTypeHTMLTableCellElement' = error "gTypeHTMLTableCellElement': only available in JavaScript"
 #endif
@@ -3027,7 +3079,7 @@
 castToHTMLTableColElement = castTo gTypeHTMLTableColElement "HTMLTableColElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLTableColElement" gTypeHTMLTableColElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLTableColElement\"]" gTypeHTMLTableColElement' :: JSRef GType
 #else
 gTypeHTMLTableColElement' = error "gTypeHTMLTableColElement': only available in JavaScript"
 #endif
@@ -3058,7 +3110,7 @@
 castToHTMLTableElement = castTo gTypeHTMLTableElement "HTMLTableElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLTableElement" gTypeHTMLTableElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLTableElement\"]" gTypeHTMLTableElement' :: JSRef GType
 #else
 gTypeHTMLTableElement' = error "gTypeHTMLTableElement': only available in JavaScript"
 #endif
@@ -3089,7 +3141,7 @@
 castToHTMLTableRowElement = castTo gTypeHTMLTableRowElement "HTMLTableRowElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLTableRowElement" gTypeHTMLTableRowElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLTableRowElement\"]" gTypeHTMLTableRowElement' :: JSRef GType
 #else
 gTypeHTMLTableRowElement' = error "gTypeHTMLTableRowElement': only available in JavaScript"
 #endif
@@ -3120,7 +3172,7 @@
 castToHTMLTableSectionElement = castTo gTypeHTMLTableSectionElement "HTMLTableSectionElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLTableSectionElement" gTypeHTMLTableSectionElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLTableSectionElement\"]" gTypeHTMLTableSectionElement' :: JSRef GType
 #else
 gTypeHTMLTableSectionElement' = error "gTypeHTMLTableSectionElement': only available in JavaScript"
 #endif
@@ -3151,7 +3203,7 @@
 castToHTMLTextAreaElement = castTo gTypeHTMLTextAreaElement "HTMLTextAreaElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLTextAreaElement" gTypeHTMLTextAreaElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLTextAreaElement\"]" gTypeHTMLTextAreaElement' :: JSRef GType
 #else
 gTypeHTMLTextAreaElement' = error "gTypeHTMLTextAreaElement': only available in JavaScript"
 #endif
@@ -3182,7 +3234,7 @@
 castToHTMLTitleElement = castTo gTypeHTMLTitleElement "HTMLTitleElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLTitleElement" gTypeHTMLTitleElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLTitleElement\"]" gTypeHTMLTitleElement' :: JSRef GType
 #else
 gTypeHTMLTitleElement' = error "gTypeHTMLTitleElement': only available in JavaScript"
 #endif
@@ -3213,7 +3265,7 @@
 castToHTMLUListElement = castTo gTypeHTMLUListElement "HTMLUListElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLUListElement" gTypeHTMLUListElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLUListElement\"]" gTypeHTMLUListElement' :: JSRef GType
 #else
 gTypeHTMLUListElement' = error "gTypeHTMLUListElement': only available in JavaScript"
 #endif
@@ -3245,7 +3297,7 @@
 castToHTMLVideoElement = castTo gTypeHTMLVideoElement "HTMLVideoElement"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.HTMLVideoElement" gTypeHTMLVideoElement' :: JSRef GType
+foreign import javascript unsafe "window[\"HTMLVideoElement\"]" gTypeHTMLVideoElement' :: JSRef GType
 #else
 gTypeHTMLVideoElement' = error "gTypeHTMLVideoElement': only available in JavaScript"
 #endif
@@ -3273,7 +3325,7 @@
 castToHistory = castTo gTypeHistory "History"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.History" gTypeHistory' :: JSRef GType
+foreign import javascript unsafe "window[\"History\"]" gTypeHistory' :: JSRef GType
 #else
 gTypeHistory' = error "gTypeHistory': only available in JavaScript"
 #endif
@@ -3284,6 +3336,35 @@
 
 
 #if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype KeyboardEvent = KeyboardEvent (JSRef KeyboardEvent)
+
+unKeyboardEvent (KeyboardEvent o) = o
+
+class IsUIEvent o => IsKeyboardEvent o
+toKeyboardEvent :: IsKeyboardEvent o => o -> KeyboardEvent
+toKeyboardEvent = unsafeCastGObject . toGObject
+
+instance IsKeyboardEvent KeyboardEvent
+instance IsUIEvent KeyboardEvent
+instance IsEvent KeyboardEvent
+instance GObjectClass KeyboardEvent where
+  toGObject = GObject . castRef . unKeyboardEvent
+  unsafeCastGObject = KeyboardEvent . castRef . unGObject
+
+castToKeyboardEvent :: GObjectClass obj => obj -> KeyboardEvent
+castToKeyboardEvent = castTo gTypeKeyboardEvent "KeyboardEvent"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window[\"KeyboardEvent\"]" gTypeKeyboardEvent' :: JSRef GType
+#else
+gTypeKeyboardEvent' = error "gTypeKeyboardEvent': only available in JavaScript"
+#endif
+gTypeKeyboardEvent = GType gTypeKeyboardEvent'
+#else
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
 newtype Location = Location (JSRef Location)
 
 unLocation (Location o) = o
@@ -3301,7 +3382,7 @@
 castToLocation = castTo gTypeLocation "Location"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Location" gTypeLocation' :: JSRef GType
+foreign import javascript unsafe "window[\"Location\"]" gTypeLocation' :: JSRef GType
 #else
 gTypeLocation' = error "gTypeLocation': only available in JavaScript"
 #endif
@@ -3329,7 +3410,7 @@
 castToMediaError = castTo gTypeMediaError "MediaError"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.MediaError" gTypeMediaError' :: JSRef GType
+foreign import javascript unsafe "window[\"MediaError\"]" gTypeMediaError' :: JSRef GType
 #else
 gTypeMediaError' = error "gTypeMediaError': only available in JavaScript"
 #endif
@@ -3357,7 +3438,7 @@
 castToMediaList = castTo gTypeMediaList "MediaList"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.MediaList" gTypeMediaList' :: JSRef GType
+foreign import javascript unsafe "window[\"MediaList\"]" gTypeMediaList' :: JSRef GType
 #else
 gTypeMediaList' = error "gTypeMediaList': only available in JavaScript"
 #endif
@@ -3385,7 +3466,7 @@
 castToMediaQueryList = castTo gTypeMediaQueryList "MediaQueryList"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.MediaQueryList" gTypeMediaQueryList' :: JSRef GType
+foreign import javascript unsafe "window[\"MediaQueryList\"]" gTypeMediaQueryList' :: JSRef GType
 #else
 gTypeMediaQueryList' = error "gTypeMediaQueryList': only available in JavaScript"
 #endif
@@ -3396,34 +3477,6 @@
 
 
 #if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
-newtype MemoryInfo = MemoryInfo (JSRef MemoryInfo)
-
-unMemoryInfo (MemoryInfo o) = o
-
-class GObjectClass o => IsMemoryInfo o
-toMemoryInfo :: IsMemoryInfo o => o -> MemoryInfo
-toMemoryInfo = unsafeCastGObject . toGObject
-
-instance IsMemoryInfo MemoryInfo
-instance GObjectClass MemoryInfo where
-  toGObject = GObject . castRef . unMemoryInfo
-  unsafeCastGObject = MemoryInfo . castRef . unGObject
-
-castToMemoryInfo :: GObjectClass obj => obj -> MemoryInfo
-castToMemoryInfo = castTo gTypeMemoryInfo "MemoryInfo"
-
-#ifdef __GHCJS__
-foreign import javascript unsafe "window.MemoryInfo" gTypeMemoryInfo' :: JSRef GType
-#else
-gTypeMemoryInfo' = error "gTypeMemoryInfo': only available in JavaScript"
-#endif
-gTypeMemoryInfo = GType gTypeMemoryInfo'
-#else
-type IsMemoryInfo o = MemoryInfoClass o
-#endif
-
-
-#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
 newtype MessagePort = MessagePort (JSRef MessagePort)
 
 unMessagePort (MessagePort o) = o
@@ -3441,7 +3494,7 @@
 castToMessagePort = castTo gTypeMessagePort "MessagePort"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.MessagePort" gTypeMessagePort' :: JSRef GType
+foreign import javascript unsafe "window[\"MessagePort\"]" gTypeMessagePort' :: JSRef GType
 #else
 gTypeMessagePort' = error "gTypeMessagePort': only available in JavaScript"
 #endif
@@ -3471,7 +3524,7 @@
 castToMouseEvent = castTo gTypeMouseEvent "MouseEvent"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.MouseEvent" gTypeMouseEvent' :: JSRef GType
+foreign import javascript unsafe "window[\"MouseEvent\"]" gTypeMouseEvent' :: JSRef GType
 #else
 gTypeMouseEvent' = error "gTypeMouseEvent': only available in JavaScript"
 #endif
@@ -3499,7 +3552,7 @@
 castToNamedNodeMap = castTo gTypeNamedNodeMap "NamedNodeMap"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.NamedNodeMap" gTypeNamedNodeMap' :: JSRef GType
+foreign import javascript unsafe "window[\"NamedNodeMap\"]" gTypeNamedNodeMap' :: JSRef GType
 #else
 gTypeNamedNodeMap' = error "gTypeNamedNodeMap': only available in JavaScript"
 #endif
@@ -3527,7 +3580,7 @@
 castToNavigator = castTo gTypeNavigator "Navigator"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Navigator" gTypeNavigator' :: JSRef GType
+foreign import javascript unsafe "window[\"Navigator\"]" gTypeNavigator' :: JSRef GType
 #else
 gTypeNavigator' = error "gTypeNavigator': only available in JavaScript"
 #endif
@@ -3555,7 +3608,7 @@
 castToNode = castTo gTypeNode "Node"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Node" gTypeNode' :: JSRef GType
+foreign import javascript unsafe "window[\"Node\"]" gTypeNode' :: JSRef GType
 #else
 gTypeNode' = error "gTypeNode': only available in JavaScript"
 #endif
@@ -3583,7 +3636,7 @@
 castToNodeFilter = castTo gTypeNodeFilter "NodeFilter"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.NodeFilter" gTypeNodeFilter' :: JSRef GType
+foreign import javascript unsafe "window[\"NodeFilter\"]" gTypeNodeFilter' :: JSRef GType
 #else
 gTypeNodeFilter' = error "gTypeNodeFilter': only available in JavaScript"
 #endif
@@ -3611,7 +3664,7 @@
 castToNodeIterator = castTo gTypeNodeIterator "NodeIterator"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.NodeIterator" gTypeNodeIterator' :: JSRef GType
+foreign import javascript unsafe "window[\"NodeIterator\"]" gTypeNodeIterator' :: JSRef GType
 #else
 gTypeNodeIterator' = error "gTypeNodeIterator': only available in JavaScript"
 #endif
@@ -3639,7 +3692,7 @@
 castToNodeList = castTo gTypeNodeList "NodeList"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.NodeList" gTypeNodeList' :: JSRef GType
+foreign import javascript unsafe "window[\"NodeList\"]" gTypeNodeList' :: JSRef GType
 #else
 gTypeNodeList' = error "gTypeNodeList': only available in JavaScript"
 #endif
@@ -3668,7 +3721,7 @@
 castToProcessingInstruction = castTo gTypeProcessingInstruction "ProcessingInstruction"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.ProcessingInstruction" gTypeProcessingInstruction' :: JSRef GType
+foreign import javascript unsafe "window[\"ProcessingInstruction\"]" gTypeProcessingInstruction' :: JSRef GType
 #else
 gTypeProcessingInstruction' = error "gTypeProcessingInstruction': only available in JavaScript"
 #endif
@@ -3696,7 +3749,7 @@
 castToDOMRange = castTo gTypeDOMRange "DOMRange"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMRange" gTypeDOMRange' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMRange\"]" gTypeDOMRange' :: JSRef GType
 #else
 gTypeDOMRange' = error "gTypeDOMRange': only available in JavaScript"
 #endif
@@ -3724,7 +3777,7 @@
 castToDOMScreen = castTo gTypeDOMScreen "DOMScreen"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.DOMScreen" gTypeDOMScreen' :: JSRef GType
+foreign import javascript unsafe "window[\"DOMScreen\"]" gTypeDOMScreen' :: JSRef GType
 #else
 gTypeDOMScreen' = error "gTypeDOMScreen': only available in JavaScript"
 #endif
@@ -3752,7 +3805,7 @@
 castToStorage = castTo gTypeStorage "Storage"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Storage" gTypeStorage' :: JSRef GType
+foreign import javascript unsafe "window[\"Storage\"]" gTypeStorage' :: JSRef GType
 #else
 gTypeStorage' = error "gTypeStorage': only available in JavaScript"
 #endif
@@ -3780,12 +3833,13 @@
 castToStorageInfo = castTo gTypeStorageInfo "StorageInfo"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.StorageInfo" gTypeStorageInfo' :: JSRef GType
+foreign import javascript unsafe "window[\"StorageInfo\"]" gTypeStorageInfo' :: JSRef GType
 #else
 gTypeStorageInfo' = error "gTypeStorageInfo': only available in JavaScript"
 #endif
 gTypeStorageInfo = GType gTypeStorageInfo'
 #else
+type IsStorageInfo o = StorageInfoClass o
 #endif
 
 
@@ -3807,7 +3861,7 @@
 castToStyleMedia = castTo gTypeStyleMedia "StyleMedia"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.StyleMedia" gTypeStyleMedia' :: JSRef GType
+foreign import javascript unsafe "window[\"StyleMedia\"]" gTypeStyleMedia' :: JSRef GType
 #else
 gTypeStyleMedia' = error "gTypeStyleMedia': only available in JavaScript"
 #endif
@@ -3835,7 +3889,7 @@
 castToStyleSheet = castTo gTypeStyleSheet "StyleSheet"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.StyleSheet" gTypeStyleSheet' :: JSRef GType
+foreign import javascript unsafe "window[\"StyleSheet\"]" gTypeStyleSheet' :: JSRef GType
 #else
 gTypeStyleSheet' = error "gTypeStyleSheet': only available in JavaScript"
 #endif
@@ -3863,7 +3917,7 @@
 castToStyleSheetList = castTo gTypeStyleSheetList "StyleSheetList"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.StyleSheetList" gTypeStyleSheetList' :: JSRef GType
+foreign import javascript unsafe "window[\"StyleSheetList\"]" gTypeStyleSheetList' :: JSRef GType
 #else
 gTypeStyleSheetList' = error "gTypeStyleSheetList': only available in JavaScript"
 #endif
@@ -3893,7 +3947,7 @@
 castToText = castTo gTypeText "Text"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.Text" gTypeText' :: JSRef GType
+foreign import javascript unsafe "window[\"Text\"]" gTypeText' :: JSRef GType
 #else
 gTypeText' = error "gTypeText': only available in JavaScript"
 #endif
@@ -3921,7 +3975,7 @@
 castToTimeRanges = castTo gTypeTimeRanges "TimeRanges"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.TimeRanges" gTypeTimeRanges' :: JSRef GType
+foreign import javascript unsafe "window[\"TimeRanges\"]" gTypeTimeRanges' :: JSRef GType
 #else
 gTypeTimeRanges' = error "gTypeTimeRanges': only available in JavaScript"
 #endif
@@ -3949,7 +4003,7 @@
 castToTreeWalker = castTo gTypeTreeWalker "TreeWalker"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.TreeWalker" gTypeTreeWalker' :: JSRef GType
+foreign import javascript unsafe "window[\"TreeWalker\"]" gTypeTreeWalker' :: JSRef GType
 #else
 gTypeTreeWalker' = error "gTypeTreeWalker': only available in JavaScript"
 #endif
@@ -3978,7 +4032,7 @@
 castToUIEvent = castTo gTypeUIEvent "UIEvent"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.UIEvent" gTypeUIEvent' :: JSRef GType
+foreign import javascript unsafe "window[\"UIEvent\"]" gTypeUIEvent' :: JSRef GType
 #else
 gTypeUIEvent' = error "gTypeUIEvent': only available in JavaScript"
 #endif
@@ -4006,7 +4060,7 @@
 castToValidityState = castTo gTypeValidityState "ValidityState"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.ValidityState" gTypeValidityState' :: JSRef GType
+foreign import javascript unsafe "window[\"ValidityState\"]" gTypeValidityState' :: JSRef GType
 #else
 gTypeValidityState' = error "gTypeValidityState': only available in JavaScript"
 #endif
@@ -4017,60 +4071,6 @@
 
 
 #if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
-newtype WebKitAnimation = WebKitAnimation (JSRef WebKitAnimation)
-
-unWebKitAnimation (WebKitAnimation o) = o
-
-class GObjectClass o => IsWebKitAnimation o
-toWebKitAnimation :: IsWebKitAnimation o => o -> WebKitAnimation
-toWebKitAnimation = unsafeCastGObject . toGObject
-
-instance IsWebKitAnimation WebKitAnimation
-instance GObjectClass WebKitAnimation where
-  toGObject = GObject . castRef . unWebKitAnimation
-  unsafeCastGObject = WebKitAnimation . castRef . unGObject
-
-castToWebKitAnimation :: GObjectClass obj => obj -> WebKitAnimation
-castToWebKitAnimation = castTo gTypeWebKitAnimation "WebKitAnimation"
-
-#ifdef __GHCJS__
-foreign import javascript unsafe "window.WebKitAnimation" gTypeWebKitAnimation' :: JSRef GType
-#else
-gTypeWebKitAnimation' = error "gTypeWebKitAnimation': only available in JavaScript"
-#endif
-gTypeWebKitAnimation = GType gTypeWebKitAnimation'
-#else
-#endif
-
-
-#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
-newtype WebKitAnimationList = WebKitAnimationList (JSRef WebKitAnimationList)
-
-unWebKitAnimationList (WebKitAnimationList o) = o
-
-class GObjectClass o => IsWebKitAnimationList o
-toWebKitAnimationList :: IsWebKitAnimationList o => o -> WebKitAnimationList
-toWebKitAnimationList = unsafeCastGObject . toGObject
-
-instance IsWebKitAnimationList WebKitAnimationList
-instance GObjectClass WebKitAnimationList where
-  toGObject = GObject . castRef . unWebKitAnimationList
-  unsafeCastGObject = WebKitAnimationList . castRef . unGObject
-
-castToWebKitAnimationList :: GObjectClass obj => obj -> WebKitAnimationList
-castToWebKitAnimationList = castTo gTypeWebKitAnimationList "WebKitAnimationList"
-
-#ifdef __GHCJS__
-foreign import javascript unsafe "window.WebKitAnimationList" gTypeWebKitAnimationList' :: JSRef GType
-#else
-gTypeWebKitAnimationList' = error "gTypeWebKitAnimationList': only available in JavaScript"
-#endif
-gTypeWebKitAnimationList = GType gTypeWebKitAnimationList'
-#else
-#endif
-
-
-#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
 newtype WebKitNamedFlow = WebKitNamedFlow (JSRef WebKitNamedFlow)
 
 unWebKitNamedFlow (WebKitNamedFlow o) = o
@@ -4088,7 +4088,7 @@
 castToWebKitNamedFlow = castTo gTypeWebKitNamedFlow "WebKitNamedFlow"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.WebKitNamedFlow" gTypeWebKitNamedFlow' :: JSRef GType
+foreign import javascript unsafe "window[\"WebKitNamedFlow\"]" gTypeWebKitNamedFlow' :: JSRef GType
 #else
 gTypeWebKitNamedFlow' = error "gTypeWebKitNamedFlow': only available in JavaScript"
 #endif
@@ -4116,7 +4116,7 @@
 castToWebKitPoint = castTo gTypeWebKitPoint "WebKitPoint"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.WebKitPoint" gTypeWebKitPoint' :: JSRef GType
+foreign import javascript unsafe "window[\"WebKitPoint\"]" gTypeWebKitPoint' :: JSRef GType
 #else
 gTypeWebKitPoint' = error "gTypeWebKitPoint': only available in JavaScript"
 #endif
@@ -4144,7 +4144,7 @@
 castToXPathExpression = castTo gTypeXPathExpression "XPathExpression"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.XPathExpression" gTypeXPathExpression' :: JSRef GType
+foreign import javascript unsafe "window[\"XPathExpression\"]" gTypeXPathExpression' :: JSRef GType
 #else
 gTypeXPathExpression' = error "gTypeXPathExpression': only available in JavaScript"
 #endif
@@ -4172,7 +4172,7 @@
 castToXPathNSResolver = castTo gTypeXPathNSResolver "XPathNSResolver"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.XPathNSResolver" gTypeXPathNSResolver' :: JSRef GType
+foreign import javascript unsafe "window[\"XPathNSResolver\"]" gTypeXPathNSResolver' :: JSRef GType
 #else
 gTypeXPathNSResolver' = error "gTypeXPathNSResolver': only available in JavaScript"
 #endif
@@ -4200,7 +4200,7 @@
 castToXPathResult = castTo gTypeXPathResult "XPathResult"
 
 #ifdef __GHCJS__
-foreign import javascript unsafe "window.XPathResult" gTypeXPathResult' :: JSRef GType
+foreign import javascript unsafe "window[\"XPathResult\"]" gTypeXPathResult' :: JSRef GType
 #else
 gTypeXPathResult' = error "gTypeXPathResult': only available in JavaScript"
 #endif
diff --git a/src/GHCJS/DOM/ValidityState.hs b/src/GHCJS/DOM/ValidityState.hs
--- a/src/GHCJS/DOM/ValidityState.hs
+++ b/src/GHCJS/DOM/ValidityState.hs
@@ -15,6 +15,7 @@
         validityStateGetRangeOverflow,
         ghcjs_dom_validity_state_get_step_mismatch,
         validityStateGetStepMismatch,
+        ghcjs_dom_validity_state_get_bad_input, validityStateGetBadInput,
         ghcjs_dom_validity_state_get_custom_error,
         validityStateGetCustomError, ghcjs_dom_validity_state_get_valid,
         validityStateGetValid)
@@ -151,6 +152,23 @@
                              (IsValidityState self) => self -> IO Bool
 validityStateGetStepMismatch self
   = ghcjs_dom_validity_state_get_step_mismatch
+      (unValidityState (toValidityState self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"badInput\"] ? 1 : 0)"
+        ghcjs_dom_validity_state_get_bad_input ::
+        JSRef ValidityState -> IO Bool
+#else 
+ghcjs_dom_validity_state_get_bad_input ::
+                                         JSRef ValidityState -> IO Bool
+ghcjs_dom_validity_state_get_bad_input = undefined
+#endif
+ 
+validityStateGetBadInput ::
+                         (IsValidityState self) => self -> IO Bool
+validityStateGetBadInput self
+  = ghcjs_dom_validity_state_get_bad_input
       (unValidityState (toValidityState self))
 
 
diff --git a/src/GHCJS/DOM/Window.hs b/src/GHCJS/DOM/Window.hs
deleted file mode 100644
--- a/src/GHCJS/DOM/Window.hs
+++ /dev/null
@@ -1,16 +0,0 @@
-{-# LANGUAGE CPP #-}
-#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
-{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
-module GHCJS.DOM.Window (BarInfo, IsBarInfo) where
- 
-data BarInfo = BarInfo
- 
-class IsBarInfo a
- 
-instance IsBarInfo BarInfo
-#else
-module GHCJS.DOM.Window (
-  module Graphics.UI.Gtk.WebKit.DOM.Window
-  ) where
-import Graphics.UI.Gtk.WebKit.DOM.Window
-#endif
