diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+Copyright (c) 2010-2012 Hamish Mackenzie, Victor Nazarov, Luite Stegeman
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/Setup.lhs b/Setup.lhs
new file mode 100644
--- /dev/null
+++ b/Setup.lhs
@@ -0,0 +1,6 @@
+#!/usr/bin/runhaskell 
+> module Main where
+> import Distribution.Simple
+> main :: IO ()
+> main = defaultMain
+
diff --git a/cbits/ghcjs_stubs.c b/cbits/ghcjs_stubs.c
new file mode 100644
--- /dev/null
+++ b/cbits/ghcjs_stubs.c
@@ -0,0 +1,4 @@
+void * ghcjs_currentWindow() { return 0; }
+
+void * ghcjs_currentDocument() { return 0; }
+
diff --git a/ghcjs-dom.cabal b/ghcjs-dom.cabal
new file mode 100644
--- /dev/null
+++ b/ghcjs-dom.cabal
@@ -0,0 +1,192 @@
+name: ghcjs-dom
+version: 0.0.1
+cabal-version: >=1.10
+build-type: Simple
+license: MIT
+license-file: LICENSE
+maintainer: Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
+synopsis: DOM library that supports both GHCJS and WebKitGTK
+description: Documentent Object Model (DOM) functions that work with
+             GHCJS, but can also be used with GHC and WebKitGTK.
+author: Hamish Mackenzie
+data-dir: ""
+category: Web
+
+Source-Repository head
+  type:         git
+  location:     https://github.com/ghcjs/ghcjs-dom
+
+flag jsffi
+    description: Use JavaScriptFFI extension for GHCJS JavaScript output
+    default: True
+
+flag webkit
+    description: Use WebKitGtk DOM functions
+    default: False
+
+flag jsc
+    description: Use WebKitGtk JavaScriptCore
+    default: False
+
+flag gtk3
+    Description: Use GTK3 rather than GTK2 (only matters when using webkit)
+    Default: True
+
+library
+    build-depends: base <5, mtl -any
+    default-language: Haskell2010
+    exposed-modules:
+          GHCJS.DOM
+          GHCJS.DOM.Types
+          GHCJS.DOM.Attr
+          GHCJS.DOM.BarInfo
+          GHCJS.DOM.Blob
+          GHCJS.DOM.CharacterData
+          GHCJS.DOM.Console
+          GHCJS.DOM.Css
+          GHCJS.DOM.CSSRule
+          GHCJS.DOM.CSSRuleList
+          GHCJS.DOM.CSSStyleDeclaration
+          GHCJS.DOM.CSSStyleSheet
+          GHCJS.DOM.CSSValue
+          GHCJS.DOM.Document
+          GHCJS.DOM.DocumentType
+          GHCJS.DOM.DOMApplicationCache
+          GHCJS.DOM.DOMImplementation
+          GHCJS.DOM.DOMMimeType
+          GHCJS.DOM.DOMMimeTypeArray
+          GHCJS.DOM.DOMPlugin
+          GHCJS.DOM.DOMPluginArray
+          GHCJS.DOM.DOMSelection
+          GHCJS.DOM.DOMSettableTokenList
+          GHCJS.DOM.DOMTokenList
+          GHCJS.DOM.DOMWindow
+          GHCJS.DOM.Element
+          GHCJS.DOM.Event
+          GHCJS.DOM.EventM
+          GHCJS.DOM.Events
+--          GHCJS.DOM.EventTarget
+          GHCJS.DOM.EventTargetClosures
+          GHCJS.DOM.File
+          GHCJS.DOM.FileList
+          GHCJS.DOM.History
+          GHCJS.DOM.HTMLAnchorElement
+          GHCJS.DOM.HTMLAppletElement
+          GHCJS.DOM.HTMLAreaElement
+          GHCJS.DOM.HTMLBaseElement
+          GHCJS.DOM.HTMLBaseFontElement
+          GHCJS.DOM.HTMLBodyElement
+          GHCJS.DOM.HTMLBRElement
+          GHCJS.DOM.HTMLButtonElement
+          GHCJS.DOM.HTMLCollection
+          GHCJS.DOM.HTMLDirectoryElement
+          GHCJS.DOM.HTMLDivElement
+          GHCJS.DOM.HTMLDListElement
+          GHCJS.DOM.HTMLDocument
+          GHCJS.DOM.HTMLElement
+          GHCJS.DOM.HTMLFieldSetElement
+          GHCJS.DOM.HTMLFontElement
+          GHCJS.DOM.HTMLFormElement
+          GHCJS.DOM.HTMLFrameElement
+          GHCJS.DOM.HTMLFrameSetElement
+          GHCJS.DOM.HTMLHeadElement
+          GHCJS.DOM.HTMLHeadingElement
+          GHCJS.DOM.HTMLHRElement
+          GHCJS.DOM.HTMLHtmlElement
+          GHCJS.DOM.HTMLIFrameElement
+          GHCJS.DOM.HTMLImageElement
+          GHCJS.DOM.HTMLInputElement
+          GHCJS.DOM.HTMLLabelElement
+          GHCJS.DOM.HTMLLegendElement
+          GHCJS.DOM.HTMLLIElement
+          GHCJS.DOM.HTMLLinkElement
+          GHCJS.DOM.HTMLMapElement
+          GHCJS.DOM.HTMLMenuElement
+          GHCJS.DOM.HTMLMetaElement
+          GHCJS.DOM.HTMLModElement
+          GHCJS.DOM.HTMLObjectElement
+          GHCJS.DOM.HTMLOListElement
+          GHCJS.DOM.HTMLOptGroupElement
+          GHCJS.DOM.HTMLOptionElement
+          GHCJS.DOM.HTMLOptionsCollection
+          GHCJS.DOM.HTMLParagraphElement
+          GHCJS.DOM.HTMLParamElement
+          GHCJS.DOM.HTMLPreElement
+          GHCJS.DOM.HTMLQuoteElement
+          GHCJS.DOM.HTMLScriptElement
+          GHCJS.DOM.HTMLSelectElement
+          GHCJS.DOM.HTMLStyleElement
+          GHCJS.DOM.HTMLTableCaptionElement
+          GHCJS.DOM.HTMLTableCellElement
+          GHCJS.DOM.HTMLTableColElement
+          GHCJS.DOM.HTMLTableElement
+          GHCJS.DOM.HTMLTableRowElement
+          GHCJS.DOM.HTMLTableSectionElement
+          GHCJS.DOM.HTMLTextAreaElement
+          GHCJS.DOM.HTMLTitleElement
+          GHCJS.DOM.HTMLUListElement
+          GHCJS.DOM.Location
+          GHCJS.DOM.MediaList
+          GHCJS.DOM.MediaQueryList
+          GHCJS.DOM.MemoryInfo
+          GHCJS.DOM.MouseEvent
+          GHCJS.DOM.NamedNodeMap
+          GHCJS.DOM.Navigator
+          GHCJS.DOM.Node
+          GHCJS.DOM.NodeFilter
+          GHCJS.DOM.NodeIterator
+          GHCJS.DOM.NodeList
+          GHCJS.DOM.ProcessingInstruction
+          GHCJS.DOM.Range
+          GHCJS.DOM.Ranges
+          GHCJS.DOM.Screen
+          GHCJS.DOM.StyleMedia
+          GHCJS.DOM.StyleSheet
+          GHCJS.DOM.StyleSheetList
+          GHCJS.DOM.Stylesheets
+          GHCJS.DOM.Storage
+          GHCJS.DOM.Text
+          GHCJS.DOM.Traversal
+          GHCJS.DOM.TreeWalker
+          GHCJS.DOM.UIEvent
+          GHCJS.DOM.ValidityState
+          GHCJS.DOM.WebKitNamedFlow
+          GHCJS.DOM.WebKitPoint
+          GHCJS.DOM.Window
+          GHCJS.DOM.XPathExpression
+          GHCJS.DOM.XPathNSResolver
+          GHCJS.DOM.XPathResult
+          GHCJS.DOM.DOMSecurityPolicy
+          GHCJS.DOM.DOMStringList
+          GHCJS.DOM.Geolocation
+          GHCJS.DOM.HTMLCanvasElement
+          GHCJS.DOM.HTMLDetailsElement
+          GHCJS.DOM.HTMLEmbedElement
+          GHCJS.DOM.HTMLKeygenElement
+          GHCJS.DOM.HTMLMarqueeElement
+          GHCJS.DOM.HTMLMediaElement
+          GHCJS.DOM.HTMLVideoElement
+          GHCJS.DOM.MediaError
+          GHCJS.DOM.StorageInfo
+          GHCJS.DOM.TimeRanges
+          -- GHCJS.DOM.WebKitAnimation
+          -- GHCJS.DOM.WebKitAnimationList
+
+--    if impl(ghcjs) && flag(jsffi)
+--        cpp-options: -DUSE_JAVASCRIPTFFI
+--        build-depends: ghcjs-base
+
+--    if !impl(ghcjs) || flag(webkit)
+    if impl(ghc)
+        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
+        else
+            build-depends: gtk >=0.12.4 && <0.13, webkit >=0.12.5 && <0.13
+        c-sources:      cbits/ghcjs_stubs.c
+
+    hs-source-dirs: src
+    exposed: True
+    buildable: True
+
diff --git a/src/GHCJS/DOM.hs b/src/GHCJS/DOM.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM.hs
@@ -0,0 +1,132 @@
+{-# LANGUAGE CPP, ForeignFunctionInterface #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE JavaScriptFFI #-}
+#endif
+module GHCJS.DOM (
+  currentWindow
+, currentDocument
+, WebView(..)
+, webViewGetDomDocument
+, runWebGUI
+, postGUISync
+, postGUIAsync
+) where
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+import GHCJS.Types (JSRef(..))
+import Control.Applicative ((<$>))
+#else
+import Graphics.UI.Gtk.WebKit.WebView
+       (webViewSetWebSettings, webViewGetWebSettings, loadStarted,
+        webViewLoadUri, loadFinished, webViewNew, webViewGetDomDocument)
+import Graphics.UI.Gtk
+       (timeoutAddFull, widgetShowAll, mainQuit, objectDestroy,
+        WindowPosition(..), containerAdd, scrolledWindowNew,
+        windowSetPosition, windowSetDefaultSize, windowNew, mainGUI,
+        initGUI, postGUISync, postGUIAsync)
+import System.Glib.Signals (on)
+import System.Glib.Attributes (get, AttrOp(..), set)
+import System.Glib.FFI (maybeNull)
+import System.Glib.MainLoop (priorityHigh)
+import Graphics.UI.Gtk.WebKit.WebSettings (webSettingsUserAgent)
+import Control.Monad.IO.Class (liftIO)
+#endif
+
+import GHCJS.DOM.Types
+import GHCJS.DOM.DOMWindow (domWindowGetNavigator, domWindowGetDocument)
+import GHCJS.DOM.Navigator (navigatorGetUserAgent)
+import Foreign (ForeignPtr, nullPtr, Ptr)
+import Control.Monad (unless, forever, liftM)
+import Control.Concurrent
+       (yield, threadDelay, takeMVar, newEmptyMVar)
+import System.Environment (getArgs)
+import Data.List (isSuffixOf)
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+postGUIAsync :: IO () -> IO ()
+postGUIAsync = id
+
+postGUISync :: IO a -> IO a
+postGUISync = id
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "$r = window"
+  ghcjs_currentWindow :: IO (JSRef DOMWindow)
+foreign import javascript unsafe "$r = document"
+  ghcjs_currentDocument :: IO (JSRef Document)
+#else
+ghcjs_currentWindow :: IO (JSRef DOMWindow)
+ghcjs_currentWindow = undefined
+ghcjs_currentDocument :: IO (JSRef Document)
+ghcjs_currentDocument = undefined
+#endif
+
+currentWindow :: IO (Maybe DOMWindow)
+currentWindow = fmap DOMWindow . maybeJSNull <$> ghcjs_currentWindow
+currentDocument :: IO (Maybe Document)
+currentDocument = fmap Document . maybeJSNull <$> ghcjs_currentDocument
+
+type WebView = DOMWindow
+castToWebView = id
+
+webViewGetDomDocument :: IsDOMWindow w => w -> IO (Maybe Document)
+webViewGetDomDocument = domWindowGetDocument
+#else
+foreign import ccall safe "ghcjs_currentWindow"
+  ghcjs_currentWindow :: IO (Ptr DOMWindow)
+
+currentWindow :: IO (Maybe DOMWindow)
+currentWindow = maybeNull (makeNewGObject mkDOMWindow) ghcjs_currentWindow
+
+foreign import ccall unsafe "ghcjs_currentDocument"
+  ghcjs_currentDocument :: IO (Ptr Document)
+
+currentDocument :: IO (Maybe Document)
+currentDocument = maybeNull (makeNewGObject mkDocument) ghcjs_currentDocument
+#endif
+
+runWebGUI :: (WebView -> IO ()) -> IO ()
+runWebGUI = runWebGUI' "GHCJS"
+
+runWebGUI' :: String -> (WebView -> IO ()) -> IO ()
+runWebGUI' userAgentKey main = do
+  -- Are we in a java script inside some kind of browser
+  mbWindow <- currentWindow
+  case mbWindow of
+    Just window -> do
+      -- Check if we are running in javascript inside the the native version
+      Just n <- domWindowGetNavigator window
+      agent <- navigatorGetUserAgent n
+      unless ((" " ++ userAgentKey) `isSuffixOf` agent) $ main (castToWebView window)
+    Nothing -> do
+      makeDefaultWebView userAgentKey main
+
+makeDefaultWebView :: String -> (WebView -> IO ()) -> IO ()
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+makeDefaultWebView _ _ = error "Unsupported makeDefaultWebView"
+#else
+makeDefaultWebView userAgentKey main = do
+  initGUI
+  window <- windowNew
+  timeoutAddFull (yield >> return True) priorityHigh 10
+  windowSetDefaultSize window 900 600
+  windowSetPosition window WinPosCenter
+  scrollWin <- scrolledWindowNew Nothing Nothing
+  webView <- webViewNew
+  settings <- webViewGetWebSettings webView
+  userAgent <- settings `get` webSettingsUserAgent
+  settings `set` [webSettingsUserAgent := userAgent ++ " " ++ userAgentKey]
+  webViewSetWebSettings webView settings
+  window `containerAdd` scrollWin
+  scrollWin `containerAdd` webView
+  on window objectDestroy . liftIO $ mainQuit
+  widgetShowAll window
+  webView `on` loadFinished $ \frame -> do
+    main webView
+  args <- getArgs
+  case args of
+    uri:_ -> webViewLoadUri webView uri
+    []    -> do
+      main webView
+  mainGUI
+#endif
diff --git a/src/GHCJS/DOM/Attr.hs b/src/GHCJS/DOM/Attr.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Attr.hs
@@ -0,0 +1,117 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Attr
+       (ghcjs_dom_attr_get_name, attrGetName,
+        ghcjs_dom_attr_get_specified, attrGetSpecified,
+        ghcjs_dom_attr_set_value, attrSetValue, ghcjs_dom_attr_get_value,
+        attrGetValue, ghcjs_dom_attr_get_owner_element,
+        attrGetOwnerElement, ghcjs_dom_attr_get_is_id, attrGetIsId)
+       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[\"name\"]"
+        ghcjs_dom_attr_get_name :: JSRef DOMAttr -> IO JSString
+#else 
+ghcjs_dom_attr_get_name :: JSRef DOMAttr -> IO JSString
+ghcjs_dom_attr_get_name = undefined
+#endif
+ 
+attrGetName ::
+            (IsDOMAttr self, FromJSString result) => self -> IO result
+attrGetName self
+  = fromJSString <$>
+      (ghcjs_dom_attr_get_name (unDOMAttr (toDOMAttr self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"specified\"] ? 1 : 0)"
+        ghcjs_dom_attr_get_specified :: JSRef DOMAttr -> IO Bool
+#else 
+ghcjs_dom_attr_get_specified :: JSRef DOMAttr -> IO Bool
+ghcjs_dom_attr_get_specified = undefined
+#endif
+ 
+attrGetSpecified :: (IsDOMAttr self) => self -> IO Bool
+attrGetSpecified self
+  = ghcjs_dom_attr_get_specified (unDOMAttr (toDOMAttr self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"] = $2;"
+        ghcjs_dom_attr_set_value :: JSRef DOMAttr -> JSString -> IO ()
+#else 
+ghcjs_dom_attr_set_value :: JSRef DOMAttr -> JSString -> IO ()
+ghcjs_dom_attr_set_value = undefined
+#endif
+ 
+attrSetValue ::
+             (IsDOMAttr self, ToJSString val) => self -> val -> IO ()
+attrSetValue self val
+  = ghcjs_dom_attr_set_value (unDOMAttr (toDOMAttr self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"]"
+        ghcjs_dom_attr_get_value :: JSRef DOMAttr -> IO JSString
+#else 
+ghcjs_dom_attr_get_value :: JSRef DOMAttr -> IO JSString
+ghcjs_dom_attr_get_value = undefined
+#endif
+ 
+attrGetValue ::
+             (IsDOMAttr self, FromJSString result) => self -> IO result
+attrGetValue self
+  = fromJSString <$>
+      (ghcjs_dom_attr_get_value (unDOMAttr (toDOMAttr self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ownerElement\"]"
+        ghcjs_dom_attr_get_owner_element ::
+        JSRef DOMAttr -> IO (JSRef Element)
+#else 
+ghcjs_dom_attr_get_owner_element ::
+                                   JSRef DOMAttr -> IO (JSRef Element)
+ghcjs_dom_attr_get_owner_element = undefined
+#endif
+ 
+attrGetOwnerElement ::
+                    (IsDOMAttr self) => self -> IO (Maybe Element)
+attrGetOwnerElement self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_attr_get_owner_element (unDOMAttr (toDOMAttr self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"isId\"] ? 1 : 0)"
+        ghcjs_dom_attr_get_is_id :: JSRef DOMAttr -> IO Bool
+#else 
+ghcjs_dom_attr_get_is_id :: JSRef DOMAttr -> IO Bool
+ghcjs_dom_attr_get_is_id = undefined
+#endif
+ 
+attrGetIsId :: (IsDOMAttr self) => self -> IO Bool
+attrGetIsId self
+  = ghcjs_dom_attr_get_is_id (unDOMAttr (toDOMAttr self))
+#else
+module GHCJS.DOM.Attr (
+  module Graphics.UI.Gtk.WebKit.DOM.Attr
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Attr
+#endif
diff --git a/src/GHCJS/DOM/BarInfo.hs b/src/GHCJS/DOM/BarInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/BarInfo.hs
@@ -0,0 +1,37 @@
+{-# 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/Blob.hs b/src/GHCJS/DOM/Blob.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Blob.hs
@@ -0,0 +1,36 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Blob (ghcjs_dom_blob_get_size, blobGetSize) 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[\"size\"]"
+        ghcjs_dom_blob_get_size :: JSRef Blob -> IO Double
+#else 
+ghcjs_dom_blob_get_size :: JSRef Blob -> IO Double
+ghcjs_dom_blob_get_size = undefined
+#endif
+ 
+blobGetSize :: (IsBlob self) => self -> IO Word64
+blobGetSize self
+  = round <$> (ghcjs_dom_blob_get_size (unBlob (toBlob self)))
+#else
+module GHCJS.DOM.Blob (
+  module Graphics.UI.Gtk.WebKit.DOM.Blob
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Blob
+#endif
diff --git a/src/GHCJS/DOM/CSSRule.hs b/src/GHCJS/DOM/CSSRule.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/CSSRule.hs
@@ -0,0 +1,107 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.CSSRule
+       (cUNKNOWN_RULE, cSTYLE_RULE, cCHARSET_RULE, cIMPORT_RULE,
+        cMEDIA_RULE, cFONT_FACE_RULE, cPAGE_RULE, cWEBKIT_KEYFRAMES_RULE,
+        cWEBKIT_KEYFRAME_RULE, ghcjs_dom_css_rule_set_css_text,
+        cssRuleSetCssText, ghcjs_dom_css_rule_get_css_text,
+        cssRuleGetCssText, ghcjs_dom_css_rule_get_parent_style_sheet,
+        cssRuleGetParentStyleSheet, ghcjs_dom_css_rule_get_parent_rule,
+        cssRuleGetParentRule)
+       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
+
+cUNKNOWN_RULE = 0
+cSTYLE_RULE = 1
+cCHARSET_RULE = 2
+cIMPORT_RULE = 3
+cMEDIA_RULE = 4
+cFONT_FACE_RULE = 5
+cPAGE_RULE = 6
+cWEBKIT_KEYFRAMES_RULE = 7
+cWEBKIT_KEYFRAME_RULE = 8
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cssText\"] = $2;"
+        ghcjs_dom_css_rule_set_css_text ::
+        JSRef CSSRule -> JSString -> IO ()
+#else 
+ghcjs_dom_css_rule_set_css_text ::
+                                  JSRef CSSRule -> JSString -> IO ()
+ghcjs_dom_css_rule_set_css_text = undefined
+#endif
+ 
+cssRuleSetCssText ::
+                  (IsCSSRule self, ToJSString val) => self -> val -> IO ()
+cssRuleSetCssText self val
+  = ghcjs_dom_css_rule_set_css_text (unCSSRule (toCSSRule self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cssText\"]"
+        ghcjs_dom_css_rule_get_css_text :: JSRef CSSRule -> IO JSString
+#else 
+ghcjs_dom_css_rule_get_css_text :: JSRef CSSRule -> IO JSString
+ghcjs_dom_css_rule_get_css_text = undefined
+#endif
+ 
+cssRuleGetCssText ::
+                  (IsCSSRule self, FromJSString result) => self -> IO result
+cssRuleGetCssText self
+  = fromJSString <$>
+      (ghcjs_dom_css_rule_get_css_text (unCSSRule (toCSSRule self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"parentStyleSheet\"]"
+        ghcjs_dom_css_rule_get_parent_style_sheet ::
+        JSRef CSSRule -> IO (JSRef CSSStyleSheet)
+#else 
+ghcjs_dom_css_rule_get_parent_style_sheet ::
+                                            JSRef CSSRule -> IO (JSRef CSSStyleSheet)
+ghcjs_dom_css_rule_get_parent_style_sheet = undefined
+#endif
+ 
+cssRuleGetParentStyleSheet ::
+                           (IsCSSRule self) => self -> IO (Maybe CSSStyleSheet)
+cssRuleGetParentStyleSheet self
+  = fmap CSSStyleSheet . maybeJSNull <$>
+      (ghcjs_dom_css_rule_get_parent_style_sheet
+         (unCSSRule (toCSSRule self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"parentRule\"]"
+        ghcjs_dom_css_rule_get_parent_rule ::
+        JSRef CSSRule -> IO (JSRef CSSRule)
+#else 
+ghcjs_dom_css_rule_get_parent_rule ::
+                                     JSRef CSSRule -> IO (JSRef CSSRule)
+ghcjs_dom_css_rule_get_parent_rule = undefined
+#endif
+ 
+cssRuleGetParentRule ::
+                     (IsCSSRule self) => self -> IO (Maybe CSSRule)
+cssRuleGetParentRule self
+  = fmap CSSRule . maybeJSNull <$>
+      (ghcjs_dom_css_rule_get_parent_rule (unCSSRule (toCSSRule self)))
+#else
+module GHCJS.DOM.CSSRule (
+  module Graphics.UI.Gtk.WebKit.DOM.CSSRule
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.CSSRule
+#endif
diff --git a/src/GHCJS/DOM/CSSRuleList.hs b/src/GHCJS/DOM/CSSRuleList.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/CSSRuleList.hs
@@ -0,0 +1,58 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.CSSRuleList
+       (ghcjs_dom_css_rule_list_item, cssRuleListItem,
+        ghcjs_dom_css_rule_list_get_length, cssRuleListGetLength)
+       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_css_rule_list_item ::
+        JSRef CSSRuleList -> Word -> IO (JSRef CSSRule)
+#else 
+ghcjs_dom_css_rule_list_item ::
+                               JSRef CSSRuleList -> Word -> IO (JSRef CSSRule)
+ghcjs_dom_css_rule_list_item = undefined
+#endif
+ 
+cssRuleListItem ::
+                (IsCSSRuleList self) => self -> Word -> IO (Maybe CSSRule)
+cssRuleListItem self index
+  = fmap CSSRule . maybeJSNull <$>
+      (ghcjs_dom_css_rule_list_item (unCSSRuleList (toCSSRuleList self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_css_rule_list_get_length :: JSRef CSSRuleList -> IO Word
+#else 
+ghcjs_dom_css_rule_list_get_length :: JSRef CSSRuleList -> IO Word
+ghcjs_dom_css_rule_list_get_length = undefined
+#endif
+ 
+cssRuleListGetLength :: (IsCSSRuleList self) => self -> IO Word
+cssRuleListGetLength self
+  = ghcjs_dom_css_rule_list_get_length
+      (unCSSRuleList (toCSSRuleList self))
+#else
+module GHCJS.DOM.CSSRuleList (
+  module Graphics.UI.Gtk.WebKit.DOM.CSSRuleList
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.CSSRuleList
+#endif
diff --git a/src/GHCJS/DOM/CSSStyleDeclaration.hs b/src/GHCJS/DOM/CSSStyleDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/CSSStyleDeclaration.hs
@@ -0,0 +1,294 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+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,
+        cssStyleDeclarationGetPropertyPriority,
+        ghcjs_dom_css_style_declaration_set_property,
+        cssStyleDeclarationSetProperty,
+        ghcjs_dom_css_style_declaration_item, cssStyleDeclarationItem,
+        ghcjs_dom_css_style_declaration_get_property_shorthand,
+        cssStyleDeclarationGetPropertyShorthand,
+        ghcjs_dom_css_style_declaration_is_property_implicit,
+        cssStyleDeclarationIsPropertyImplicit,
+        ghcjs_dom_css_style_declaration_set_css_text,
+        cssStyleDeclarationSetCssText,
+        ghcjs_dom_css_style_declaration_get_css_text,
+        cssStyleDeclarationGetCssText,
+        ghcjs_dom_css_style_declaration_get_length,
+        cssStyleDeclarationGetLength,
+        ghcjs_dom_css_style_declaration_get_parent_rule,
+        cssStyleDeclarationGetParentRule)
+       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[\"getPropertyValue\"]($2)"
+        ghcjs_dom_css_style_declaration_get_property_value ::
+        JSRef CSSStyleDeclaration -> JSString -> IO JSString
+#else 
+ghcjs_dom_css_style_declaration_get_property_value ::
+                                                     JSRef CSSStyleDeclaration ->
+                                                       JSString -> IO JSString
+ghcjs_dom_css_style_declaration_get_property_value = undefined
+#endif
+ 
+cssStyleDeclarationGetPropertyValue ::
+                                    (IsCSSStyleDeclaration self, ToJSString propertyName,
+                                     FromJSString result) =>
+                                      self -> propertyName -> IO result
+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))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"removeProperty\"]($2)"
+        ghcjs_dom_css_style_declaration_remove_property ::
+        JSRef CSSStyleDeclaration -> JSString -> IO JSString
+#else 
+ghcjs_dom_css_style_declaration_remove_property ::
+                                                  JSRef CSSStyleDeclaration ->
+                                                    JSString -> IO JSString
+ghcjs_dom_css_style_declaration_remove_property = undefined
+#endif
+ 
+cssStyleDeclarationRemoveProperty ::
+                                  (IsCSSStyleDeclaration self, ToJSString propertyName,
+                                   FromJSString result) =>
+                                    self -> propertyName -> IO result
+cssStyleDeclarationRemoveProperty self propertyName
+  = fromJSString <$>
+      (ghcjs_dom_css_style_declaration_remove_property
+         (unCSSStyleDeclaration (toCSSStyleDeclaration self))
+         (toJSString propertyName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getPropertyPriority\"]($2)"
+        ghcjs_dom_css_style_declaration_get_property_priority ::
+        JSRef CSSStyleDeclaration -> JSString -> IO JSString
+#else 
+ghcjs_dom_css_style_declaration_get_property_priority ::
+                                                        JSRef CSSStyleDeclaration ->
+                                                          JSString -> IO JSString
+ghcjs_dom_css_style_declaration_get_property_priority = undefined
+#endif
+ 
+cssStyleDeclarationGetPropertyPriority ::
+                                       (IsCSSStyleDeclaration self, ToJSString propertyName,
+                                        FromJSString result) =>
+                                         self -> propertyName -> IO result
+cssStyleDeclarationGetPropertyPriority self propertyName
+  = fromJSString <$>
+      (ghcjs_dom_css_style_declaration_get_property_priority
+         (unCSSStyleDeclaration (toCSSStyleDeclaration self))
+         (toJSString propertyName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setProperty\"]($2, $3, $4)"
+        ghcjs_dom_css_style_declaration_set_property ::
+        JSRef CSSStyleDeclaration ->
+          JSString -> JSString -> JSString -> IO ()
+#else 
+ghcjs_dom_css_style_declaration_set_property ::
+                                               JSRef CSSStyleDeclaration ->
+                                                 JSString -> JSString -> JSString -> IO ()
+ghcjs_dom_css_style_declaration_set_property = undefined
+#endif
+ 
+cssStyleDeclarationSetProperty ::
+                               (IsCSSStyleDeclaration self, ToJSString propertyName,
+                                ToJSString value, ToJSString priority) =>
+                                 self -> propertyName -> value -> priority -> IO ()
+cssStyleDeclarationSetProperty self propertyName value priority
+  = ghcjs_dom_css_style_declaration_set_property
+      (unCSSStyleDeclaration (toCSSStyleDeclaration self))
+      (toJSString propertyName)
+      (toJSString value)
+      (toJSString priority)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"item\"]($2)"
+        ghcjs_dom_css_style_declaration_item ::
+        JSRef CSSStyleDeclaration -> Word -> IO JSString
+#else 
+ghcjs_dom_css_style_declaration_item ::
+                                       JSRef CSSStyleDeclaration -> Word -> IO JSString
+ghcjs_dom_css_style_declaration_item = undefined
+#endif
+ 
+cssStyleDeclarationItem ::
+                        (IsCSSStyleDeclaration self, FromJSString result) =>
+                          self -> Word -> IO result
+cssStyleDeclarationItem self index
+  = fromJSString <$>
+      (ghcjs_dom_css_style_declaration_item
+         (unCSSStyleDeclaration (toCSSStyleDeclaration self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getPropertyShorthand\"]($2)"
+        ghcjs_dom_css_style_declaration_get_property_shorthand ::
+        JSRef CSSStyleDeclaration -> JSString -> IO JSString
+#else 
+ghcjs_dom_css_style_declaration_get_property_shorthand ::
+                                                         JSRef CSSStyleDeclaration ->
+                                                           JSString -> IO JSString
+ghcjs_dom_css_style_declaration_get_property_shorthand = undefined
+#endif
+ 
+cssStyleDeclarationGetPropertyShorthand ::
+                                        (IsCSSStyleDeclaration self, ToJSString propertyName,
+                                         FromJSString result) =>
+                                          self -> propertyName -> IO result
+cssStyleDeclarationGetPropertyShorthand self propertyName
+  = fromJSString <$>
+      (ghcjs_dom_css_style_declaration_get_property_shorthand
+         (unCSSStyleDeclaration (toCSSStyleDeclaration self))
+         (toJSString propertyName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"isPropertyImplicit\"]($2) ? 1 : 0)"
+        ghcjs_dom_css_style_declaration_is_property_implicit ::
+        JSRef CSSStyleDeclaration -> JSString -> IO Bool
+#else 
+ghcjs_dom_css_style_declaration_is_property_implicit ::
+                                                       JSRef CSSStyleDeclaration ->
+                                                         JSString -> IO Bool
+ghcjs_dom_css_style_declaration_is_property_implicit = undefined
+#endif
+ 
+cssStyleDeclarationIsPropertyImplicit ::
+                                      (IsCSSStyleDeclaration self, ToJSString propertyName) =>
+                                        self -> propertyName -> IO Bool
+cssStyleDeclarationIsPropertyImplicit self propertyName
+  = ghcjs_dom_css_style_declaration_is_property_implicit
+      (unCSSStyleDeclaration (toCSSStyleDeclaration self))
+      (toJSString propertyName)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cssText\"] = $2;"
+        ghcjs_dom_css_style_declaration_set_css_text ::
+        JSRef CSSStyleDeclaration -> JSString -> IO ()
+#else 
+ghcjs_dom_css_style_declaration_set_css_text ::
+                                               JSRef CSSStyleDeclaration -> JSString -> IO ()
+ghcjs_dom_css_style_declaration_set_css_text = undefined
+#endif
+ 
+cssStyleDeclarationSetCssText ::
+                              (IsCSSStyleDeclaration self, ToJSString val) =>
+                                self -> val -> IO ()
+cssStyleDeclarationSetCssText self val
+  = ghcjs_dom_css_style_declaration_set_css_text
+      (unCSSStyleDeclaration (toCSSStyleDeclaration self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cssText\"]"
+        ghcjs_dom_css_style_declaration_get_css_text ::
+        JSRef CSSStyleDeclaration -> IO JSString
+#else 
+ghcjs_dom_css_style_declaration_get_css_text ::
+                                               JSRef CSSStyleDeclaration -> IO JSString
+ghcjs_dom_css_style_declaration_get_css_text = undefined
+#endif
+ 
+cssStyleDeclarationGetCssText ::
+                              (IsCSSStyleDeclaration self, FromJSString result) =>
+                                self -> IO result
+cssStyleDeclarationGetCssText self
+  = fromJSString <$>
+      (ghcjs_dom_css_style_declaration_get_css_text
+         (unCSSStyleDeclaration (toCSSStyleDeclaration self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_css_style_declaration_get_length ::
+        JSRef CSSStyleDeclaration -> IO Word
+#else 
+ghcjs_dom_css_style_declaration_get_length ::
+                                             JSRef CSSStyleDeclaration -> IO Word
+ghcjs_dom_css_style_declaration_get_length = undefined
+#endif
+ 
+cssStyleDeclarationGetLength ::
+                             (IsCSSStyleDeclaration self) => self -> IO Word
+cssStyleDeclarationGetLength self
+  = ghcjs_dom_css_style_declaration_get_length
+      (unCSSStyleDeclaration (toCSSStyleDeclaration self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"parentRule\"]"
+        ghcjs_dom_css_style_declaration_get_parent_rule ::
+        JSRef CSSStyleDeclaration -> IO (JSRef CSSRule)
+#else 
+ghcjs_dom_css_style_declaration_get_parent_rule ::
+                                                  JSRef CSSStyleDeclaration -> IO (JSRef CSSRule)
+ghcjs_dom_css_style_declaration_get_parent_rule = undefined
+#endif
+ 
+cssStyleDeclarationGetParentRule ::
+                                 (IsCSSStyleDeclaration self) => self -> IO (Maybe CSSRule)
+cssStyleDeclarationGetParentRule self
+  = fmap CSSRule . maybeJSNull <$>
+      (ghcjs_dom_css_style_declaration_get_parent_rule
+         (unCSSStyleDeclaration (toCSSStyleDeclaration self)))
+#else
+module GHCJS.DOM.CSSStyleDeclaration (
+  module Graphics.UI.Gtk.WebKit.DOM.CSSStyleDeclaration
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.CSSStyleDeclaration
+#endif
diff --git a/src/GHCJS/DOM/CSSStyleSheet.hs b/src/GHCJS/DOM/CSSStyleSheet.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/CSSStyleSheet.hs
@@ -0,0 +1,163 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.CSSStyleSheet
+       (ghcjs_dom_css_style_sheet_insert_rule, cssStyleSheetInsertRule,
+        ghcjs_dom_css_style_sheet_delete_rule, cssStyleSheetDeleteRule,
+        ghcjs_dom_css_style_sheet_add_rule, cssStyleSheetAddRule,
+        ghcjs_dom_css_style_sheet_remove_rule, cssStyleSheetRemoveRule,
+        ghcjs_dom_css_style_sheet_get_owner_rule,
+        cssStyleSheetGetOwnerRule, ghcjs_dom_css_style_sheet_get_css_rules,
+        cssStyleSheetGetCssRules, ghcjs_dom_css_style_sheet_get_rules,
+        cssStyleSheetGetRules)
+       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[\"insertRule\"]($2, $3)"
+        ghcjs_dom_css_style_sheet_insert_rule ::
+        JSRef CSSStyleSheet -> JSString -> Word -> IO Word
+#else 
+ghcjs_dom_css_style_sheet_insert_rule ::
+                                        JSRef CSSStyleSheet -> JSString -> Word -> IO Word
+ghcjs_dom_css_style_sheet_insert_rule = undefined
+#endif
+ 
+cssStyleSheetInsertRule ::
+                        (IsCSSStyleSheet self, ToJSString rule) =>
+                          self -> rule -> Word -> IO Word
+cssStyleSheetInsertRule self rule index
+  = ghcjs_dom_css_style_sheet_insert_rule
+      (unCSSStyleSheet (toCSSStyleSheet self))
+      (toJSString rule)
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteRule\"]($2)"
+        ghcjs_dom_css_style_sheet_delete_rule ::
+        JSRef CSSStyleSheet -> Word -> IO ()
+#else 
+ghcjs_dom_css_style_sheet_delete_rule ::
+                                        JSRef CSSStyleSheet -> Word -> IO ()
+ghcjs_dom_css_style_sheet_delete_rule = undefined
+#endif
+ 
+cssStyleSheetDeleteRule ::
+                        (IsCSSStyleSheet self) => self -> Word -> IO ()
+cssStyleSheetDeleteRule self index
+  = ghcjs_dom_css_style_sheet_delete_rule
+      (unCSSStyleSheet (toCSSStyleSheet self))
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"addRule\"]($2, $3, $4)"
+        ghcjs_dom_css_style_sheet_add_rule ::
+        JSRef CSSStyleSheet -> JSString -> JSString -> Word -> IO Int
+#else 
+ghcjs_dom_css_style_sheet_add_rule ::
+                                     JSRef CSSStyleSheet -> JSString -> JSString -> Word -> IO Int
+ghcjs_dom_css_style_sheet_add_rule = undefined
+#endif
+ 
+cssStyleSheetAddRule ::
+                     (IsCSSStyleSheet self, ToJSString selector, ToJSString style) =>
+                       self -> selector -> style -> Word -> IO Int
+cssStyleSheetAddRule self selector style index
+  = ghcjs_dom_css_style_sheet_add_rule
+      (unCSSStyleSheet (toCSSStyleSheet self))
+      (toJSString selector)
+      (toJSString style)
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"removeRule\"]($2)"
+        ghcjs_dom_css_style_sheet_remove_rule ::
+        JSRef CSSStyleSheet -> Word -> IO ()
+#else 
+ghcjs_dom_css_style_sheet_remove_rule ::
+                                        JSRef CSSStyleSheet -> Word -> IO ()
+ghcjs_dom_css_style_sheet_remove_rule = undefined
+#endif
+ 
+cssStyleSheetRemoveRule ::
+                        (IsCSSStyleSheet self) => self -> Word -> IO ()
+cssStyleSheetRemoveRule self index
+  = ghcjs_dom_css_style_sheet_remove_rule
+      (unCSSStyleSheet (toCSSStyleSheet self))
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ownerRule\"]"
+        ghcjs_dom_css_style_sheet_get_owner_rule ::
+        JSRef CSSStyleSheet -> IO (JSRef CSSRule)
+#else 
+ghcjs_dom_css_style_sheet_get_owner_rule ::
+                                           JSRef CSSStyleSheet -> IO (JSRef CSSRule)
+ghcjs_dom_css_style_sheet_get_owner_rule = undefined
+#endif
+ 
+cssStyleSheetGetOwnerRule ::
+                          (IsCSSStyleSheet self) => self -> IO (Maybe CSSRule)
+cssStyleSheetGetOwnerRule self
+  = fmap CSSRule . maybeJSNull <$>
+      (ghcjs_dom_css_style_sheet_get_owner_rule
+         (unCSSStyleSheet (toCSSStyleSheet self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cssRules\"]"
+        ghcjs_dom_css_style_sheet_get_css_rules ::
+        JSRef CSSStyleSheet -> IO (JSRef CSSRuleList)
+#else 
+ghcjs_dom_css_style_sheet_get_css_rules ::
+                                          JSRef CSSStyleSheet -> IO (JSRef CSSRuleList)
+ghcjs_dom_css_style_sheet_get_css_rules = undefined
+#endif
+ 
+cssStyleSheetGetCssRules ::
+                         (IsCSSStyleSheet self) => self -> IO (Maybe CSSRuleList)
+cssStyleSheetGetCssRules self
+  = fmap CSSRuleList . maybeJSNull <$>
+      (ghcjs_dom_css_style_sheet_get_css_rules
+         (unCSSStyleSheet (toCSSStyleSheet self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rules\"]"
+        ghcjs_dom_css_style_sheet_get_rules ::
+        JSRef CSSStyleSheet -> IO (JSRef CSSRuleList)
+#else 
+ghcjs_dom_css_style_sheet_get_rules ::
+                                      JSRef CSSStyleSheet -> IO (JSRef CSSRuleList)
+ghcjs_dom_css_style_sheet_get_rules = undefined
+#endif
+ 
+cssStyleSheetGetRules ::
+                      (IsCSSStyleSheet self) => self -> IO (Maybe CSSRuleList)
+cssStyleSheetGetRules self
+  = fmap CSSRuleList . maybeJSNull <$>
+      (ghcjs_dom_css_style_sheet_get_rules
+         (unCSSStyleSheet (toCSSStyleSheet self)))
+#else
+module GHCJS.DOM.CSSStyleSheet (
+  module Graphics.UI.Gtk.WebKit.DOM.CSSStyleSheet
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.CSSStyleSheet
+#endif
diff --git a/src/GHCJS/DOM/CSSValue.hs b/src/GHCJS/DOM/CSSValue.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/CSSValue.hs
@@ -0,0 +1,78 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.CSSValue
+       (cCSS_INHERIT, cCSS_PRIMITIVE_VALUE, cCSS_VALUE_LIST, cCSS_CUSTOM,
+        ghcjs_dom_css_value_set_css_text, cssValueSetCssText,
+        ghcjs_dom_css_value_get_css_text, cssValueGetCssText,
+        ghcjs_dom_css_value_get_css_value_type, cssValueGetCssValueType)
+       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
+
+cCSS_INHERIT = 0
+cCSS_PRIMITIVE_VALUE = 1
+cCSS_VALUE_LIST = 2
+cCSS_CUSTOM = 3
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cssText\"] = $2;"
+        ghcjs_dom_css_value_set_css_text ::
+        JSRef CSSValue -> JSString -> IO ()
+#else 
+ghcjs_dom_css_value_set_css_text ::
+                                   JSRef CSSValue -> JSString -> IO ()
+ghcjs_dom_css_value_set_css_text = undefined
+#endif
+ 
+cssValueSetCssText ::
+                   (IsCSSValue self, ToJSString val) => self -> val -> IO ()
+cssValueSetCssText self val
+  = ghcjs_dom_css_value_set_css_text (unCSSValue (toCSSValue self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cssText\"]"
+        ghcjs_dom_css_value_get_css_text :: JSRef CSSValue -> IO JSString
+#else 
+ghcjs_dom_css_value_get_css_text :: JSRef CSSValue -> IO JSString
+ghcjs_dom_css_value_get_css_text = undefined
+#endif
+ 
+cssValueGetCssText ::
+                   (IsCSSValue self, FromJSString result) => self -> IO result
+cssValueGetCssText self
+  = fromJSString <$>
+      (ghcjs_dom_css_value_get_css_text (unCSSValue (toCSSValue self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cssValueType\"]"
+        ghcjs_dom_css_value_get_css_value_type :: JSRef CSSValue -> IO Word
+#else 
+ghcjs_dom_css_value_get_css_value_type :: JSRef CSSValue -> IO Word
+ghcjs_dom_css_value_get_css_value_type = undefined
+#endif
+ 
+cssValueGetCssValueType :: (IsCSSValue self) => self -> IO Word
+cssValueGetCssValueType self
+  = ghcjs_dom_css_value_get_css_value_type
+      (unCSSValue (toCSSValue self))
+#else
+module GHCJS.DOM.CSSValue (
+  module Graphics.UI.Gtk.WebKit.DOM.CSSValue
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.CSSValue
+#endif
diff --git a/src/GHCJS/DOM/CharacterData.hs b/src/GHCJS/DOM/CharacterData.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/CharacterData.hs
@@ -0,0 +1,184 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.CharacterData
+       (ghcjs_dom_character_data_substring_data,
+        characterDataSubstringData, ghcjs_dom_character_data_append_data,
+        characterDataAppendData, ghcjs_dom_character_data_insert_data,
+        characterDataInsertData, ghcjs_dom_character_data_delete_data,
+        characterDataDeleteData, ghcjs_dom_character_data_replace_data,
+        characterDataReplaceData, ghcjs_dom_character_data_set_data,
+        characterDataSetData, ghcjs_dom_character_data_get_data,
+        characterDataGetData, ghcjs_dom_character_data_get_length,
+        characterDataGetLength)
+       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[\"substringData\"]($2, $3)"
+        ghcjs_dom_character_data_substring_data ::
+        JSRef CharacterData -> Word -> Word -> IO JSString
+#else 
+ghcjs_dom_character_data_substring_data ::
+                                          JSRef CharacterData -> Word -> Word -> IO JSString
+ghcjs_dom_character_data_substring_data = undefined
+#endif
+ 
+characterDataSubstringData ::
+                           (IsCharacterData self, FromJSString result) =>
+                             self -> Word -> Word -> IO result
+characterDataSubstringData self offset length
+  = fromJSString <$>
+      (ghcjs_dom_character_data_substring_data
+         (unCharacterData (toCharacterData self))
+         offset
+         length)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"appendData\"]($2)"
+        ghcjs_dom_character_data_append_data ::
+        JSRef CharacterData -> JSString -> IO ()
+#else 
+ghcjs_dom_character_data_append_data ::
+                                       JSRef CharacterData -> JSString -> IO ()
+ghcjs_dom_character_data_append_data = undefined
+#endif
+ 
+characterDataAppendData ::
+                        (IsCharacterData self, ToJSString data') => self -> data' -> IO ()
+characterDataAppendData self data'
+  = ghcjs_dom_character_data_append_data
+      (unCharacterData (toCharacterData self))
+      (toJSString data')
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"insertData\"]($2, $3)"
+        ghcjs_dom_character_data_insert_data ::
+        JSRef CharacterData -> Word -> JSString -> IO ()
+#else 
+ghcjs_dom_character_data_insert_data ::
+                                       JSRef CharacterData -> Word -> JSString -> IO ()
+ghcjs_dom_character_data_insert_data = undefined
+#endif
+ 
+characterDataInsertData ::
+                        (IsCharacterData self, ToJSString data') =>
+                          self -> Word -> data' -> IO ()
+characterDataInsertData self offset data'
+  = ghcjs_dom_character_data_insert_data
+      (unCharacterData (toCharacterData self))
+      offset
+      (toJSString data')
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteData\"]($2, $3)"
+        ghcjs_dom_character_data_delete_data ::
+        JSRef CharacterData -> Word -> Word -> IO ()
+#else 
+ghcjs_dom_character_data_delete_data ::
+                                       JSRef CharacterData -> Word -> Word -> IO ()
+ghcjs_dom_character_data_delete_data = undefined
+#endif
+ 
+characterDataDeleteData ::
+                        (IsCharacterData self) => self -> Word -> Word -> IO ()
+characterDataDeleteData self offset length
+  = ghcjs_dom_character_data_delete_data
+      (unCharacterData (toCharacterData self))
+      offset
+      length
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"replaceData\"]($2, $3, $4)"
+        ghcjs_dom_character_data_replace_data ::
+        JSRef CharacterData -> Word -> Word -> JSString -> IO ()
+#else 
+ghcjs_dom_character_data_replace_data ::
+                                        JSRef CharacterData -> Word -> Word -> JSString -> IO ()
+ghcjs_dom_character_data_replace_data = undefined
+#endif
+ 
+characterDataReplaceData ::
+                         (IsCharacterData self, ToJSString data') =>
+                           self -> Word -> Word -> data' -> IO ()
+characterDataReplaceData self offset length data'
+  = ghcjs_dom_character_data_replace_data
+      (unCharacterData (toCharacterData self))
+      offset
+      length
+      (toJSString data')
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"data\"] = $2;"
+        ghcjs_dom_character_data_set_data ::
+        JSRef CharacterData -> JSString -> IO ()
+#else 
+ghcjs_dom_character_data_set_data ::
+                                    JSRef CharacterData -> JSString -> IO ()
+ghcjs_dom_character_data_set_data = undefined
+#endif
+ 
+characterDataSetData ::
+                     (IsCharacterData self, ToJSString val) => self -> val -> IO ()
+characterDataSetData self val
+  = ghcjs_dom_character_data_set_data
+      (unCharacterData (toCharacterData self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"data\"]"
+        ghcjs_dom_character_data_get_data ::
+        JSRef CharacterData -> IO JSString
+#else 
+ghcjs_dom_character_data_get_data ::
+                                    JSRef CharacterData -> IO JSString
+ghcjs_dom_character_data_get_data = undefined
+#endif
+ 
+characterDataGetData ::
+                     (IsCharacterData self, FromJSString result) => self -> IO result
+characterDataGetData self
+  = fromJSString <$>
+      (ghcjs_dom_character_data_get_data
+         (unCharacterData (toCharacterData self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_character_data_get_length ::
+        JSRef CharacterData -> IO Word
+#else 
+ghcjs_dom_character_data_get_length ::
+                                      JSRef CharacterData -> IO Word
+ghcjs_dom_character_data_get_length = undefined
+#endif
+ 
+characterDataGetLength :: (IsCharacterData self) => self -> IO Word
+characterDataGetLength self
+  = ghcjs_dom_character_data_get_length
+      (unCharacterData (toCharacterData self))
+#else
+module GHCJS.DOM.CharacterData (
+  module Graphics.UI.Gtk.WebKit.DOM.CharacterData
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.CharacterData
+#endif
diff --git a/src/GHCJS/DOM/Console.hs b/src/GHCJS/DOM/Console.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Console.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Console
+       (ghcjs_dom_console_time, consoleTime, ghcjs_dom_console_group_end,
+        consoleGroupEnd, ghcjs_dom_console_get_memory, consoleGetMemory)
+       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[\"time\"]($2)"
+        ghcjs_dom_console_time :: JSRef Console -> JSString -> IO ()
+#else 
+ghcjs_dom_console_time :: JSRef Console -> JSString -> IO ()
+ghcjs_dom_console_time = undefined
+#endif
+ 
+consoleTime ::
+            (IsConsole self, ToJSString title) => self -> title -> IO ()
+consoleTime self title
+  = ghcjs_dom_console_time (unConsole (toConsole self))
+      (toJSString title)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"groupEnd\"]()"
+        ghcjs_dom_console_group_end :: JSRef Console -> IO ()
+#else 
+ghcjs_dom_console_group_end :: JSRef Console -> IO ()
+ghcjs_dom_console_group_end = undefined
+#endif
+ 
+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
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Console
+#endif
diff --git a/src/GHCJS/DOM/Css.hs b/src/GHCJS/DOM/Css.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Css.hs
@@ -0,0 +1,16 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Css (CSSRule, IsCSSRule) where
+ 
+data CSSRule = CSSRule
+ 
+class IsCSSRule a
+ 
+instance IsCSSRule CSSRule
+#else
+module GHCJS.DOM.Css (
+  module Graphics.UI.Gtk.WebKit.DOM.Css
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Css
+#endif
diff --git a/src/GHCJS/DOM/DOMApplicationCache.hs b/src/GHCJS/DOM/DOMApplicationCache.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMApplicationCache.hs
@@ -0,0 +1,171 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMApplicationCache
+       (ghcjs_dom_dom_application_cache_update, domApplicationCacheUpdate,
+        ghcjs_dom_dom_application_cache_swap_cache,
+        domApplicationCacheSwapCache,
+        ghcjs_dom_dom_application_cache_abort, domApplicationCacheAbort,
+        ghcjs_dom_dom_application_cache_dispatch_event,
+        domApplicationCacheDispatchEvent, cUNCACHED, cIDLE, cCHECKING,
+        cDOWNLOADING, cUPDATEREADY, cOBSOLETE,
+        ghcjs_dom_dom_application_cache_get_status,
+        domApplicationCacheGetStatus, domApplicationCacheOnchecking,
+        domApplicationCacheOnerror, domApplicationCacheOnnoupdate,
+        domApplicationCacheOndownloading, domApplicationCacheOnprogress,
+        domApplicationCacheOnupdateready, domApplicationCacheOncached,
+        domApplicationCacheOnobsolete)
+       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[\"update\"]()"
+        ghcjs_dom_dom_application_cache_update ::
+        JSRef DOMApplicationCache -> IO ()
+#else 
+ghcjs_dom_dom_application_cache_update ::
+                                         JSRef DOMApplicationCache -> IO ()
+ghcjs_dom_dom_application_cache_update = undefined
+#endif
+ 
+domApplicationCacheUpdate ::
+                          (IsDOMApplicationCache self) => self -> IO ()
+domApplicationCacheUpdate self
+  = ghcjs_dom_dom_application_cache_update
+      (unDOMApplicationCache (toDOMApplicationCache self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"swapCache\"]()"
+        ghcjs_dom_dom_application_cache_swap_cache ::
+        JSRef DOMApplicationCache -> IO ()
+#else 
+ghcjs_dom_dom_application_cache_swap_cache ::
+                                             JSRef DOMApplicationCache -> IO ()
+ghcjs_dom_dom_application_cache_swap_cache = undefined
+#endif
+ 
+domApplicationCacheSwapCache ::
+                             (IsDOMApplicationCache self) => self -> IO ()
+domApplicationCacheSwapCache self
+  = ghcjs_dom_dom_application_cache_swap_cache
+      (unDOMApplicationCache (toDOMApplicationCache self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"abort\"]()"
+        ghcjs_dom_dom_application_cache_abort ::
+        JSRef DOMApplicationCache -> IO ()
+#else 
+ghcjs_dom_dom_application_cache_abort ::
+                                        JSRef DOMApplicationCache -> IO ()
+ghcjs_dom_dom_application_cache_abort = undefined
+#endif
+ 
+domApplicationCacheAbort ::
+                         (IsDOMApplicationCache self) => self -> IO ()
+domApplicationCacheAbort self
+  = ghcjs_dom_dom_application_cache_abort
+      (unDOMApplicationCache (toDOMApplicationCache self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"dispatchEvent\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_application_cache_dispatch_event ::
+        JSRef DOMApplicationCache -> JSRef Event -> IO Bool
+#else 
+ghcjs_dom_dom_application_cache_dispatch_event ::
+                                                 JSRef DOMApplicationCache -> JSRef Event -> IO Bool
+ghcjs_dom_dom_application_cache_dispatch_event = undefined
+#endif
+ 
+domApplicationCacheDispatchEvent ::
+                                 (IsDOMApplicationCache self, IsEvent evt) =>
+                                   self -> Maybe evt -> IO Bool
+domApplicationCacheDispatchEvent self evt
+  = ghcjs_dom_dom_application_cache_dispatch_event
+      (unDOMApplicationCache (toDOMApplicationCache self))
+      (maybe jsNull (unEvent . toEvent) evt)
+cUNCACHED = 0
+cIDLE = 1
+cCHECKING = 2
+cDOWNLOADING = 3
+cUPDATEREADY = 4
+cOBSOLETE = 5
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"status\"]"
+        ghcjs_dom_dom_application_cache_get_status ::
+        JSRef DOMApplicationCache -> IO Word
+#else 
+ghcjs_dom_dom_application_cache_get_status ::
+                                             JSRef DOMApplicationCache -> IO Word
+ghcjs_dom_dom_application_cache_get_status = undefined
+#endif
+ 
+domApplicationCacheGetStatus ::
+                             (IsDOMApplicationCache self) => self -> IO Word
+domApplicationCacheGetStatus self
+  = ghcjs_dom_dom_application_cache_get_status
+      (unDOMApplicationCache (toDOMApplicationCache self))
+ 
+domApplicationCacheOnchecking ::
+                              (IsDOMApplicationCache self) =>
+                                Signal self (EventM UIEvent self ())
+domApplicationCacheOnchecking = (connect "checking")
+ 
+domApplicationCacheOnerror ::
+                           (IsDOMApplicationCache self) =>
+                             Signal self (EventM UIEvent self ())
+domApplicationCacheOnerror = (connect "error")
+ 
+domApplicationCacheOnnoupdate ::
+                              (IsDOMApplicationCache self) =>
+                                Signal self (EventM UIEvent self ())
+domApplicationCacheOnnoupdate = (connect "noupdate")
+ 
+domApplicationCacheOndownloading ::
+                                 (IsDOMApplicationCache self) =>
+                                   Signal self (EventM UIEvent self ())
+domApplicationCacheOndownloading = (connect "downloading")
+ 
+domApplicationCacheOnprogress ::
+                              (IsDOMApplicationCache self) =>
+                                Signal self (EventM UIEvent self ())
+domApplicationCacheOnprogress = (connect "progress")
+ 
+domApplicationCacheOnupdateready ::
+                                 (IsDOMApplicationCache self) =>
+                                   Signal self (EventM UIEvent self ())
+domApplicationCacheOnupdateready = (connect "updateready")
+ 
+domApplicationCacheOncached ::
+                            (IsDOMApplicationCache self) =>
+                              Signal self (EventM UIEvent self ())
+domApplicationCacheOncached = (connect "cached")
+ 
+domApplicationCacheOnobsolete ::
+                              (IsDOMApplicationCache self) =>
+                                Signal self (EventM UIEvent self ())
+domApplicationCacheOnobsolete = (connect "obsolete")
+#else
+module GHCJS.DOM.DOMApplicationCache (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMApplicationCache
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMApplicationCache
+#endif
diff --git a/src/GHCJS/DOM/DOMImplementation.hs b/src/GHCJS/DOM/DOMImplementation.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMImplementation.hs
@@ -0,0 +1,166 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMImplementation
+       (ghcjs_dom_dom_implementation_has_feature,
+        domImplementationHasFeature,
+        ghcjs_dom_dom_implementation_create_document_type,
+        domImplementationCreateDocumentType,
+        ghcjs_dom_dom_implementation_create_document,
+        domImplementationCreateDocument,
+        ghcjs_dom_dom_implementation_create_css_style_sheet,
+        domImplementationCreateCSSStyleSheet,
+        ghcjs_dom_dom_implementation_create_html_document,
+        domImplementationCreateHTMLDocument)
+       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[\"hasFeature\"]($2,\n$3) ? 1 : 0)"
+        ghcjs_dom_dom_implementation_has_feature ::
+        JSRef DOMImplementation -> JSString -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_implementation_has_feature ::
+                                           JSRef DOMImplementation ->
+                                             JSString -> JSString -> IO Bool
+ghcjs_dom_dom_implementation_has_feature = undefined
+#endif
+ 
+domImplementationHasFeature ::
+                            (IsDOMImplementation self, ToJSString feature,
+                             ToJSString version) =>
+                              self -> feature -> version -> IO Bool
+domImplementationHasFeature self feature version
+  = ghcjs_dom_dom_implementation_has_feature
+      (unDOMImplementation (toDOMImplementation self))
+      (toJSString feature)
+      (toJSString version)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"createDocumentType\"]($2, $3,\n$4)"
+        ghcjs_dom_dom_implementation_create_document_type ::
+        JSRef DOMImplementation ->
+          JSString -> JSString -> JSString -> IO (JSRef DocumentType)
+#else 
+ghcjs_dom_dom_implementation_create_document_type ::
+                                                    JSRef DOMImplementation ->
+                                                      JSString ->
+                                                        JSString ->
+                                                          JSString -> IO (JSRef DocumentType)
+ghcjs_dom_dom_implementation_create_document_type = undefined
+#endif
+ 
+domImplementationCreateDocumentType ::
+                                    (IsDOMImplementation self, ToJSString qualifiedName,
+                                     ToJSString publicId, ToJSString systemId) =>
+                                      self ->
+                                        qualifiedName ->
+                                          publicId -> systemId -> IO (Maybe DocumentType)
+domImplementationCreateDocumentType self qualifiedName publicId
+  systemId
+  = fmap DocumentType . maybeJSNull <$>
+      (ghcjs_dom_dom_implementation_create_document_type
+         (unDOMImplementation (toDOMImplementation self))
+         (toJSString qualifiedName)
+         (toJSString publicId)
+         (toJSString systemId))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"createDocument\"]($2, $3, $4)"
+        ghcjs_dom_dom_implementation_create_document ::
+        JSRef DOMImplementation ->
+          JSString -> JSString -> JSRef DocumentType -> IO (JSRef Document)
+#else 
+ghcjs_dom_dom_implementation_create_document ::
+                                               JSRef DOMImplementation ->
+                                                 JSString ->
+                                                   JSString ->
+                                                     JSRef DocumentType -> IO (JSRef Document)
+ghcjs_dom_dom_implementation_create_document = undefined
+#endif
+ 
+domImplementationCreateDocument ::
+                                (IsDOMImplementation self, ToJSString namespaceURI,
+                                 ToJSString qualifiedName, IsDocumentType doctype) =>
+                                  self ->
+                                    namespaceURI ->
+                                      qualifiedName -> Maybe doctype -> IO (Maybe Document)
+domImplementationCreateDocument self namespaceURI qualifiedName
+  doctype
+  = fmap Document . maybeJSNull <$>
+      (ghcjs_dom_dom_implementation_create_document
+         (unDOMImplementation (toDOMImplementation self))
+         (toJSString namespaceURI)
+         (toJSString qualifiedName)
+         (maybe jsNull (unDocumentType . toDocumentType) doctype))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"createCSSStyleSheet\"]($2,\n$3)"
+        ghcjs_dom_dom_implementation_create_css_style_sheet ::
+        JSRef DOMImplementation ->
+          JSString -> JSString -> IO (JSRef CSSStyleSheet)
+#else 
+ghcjs_dom_dom_implementation_create_css_style_sheet ::
+                                                      JSRef DOMImplementation ->
+                                                        JSString ->
+                                                          JSString -> IO (JSRef CSSStyleSheet)
+ghcjs_dom_dom_implementation_create_css_style_sheet = undefined
+#endif
+ 
+domImplementationCreateCSSStyleSheet ::
+                                     (IsDOMImplementation self, ToJSString title,
+                                      ToJSString media) =>
+                                       self -> title -> media -> IO (Maybe CSSStyleSheet)
+domImplementationCreateCSSStyleSheet self title media
+  = fmap CSSStyleSheet . maybeJSNull <$>
+      (ghcjs_dom_dom_implementation_create_css_style_sheet
+         (unDOMImplementation (toDOMImplementation self))
+         (toJSString title)
+         (toJSString media))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createHTMLDocument\"]($2)"
+        ghcjs_dom_dom_implementation_create_html_document ::
+        JSRef DOMImplementation -> JSString -> IO (JSRef HTMLDocument)
+#else 
+ghcjs_dom_dom_implementation_create_html_document ::
+                                                    JSRef DOMImplementation ->
+                                                      JSString -> IO (JSRef HTMLDocument)
+ghcjs_dom_dom_implementation_create_html_document = undefined
+#endif
+ 
+domImplementationCreateHTMLDocument ::
+                                    (IsDOMImplementation self, ToJSString title) =>
+                                      self -> title -> IO (Maybe HTMLDocument)
+domImplementationCreateHTMLDocument self title
+  = fmap HTMLDocument . maybeJSNull <$>
+      (ghcjs_dom_dom_implementation_create_html_document
+         (unDOMImplementation (toDOMImplementation self))
+         (toJSString title))
+#else
+module GHCJS.DOM.DOMImplementation (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMImplementation
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMImplementation
+#endif
diff --git a/src/GHCJS/DOM/DOMMimeType.hs b/src/GHCJS/DOM/DOMMimeType.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMMimeType.hs
@@ -0,0 +1,82 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMMimeType
+       (ghcjs_dom_dom_mime_type_get_suffixes, domMimeTypeGetSuffixes,
+        ghcjs_dom_dom_mime_type_get_description, domMimeTypeGetDescription,
+        ghcjs_dom_dom_mime_type_get_enabled_plugin,
+        domMimeTypeGetEnabledPlugin)
+       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[\"suffixes\"]"
+        ghcjs_dom_dom_mime_type_get_suffixes ::
+        JSRef DOMMimeType -> IO JSString
+#else 
+ghcjs_dom_dom_mime_type_get_suffixes ::
+                                       JSRef DOMMimeType -> IO JSString
+ghcjs_dom_dom_mime_type_get_suffixes = undefined
+#endif
+ 
+domMimeTypeGetSuffixes ::
+                       (IsDOMMimeType self, FromJSString result) => self -> IO result
+domMimeTypeGetSuffixes self
+  = fromJSString <$>
+      (ghcjs_dom_dom_mime_type_get_suffixes
+         (unDOMMimeType (toDOMMimeType self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"description\"]"
+        ghcjs_dom_dom_mime_type_get_description ::
+        JSRef DOMMimeType -> IO JSString
+#else 
+ghcjs_dom_dom_mime_type_get_description ::
+                                          JSRef DOMMimeType -> IO JSString
+ghcjs_dom_dom_mime_type_get_description = undefined
+#endif
+ 
+domMimeTypeGetDescription ::
+                          (IsDOMMimeType self, FromJSString result) => self -> IO result
+domMimeTypeGetDescription self
+  = fromJSString <$>
+      (ghcjs_dom_dom_mime_type_get_description
+         (unDOMMimeType (toDOMMimeType self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"enabledPlugin\"]"
+        ghcjs_dom_dom_mime_type_get_enabled_plugin ::
+        JSRef DOMMimeType -> IO (JSRef DOMPlugin)
+#else 
+ghcjs_dom_dom_mime_type_get_enabled_plugin ::
+                                             JSRef DOMMimeType -> IO (JSRef DOMPlugin)
+ghcjs_dom_dom_mime_type_get_enabled_plugin = undefined
+#endif
+ 
+domMimeTypeGetEnabledPlugin ::
+                            (IsDOMMimeType self) => self -> IO (Maybe DOMPlugin)
+domMimeTypeGetEnabledPlugin self
+  = fmap DOMPlugin . maybeJSNull <$>
+      (ghcjs_dom_dom_mime_type_get_enabled_plugin
+         (unDOMMimeType (toDOMMimeType self)))
+#else
+module GHCJS.DOM.DOMMimeType (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMMimeType
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMMimeType
+#endif
diff --git a/src/GHCJS/DOM/DOMMimeTypeArray.hs b/src/GHCJS/DOM/DOMMimeTypeArray.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMMimeTypeArray.hs
@@ -0,0 +1,86 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMMimeTypeArray
+       (ghcjs_dom_dom_mime_type_array_item, domMimeTypeArrayItem,
+        ghcjs_dom_dom_mime_type_array_named_item,
+        domMimeTypeArrayNamedItem,
+        ghcjs_dom_dom_mime_type_array_get_length,
+        domMimeTypeArrayGetLength)
+       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_mime_type_array_item ::
+        JSRef DOMMimeTypeArray -> Word -> IO (JSRef DOMMimeType)
+#else 
+ghcjs_dom_dom_mime_type_array_item ::
+                                     JSRef DOMMimeTypeArray -> Word -> IO (JSRef DOMMimeType)
+ghcjs_dom_dom_mime_type_array_item = undefined
+#endif
+ 
+domMimeTypeArrayItem ::
+                     (IsDOMMimeTypeArray self) => self -> Word -> IO (Maybe DOMMimeType)
+domMimeTypeArrayItem self index
+  = fmap DOMMimeType . maybeJSNull <$>
+      (ghcjs_dom_dom_mime_type_array_item
+         (unDOMMimeTypeArray (toDOMMimeTypeArray self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"namedItem\"]($2)"
+        ghcjs_dom_dom_mime_type_array_named_item ::
+        JSRef DOMMimeTypeArray -> JSString -> IO (JSRef DOMMimeType)
+#else 
+ghcjs_dom_dom_mime_type_array_named_item ::
+                                           JSRef DOMMimeTypeArray ->
+                                             JSString -> IO (JSRef DOMMimeType)
+ghcjs_dom_dom_mime_type_array_named_item = undefined
+#endif
+ 
+domMimeTypeArrayNamedItem ::
+                          (IsDOMMimeTypeArray self, ToJSString name) =>
+                            self -> name -> IO (Maybe DOMMimeType)
+domMimeTypeArrayNamedItem self name
+  = fmap DOMMimeType . maybeJSNull <$>
+      (ghcjs_dom_dom_mime_type_array_named_item
+         (unDOMMimeTypeArray (toDOMMimeTypeArray self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_dom_mime_type_array_get_length ::
+        JSRef DOMMimeTypeArray -> IO Word
+#else 
+ghcjs_dom_dom_mime_type_array_get_length ::
+                                           JSRef DOMMimeTypeArray -> IO Word
+ghcjs_dom_dom_mime_type_array_get_length = undefined
+#endif
+ 
+domMimeTypeArrayGetLength ::
+                          (IsDOMMimeTypeArray self) => self -> IO Word
+domMimeTypeArrayGetLength self
+  = ghcjs_dom_dom_mime_type_array_get_length
+      (unDOMMimeTypeArray (toDOMMimeTypeArray self))
+#else
+module GHCJS.DOM.DOMMimeTypeArray (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMMimeTypeArray
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMMimeTypeArray
+#endif
diff --git a/src/GHCJS/DOM/DOMPlugin.hs b/src/GHCJS/DOM/DOMPlugin.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMPlugin.hs
@@ -0,0 +1,128 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMPlugin
+       (ghcjs_dom_dom_plugin_item, domPluginItem,
+        ghcjs_dom_dom_plugin_named_item, domPluginNamedItem,
+        ghcjs_dom_dom_plugin_get_name, domPluginGetName,
+        ghcjs_dom_dom_plugin_get_filename, domPluginGetFilename,
+        ghcjs_dom_dom_plugin_get_description, domPluginGetDescription,
+        ghcjs_dom_dom_plugin_get_length, domPluginGetLength)
+       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_plugin_item ::
+        JSRef DOMPlugin -> Word -> IO (JSRef DOMMimeType)
+#else 
+ghcjs_dom_dom_plugin_item ::
+                            JSRef DOMPlugin -> Word -> IO (JSRef DOMMimeType)
+ghcjs_dom_dom_plugin_item = undefined
+#endif
+ 
+domPluginItem ::
+              (IsDOMPlugin self) => self -> Word -> IO (Maybe DOMMimeType)
+domPluginItem self index
+  = fmap DOMMimeType . maybeJSNull <$>
+      (ghcjs_dom_dom_plugin_item (unDOMPlugin (toDOMPlugin self)) index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"namedItem\"]($2)"
+        ghcjs_dom_dom_plugin_named_item ::
+        JSRef DOMPlugin -> JSString -> IO (JSRef DOMMimeType)
+#else 
+ghcjs_dom_dom_plugin_named_item ::
+                                  JSRef DOMPlugin -> JSString -> IO (JSRef DOMMimeType)
+ghcjs_dom_dom_plugin_named_item = undefined
+#endif
+ 
+domPluginNamedItem ::
+                   (IsDOMPlugin self, ToJSString name) =>
+                     self -> name -> IO (Maybe DOMMimeType)
+domPluginNamedItem self name
+  = fmap DOMMimeType . maybeJSNull <$>
+      (ghcjs_dom_dom_plugin_named_item (unDOMPlugin (toDOMPlugin self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_dom_plugin_get_name :: JSRef DOMPlugin -> IO JSString
+#else 
+ghcjs_dom_dom_plugin_get_name :: JSRef DOMPlugin -> IO JSString
+ghcjs_dom_dom_plugin_get_name = undefined
+#endif
+ 
+domPluginGetName ::
+                 (IsDOMPlugin self, FromJSString result) => self -> IO result
+domPluginGetName self
+  = fromJSString <$>
+      (ghcjs_dom_dom_plugin_get_name (unDOMPlugin (toDOMPlugin self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"filename\"]"
+        ghcjs_dom_dom_plugin_get_filename :: JSRef DOMPlugin -> IO JSString
+#else 
+ghcjs_dom_dom_plugin_get_filename :: JSRef DOMPlugin -> IO JSString
+ghcjs_dom_dom_plugin_get_filename = undefined
+#endif
+ 
+domPluginGetFilename ::
+                     (IsDOMPlugin self, FromJSString result) => self -> IO result
+domPluginGetFilename self
+  = fromJSString <$>
+      (ghcjs_dom_dom_plugin_get_filename
+         (unDOMPlugin (toDOMPlugin self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"description\"]"
+        ghcjs_dom_dom_plugin_get_description ::
+        JSRef DOMPlugin -> IO JSString
+#else 
+ghcjs_dom_dom_plugin_get_description ::
+                                       JSRef DOMPlugin -> IO JSString
+ghcjs_dom_dom_plugin_get_description = undefined
+#endif
+ 
+domPluginGetDescription ::
+                        (IsDOMPlugin self, FromJSString result) => self -> IO result
+domPluginGetDescription self
+  = fromJSString <$>
+      (ghcjs_dom_dom_plugin_get_description
+         (unDOMPlugin (toDOMPlugin self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_dom_plugin_get_length :: JSRef DOMPlugin -> IO Word
+#else 
+ghcjs_dom_dom_plugin_get_length :: JSRef DOMPlugin -> IO Word
+ghcjs_dom_dom_plugin_get_length = undefined
+#endif
+ 
+domPluginGetLength :: (IsDOMPlugin self) => self -> IO Word
+domPluginGetLength self
+  = ghcjs_dom_dom_plugin_get_length (unDOMPlugin (toDOMPlugin self))
+#else
+module GHCJS.DOM.DOMPlugin (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMPlugin
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMPlugin
+#endif
diff --git a/src/GHCJS/DOM/DOMPluginArray.hs b/src/GHCJS/DOM/DOMPluginArray.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMPluginArray.hs
@@ -0,0 +1,102 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMPluginArray
+       (ghcjs_dom_dom_plugin_array_item, domPluginArrayItem,
+        ghcjs_dom_dom_plugin_array_named_item, domPluginArrayNamedItem,
+        ghcjs_dom_dom_plugin_array_refresh, domPluginArrayRefresh,
+        ghcjs_dom_dom_plugin_array_get_length, domPluginArrayGetLength)
+       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_plugin_array_item ::
+        JSRef DOMPluginArray -> Word -> IO (JSRef DOMPlugin)
+#else 
+ghcjs_dom_dom_plugin_array_item ::
+                                  JSRef DOMPluginArray -> Word -> IO (JSRef DOMPlugin)
+ghcjs_dom_dom_plugin_array_item = undefined
+#endif
+ 
+domPluginArrayItem ::
+                   (IsDOMPluginArray self) => self -> Word -> IO (Maybe DOMPlugin)
+domPluginArrayItem self index
+  = fmap DOMPlugin . maybeJSNull <$>
+      (ghcjs_dom_dom_plugin_array_item
+         (unDOMPluginArray (toDOMPluginArray self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"namedItem\"]($2)"
+        ghcjs_dom_dom_plugin_array_named_item ::
+        JSRef DOMPluginArray -> JSString -> IO (JSRef DOMPlugin)
+#else 
+ghcjs_dom_dom_plugin_array_named_item ::
+                                        JSRef DOMPluginArray -> JSString -> IO (JSRef DOMPlugin)
+ghcjs_dom_dom_plugin_array_named_item = undefined
+#endif
+ 
+domPluginArrayNamedItem ::
+                        (IsDOMPluginArray self, ToJSString name) =>
+                          self -> name -> IO (Maybe DOMPlugin)
+domPluginArrayNamedItem self name
+  = fmap DOMPlugin . maybeJSNull <$>
+      (ghcjs_dom_dom_plugin_array_named_item
+         (unDOMPluginArray (toDOMPluginArray self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"refresh\"]($2)"
+        ghcjs_dom_dom_plugin_array_refresh ::
+        JSRef DOMPluginArray -> Bool -> IO ()
+#else 
+ghcjs_dom_dom_plugin_array_refresh ::
+                                     JSRef DOMPluginArray -> Bool -> IO ()
+ghcjs_dom_dom_plugin_array_refresh = undefined
+#endif
+ 
+domPluginArrayRefresh ::
+                      (IsDOMPluginArray self) => self -> Bool -> IO ()
+domPluginArrayRefresh self reload
+  = ghcjs_dom_dom_plugin_array_refresh
+      (unDOMPluginArray (toDOMPluginArray self))
+      reload
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_dom_plugin_array_get_length ::
+        JSRef DOMPluginArray -> IO Word
+#else 
+ghcjs_dom_dom_plugin_array_get_length ::
+                                        JSRef DOMPluginArray -> IO Word
+ghcjs_dom_dom_plugin_array_get_length = undefined
+#endif
+ 
+domPluginArrayGetLength ::
+                        (IsDOMPluginArray self) => self -> IO Word
+domPluginArrayGetLength self
+  = ghcjs_dom_dom_plugin_array_get_length
+      (unDOMPluginArray (toDOMPluginArray self))
+#else
+module GHCJS.DOM.DOMPluginArray (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMPluginArray
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMPluginArray
+#endif
diff --git a/src/GHCJS/DOM/DOMSecurityPolicy.hs b/src/GHCJS/DOM/DOMSecurityPolicy.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMSecurityPolicy.hs
@@ -0,0 +1,342 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMSecurityPolicy
+       (ghcjs_dom_dom_security_policy_is_active,
+        domSecurityPolicyIsActive,
+        ghcjs_dom_dom_security_policy_allows_connection_to,
+        domSecurityPolicyAllowsConnectionTo,
+        ghcjs_dom_dom_security_policy_allows_font_from,
+        domSecurityPolicyAllowsFontFrom,
+        ghcjs_dom_dom_security_policy_allows_form_action,
+        domSecurityPolicyAllowsFormAction,
+        ghcjs_dom_dom_security_policy_allows_frame_from,
+        domSecurityPolicyAllowsFrameFrom,
+        ghcjs_dom_dom_security_policy_allows_image_from,
+        domSecurityPolicyAllowsImageFrom,
+        ghcjs_dom_dom_security_policy_allows_media_from,
+        domSecurityPolicyAllowsMediaFrom,
+        ghcjs_dom_dom_security_policy_allows_object_from,
+        domSecurityPolicyAllowsObjectFrom,
+        ghcjs_dom_dom_security_policy_allows_plugin_type,
+        domSecurityPolicyAllowsPluginType,
+        ghcjs_dom_dom_security_policy_allows_script_from,
+        domSecurityPolicyAllowsScriptFrom,
+        ghcjs_dom_dom_security_policy_allows_style_from,
+        domSecurityPolicyAllowsStyleFrom,
+        ghcjs_dom_dom_security_policy_allows_eval,
+        domSecurityPolicyAllowsEval,
+        ghcjs_dom_dom_security_policy_allows_inline_script,
+        domSecurityPolicyAllowsInlineScript,
+        ghcjs_dom_dom_security_policy_allows_inline_style,
+        domSecurityPolicyAllowsInlineStyle,
+        ghcjs_dom_dom_security_policy_get_report_ur_is,
+        domSecurityPolicyGetReportURIs)
+       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[\"isActive\"]() ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_is_active ::
+        JSRef DOMSecurityPolicy -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_is_active ::
+                                          JSRef DOMSecurityPolicy -> IO Bool
+ghcjs_dom_dom_security_policy_is_active = undefined
+#endif
+ 
+domSecurityPolicyIsActive ::
+                          (IsDOMSecurityPolicy self) => self -> IO Bool
+domSecurityPolicyIsActive self
+  = ghcjs_dom_dom_security_policy_is_active
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsConnectionTo\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_connection_to ::
+        JSRef DOMSecurityPolicy -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_connection_to ::
+                                                     JSRef DOMSecurityPolicy -> JSString -> IO Bool
+ghcjs_dom_dom_security_policy_allows_connection_to = undefined
+#endif
+ 
+domSecurityPolicyAllowsConnectionTo ::
+                                    (IsDOMSecurityPolicy self, ToJSString url) =>
+                                      self -> url -> IO Bool
+domSecurityPolicyAllowsConnectionTo self url
+  = ghcjs_dom_dom_security_policy_allows_connection_to
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+      (toJSString url)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsFontFrom\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_font_from ::
+        JSRef DOMSecurityPolicy -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_font_from ::
+                                                 JSRef DOMSecurityPolicy -> JSString -> IO Bool
+ghcjs_dom_dom_security_policy_allows_font_from = undefined
+#endif
+ 
+domSecurityPolicyAllowsFontFrom ::
+                                (IsDOMSecurityPolicy self, ToJSString url) =>
+                                  self -> url -> IO Bool
+domSecurityPolicyAllowsFontFrom self url
+  = ghcjs_dom_dom_security_policy_allows_font_from
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+      (toJSString url)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsFormAction\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_form_action ::
+        JSRef DOMSecurityPolicy -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_form_action ::
+                                                   JSRef DOMSecurityPolicy -> JSString -> IO Bool
+ghcjs_dom_dom_security_policy_allows_form_action = undefined
+#endif
+ 
+domSecurityPolicyAllowsFormAction ::
+                                  (IsDOMSecurityPolicy self, ToJSString url) =>
+                                    self -> url -> IO Bool
+domSecurityPolicyAllowsFormAction self url
+  = ghcjs_dom_dom_security_policy_allows_form_action
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+      (toJSString url)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsFrameFrom\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_frame_from ::
+        JSRef DOMSecurityPolicy -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_frame_from ::
+                                                  JSRef DOMSecurityPolicy -> JSString -> IO Bool
+ghcjs_dom_dom_security_policy_allows_frame_from = undefined
+#endif
+ 
+domSecurityPolicyAllowsFrameFrom ::
+                                 (IsDOMSecurityPolicy self, ToJSString url) =>
+                                   self -> url -> IO Bool
+domSecurityPolicyAllowsFrameFrom self url
+  = ghcjs_dom_dom_security_policy_allows_frame_from
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+      (toJSString url)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsImageFrom\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_image_from ::
+        JSRef DOMSecurityPolicy -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_image_from ::
+                                                  JSRef DOMSecurityPolicy -> JSString -> IO Bool
+ghcjs_dom_dom_security_policy_allows_image_from = undefined
+#endif
+ 
+domSecurityPolicyAllowsImageFrom ::
+                                 (IsDOMSecurityPolicy self, ToJSString url) =>
+                                   self -> url -> IO Bool
+domSecurityPolicyAllowsImageFrom self url
+  = ghcjs_dom_dom_security_policy_allows_image_from
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+      (toJSString url)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsMediaFrom\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_media_from ::
+        JSRef DOMSecurityPolicy -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_media_from ::
+                                                  JSRef DOMSecurityPolicy -> JSString -> IO Bool
+ghcjs_dom_dom_security_policy_allows_media_from = undefined
+#endif
+ 
+domSecurityPolicyAllowsMediaFrom ::
+                                 (IsDOMSecurityPolicy self, ToJSString url) =>
+                                   self -> url -> IO Bool
+domSecurityPolicyAllowsMediaFrom self url
+  = ghcjs_dom_dom_security_policy_allows_media_from
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+      (toJSString url)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsObjectFrom\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_object_from ::
+        JSRef DOMSecurityPolicy -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_object_from ::
+                                                   JSRef DOMSecurityPolicy -> JSString -> IO Bool
+ghcjs_dom_dom_security_policy_allows_object_from = undefined
+#endif
+ 
+domSecurityPolicyAllowsObjectFrom ::
+                                  (IsDOMSecurityPolicy self, ToJSString url) =>
+                                    self -> url -> IO Bool
+domSecurityPolicyAllowsObjectFrom self url
+  = ghcjs_dom_dom_security_policy_allows_object_from
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+      (toJSString url)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsPluginType\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_plugin_type ::
+        JSRef DOMSecurityPolicy -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_plugin_type ::
+                                                   JSRef DOMSecurityPolicy -> JSString -> IO Bool
+ghcjs_dom_dom_security_policy_allows_plugin_type = undefined
+#endif
+ 
+domSecurityPolicyAllowsPluginType ::
+                                  (IsDOMSecurityPolicy self, ToJSString type') =>
+                                    self -> type' -> IO Bool
+domSecurityPolicyAllowsPluginType self type'
+  = ghcjs_dom_dom_security_policy_allows_plugin_type
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+      (toJSString type')
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsScriptFrom\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_script_from ::
+        JSRef DOMSecurityPolicy -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_script_from ::
+                                                   JSRef DOMSecurityPolicy -> JSString -> IO Bool
+ghcjs_dom_dom_security_policy_allows_script_from = undefined
+#endif
+ 
+domSecurityPolicyAllowsScriptFrom ::
+                                  (IsDOMSecurityPolicy self, ToJSString url) =>
+                                    self -> url -> IO Bool
+domSecurityPolicyAllowsScriptFrom self url
+  = ghcjs_dom_dom_security_policy_allows_script_from
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+      (toJSString url)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsStyleFrom\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_style_from ::
+        JSRef DOMSecurityPolicy -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_style_from ::
+                                                  JSRef DOMSecurityPolicy -> JSString -> IO Bool
+ghcjs_dom_dom_security_policy_allows_style_from = undefined
+#endif
+ 
+domSecurityPolicyAllowsStyleFrom ::
+                                 (IsDOMSecurityPolicy self, ToJSString url) =>
+                                   self -> url -> IO Bool
+domSecurityPolicyAllowsStyleFrom self url
+  = ghcjs_dom_dom_security_policy_allows_style_from
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+      (toJSString url)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"allowsEval\"]() ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_eval ::
+        JSRef DOMSecurityPolicy -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_eval ::
+                                            JSRef DOMSecurityPolicy -> IO Bool
+ghcjs_dom_dom_security_policy_allows_eval = undefined
+#endif
+ 
+domSecurityPolicyAllowsEval ::
+                            (IsDOMSecurityPolicy self) => self -> IO Bool
+domSecurityPolicyAllowsEval self
+  = ghcjs_dom_dom_security_policy_allows_eval
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsInlineScript\"]() ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_inline_script ::
+        JSRef DOMSecurityPolicy -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_inline_script ::
+                                                     JSRef DOMSecurityPolicy -> IO Bool
+ghcjs_dom_dom_security_policy_allows_inline_script = undefined
+#endif
+ 
+domSecurityPolicyAllowsInlineScript ::
+                                    (IsDOMSecurityPolicy self) => self -> IO Bool
+domSecurityPolicyAllowsInlineScript self
+  = ghcjs_dom_dom_security_policy_allows_inline_script
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"allowsInlineStyle\"]() ? 1 : 0)"
+        ghcjs_dom_dom_security_policy_allows_inline_style ::
+        JSRef DOMSecurityPolicy -> IO Bool
+#else 
+ghcjs_dom_dom_security_policy_allows_inline_style ::
+                                                    JSRef DOMSecurityPolicy -> IO Bool
+ghcjs_dom_dom_security_policy_allows_inline_style = undefined
+#endif
+ 
+domSecurityPolicyAllowsInlineStyle ::
+                                   (IsDOMSecurityPolicy self) => self -> IO Bool
+domSecurityPolicyAllowsInlineStyle self
+  = ghcjs_dom_dom_security_policy_allows_inline_style
+      (unDOMSecurityPolicy (toDOMSecurityPolicy self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"reportURIs\"]"
+        ghcjs_dom_dom_security_policy_get_report_ur_is ::
+        JSRef DOMSecurityPolicy -> IO (JSRef DOMStringList)
+#else 
+ghcjs_dom_dom_security_policy_get_report_ur_is ::
+                                                 JSRef DOMSecurityPolicy -> IO (JSRef DOMStringList)
+ghcjs_dom_dom_security_policy_get_report_ur_is = undefined
+#endif
+ 
+domSecurityPolicyGetReportURIs ::
+                               (IsDOMSecurityPolicy self) => self -> IO (Maybe DOMStringList)
+domSecurityPolicyGetReportURIs self
+  = fmap DOMStringList . maybeJSNull <$>
+      (ghcjs_dom_dom_security_policy_get_report_ur_is
+         (unDOMSecurityPolicy (toDOMSecurityPolicy self)))
+#else
+module GHCJS.DOM.DOMSecurityPolicy (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMSecurityPolicy
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMSecurityPolicy
+#endif
diff --git a/src/GHCJS/DOM/DOMSelection.hs b/src/GHCJS/DOM/DOMSelection.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMSelection.hs
@@ -0,0 +1,495 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMSelection
+       (ghcjs_dom_dom_selection_collapse, domSelectionCollapse,
+        ghcjs_dom_dom_selection_collapse_to_end, domSelectionCollapseToEnd,
+        ghcjs_dom_dom_selection_collapse_to_start,
+        domSelectionCollapseToStart,
+        ghcjs_dom_dom_selection_delete_from_document,
+        domSelectionDeleteFromDocument,
+        ghcjs_dom_dom_selection_contains_node, domSelectionContainsNode,
+        ghcjs_dom_dom_selection_select_all_children,
+        domSelectionSelectAllChildren, ghcjs_dom_dom_selection_extend,
+        domSelectionExtend, ghcjs_dom_dom_selection_get_range_at,
+        domSelectionGetRangeAt, ghcjs_dom_dom_selection_remove_all_ranges,
+        domSelectionRemoveAllRanges, ghcjs_dom_dom_selection_add_range,
+        domSelectionAddRange, ghcjs_dom_dom_selection_modify,
+        domSelectionModify, ghcjs_dom_dom_selection_set_base_and_extent,
+        domSelectionSetBaseAndExtent, ghcjs_dom_dom_selection_set_position,
+        domSelectionSetPosition, ghcjs_dom_dom_selection_empty,
+        domSelectionEmpty, ghcjs_dom_dom_selection_get_anchor_node,
+        domSelectionGetAnchorNode,
+        ghcjs_dom_dom_selection_get_anchor_offset,
+        domSelectionGetAnchorOffset,
+        ghcjs_dom_dom_selection_get_focus_node, domSelectionGetFocusNode,
+        ghcjs_dom_dom_selection_get_focus_offset,
+        domSelectionGetFocusOffset,
+        ghcjs_dom_dom_selection_get_is_collapsed,
+        domSelectionGetIsCollapsed,
+        ghcjs_dom_dom_selection_get_range_count, domSelectionGetRangeCount,
+        ghcjs_dom_dom_selection_get_base_node, domSelectionGetBaseNode,
+        ghcjs_dom_dom_selection_get_base_offset, domSelectionGetBaseOffset,
+        ghcjs_dom_dom_selection_get_extent_node, domSelectionGetExtentNode,
+        ghcjs_dom_dom_selection_get_extent_offset,
+        domSelectionGetExtentOffset)
+       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[\"collapse\"]($2, $3)"
+        ghcjs_dom_dom_selection_collapse ::
+        JSRef DOMSelection -> JSRef Node -> Int -> IO ()
+#else 
+ghcjs_dom_dom_selection_collapse ::
+                                   JSRef DOMSelection -> JSRef Node -> Int -> IO ()
+ghcjs_dom_dom_selection_collapse = undefined
+#endif
+ 
+domSelectionCollapse ::
+                     (IsDOMSelection self, IsNode node) =>
+                       self -> Maybe node -> Int -> IO ()
+domSelectionCollapse self node index
+  = ghcjs_dom_dom_selection_collapse
+      (unDOMSelection (toDOMSelection self))
+      (maybe jsNull (unNode . toNode) node)
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"collapseToEnd\"]()"
+        ghcjs_dom_dom_selection_collapse_to_end ::
+        JSRef DOMSelection -> IO ()
+#else 
+ghcjs_dom_dom_selection_collapse_to_end ::
+                                          JSRef DOMSelection -> IO ()
+ghcjs_dom_dom_selection_collapse_to_end = undefined
+#endif
+ 
+domSelectionCollapseToEnd :: (IsDOMSelection self) => self -> IO ()
+domSelectionCollapseToEnd self
+  = ghcjs_dom_dom_selection_collapse_to_end
+      (unDOMSelection (toDOMSelection self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"collapseToStart\"]()"
+        ghcjs_dom_dom_selection_collapse_to_start ::
+        JSRef DOMSelection -> IO ()
+#else 
+ghcjs_dom_dom_selection_collapse_to_start ::
+                                            JSRef DOMSelection -> IO ()
+ghcjs_dom_dom_selection_collapse_to_start = undefined
+#endif
+ 
+domSelectionCollapseToStart ::
+                            (IsDOMSelection self) => self -> IO ()
+domSelectionCollapseToStart self
+  = ghcjs_dom_dom_selection_collapse_to_start
+      (unDOMSelection (toDOMSelection self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteFromDocument\"]()"
+        ghcjs_dom_dom_selection_delete_from_document ::
+        JSRef DOMSelection -> IO ()
+#else 
+ghcjs_dom_dom_selection_delete_from_document ::
+                                               JSRef DOMSelection -> IO ()
+ghcjs_dom_dom_selection_delete_from_document = undefined
+#endif
+ 
+domSelectionDeleteFromDocument ::
+                               (IsDOMSelection self) => self -> IO ()
+domSelectionDeleteFromDocument self
+  = ghcjs_dom_dom_selection_delete_from_document
+      (unDOMSelection (toDOMSelection self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"containsNode\"]($2,\n$3) ? 1 : 0)"
+        ghcjs_dom_dom_selection_contains_node ::
+        JSRef DOMSelection -> JSRef Node -> Bool -> IO Bool
+#else 
+ghcjs_dom_dom_selection_contains_node ::
+                                        JSRef DOMSelection -> JSRef Node -> Bool -> IO Bool
+ghcjs_dom_dom_selection_contains_node = undefined
+#endif
+ 
+domSelectionContainsNode ::
+                         (IsDOMSelection self, IsNode node) =>
+                           self -> Maybe node -> Bool -> IO Bool
+domSelectionContainsNode self node allowPartial
+  = ghcjs_dom_dom_selection_contains_node
+      (unDOMSelection (toDOMSelection self))
+      (maybe jsNull (unNode . toNode) node)
+      allowPartial
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectAllChildren\"]($2)"
+        ghcjs_dom_dom_selection_select_all_children ::
+        JSRef DOMSelection -> JSRef Node -> IO ()
+#else 
+ghcjs_dom_dom_selection_select_all_children ::
+                                              JSRef DOMSelection -> JSRef Node -> IO ()
+ghcjs_dom_dom_selection_select_all_children = undefined
+#endif
+ 
+domSelectionSelectAllChildren ::
+                              (IsDOMSelection self, IsNode node) => self -> Maybe node -> IO ()
+domSelectionSelectAllChildren self node
+  = ghcjs_dom_dom_selection_select_all_children
+      (unDOMSelection (toDOMSelection self))
+      (maybe jsNull (unNode . toNode) node)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"extend\"]($2, $3)"
+        ghcjs_dom_dom_selection_extend ::
+        JSRef DOMSelection -> JSRef Node -> Int -> IO ()
+#else 
+ghcjs_dom_dom_selection_extend ::
+                                 JSRef DOMSelection -> JSRef Node -> Int -> IO ()
+ghcjs_dom_dom_selection_extend = undefined
+#endif
+ 
+domSelectionExtend ::
+                   (IsDOMSelection self, IsNode node) =>
+                     self -> Maybe node -> Int -> IO ()
+domSelectionExtend self node offset
+  = ghcjs_dom_dom_selection_extend
+      (unDOMSelection (toDOMSelection self))
+      (maybe jsNull (unNode . toNode) node)
+      offset
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getRangeAt\"]($2)"
+        ghcjs_dom_dom_selection_get_range_at ::
+        JSRef DOMSelection -> Int -> IO (JSRef DOMRange)
+#else 
+ghcjs_dom_dom_selection_get_range_at ::
+                                       JSRef DOMSelection -> Int -> IO (JSRef DOMRange)
+ghcjs_dom_dom_selection_get_range_at = undefined
+#endif
+ 
+domSelectionGetRangeAt ::
+                       (IsDOMSelection self) => self -> Int -> IO (Maybe DOMRange)
+domSelectionGetRangeAt self index
+  = fmap DOMRange . maybeJSNull <$>
+      (ghcjs_dom_dom_selection_get_range_at
+         (unDOMSelection (toDOMSelection self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"removeAllRanges\"]()"
+        ghcjs_dom_dom_selection_remove_all_ranges ::
+        JSRef DOMSelection -> IO ()
+#else 
+ghcjs_dom_dom_selection_remove_all_ranges ::
+                                            JSRef DOMSelection -> IO ()
+ghcjs_dom_dom_selection_remove_all_ranges = undefined
+#endif
+ 
+domSelectionRemoveAllRanges ::
+                            (IsDOMSelection self) => self -> IO ()
+domSelectionRemoveAllRanges self
+  = ghcjs_dom_dom_selection_remove_all_ranges
+      (unDOMSelection (toDOMSelection self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"addRange\"]($2)"
+        ghcjs_dom_dom_selection_add_range ::
+        JSRef DOMSelection -> JSRef DOMRange -> IO ()
+#else 
+ghcjs_dom_dom_selection_add_range ::
+                                    JSRef DOMSelection -> JSRef DOMRange -> IO ()
+ghcjs_dom_dom_selection_add_range = undefined
+#endif
+ 
+domSelectionAddRange ::
+                     (IsDOMSelection self, IsDOMRange range) =>
+                       self -> Maybe range -> IO ()
+domSelectionAddRange self range
+  = ghcjs_dom_dom_selection_add_range
+      (unDOMSelection (toDOMSelection self))
+      (maybe jsNull (unDOMRange . toDOMRange) range)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"modify\"]($2, $3, $4)"
+        ghcjs_dom_dom_selection_modify ::
+        JSRef DOMSelection -> JSString -> JSString -> JSString -> IO ()
+#else 
+ghcjs_dom_dom_selection_modify ::
+                                 JSRef DOMSelection -> JSString -> JSString -> JSString -> IO ()
+ghcjs_dom_dom_selection_modify = undefined
+#endif
+ 
+domSelectionModify ::
+                   (IsDOMSelection self, ToJSString alter, ToJSString direction,
+                    ToJSString granularity) =>
+                     self -> alter -> direction -> granularity -> IO ()
+domSelectionModify self alter direction granularity
+  = ghcjs_dom_dom_selection_modify
+      (unDOMSelection (toDOMSelection self))
+      (toJSString alter)
+      (toJSString direction)
+      (toJSString granularity)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"setBaseAndExtent\"]($2, $3,\n$4, $5)"
+        ghcjs_dom_dom_selection_set_base_and_extent ::
+        JSRef DOMSelection ->
+          JSRef Node -> Int -> JSRef Node -> Int -> IO ()
+#else 
+ghcjs_dom_dom_selection_set_base_and_extent ::
+                                              JSRef DOMSelection ->
+                                                JSRef Node -> Int -> JSRef Node -> Int -> IO ()
+ghcjs_dom_dom_selection_set_base_and_extent = undefined
+#endif
+ 
+domSelectionSetBaseAndExtent ::
+                             (IsDOMSelection self, IsNode baseNode, IsNode extentNode) =>
+                               self -> Maybe baseNode -> Int -> Maybe extentNode -> Int -> IO ()
+domSelectionSetBaseAndExtent self baseNode baseOffset extentNode
+  extentOffset
+  = ghcjs_dom_dom_selection_set_base_and_extent
+      (unDOMSelection (toDOMSelection self))
+      (maybe jsNull (unNode . toNode) baseNode)
+      baseOffset
+      (maybe jsNull (unNode . toNode) extentNode)
+      extentOffset
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setPosition\"]($2, $3)"
+        ghcjs_dom_dom_selection_set_position ::
+        JSRef DOMSelection -> JSRef Node -> Int -> IO ()
+#else 
+ghcjs_dom_dom_selection_set_position ::
+                                       JSRef DOMSelection -> JSRef Node -> Int -> IO ()
+ghcjs_dom_dom_selection_set_position = undefined
+#endif
+ 
+domSelectionSetPosition ::
+                        (IsDOMSelection self, IsNode node) =>
+                          self -> Maybe node -> Int -> IO ()
+domSelectionSetPosition self node offset
+  = ghcjs_dom_dom_selection_set_position
+      (unDOMSelection (toDOMSelection self))
+      (maybe jsNull (unNode . toNode) node)
+      offset
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"empty\"]()"
+        ghcjs_dom_dom_selection_empty :: JSRef DOMSelection -> IO ()
+#else 
+ghcjs_dom_dom_selection_empty :: JSRef DOMSelection -> IO ()
+ghcjs_dom_dom_selection_empty = undefined
+#endif
+ 
+domSelectionEmpty :: (IsDOMSelection self) => self -> IO ()
+domSelectionEmpty self
+  = ghcjs_dom_dom_selection_empty
+      (unDOMSelection (toDOMSelection self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"anchorNode\"]"
+        ghcjs_dom_dom_selection_get_anchor_node ::
+        JSRef DOMSelection -> IO (JSRef Node)
+#else 
+ghcjs_dom_dom_selection_get_anchor_node ::
+                                          JSRef DOMSelection -> IO (JSRef Node)
+ghcjs_dom_dom_selection_get_anchor_node = undefined
+#endif
+ 
+domSelectionGetAnchorNode ::
+                          (IsDOMSelection self) => self -> IO (Maybe Node)
+domSelectionGetAnchorNode self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_dom_selection_get_anchor_node
+         (unDOMSelection (toDOMSelection self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"anchorOffset\"]"
+        ghcjs_dom_dom_selection_get_anchor_offset ::
+        JSRef DOMSelection -> IO Int
+#else 
+ghcjs_dom_dom_selection_get_anchor_offset ::
+                                            JSRef DOMSelection -> IO Int
+ghcjs_dom_dom_selection_get_anchor_offset = undefined
+#endif
+ 
+domSelectionGetAnchorOffset ::
+                            (IsDOMSelection self) => self -> IO Int
+domSelectionGetAnchorOffset self
+  = ghcjs_dom_dom_selection_get_anchor_offset
+      (unDOMSelection (toDOMSelection self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"focusNode\"]"
+        ghcjs_dom_dom_selection_get_focus_node ::
+        JSRef DOMSelection -> IO (JSRef Node)
+#else 
+ghcjs_dom_dom_selection_get_focus_node ::
+                                         JSRef DOMSelection -> IO (JSRef Node)
+ghcjs_dom_dom_selection_get_focus_node = undefined
+#endif
+ 
+domSelectionGetFocusNode ::
+                         (IsDOMSelection self) => self -> IO (Maybe Node)
+domSelectionGetFocusNode self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_dom_selection_get_focus_node
+         (unDOMSelection (toDOMSelection self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"focusOffset\"]"
+        ghcjs_dom_dom_selection_get_focus_offset ::
+        JSRef DOMSelection -> IO Int
+#else 
+ghcjs_dom_dom_selection_get_focus_offset ::
+                                           JSRef DOMSelection -> IO Int
+ghcjs_dom_dom_selection_get_focus_offset = undefined
+#endif
+ 
+domSelectionGetFocusOffset ::
+                           (IsDOMSelection self) => self -> IO Int
+domSelectionGetFocusOffset self
+  = ghcjs_dom_dom_selection_get_focus_offset
+      (unDOMSelection (toDOMSelection self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"isCollapsed\"] ? 1 : 0)"
+        ghcjs_dom_dom_selection_get_is_collapsed ::
+        JSRef DOMSelection -> IO Bool
+#else 
+ghcjs_dom_dom_selection_get_is_collapsed ::
+                                           JSRef DOMSelection -> IO Bool
+ghcjs_dom_dom_selection_get_is_collapsed = undefined
+#endif
+ 
+domSelectionGetIsCollapsed ::
+                           (IsDOMSelection self) => self -> IO Bool
+domSelectionGetIsCollapsed self
+  = ghcjs_dom_dom_selection_get_is_collapsed
+      (unDOMSelection (toDOMSelection self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rangeCount\"]"
+        ghcjs_dom_dom_selection_get_range_count ::
+        JSRef DOMSelection -> IO Int
+#else 
+ghcjs_dom_dom_selection_get_range_count ::
+                                          JSRef DOMSelection -> IO Int
+ghcjs_dom_dom_selection_get_range_count = undefined
+#endif
+ 
+domSelectionGetRangeCount ::
+                          (IsDOMSelection self) => self -> IO Int
+domSelectionGetRangeCount self
+  = ghcjs_dom_dom_selection_get_range_count
+      (unDOMSelection (toDOMSelection self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"baseNode\"]"
+        ghcjs_dom_dom_selection_get_base_node ::
+        JSRef DOMSelection -> IO (JSRef Node)
+#else 
+ghcjs_dom_dom_selection_get_base_node ::
+                                        JSRef DOMSelection -> IO (JSRef Node)
+ghcjs_dom_dom_selection_get_base_node = undefined
+#endif
+ 
+domSelectionGetBaseNode ::
+                        (IsDOMSelection self) => self -> IO (Maybe Node)
+domSelectionGetBaseNode self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_dom_selection_get_base_node
+         (unDOMSelection (toDOMSelection self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"baseOffset\"]"
+        ghcjs_dom_dom_selection_get_base_offset ::
+        JSRef DOMSelection -> IO Int
+#else 
+ghcjs_dom_dom_selection_get_base_offset ::
+                                          JSRef DOMSelection -> IO Int
+ghcjs_dom_dom_selection_get_base_offset = undefined
+#endif
+ 
+domSelectionGetBaseOffset ::
+                          (IsDOMSelection self) => self -> IO Int
+domSelectionGetBaseOffset self
+  = ghcjs_dom_dom_selection_get_base_offset
+      (unDOMSelection (toDOMSelection self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"extentNode\"]"
+        ghcjs_dom_dom_selection_get_extent_node ::
+        JSRef DOMSelection -> IO (JSRef Node)
+#else 
+ghcjs_dom_dom_selection_get_extent_node ::
+                                          JSRef DOMSelection -> IO (JSRef Node)
+ghcjs_dom_dom_selection_get_extent_node = undefined
+#endif
+ 
+domSelectionGetExtentNode ::
+                          (IsDOMSelection self) => self -> IO (Maybe Node)
+domSelectionGetExtentNode self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_dom_selection_get_extent_node
+         (unDOMSelection (toDOMSelection self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"extentOffset\"]"
+        ghcjs_dom_dom_selection_get_extent_offset ::
+        JSRef DOMSelection -> IO Int
+#else 
+ghcjs_dom_dom_selection_get_extent_offset ::
+                                            JSRef DOMSelection -> IO Int
+ghcjs_dom_dom_selection_get_extent_offset = undefined
+#endif
+ 
+domSelectionGetExtentOffset ::
+                            (IsDOMSelection self) => self -> IO Int
+domSelectionGetExtentOffset self
+  = ghcjs_dom_dom_selection_get_extent_offset
+      (unDOMSelection (toDOMSelection self))
+#else
+module GHCJS.DOM.DOMSelection (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMSelection
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMSelection
+#endif
diff --git a/src/GHCJS/DOM/DOMSettableTokenList.hs b/src/GHCJS/DOM/DOMSettableTokenList.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMSettableTokenList.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMSettableTokenList
+       (ghcjs_dom_dom_settable_token_list_set_value,
+        domSettableTokenListSetValue,
+        ghcjs_dom_dom_settable_token_list_get_value,
+        domSettableTokenListGetValue)
+       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[\"value\"] = $2;"
+        ghcjs_dom_dom_settable_token_list_set_value ::
+        JSRef DOMSettableTokenList -> JSString -> IO ()
+#else 
+ghcjs_dom_dom_settable_token_list_set_value ::
+                                              JSRef DOMSettableTokenList -> JSString -> IO ()
+ghcjs_dom_dom_settable_token_list_set_value = undefined
+#endif
+ 
+domSettableTokenListSetValue ::
+                             (IsDOMSettableTokenList self, ToJSString val) =>
+                               self -> val -> IO ()
+domSettableTokenListSetValue self val
+  = ghcjs_dom_dom_settable_token_list_set_value
+      (unDOMSettableTokenList (toDOMSettableTokenList self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"]"
+        ghcjs_dom_dom_settable_token_list_get_value ::
+        JSRef DOMSettableTokenList -> IO JSString
+#else 
+ghcjs_dom_dom_settable_token_list_get_value ::
+                                              JSRef DOMSettableTokenList -> IO JSString
+ghcjs_dom_dom_settable_token_list_get_value = undefined
+#endif
+ 
+domSettableTokenListGetValue ::
+                             (IsDOMSettableTokenList self, FromJSString result) =>
+                               self -> IO result
+domSettableTokenListGetValue self
+  = fromJSString <$>
+      (ghcjs_dom_dom_settable_token_list_get_value
+         (unDOMSettableTokenList (toDOMSettableTokenList self)))
+#else
+module GHCJS.DOM.DOMSettableTokenList (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMSettableTokenList
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMSettableTokenList
+#endif
diff --git a/src/GHCJS/DOM/DOMStringList.hs b/src/GHCJS/DOM/DOMStringList.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMStringList.hs
@@ -0,0 +1,82 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMStringList
+       (ghcjs_dom_dom_string_list_item, domStringListItem,
+        ghcjs_dom_dom_string_list_contains, domStringListContains,
+        ghcjs_dom_dom_string_list_get_length, domStringListGetLength)
+       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_string_list_item ::
+        JSRef DOMStringList -> Word -> IO JSString
+#else 
+ghcjs_dom_dom_string_list_item ::
+                                 JSRef DOMStringList -> Word -> IO JSString
+ghcjs_dom_dom_string_list_item = undefined
+#endif
+ 
+domStringListItem ::
+                  (IsDOMStringList self, FromJSString result) =>
+                    self -> Word -> IO result
+domStringListItem self index
+  = fromJSString <$>
+      (ghcjs_dom_dom_string_list_item
+         (unDOMStringList (toDOMStringList self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"contains\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_string_list_contains ::
+        JSRef DOMStringList -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_string_list_contains ::
+                                     JSRef DOMStringList -> JSString -> IO Bool
+ghcjs_dom_dom_string_list_contains = undefined
+#endif
+ 
+domStringListContains ::
+                      (IsDOMStringList self, ToJSString string) =>
+                        self -> string -> IO Bool
+domStringListContains self string
+  = ghcjs_dom_dom_string_list_contains
+      (unDOMStringList (toDOMStringList self))
+      (toJSString string)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_dom_string_list_get_length ::
+        JSRef DOMStringList -> IO Word
+#else 
+ghcjs_dom_dom_string_list_get_length ::
+                                       JSRef DOMStringList -> IO Word
+ghcjs_dom_dom_string_list_get_length = undefined
+#endif
+ 
+domStringListGetLength :: (IsDOMStringList self) => self -> IO Word
+domStringListGetLength self
+  = ghcjs_dom_dom_string_list_get_length
+      (unDOMStringList (toDOMStringList self))
+#else
+module GHCJS.DOM.DOMStringList (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMStringList
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMStringList
+#endif
diff --git a/src/GHCJS/DOM/DOMTokenList.hs b/src/GHCJS/DOM/DOMTokenList.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMTokenList.hs
@@ -0,0 +1,138 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMTokenList
+       (ghcjs_dom_dom_token_list_item, domTokenListItem,
+        ghcjs_dom_dom_token_list_contains, domTokenListContains,
+        ghcjs_dom_dom_token_list_add, domTokenListAdd,
+        ghcjs_dom_dom_token_list_remove, domTokenListRemove,
+        ghcjs_dom_dom_token_list_toggle, domTokenListToggle,
+        ghcjs_dom_dom_token_list_get_length, domTokenListGetLength)
+       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_token_list_item ::
+        JSRef DOMTokenList -> Word -> IO JSString
+#else 
+ghcjs_dom_dom_token_list_item ::
+                                JSRef DOMTokenList -> Word -> IO JSString
+ghcjs_dom_dom_token_list_item = undefined
+#endif
+ 
+domTokenListItem ::
+                 (IsDOMTokenList self, FromJSString result) =>
+                   self -> Word -> IO result
+domTokenListItem self index
+  = fromJSString <$>
+      (ghcjs_dom_dom_token_list_item
+         (unDOMTokenList (toDOMTokenList self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"contains\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_token_list_contains ::
+        JSRef DOMTokenList -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_token_list_contains ::
+                                    JSRef DOMTokenList -> JSString -> IO Bool
+ghcjs_dom_dom_token_list_contains = undefined
+#endif
+ 
+domTokenListContains ::
+                     (IsDOMTokenList self, ToJSString token) => self -> token -> IO Bool
+domTokenListContains self token
+  = ghcjs_dom_dom_token_list_contains
+      (unDOMTokenList (toDOMTokenList self))
+      (toJSString token)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"add\"]($2)"
+        ghcjs_dom_dom_token_list_add ::
+        JSRef DOMTokenList -> JSString -> IO ()
+#else 
+ghcjs_dom_dom_token_list_add ::
+                               JSRef DOMTokenList -> JSString -> IO ()
+ghcjs_dom_dom_token_list_add = undefined
+#endif
+ 
+domTokenListAdd ::
+                (IsDOMTokenList self, ToJSString token) => self -> token -> IO ()
+domTokenListAdd self token
+  = ghcjs_dom_dom_token_list_add
+      (unDOMTokenList (toDOMTokenList self))
+      (toJSString token)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"remove\"]($2)"
+        ghcjs_dom_dom_token_list_remove ::
+        JSRef DOMTokenList -> JSString -> IO ()
+#else 
+ghcjs_dom_dom_token_list_remove ::
+                                  JSRef DOMTokenList -> JSString -> IO ()
+ghcjs_dom_dom_token_list_remove = undefined
+#endif
+ 
+domTokenListRemove ::
+                   (IsDOMTokenList self, ToJSString token) => self -> token -> IO ()
+domTokenListRemove self token
+  = ghcjs_dom_dom_token_list_remove
+      (unDOMTokenList (toDOMTokenList self))
+      (toJSString token)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"toggle\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_token_list_toggle ::
+        JSRef DOMTokenList -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_token_list_toggle ::
+                                  JSRef DOMTokenList -> JSString -> IO Bool
+ghcjs_dom_dom_token_list_toggle = undefined
+#endif
+ 
+domTokenListToggle ::
+                   (IsDOMTokenList self, ToJSString token) => self -> token -> IO Bool
+domTokenListToggle self token
+  = ghcjs_dom_dom_token_list_toggle
+      (unDOMTokenList (toDOMTokenList self))
+      (toJSString token)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_dom_token_list_get_length ::
+        JSRef DOMTokenList -> IO Word
+#else 
+ghcjs_dom_dom_token_list_get_length ::
+                                      JSRef DOMTokenList -> IO Word
+ghcjs_dom_dom_token_list_get_length = undefined
+#endif
+ 
+domTokenListGetLength :: (IsDOMTokenList self) => self -> IO Word
+domTokenListGetLength self
+  = ghcjs_dom_dom_token_list_get_length
+      (unDOMTokenList (toDOMTokenList self))
+#else
+module GHCJS.DOM.DOMTokenList (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMTokenList
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMTokenList
+#endif
diff --git a/src/GHCJS/DOM/DOMWindow.hs b/src/GHCJS/DOM/DOMWindow.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DOMWindow.hs
@@ -0,0 +1,1633 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DOMWindow
+       (ghcjs_dom_dom_window_get_selection, domWindowGetSelection,
+        ghcjs_dom_dom_window_blur, domWindowBlur,
+        ghcjs_dom_dom_window_print, domWindowPrint,
+        ghcjs_dom_dom_window_stop, domWindowStop,
+        ghcjs_dom_dom_window_alert, domWindowAlert,
+        ghcjs_dom_dom_window_confirm, domWindowConfirm,
+        ghcjs_dom_dom_window_prompt, domWindowPrompt,
+        ghcjs_dom_dom_window_find, domWindowFind,
+        ghcjs_dom_dom_window_scroll_by, domWindowScrollBy,
+        ghcjs_dom_dom_window_scroll_to, domWindowScrollTo,
+        ghcjs_dom_dom_window_scroll, domWindowScroll,
+        ghcjs_dom_dom_window_move_by, domWindowMoveBy,
+        ghcjs_dom_dom_window_move_to, domWindowMoveTo,
+        ghcjs_dom_dom_window_resize_by, domWindowResizeBy,
+        ghcjs_dom_dom_window_resize_to, domWindowResizeTo,
+        ghcjs_dom_dom_window_match_media, domWindowMatchMedia,
+        ghcjs_dom_dom_window_get_computed_style, domWindowGetComputedStyle,
+        ghcjs_dom_dom_window_webkit_convert_point_from_page_to_node,
+        domWindowWebkitConvertPointFromPageToNode,
+        ghcjs_dom_dom_window_webkit_convert_point_from_node_to_page,
+        domWindowWebkitConvertPointFromNodeToPage,
+        ghcjs_dom_dom_window_clear_timeout, domWindowClearTimeout,
+        ghcjs_dom_dom_window_clear_interval, domWindowClearInterval,
+        ghcjs_dom_dom_window_atob, domWindowAtob,
+        ghcjs_dom_dom_window_btoa, domWindowBtoa,
+        ghcjs_dom_dom_window_dispatch_event, domWindowDispatchEvent,
+        ghcjs_dom_dom_window_capture_events, domWindowCaptureEvents,
+        ghcjs_dom_dom_window_release_events, domWindowReleaseEvents,
+        ghcjs_dom_dom_window_get_screen, domWindowGetScreen,
+        ghcjs_dom_dom_window_get_history, domWindowGetHistory,
+        ghcjs_dom_dom_window_get_locationbar, domWindowGetLocationbar,
+        ghcjs_dom_dom_window_get_menubar, domWindowGetMenubar,
+        ghcjs_dom_dom_window_get_personalbar, domWindowGetPersonalbar,
+        ghcjs_dom_dom_window_get_scrollbars, domWindowGetScrollbars,
+        ghcjs_dom_dom_window_get_statusbar, domWindowGetStatusbar,
+        ghcjs_dom_dom_window_get_toolbar, domWindowGetToolbar,
+        ghcjs_dom_dom_window_get_navigator, domWindowGetNavigator,
+        ghcjs_dom_dom_window_get_client_information,
+        domWindowGetClientInformation,
+        ghcjs_dom_dom_window_get_frame_element, domWindowGetFrameElement,
+        ghcjs_dom_dom_window_get_offscreen_buffering,
+        domWindowGetOffscreenBuffering,
+        ghcjs_dom_dom_window_get_outer_height, domWindowGetOuterHeight,
+        ghcjs_dom_dom_window_get_outer_width, domWindowGetOuterWidth,
+        ghcjs_dom_dom_window_get_inner_height, domWindowGetInnerHeight,
+        ghcjs_dom_dom_window_get_inner_width, domWindowGetInnerWidth,
+        ghcjs_dom_dom_window_get_screen_x, domWindowGetScreenX,
+        ghcjs_dom_dom_window_get_screen_y, domWindowGetScreenY,
+        ghcjs_dom_dom_window_get_screen_left, domWindowGetScreenLeft,
+        ghcjs_dom_dom_window_get_screen_top, domWindowGetScreenTop,
+        ghcjs_dom_dom_window_get_scroll_x, domWindowGetScrollX,
+        ghcjs_dom_dom_window_get_scroll_y, domWindowGetScrollY,
+        ghcjs_dom_dom_window_get_page_x_offset, domWindowGetPageXOffset,
+        ghcjs_dom_dom_window_get_page_y_offset, domWindowGetPageYOffset,
+        ghcjs_dom_dom_window_get_closed, domWindowGetClosed,
+        ghcjs_dom_dom_window_get_length, domWindowGetLength,
+        ghcjs_dom_dom_window_set_name, domWindowSetName,
+        ghcjs_dom_dom_window_get_name, domWindowGetName,
+        ghcjs_dom_dom_window_set_status, domWindowSetStatus,
+        ghcjs_dom_dom_window_get_status, domWindowGetStatus,
+        ghcjs_dom_dom_window_set_default_status, domWindowSetDefaultStatus,
+        ghcjs_dom_dom_window_get_default_status, domWindowGetDefaultStatus,
+        ghcjs_dom_dom_window_get_self, domWindowGetSelf,
+        ghcjs_dom_dom_window_get_window, domWindowGetWindow,
+        ghcjs_dom_dom_window_get_frames, domWindowGetFrames,
+        ghcjs_dom_dom_window_get_opener, domWindowGetOpener,
+        ghcjs_dom_dom_window_get_parent, domWindowGetParent,
+        ghcjs_dom_dom_window_get_top, domWindowGetTop,
+        ghcjs_dom_dom_window_get_document, domWindowGetDocument,
+        ghcjs_dom_dom_window_get_style_media, domWindowGetStyleMedia,
+        ghcjs_dom_dom_window_get_device_pixel_ratio,
+        domWindowGetDevicePixelRatio,
+        ghcjs_dom_dom_window_get_application_cache,
+        domWindowGetApplicationCache,
+        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,
+        domWindowOnmouseout, domWindowOnmouseover, domWindowOnmouseup,
+        domWindowOnmousewheel, domWindowOnoffline, domWindowOnonline,
+        domWindowOnpagehide, domWindowOnpageshow, domWindowOnpause,
+        domWindowOnplay, domWindowOnplaying, domWindowOnpopstate,
+        domWindowOnprogress, domWindowOnratechange, domWindowOnresize,
+        domWindowOnscroll, domWindowOnseeked, domWindowOnseeking,
+        domWindowOnselect, domWindowOnstalled, domWindowOnstorage,
+        domWindowOnsubmit, domWindowOnsuspend, domWindowOntimeupdate,
+        domWindowOnunload, domWindowOnvolumechange, domWindowOnwaiting,
+        domWindowOnreset, domWindowOnsearch, domWindowOnwebkitanimationend,
+        domWindowOnwebkitanimationiteration,
+        domWindowOnwebkitanimationstart, domWindowOnwebkittransitionend,
+        domWindowOntouchstart, domWindowOntouchmove, domWindowOntouchend,
+        domWindowOntouchcancel, domWindowOndevicemotion,
+        domWindowOndeviceorientation, domWindowOnwebkitdeviceproximity)
+       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[\"getSelection\"]()"
+        ghcjs_dom_dom_window_get_selection ::
+        JSRef DOMWindow -> IO (JSRef DOMSelection)
+#else 
+ghcjs_dom_dom_window_get_selection ::
+                                     JSRef DOMWindow -> IO (JSRef DOMSelection)
+ghcjs_dom_dom_window_get_selection = undefined
+#endif
+ 
+domWindowGetSelection ::
+                      (IsDOMWindow self) => self -> IO (Maybe DOMSelection)
+domWindowGetSelection self
+  = fmap DOMSelection . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_selection
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"blur\"]()"
+        ghcjs_dom_dom_window_blur :: JSRef DOMWindow -> IO ()
+#else 
+ghcjs_dom_dom_window_blur :: JSRef DOMWindow -> IO ()
+ghcjs_dom_dom_window_blur = undefined
+#endif
+ 
+domWindowBlur :: (IsDOMWindow self) => self -> IO ()
+domWindowBlur self
+  = ghcjs_dom_dom_window_blur (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"print\"]()"
+        ghcjs_dom_dom_window_print :: JSRef DOMWindow -> IO ()
+#else 
+ghcjs_dom_dom_window_print :: JSRef DOMWindow -> IO ()
+ghcjs_dom_dom_window_print = undefined
+#endif
+ 
+domWindowPrint :: (IsDOMWindow self) => self -> IO ()
+domWindowPrint self
+  = ghcjs_dom_dom_window_print (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"stop\"]()"
+        ghcjs_dom_dom_window_stop :: JSRef DOMWindow -> IO ()
+#else 
+ghcjs_dom_dom_window_stop :: JSRef DOMWindow -> IO ()
+ghcjs_dom_dom_window_stop = undefined
+#endif
+ 
+domWindowStop :: (IsDOMWindow self) => self -> IO ()
+domWindowStop self
+  = ghcjs_dom_dom_window_stop (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"alert\"]($2)"
+        ghcjs_dom_dom_window_alert :: JSRef DOMWindow -> JSString -> IO ()
+#else 
+ghcjs_dom_dom_window_alert :: JSRef DOMWindow -> JSString -> IO ()
+ghcjs_dom_dom_window_alert = undefined
+#endif
+ 
+domWindowAlert ::
+               (IsDOMWindow self, ToJSString message) => self -> message -> IO ()
+domWindowAlert self message
+  = ghcjs_dom_dom_window_alert (unDOMWindow (toDOMWindow self))
+      (toJSString message)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"confirm\"]($2) ? 1 : 0)"
+        ghcjs_dom_dom_window_confirm ::
+        JSRef DOMWindow -> JSString -> IO Bool
+#else 
+ghcjs_dom_dom_window_confirm ::
+                               JSRef DOMWindow -> JSString -> IO Bool
+ghcjs_dom_dom_window_confirm = undefined
+#endif
+ 
+domWindowConfirm ::
+                 (IsDOMWindow self, ToJSString message) =>
+                   self -> message -> IO Bool
+domWindowConfirm self message
+  = ghcjs_dom_dom_window_confirm (unDOMWindow (toDOMWindow self))
+      (toJSString message)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"prompt\"]($2, $3)"
+        ghcjs_dom_dom_window_prompt ::
+        JSRef DOMWindow -> JSString -> JSString -> IO JSString
+#else 
+ghcjs_dom_dom_window_prompt ::
+                              JSRef DOMWindow -> JSString -> JSString -> IO JSString
+ghcjs_dom_dom_window_prompt = undefined
+#endif
+ 
+domWindowPrompt ::
+                (IsDOMWindow self, ToJSString message, ToJSString defaultValue,
+                 FromJSString result) =>
+                  self -> message -> defaultValue -> IO result
+domWindowPrompt self message defaultValue
+  = fromJSString <$>
+      (ghcjs_dom_dom_window_prompt (unDOMWindow (toDOMWindow self))
+         (toJSString message)
+         (toJSString defaultValue))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"find\"]($2, $3, $4, $5, $6,\n$7, $8) ? 1 : 0)"
+        ghcjs_dom_dom_window_find ::
+        JSRef DOMWindow ->
+          JSString -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> IO Bool
+#else 
+ghcjs_dom_dom_window_find ::
+                            JSRef DOMWindow ->
+                              JSString -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> IO Bool
+ghcjs_dom_dom_window_find = undefined
+#endif
+ 
+domWindowFind ::
+              (IsDOMWindow self, ToJSString string) =>
+                self ->
+                  string -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> IO Bool
+domWindowFind self string caseSensitive backwards wrap wholeWord
+  searchInFrames showDialog
+  = ghcjs_dom_dom_window_find (unDOMWindow (toDOMWindow self))
+      (toJSString string)
+      caseSensitive
+      backwards
+      wrap
+      wholeWord
+      searchInFrames
+      showDialog
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollBy\"]($2, $3)"
+        ghcjs_dom_dom_window_scroll_by ::
+        JSRef DOMWindow -> Int -> Int -> IO ()
+#else 
+ghcjs_dom_dom_window_scroll_by ::
+                                 JSRef DOMWindow -> Int -> Int -> IO ()
+ghcjs_dom_dom_window_scroll_by = undefined
+#endif
+ 
+domWindowScrollBy ::
+                  (IsDOMWindow self) => self -> Int -> Int -> IO ()
+domWindowScrollBy self x y
+  = ghcjs_dom_dom_window_scroll_by (unDOMWindow (toDOMWindow self)) x
+      y
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollTo\"]($2, $3)"
+        ghcjs_dom_dom_window_scroll_to ::
+        JSRef DOMWindow -> Int -> Int -> IO ()
+#else 
+ghcjs_dom_dom_window_scroll_to ::
+                                 JSRef DOMWindow -> Int -> Int -> IO ()
+ghcjs_dom_dom_window_scroll_to = undefined
+#endif
+ 
+domWindowScrollTo ::
+                  (IsDOMWindow self) => self -> Int -> Int -> IO ()
+domWindowScrollTo self x y
+  = ghcjs_dom_dom_window_scroll_to (unDOMWindow (toDOMWindow self)) x
+      y
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scroll\"]($2, $3)"
+        ghcjs_dom_dom_window_scroll ::
+        JSRef DOMWindow -> Int -> Int -> IO ()
+#else 
+ghcjs_dom_dom_window_scroll ::
+                              JSRef DOMWindow -> Int -> Int -> IO ()
+ghcjs_dom_dom_window_scroll = undefined
+#endif
+ 
+domWindowScroll ::
+                (IsDOMWindow self) => self -> Int -> Int -> IO ()
+domWindowScroll self x y
+  = ghcjs_dom_dom_window_scroll (unDOMWindow (toDOMWindow self)) x y
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"moveBy\"]($2, $3)"
+        ghcjs_dom_dom_window_move_by ::
+        JSRef DOMWindow -> Float -> Float -> IO ()
+#else 
+ghcjs_dom_dom_window_move_by ::
+                               JSRef DOMWindow -> Float -> Float -> IO ()
+ghcjs_dom_dom_window_move_by = undefined
+#endif
+ 
+domWindowMoveBy ::
+                (IsDOMWindow self) => self -> Float -> Float -> IO ()
+domWindowMoveBy self x y
+  = ghcjs_dom_dom_window_move_by (unDOMWindow (toDOMWindow self)) x y
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"moveTo\"]($2, $3)"
+        ghcjs_dom_dom_window_move_to ::
+        JSRef DOMWindow -> Float -> Float -> IO ()
+#else 
+ghcjs_dom_dom_window_move_to ::
+                               JSRef DOMWindow -> Float -> Float -> IO ()
+ghcjs_dom_dom_window_move_to = undefined
+#endif
+ 
+domWindowMoveTo ::
+                (IsDOMWindow self) => self -> Float -> Float -> IO ()
+domWindowMoveTo self x y
+  = ghcjs_dom_dom_window_move_to (unDOMWindow (toDOMWindow self)) x y
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"resizeBy\"]($2, $3)"
+        ghcjs_dom_dom_window_resize_by ::
+        JSRef DOMWindow -> Float -> Float -> IO ()
+#else 
+ghcjs_dom_dom_window_resize_by ::
+                                 JSRef DOMWindow -> Float -> Float -> IO ()
+ghcjs_dom_dom_window_resize_by = undefined
+#endif
+ 
+domWindowResizeBy ::
+                  (IsDOMWindow self) => self -> Float -> Float -> IO ()
+domWindowResizeBy self x y
+  = ghcjs_dom_dom_window_resize_by (unDOMWindow (toDOMWindow self)) x
+      y
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"resizeTo\"]($2, $3)"
+        ghcjs_dom_dom_window_resize_to ::
+        JSRef DOMWindow -> Float -> Float -> IO ()
+#else 
+ghcjs_dom_dom_window_resize_to ::
+                                 JSRef DOMWindow -> Float -> Float -> IO ()
+ghcjs_dom_dom_window_resize_to = undefined
+#endif
+ 
+domWindowResizeTo ::
+                  (IsDOMWindow self) => self -> Float -> Float -> IO ()
+domWindowResizeTo self width height
+  = ghcjs_dom_dom_window_resize_to (unDOMWindow (toDOMWindow self))
+      width
+      height
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"matchMedia\"]($2)"
+        ghcjs_dom_dom_window_match_media ::
+        JSRef DOMWindow -> JSString -> IO (JSRef MediaQueryList)
+#else 
+ghcjs_dom_dom_window_match_media ::
+                                   JSRef DOMWindow -> JSString -> IO (JSRef MediaQueryList)
+ghcjs_dom_dom_window_match_media = undefined
+#endif
+ 
+domWindowMatchMedia ::
+                    (IsDOMWindow self, ToJSString query) =>
+                      self -> query -> IO (Maybe MediaQueryList)
+domWindowMatchMedia self query
+  = fmap MediaQueryList . maybeJSNull <$>
+      (ghcjs_dom_dom_window_match_media (unDOMWindow (toDOMWindow self))
+         (toJSString query))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getComputedStyle\"]($2, $3)"
+        ghcjs_dom_dom_window_get_computed_style ::
+        JSRef DOMWindow ->
+          JSRef Element -> JSString -> IO (JSRef CSSStyleDeclaration)
+#else 
+ghcjs_dom_dom_window_get_computed_style ::
+                                          JSRef DOMWindow ->
+                                            JSRef Element ->
+                                              JSString -> IO (JSRef CSSStyleDeclaration)
+ghcjs_dom_dom_window_get_computed_style = undefined
+#endif
+ 
+domWindowGetComputedStyle ::
+                          (IsDOMWindow self, IsElement element, ToJSString pseudoElement) =>
+                            self ->
+                              Maybe element -> pseudoElement -> IO (Maybe CSSStyleDeclaration)
+domWindowGetComputedStyle self element pseudoElement
+  = fmap CSSStyleDeclaration . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_computed_style
+         (unDOMWindow (toDOMWindow self))
+         (maybe jsNull (unElement . toElement) element)
+         (toJSString pseudoElement))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"webkitConvertPointFromPageToNode\"]($2,\n$3)"
+        ghcjs_dom_dom_window_webkit_convert_point_from_page_to_node ::
+        JSRef DOMWindow ->
+          JSRef Node -> JSRef WebKitPoint -> IO (JSRef WebKitPoint)
+#else 
+ghcjs_dom_dom_window_webkit_convert_point_from_page_to_node ::
+                                                              JSRef DOMWindow ->
+                                                                JSRef Node ->
+                                                                  JSRef WebKitPoint ->
+                                                                    IO (JSRef WebKitPoint)
+ghcjs_dom_dom_window_webkit_convert_point_from_page_to_node
+  = undefined
+#endif
+ 
+domWindowWebkitConvertPointFromPageToNode ::
+                                          (IsDOMWindow self, IsNode node, IsWebKitPoint p) =>
+                                            self -> Maybe node -> Maybe p -> IO (Maybe WebKitPoint)
+domWindowWebkitConvertPointFromPageToNode self node p
+  = fmap WebKitPoint . maybeJSNull <$>
+      (ghcjs_dom_dom_window_webkit_convert_point_from_page_to_node
+         (unDOMWindow (toDOMWindow self))
+         (maybe jsNull (unNode . toNode) node)
+         (maybe jsNull (unWebKitPoint . toWebKitPoint) p))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"webkitConvertPointFromNodeToPage\"]($2,\n$3)"
+        ghcjs_dom_dom_window_webkit_convert_point_from_node_to_page ::
+        JSRef DOMWindow ->
+          JSRef Node -> JSRef WebKitPoint -> IO (JSRef WebKitPoint)
+#else 
+ghcjs_dom_dom_window_webkit_convert_point_from_node_to_page ::
+                                                              JSRef DOMWindow ->
+                                                                JSRef Node ->
+                                                                  JSRef WebKitPoint ->
+                                                                    IO (JSRef WebKitPoint)
+ghcjs_dom_dom_window_webkit_convert_point_from_node_to_page
+  = undefined
+#endif
+ 
+domWindowWebkitConvertPointFromNodeToPage ::
+                                          (IsDOMWindow self, IsNode node, IsWebKitPoint p) =>
+                                            self -> Maybe node -> Maybe p -> IO (Maybe WebKitPoint)
+domWindowWebkitConvertPointFromNodeToPage self node p
+  = fmap WebKitPoint . maybeJSNull <$>
+      (ghcjs_dom_dom_window_webkit_convert_point_from_node_to_page
+         (unDOMWindow (toDOMWindow self))
+         (maybe jsNull (unNode . toNode) node)
+         (maybe jsNull (unWebKitPoint . toWebKitPoint) p))
+
+
+#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 ::
+        JSRef DOMWindow -> JSRef Event -> IO Bool
+#else 
+ghcjs_dom_dom_window_dispatch_event ::
+                                      JSRef DOMWindow -> JSRef Event -> IO Bool
+ghcjs_dom_dom_window_dispatch_event = undefined
+#endif
+ 
+domWindowDispatchEvent ::
+                       (IsDOMWindow self, IsEvent evt) => self -> Maybe evt -> IO Bool
+domWindowDispatchEvent self evt
+  = ghcjs_dom_dom_window_dispatch_event
+      (unDOMWindow (toDOMWindow self))
+      (maybe jsNull (unEvent . toEvent) evt)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"captureEvents\"]()"
+        ghcjs_dom_dom_window_capture_events :: JSRef DOMWindow -> IO ()
+#else 
+ghcjs_dom_dom_window_capture_events :: JSRef DOMWindow -> IO ()
+ghcjs_dom_dom_window_capture_events = undefined
+#endif
+ 
+domWindowCaptureEvents :: (IsDOMWindow self) => self -> IO ()
+domWindowCaptureEvents self
+  = ghcjs_dom_dom_window_capture_events
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"releaseEvents\"]()"
+        ghcjs_dom_dom_window_release_events :: JSRef DOMWindow -> IO ()
+#else 
+ghcjs_dom_dom_window_release_events :: JSRef DOMWindow -> IO ()
+ghcjs_dom_dom_window_release_events = undefined
+#endif
+ 
+domWindowReleaseEvents :: (IsDOMWindow self) => self -> IO ()
+domWindowReleaseEvents self
+  = ghcjs_dom_dom_window_release_events
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"screen\"]"
+        ghcjs_dom_dom_window_get_screen ::
+        JSRef DOMWindow -> IO (JSRef DOMScreen)
+#else 
+ghcjs_dom_dom_window_get_screen ::
+                                  JSRef DOMWindow -> IO (JSRef DOMScreen)
+ghcjs_dom_dom_window_get_screen = undefined
+#endif
+ 
+domWindowGetScreen ::
+                   (IsDOMWindow self) => self -> IO (Maybe DOMScreen)
+domWindowGetScreen self
+  = fmap DOMScreen . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_screen (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"history\"]"
+        ghcjs_dom_dom_window_get_history ::
+        JSRef DOMWindow -> IO (JSRef History)
+#else 
+ghcjs_dom_dom_window_get_history ::
+                                   JSRef DOMWindow -> IO (JSRef History)
+ghcjs_dom_dom_window_get_history = undefined
+#endif
+ 
+domWindowGetHistory ::
+                    (IsDOMWindow self) => self -> IO (Maybe History)
+domWindowGetHistory self
+  = fmap History . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_history (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"locationbar\"]"
+        ghcjs_dom_dom_window_get_locationbar ::
+        JSRef DOMWindow -> IO (JSRef BarInfo)
+#else 
+ghcjs_dom_dom_window_get_locationbar ::
+                                       JSRef DOMWindow -> IO (JSRef BarInfo)
+ghcjs_dom_dom_window_get_locationbar = undefined
+#endif
+ 
+domWindowGetLocationbar ::
+                        (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+domWindowGetLocationbar self
+  = fmap BarInfo . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_locationbar
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"menubar\"]"
+        ghcjs_dom_dom_window_get_menubar ::
+        JSRef DOMWindow -> IO (JSRef BarInfo)
+#else 
+ghcjs_dom_dom_window_get_menubar ::
+                                   JSRef DOMWindow -> IO (JSRef BarInfo)
+ghcjs_dom_dom_window_get_menubar = undefined
+#endif
+ 
+domWindowGetMenubar ::
+                    (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+domWindowGetMenubar self
+  = fmap BarInfo . 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)
+#else 
+ghcjs_dom_dom_window_get_personalbar ::
+                                       JSRef DOMWindow -> IO (JSRef BarInfo)
+ghcjs_dom_dom_window_get_personalbar = undefined
+#endif
+ 
+domWindowGetPersonalbar ::
+                        (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+domWindowGetPersonalbar self
+  = fmap BarInfo . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_personalbar
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollbars\"]"
+        ghcjs_dom_dom_window_get_scrollbars ::
+        JSRef DOMWindow -> IO (JSRef BarInfo)
+#else 
+ghcjs_dom_dom_window_get_scrollbars ::
+                                      JSRef DOMWindow -> IO (JSRef BarInfo)
+ghcjs_dom_dom_window_get_scrollbars = undefined
+#endif
+ 
+domWindowGetScrollbars ::
+                       (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+domWindowGetScrollbars self
+  = fmap BarInfo . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_scrollbars
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"statusbar\"]"
+        ghcjs_dom_dom_window_get_statusbar ::
+        JSRef DOMWindow -> IO (JSRef BarInfo)
+#else 
+ghcjs_dom_dom_window_get_statusbar ::
+                                     JSRef DOMWindow -> IO (JSRef BarInfo)
+ghcjs_dom_dom_window_get_statusbar = undefined
+#endif
+ 
+domWindowGetStatusbar ::
+                      (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+domWindowGetStatusbar self
+  = fmap BarInfo . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_statusbar
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"toolbar\"]"
+        ghcjs_dom_dom_window_get_toolbar ::
+        JSRef DOMWindow -> IO (JSRef BarInfo)
+#else 
+ghcjs_dom_dom_window_get_toolbar ::
+                                   JSRef DOMWindow -> IO (JSRef BarInfo)
+ghcjs_dom_dom_window_get_toolbar = undefined
+#endif
+ 
+domWindowGetToolbar ::
+                    (IsDOMWindow self) => self -> IO (Maybe BarInfo)
+domWindowGetToolbar self
+  = fmap BarInfo . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_toolbar (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"navigator\"]"
+        ghcjs_dom_dom_window_get_navigator ::
+        JSRef DOMWindow -> IO (JSRef Navigator)
+#else 
+ghcjs_dom_dom_window_get_navigator ::
+                                     JSRef DOMWindow -> IO (JSRef Navigator)
+ghcjs_dom_dom_window_get_navigator = undefined
+#endif
+ 
+domWindowGetNavigator ::
+                      (IsDOMWindow self) => self -> IO (Maybe Navigator)
+domWindowGetNavigator self
+  = fmap Navigator . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_navigator
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"clientInformation\"]"
+        ghcjs_dom_dom_window_get_client_information ::
+        JSRef DOMWindow -> IO (JSRef Navigator)
+#else 
+ghcjs_dom_dom_window_get_client_information ::
+                                              JSRef DOMWindow -> IO (JSRef Navigator)
+ghcjs_dom_dom_window_get_client_information = undefined
+#endif
+ 
+domWindowGetClientInformation ::
+                              (IsDOMWindow self) => self -> IO (Maybe Navigator)
+domWindowGetClientInformation self
+  = fmap Navigator . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_client_information
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"frameElement\"]"
+        ghcjs_dom_dom_window_get_frame_element ::
+        JSRef DOMWindow -> IO (JSRef Element)
+#else 
+ghcjs_dom_dom_window_get_frame_element ::
+                                         JSRef DOMWindow -> IO (JSRef Element)
+ghcjs_dom_dom_window_get_frame_element = undefined
+#endif
+ 
+domWindowGetFrameElement ::
+                         (IsDOMWindow self) => self -> IO (Maybe Element)
+domWindowGetFrameElement self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_frame_element
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"offscreenBuffering\"] ? 1 : 0)"
+        ghcjs_dom_dom_window_get_offscreen_buffering ::
+        JSRef DOMWindow -> IO Bool
+#else 
+ghcjs_dom_dom_window_get_offscreen_buffering ::
+                                               JSRef DOMWindow -> IO Bool
+ghcjs_dom_dom_window_get_offscreen_buffering = undefined
+#endif
+ 
+domWindowGetOffscreenBuffering ::
+                               (IsDOMWindow self) => self -> IO Bool
+domWindowGetOffscreenBuffering self
+  = ghcjs_dom_dom_window_get_offscreen_buffering
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"outerHeight\"]"
+        ghcjs_dom_dom_window_get_outer_height :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_outer_height :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_outer_height = undefined
+#endif
+ 
+domWindowGetOuterHeight :: (IsDOMWindow self) => self -> IO Int
+domWindowGetOuterHeight self
+  = ghcjs_dom_dom_window_get_outer_height
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"outerWidth\"]"
+        ghcjs_dom_dom_window_get_outer_width :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_outer_width :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_outer_width = undefined
+#endif
+ 
+domWindowGetOuterWidth :: (IsDOMWindow self) => self -> IO Int
+domWindowGetOuterWidth self
+  = ghcjs_dom_dom_window_get_outer_width
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"innerHeight\"]"
+        ghcjs_dom_dom_window_get_inner_height :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_inner_height :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_inner_height = undefined
+#endif
+ 
+domWindowGetInnerHeight :: (IsDOMWindow self) => self -> IO Int
+domWindowGetInnerHeight self
+  = ghcjs_dom_dom_window_get_inner_height
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"innerWidth\"]"
+        ghcjs_dom_dom_window_get_inner_width :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_inner_width :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_inner_width = undefined
+#endif
+ 
+domWindowGetInnerWidth :: (IsDOMWindow self) => self -> IO Int
+domWindowGetInnerWidth self
+  = ghcjs_dom_dom_window_get_inner_width
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"screenX\"]"
+        ghcjs_dom_dom_window_get_screen_x :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_screen_x :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_screen_x = undefined
+#endif
+ 
+domWindowGetScreenX :: (IsDOMWindow self) => self -> IO Int
+domWindowGetScreenX self
+  = ghcjs_dom_dom_window_get_screen_x
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"screenY\"]"
+        ghcjs_dom_dom_window_get_screen_y :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_screen_y :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_screen_y = undefined
+#endif
+ 
+domWindowGetScreenY :: (IsDOMWindow self) => self -> IO Int
+domWindowGetScreenY self
+  = ghcjs_dom_dom_window_get_screen_y
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"screenLeft\"]"
+        ghcjs_dom_dom_window_get_screen_left :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_screen_left :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_screen_left = undefined
+#endif
+ 
+domWindowGetScreenLeft :: (IsDOMWindow self) => self -> IO Int
+domWindowGetScreenLeft self
+  = ghcjs_dom_dom_window_get_screen_left
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"screenTop\"]"
+        ghcjs_dom_dom_window_get_screen_top :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_screen_top :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_screen_top = undefined
+#endif
+ 
+domWindowGetScreenTop :: (IsDOMWindow self) => self -> IO Int
+domWindowGetScreenTop self
+  = ghcjs_dom_dom_window_get_screen_top
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollX\"]"
+        ghcjs_dom_dom_window_get_scroll_x :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_scroll_x :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_scroll_x = undefined
+#endif
+ 
+domWindowGetScrollX :: (IsDOMWindow self) => self -> IO Int
+domWindowGetScrollX self
+  = ghcjs_dom_dom_window_get_scroll_x
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollY\"]"
+        ghcjs_dom_dom_window_get_scroll_y :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_scroll_y :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_scroll_y = undefined
+#endif
+ 
+domWindowGetScrollY :: (IsDOMWindow self) => self -> IO Int
+domWindowGetScrollY self
+  = ghcjs_dom_dom_window_get_scroll_y
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pageXOffset\"]"
+        ghcjs_dom_dom_window_get_page_x_offset :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_page_x_offset :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_page_x_offset = undefined
+#endif
+ 
+domWindowGetPageXOffset :: (IsDOMWindow self) => self -> IO Int
+domWindowGetPageXOffset self
+  = ghcjs_dom_dom_window_get_page_x_offset
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pageYOffset\"]"
+        ghcjs_dom_dom_window_get_page_y_offset :: JSRef DOMWindow -> IO Int
+#else 
+ghcjs_dom_dom_window_get_page_y_offset :: JSRef DOMWindow -> IO Int
+ghcjs_dom_dom_window_get_page_y_offset = undefined
+#endif
+ 
+domWindowGetPageYOffset :: (IsDOMWindow self) => self -> IO Int
+domWindowGetPageYOffset self
+  = ghcjs_dom_dom_window_get_page_y_offset
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"closed\"] ? 1 : 0)"
+        ghcjs_dom_dom_window_get_closed :: JSRef DOMWindow -> IO Bool
+#else 
+ghcjs_dom_dom_window_get_closed :: JSRef DOMWindow -> IO Bool
+ghcjs_dom_dom_window_get_closed = undefined
+#endif
+ 
+domWindowGetClosed :: (IsDOMWindow self) => self -> IO Bool
+domWindowGetClosed self
+  = ghcjs_dom_dom_window_get_closed (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_dom_window_get_length :: JSRef DOMWindow -> IO Word
+#else 
+ghcjs_dom_dom_window_get_length :: JSRef DOMWindow -> IO Word
+ghcjs_dom_dom_window_get_length = undefined
+#endif
+ 
+domWindowGetLength :: (IsDOMWindow self) => self -> IO Word
+domWindowGetLength self
+  = ghcjs_dom_dom_window_get_length (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_dom_window_set_name ::
+        JSRef DOMWindow -> JSString -> IO ()
+#else 
+ghcjs_dom_dom_window_set_name ::
+                                JSRef DOMWindow -> JSString -> IO ()
+ghcjs_dom_dom_window_set_name = undefined
+#endif
+ 
+domWindowSetName ::
+                 (IsDOMWindow self, ToJSString val) => self -> val -> IO ()
+domWindowSetName self val
+  = ghcjs_dom_dom_window_set_name (unDOMWindow (toDOMWindow self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_dom_window_get_name :: JSRef DOMWindow -> IO JSString
+#else 
+ghcjs_dom_dom_window_get_name :: JSRef DOMWindow -> IO JSString
+ghcjs_dom_dom_window_get_name = undefined
+#endif
+ 
+domWindowGetName ::
+                 (IsDOMWindow self, FromJSString result) => self -> IO result
+domWindowGetName self
+  = fromJSString <$>
+      (ghcjs_dom_dom_window_get_name (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"status\"] = $2;"
+        ghcjs_dom_dom_window_set_status ::
+        JSRef DOMWindow -> JSString -> IO ()
+#else 
+ghcjs_dom_dom_window_set_status ::
+                                  JSRef DOMWindow -> JSString -> IO ()
+ghcjs_dom_dom_window_set_status = undefined
+#endif
+ 
+domWindowSetStatus ::
+                   (IsDOMWindow self, ToJSString val) => self -> val -> IO ()
+domWindowSetStatus self val
+  = ghcjs_dom_dom_window_set_status (unDOMWindow (toDOMWindow self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"status\"]"
+        ghcjs_dom_dom_window_get_status :: JSRef DOMWindow -> IO JSString
+#else 
+ghcjs_dom_dom_window_get_status :: JSRef DOMWindow -> IO JSString
+ghcjs_dom_dom_window_get_status = undefined
+#endif
+ 
+domWindowGetStatus ::
+                   (IsDOMWindow self, FromJSString result) => self -> IO result
+domWindowGetStatus self
+  = fromJSString <$>
+      (ghcjs_dom_dom_window_get_status (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultStatus\"] = $2;"
+        ghcjs_dom_dom_window_set_default_status ::
+        JSRef DOMWindow -> JSString -> IO ()
+#else 
+ghcjs_dom_dom_window_set_default_status ::
+                                          JSRef DOMWindow -> JSString -> IO ()
+ghcjs_dom_dom_window_set_default_status = undefined
+#endif
+ 
+domWindowSetDefaultStatus ::
+                          (IsDOMWindow self, ToJSString val) => self -> val -> IO ()
+domWindowSetDefaultStatus self val
+  = ghcjs_dom_dom_window_set_default_status
+      (unDOMWindow (toDOMWindow self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultStatus\"]"
+        ghcjs_dom_dom_window_get_default_status ::
+        JSRef DOMWindow -> IO JSString
+#else 
+ghcjs_dom_dom_window_get_default_status ::
+                                          JSRef DOMWindow -> IO JSString
+ghcjs_dom_dom_window_get_default_status = undefined
+#endif
+ 
+domWindowGetDefaultStatus ::
+                          (IsDOMWindow self, FromJSString result) => self -> IO result
+domWindowGetDefaultStatus self
+  = fromJSString <$>
+      (ghcjs_dom_dom_window_get_default_status
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"self\"]"
+        ghcjs_dom_dom_window_get_self ::
+        JSRef DOMWindow -> IO (JSRef DOMWindow)
+#else 
+ghcjs_dom_dom_window_get_self ::
+                                JSRef DOMWindow -> IO (JSRef DOMWindow)
+ghcjs_dom_dom_window_get_self = undefined
+#endif
+ 
+domWindowGetSelf ::
+                 (IsDOMWindow self) => self -> IO (Maybe DOMWindow)
+domWindowGetSelf self
+  = fmap DOMWindow . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_self (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"window\"]"
+        ghcjs_dom_dom_window_get_window ::
+        JSRef DOMWindow -> IO (JSRef DOMWindow)
+#else 
+ghcjs_dom_dom_window_get_window ::
+                                  JSRef DOMWindow -> IO (JSRef DOMWindow)
+ghcjs_dom_dom_window_get_window = undefined
+#endif
+ 
+domWindowGetWindow ::
+                   (IsDOMWindow self) => self -> IO (Maybe DOMWindow)
+domWindowGetWindow self
+  = fmap DOMWindow . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_window (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"frames\"]"
+        ghcjs_dom_dom_window_get_frames ::
+        JSRef DOMWindow -> IO (JSRef DOMWindow)
+#else 
+ghcjs_dom_dom_window_get_frames ::
+                                  JSRef DOMWindow -> IO (JSRef DOMWindow)
+ghcjs_dom_dom_window_get_frames = undefined
+#endif
+ 
+domWindowGetFrames ::
+                   (IsDOMWindow self) => self -> IO (Maybe DOMWindow)
+domWindowGetFrames self
+  = fmap DOMWindow . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_frames (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"opener\"]"
+        ghcjs_dom_dom_window_get_opener ::
+        JSRef DOMWindow -> IO (JSRef DOMWindow)
+#else 
+ghcjs_dom_dom_window_get_opener ::
+                                  JSRef DOMWindow -> IO (JSRef DOMWindow)
+ghcjs_dom_dom_window_get_opener = undefined
+#endif
+ 
+domWindowGetOpener ::
+                   (IsDOMWindow self) => self -> IO (Maybe DOMWindow)
+domWindowGetOpener self
+  = fmap DOMWindow . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_opener (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"parent\"]"
+        ghcjs_dom_dom_window_get_parent ::
+        JSRef DOMWindow -> IO (JSRef DOMWindow)
+#else 
+ghcjs_dom_dom_window_get_parent ::
+                                  JSRef DOMWindow -> IO (JSRef DOMWindow)
+ghcjs_dom_dom_window_get_parent = undefined
+#endif
+ 
+domWindowGetParent ::
+                   (IsDOMWindow self) => self -> IO (Maybe DOMWindow)
+domWindowGetParent self
+  = fmap DOMWindow . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_parent (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"top\"]"
+        ghcjs_dom_dom_window_get_top ::
+        JSRef DOMWindow -> IO (JSRef DOMWindow)
+#else 
+ghcjs_dom_dom_window_get_top ::
+                               JSRef DOMWindow -> IO (JSRef DOMWindow)
+ghcjs_dom_dom_window_get_top = undefined
+#endif
+ 
+domWindowGetTop ::
+                (IsDOMWindow self) => self -> IO (Maybe DOMWindow)
+domWindowGetTop self
+  = fmap DOMWindow . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_top (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"document\"]"
+        ghcjs_dom_dom_window_get_document ::
+        JSRef DOMWindow -> IO (JSRef Document)
+#else 
+ghcjs_dom_dom_window_get_document ::
+                                    JSRef DOMWindow -> IO (JSRef Document)
+ghcjs_dom_dom_window_get_document = undefined
+#endif
+ 
+domWindowGetDocument ::
+                     (IsDOMWindow self) => self -> IO (Maybe Document)
+domWindowGetDocument self
+  = fmap Document . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_document
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"styleMedia\"]"
+        ghcjs_dom_dom_window_get_style_media ::
+        JSRef DOMWindow -> IO (JSRef StyleMedia)
+#else 
+ghcjs_dom_dom_window_get_style_media ::
+                                       JSRef DOMWindow -> IO (JSRef StyleMedia)
+ghcjs_dom_dom_window_get_style_media = undefined
+#endif
+ 
+domWindowGetStyleMedia ::
+                       (IsDOMWindow self) => self -> IO (Maybe StyleMedia)
+domWindowGetStyleMedia self
+  = fmap StyleMedia . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_style_media
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"devicePixelRatio\"]"
+        ghcjs_dom_dom_window_get_device_pixel_ratio ::
+        JSRef DOMWindow -> IO Double
+#else 
+ghcjs_dom_dom_window_get_device_pixel_ratio ::
+                                              JSRef DOMWindow -> IO Double
+ghcjs_dom_dom_window_get_device_pixel_ratio = undefined
+#endif
+ 
+domWindowGetDevicePixelRatio ::
+                             (IsDOMWindow self) => self -> IO Double
+domWindowGetDevicePixelRatio self
+  = ghcjs_dom_dom_window_get_device_pixel_ratio
+      (unDOMWindow (toDOMWindow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"applicationCache\"]"
+        ghcjs_dom_dom_window_get_application_cache ::
+        JSRef DOMWindow -> IO (JSRef DOMApplicationCache)
+#else 
+ghcjs_dom_dom_window_get_application_cache ::
+                                             JSRef DOMWindow -> IO (JSRef DOMApplicationCache)
+ghcjs_dom_dom_window_get_application_cache = undefined
+#endif
+ 
+domWindowGetApplicationCache ::
+                             (IsDOMWindow self) => self -> IO (Maybe DOMApplicationCache)
+domWindowGetApplicationCache self
+  = fmap DOMApplicationCache . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_application_cache
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"sessionStorage\"]"
+        ghcjs_dom_dom_window_get_session_storage ::
+        JSRef DOMWindow -> IO (JSRef Storage)
+#else 
+ghcjs_dom_dom_window_get_session_storage ::
+                                           JSRef DOMWindow -> IO (JSRef Storage)
+ghcjs_dom_dom_window_get_session_storage = undefined
+#endif
+ 
+domWindowGetSessionStorage ::
+                           (IsDOMWindow self) => self -> IO (Maybe Storage)
+domWindowGetSessionStorage self
+  = fmap Storage . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_session_storage
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"localStorage\"]"
+        ghcjs_dom_dom_window_get_local_storage ::
+        JSRef DOMWindow -> IO (JSRef Storage)
+#else 
+ghcjs_dom_dom_window_get_local_storage ::
+                                         JSRef DOMWindow -> IO (JSRef Storage)
+ghcjs_dom_dom_window_get_local_storage = undefined
+#endif
+ 
+domWindowGetLocalStorage ::
+                         (IsDOMWindow self) => self -> IO (Maybe Storage)
+domWindowGetLocalStorage self
+  = fmap Storage . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_local_storage
+         (unDOMWindow (toDOMWindow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"console\"]"
+        ghcjs_dom_dom_window_get_console ::
+        JSRef DOMWindow -> IO (JSRef Console)
+#else 
+ghcjs_dom_dom_window_get_console ::
+                                   JSRef DOMWindow -> IO (JSRef Console)
+ghcjs_dom_dom_window_get_console = undefined
+#endif
+ 
+domWindowGetConsole ::
+                    (IsDOMWindow self) => self -> IO (Maybe Console)
+domWindowGetConsole self
+  = fmap Console . maybeJSNull <$>
+      (ghcjs_dom_dom_window_get_console (unDOMWindow (toDOMWindow self)))
+ 
+domWindowOnabort ::
+                 (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnabort = (connect "abort")
+ 
+domWindowOnbeforeunload ::
+                        (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnbeforeunload = (connect "beforeunload")
+ 
+domWindowOnblur ::
+                (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnblur = (connect "blur")
+ 
+domWindowOncanplay ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOncanplay = (connect "canplay")
+ 
+domWindowOncanplaythrough ::
+                          (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOncanplaythrough = (connect "canplaythrough")
+ 
+domWindowOnchange ::
+                  (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnchange = (connect "change")
+ 
+domWindowOnclick ::
+                 (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOnclick = (connect "click")
+ 
+domWindowOncontextmenu ::
+                       (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOncontextmenu = (connect "contextmenu")
+ 
+domWindowOndblclick ::
+                    (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOndblclick = (connect "dblclick")
+ 
+domWindowOndrag ::
+                (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOndrag = (connect "drag")
+ 
+domWindowOndragend ::
+                   (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOndragend = (connect "dragend")
+ 
+domWindowOndragenter ::
+                     (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOndragenter = (connect "dragenter")
+ 
+domWindowOndragleave ::
+                     (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOndragleave = (connect "dragleave")
+ 
+domWindowOndragover ::
+                    (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOndragover = (connect "dragover")
+ 
+domWindowOndragstart ::
+                     (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOndragstart = (connect "dragstart")
+ 
+domWindowOndrop ::
+                (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOndrop = (connect "drop")
+ 
+domWindowOndurationchange ::
+                          (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOndurationchange = (connect "durationchange")
+ 
+domWindowOnemptied ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnemptied = (connect "emptied")
+ 
+domWindowOnended ::
+                 (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnended = (connect "ended")
+ 
+domWindowOnerror ::
+                 (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnerror = (connect "error")
+ 
+domWindowOnfocus ::
+                 (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnfocus = (connect "focus")
+ 
+domWindowOnhashchange ::
+                      (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnhashchange = (connect "hashchange")
+ 
+domWindowOninput ::
+                 (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOninput = (connect "input")
+ 
+domWindowOninvalid ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOninvalid = (connect "invalid")
+ 
+domWindowOnkeydown ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnkeydown = (connect "keydown")
+ 
+domWindowOnkeypress ::
+                    (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnkeypress = (connect "keypress")
+ 
+domWindowOnkeyup ::
+                 (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnkeyup = (connect "keyup")
+ 
+domWindowOnload ::
+                (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnload = (connect "load")
+ 
+domWindowOnloadeddata ::
+                      (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnloadeddata = (connect "loadeddata")
+ 
+domWindowOnloadedmetadata ::
+                          (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnloadedmetadata = (connect "loadedmetadata")
+ 
+domWindowOnloadstart ::
+                     (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnloadstart = (connect "loadstart")
+ 
+domWindowOnmessage ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnmessage = (connect "message")
+ 
+domWindowOnmousedown ::
+                     (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOnmousedown = (connect "mousedown")
+ 
+domWindowOnmousemove ::
+                     (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOnmousemove = (connect "mousemove")
+ 
+domWindowOnmouseout ::
+                    (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOnmouseout = (connect "mouseout")
+ 
+domWindowOnmouseover ::
+                     (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOnmouseover = (connect "mouseover")
+ 
+domWindowOnmouseup ::
+                   (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOnmouseup = (connect "mouseup")
+ 
+domWindowOnmousewheel ::
+                      (IsDOMWindow self) => Signal self (EventM MouseEvent self ())
+domWindowOnmousewheel = (connect "mousewheel")
+ 
+domWindowOnoffline ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnoffline = (connect "offline")
+ 
+domWindowOnonline ::
+                  (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnonline = (connect "online")
+ 
+domWindowOnpagehide ::
+                    (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnpagehide = (connect "pagehide")
+ 
+domWindowOnpageshow ::
+                    (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnpageshow = (connect "pageshow")
+ 
+domWindowOnpause ::
+                 (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnpause = (connect "pause")
+ 
+domWindowOnplay ::
+                (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnplay = (connect "play")
+ 
+domWindowOnplaying ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnplaying = (connect "playing")
+ 
+domWindowOnpopstate ::
+                    (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnpopstate = (connect "popstate")
+ 
+domWindowOnprogress ::
+                    (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnprogress = (connect "progress")
+ 
+domWindowOnratechange ::
+                      (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnratechange = (connect "ratechange")
+ 
+domWindowOnresize ::
+                  (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnresize = (connect "resize")
+ 
+domWindowOnscroll ::
+                  (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnscroll = (connect "scroll")
+ 
+domWindowOnseeked ::
+                  (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnseeked = (connect "seeked")
+ 
+domWindowOnseeking ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnseeking = (connect "seeking")
+ 
+domWindowOnselect ::
+                  (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnselect = (connect "select")
+ 
+domWindowOnstalled ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnstalled = (connect "stalled")
+ 
+domWindowOnstorage ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnstorage = (connect "storage")
+ 
+domWindowOnsubmit ::
+                  (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnsubmit = (connect "submit")
+ 
+domWindowOnsuspend ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnsuspend = (connect "suspend")
+ 
+domWindowOntimeupdate ::
+                      (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOntimeupdate = (connect "timeupdate")
+ 
+domWindowOnunload ::
+                  (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnunload = (connect "unload")
+ 
+domWindowOnvolumechange ::
+                        (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnvolumechange = (connect "volumechange")
+ 
+domWindowOnwaiting ::
+                   (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnwaiting = (connect "waiting")
+ 
+domWindowOnreset ::
+                 (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnreset = (connect "reset")
+ 
+domWindowOnsearch ::
+                  (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnsearch = (connect "search")
+ 
+domWindowOnwebkitanimationend ::
+                              (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnwebkitanimationend = (connect "webkitanimationend")
+ 
+domWindowOnwebkitanimationiteration ::
+                                    (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnwebkitanimationiteration
+  = (connect "webkitanimationiteration")
+ 
+domWindowOnwebkitanimationstart ::
+                                (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnwebkitanimationstart = (connect "webkitanimationstart")
+ 
+domWindowOnwebkittransitionend ::
+                               (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnwebkittransitionend = (connect "webkittransitionend")
+ 
+domWindowOntouchstart ::
+                      (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOntouchstart = (connect "touchstart")
+ 
+domWindowOntouchmove ::
+                     (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOntouchmove = (connect "touchmove")
+ 
+domWindowOntouchend ::
+                    (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOntouchend = (connect "touchend")
+ 
+domWindowOntouchcancel ::
+                       (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOntouchcancel = (connect "touchcancel")
+ 
+domWindowOndevicemotion ::
+                        (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOndevicemotion = (connect "devicemotion")
+ 
+domWindowOndeviceorientation ::
+                             (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOndeviceorientation = (connect "deviceorientation")
+ 
+domWindowOnwebkitdeviceproximity ::
+                                 (IsDOMWindow self) => Signal self (EventM UIEvent self ())
+domWindowOnwebkitdeviceproximity
+  = (connect "webkitdeviceproximity")
+#else
+module GHCJS.DOM.DOMWindow (
+  module Graphics.UI.Gtk.WebKit.DOM.DOMWindow
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DOMWindow
+#endif
diff --git a/src/GHCJS/DOM/Document.hs b/src/GHCJS/DOM/Document.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Document.hs
@@ -0,0 +1,1798 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Document
+       (ghcjs_dom_document_create_element, documentCreateElement,
+        ghcjs_dom_document_create_document_fragment,
+        documentCreateDocumentFragment,
+        ghcjs_dom_document_create_text_node, documentCreateTextNode,
+        ghcjs_dom_document_create_comment, documentCreateComment,
+        ghcjs_dom_document_create_cdata_section,
+        documentCreateCDATASection,
+        ghcjs_dom_document_create_processing_instruction,
+        documentCreateProcessingInstruction,
+        ghcjs_dom_document_create_attribute, documentCreateAttribute,
+        ghcjs_dom_document_create_entity_reference,
+        documentCreateEntityReference,
+        ghcjs_dom_document_get_elements_by_tag_name,
+        documentGetElementsByTagName, ghcjs_dom_document_import_node,
+        documentImportNode, ghcjs_dom_document_create_element_ns,
+        documentCreateElementNS, ghcjs_dom_document_create_attribute_ns,
+        documentCreateAttributeNS,
+        ghcjs_dom_document_get_elements_by_tag_name_ns,
+        documentGetElementsByTagNameNS,
+        ghcjs_dom_document_get_element_by_id, documentGetElementById,
+        ghcjs_dom_document_adopt_node, documentAdoptNode,
+        ghcjs_dom_document_create_event, documentCreateEvent,
+        ghcjs_dom_document_create_range, documentCreateRange,
+        ghcjs_dom_document_create_node_iterator,
+        documentCreateNodeIterator, ghcjs_dom_document_create_tree_walker,
+        documentCreateTreeWalker, ghcjs_dom_document_get_override_style,
+        documentGetOverrideStyle, ghcjs_dom_document_create_expression,
+        documentCreateExpression, ghcjs_dom_document_create_ns_resolver,
+        documentCreateNSResolver, ghcjs_dom_document_evaluate,
+        documentEvaluate, ghcjs_dom_document_exec_command,
+        documentExecCommand, ghcjs_dom_document_query_command_enabled,
+        documentQueryCommandEnabled,
+        ghcjs_dom_document_query_command_indeterm,
+        documentQueryCommandIndeterm,
+        ghcjs_dom_document_query_command_state, documentQueryCommandState,
+        ghcjs_dom_document_query_command_supported,
+        documentQueryCommandSupported,
+        ghcjs_dom_document_query_command_value, documentQueryCommandValue,
+        ghcjs_dom_document_get_elements_by_name, documentGetElementsByName,
+        ghcjs_dom_document_element_from_point, documentElementFromPoint,
+        ghcjs_dom_document_caret_range_from_point,
+        documentCaretRangeFromPoint,
+        ghcjs_dom_document_create_css_style_declaration,
+        documentCreateCSSStyleDeclaration,
+        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,
+        documentGetDoctype, ghcjs_dom_document_get_implementation,
+        documentGetImplementation, ghcjs_dom_document_get_document_element,
+        documentGetDocumentElement, ghcjs_dom_document_get_input_encoding,
+        documentGetInputEncoding, ghcjs_dom_document_get_xml_encoding,
+        documentGetXmlEncoding, ghcjs_dom_document_set_xml_version,
+        documentSetXmlVersion, ghcjs_dom_document_get_xml_version,
+        documentGetXmlVersion, ghcjs_dom_document_set_xml_standalone,
+        documentSetXmlStandalone, ghcjs_dom_document_get_xml_standalone,
+        documentGetXmlStandalone, ghcjs_dom_document_set_document_uri,
+        documentSetDocumentURI, ghcjs_dom_document_get_document_uri,
+        documentGetDocumentURI, ghcjs_dom_document_get_default_view,
+        documentGetDefaultView, ghcjs_dom_document_get_style_sheets,
+        documentGetStyleSheets, ghcjs_dom_document_set_title,
+        documentSetTitle, ghcjs_dom_document_get_title, documentGetTitle,
+        ghcjs_dom_document_get_referrer, documentGetReferrer,
+        ghcjs_dom_document_get_domain, documentGetDomain,
+        ghcjs_dom_document_set_cookie, documentSetCookie,
+        ghcjs_dom_document_get_cookie, documentGetCookie,
+        ghcjs_dom_document_set_body, documentSetBody,
+        ghcjs_dom_document_get_body, documentGetBody,
+        ghcjs_dom_document_get_head, documentGetHead,
+        ghcjs_dom_document_get_images, documentGetImages,
+        ghcjs_dom_document_get_applets, documentGetApplets,
+        ghcjs_dom_document_get_links, documentGetLinks,
+        ghcjs_dom_document_get_forms, documentGetForms,
+        ghcjs_dom_document_get_anchors, documentGetAnchors,
+        ghcjs_dom_document_get_last_modified, documentGetLastModified,
+        ghcjs_dom_document_set_charset, documentSetCharset,
+        ghcjs_dom_document_get_charset, documentGetCharset,
+        ghcjs_dom_document_get_default_charset, documentGetDefaultCharset,
+        ghcjs_dom_document_get_ready_state, documentGetReadyState,
+        ghcjs_dom_document_get_character_set, documentGetCharacterSet,
+        ghcjs_dom_document_get_preferred_stylesheet_set,
+        documentGetPreferredStylesheetSet,
+        ghcjs_dom_document_set_selected_stylesheet_set,
+        documentSetSelectedStylesheetSet,
+        ghcjs_dom_document_get_selected_stylesheet_set,
+        documentGetSelectedStylesheetSet,
+        ghcjs_dom_document_get_compat_mode, documentGetCompatMode,
+        ghcjs_dom_document_get_webkit_pointer_lock_element,
+        documentGetWebkitPointerLockElement, documentOnabort,
+        documentOnblur, documentOnchange, documentOnclick,
+        documentOncontextmenu, documentOndblclick, documentOndrag,
+        documentOndragend, documentOndragenter, documentOndragleave,
+        documentOndragover, documentOndragstart, documentOndrop,
+        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,
+        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)
+       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[\"createElement\"]($2)"
+        ghcjs_dom_document_create_element ::
+        JSRef Document -> JSString -> IO (JSRef Element)
+#else 
+ghcjs_dom_document_create_element ::
+                                    JSRef Document -> JSString -> IO (JSRef Element)
+ghcjs_dom_document_create_element = undefined
+#endif
+ 
+documentCreateElement ::
+                      (IsDocument self, ToJSString tagName) =>
+                        self -> tagName -> IO (Maybe Element)
+documentCreateElement self tagName
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_document_create_element (unDocument (toDocument self))
+         (toJSString tagName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createDocumentFragment\"]()"
+        ghcjs_dom_document_create_document_fragment ::
+        JSRef Document -> IO (JSRef DocumentFragment)
+#else 
+ghcjs_dom_document_create_document_fragment ::
+                                              JSRef Document -> IO (JSRef DocumentFragment)
+ghcjs_dom_document_create_document_fragment = undefined
+#endif
+ 
+documentCreateDocumentFragment ::
+                               (IsDocument self) => self -> IO (Maybe DocumentFragment)
+documentCreateDocumentFragment self
+  = fmap DocumentFragment . maybeJSNull <$>
+      (ghcjs_dom_document_create_document_fragment
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createTextNode\"]($2)"
+        ghcjs_dom_document_create_text_node ::
+        JSRef Document -> JSString -> IO (JSRef Text)
+#else 
+ghcjs_dom_document_create_text_node ::
+                                      JSRef Document -> JSString -> IO (JSRef Text)
+ghcjs_dom_document_create_text_node = undefined
+#endif
+ 
+documentCreateTextNode ::
+                       (IsDocument self, ToJSString data') =>
+                         self -> data' -> IO (Maybe Text)
+documentCreateTextNode self data'
+  = fmap Text . maybeJSNull <$>
+      (ghcjs_dom_document_create_text_node (unDocument (toDocument self))
+         (toJSString data'))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createComment\"]($2)"
+        ghcjs_dom_document_create_comment ::
+        JSRef Document -> JSString -> IO (JSRef Comment)
+#else 
+ghcjs_dom_document_create_comment ::
+                                    JSRef Document -> JSString -> IO (JSRef Comment)
+ghcjs_dom_document_create_comment = undefined
+#endif
+ 
+documentCreateComment ::
+                      (IsDocument self, ToJSString data') =>
+                        self -> data' -> IO (Maybe Comment)
+documentCreateComment self data'
+  = fmap Comment . maybeJSNull <$>
+      (ghcjs_dom_document_create_comment (unDocument (toDocument self))
+         (toJSString data'))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createCDATASection\"]($2)"
+        ghcjs_dom_document_create_cdata_section ::
+        JSRef Document -> JSString -> IO (JSRef CDATASection)
+#else 
+ghcjs_dom_document_create_cdata_section ::
+                                          JSRef Document -> JSString -> IO (JSRef CDATASection)
+ghcjs_dom_document_create_cdata_section = undefined
+#endif
+ 
+documentCreateCDATASection ::
+                           (IsDocument self, ToJSString data') =>
+                             self -> data' -> IO (Maybe CDATASection)
+documentCreateCDATASection self data'
+  = fmap CDATASection . maybeJSNull <$>
+      (ghcjs_dom_document_create_cdata_section
+         (unDocument (toDocument self))
+         (toJSString data'))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"createProcessingInstruction\"]($2,\n$3)"
+        ghcjs_dom_document_create_processing_instruction ::
+        JSRef Document ->
+          JSString -> JSString -> IO (JSRef ProcessingInstruction)
+#else 
+ghcjs_dom_document_create_processing_instruction ::
+                                                   JSRef Document ->
+                                                     JSString ->
+                                                       JSString -> IO (JSRef ProcessingInstruction)
+ghcjs_dom_document_create_processing_instruction = undefined
+#endif
+ 
+documentCreateProcessingInstruction ::
+                                    (IsDocument self, ToJSString target, ToJSString data') =>
+                                      self -> target -> data' -> IO (Maybe ProcessingInstruction)
+documentCreateProcessingInstruction self target data'
+  = fmap ProcessingInstruction . maybeJSNull <$>
+      (ghcjs_dom_document_create_processing_instruction
+         (unDocument (toDocument self))
+         (toJSString target)
+         (toJSString data'))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createAttribute\"]($2)"
+        ghcjs_dom_document_create_attribute ::
+        JSRef Document -> JSString -> IO (JSRef DOMAttr)
+#else 
+ghcjs_dom_document_create_attribute ::
+                                      JSRef Document -> JSString -> IO (JSRef DOMAttr)
+ghcjs_dom_document_create_attribute = undefined
+#endif
+ 
+documentCreateAttribute ::
+                        (IsDocument self, ToJSString name) =>
+                          self -> name -> IO (Maybe DOMAttr)
+documentCreateAttribute self name
+  = fmap DOMAttr . maybeJSNull <$>
+      (ghcjs_dom_document_create_attribute (unDocument (toDocument self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"createEntityReference\"]($2)"
+        ghcjs_dom_document_create_entity_reference ::
+        JSRef Document -> JSString -> IO (JSRef EntityReference)
+#else 
+ghcjs_dom_document_create_entity_reference ::
+                                             JSRef Document ->
+                                               JSString -> IO (JSRef EntityReference)
+ghcjs_dom_document_create_entity_reference = undefined
+#endif
+ 
+documentCreateEntityReference ::
+                              (IsDocument self, ToJSString name) =>
+                                self -> name -> IO (Maybe EntityReference)
+documentCreateEntityReference self name
+  = fmap EntityReference . maybeJSNull <$>
+      (ghcjs_dom_document_create_entity_reference
+         (unDocument (toDocument self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getElementsByTagName\"]($2)"
+        ghcjs_dom_document_get_elements_by_tag_name ::
+        JSRef Document -> JSString -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_document_get_elements_by_tag_name ::
+                                              JSRef Document -> JSString -> IO (JSRef NodeList)
+ghcjs_dom_document_get_elements_by_tag_name = undefined
+#endif
+ 
+documentGetElementsByTagName ::
+                             (IsDocument self, ToJSString tagname) =>
+                               self -> tagname -> IO (Maybe NodeList)
+documentGetElementsByTagName self tagname
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_document_get_elements_by_tag_name
+         (unDocument (toDocument self))
+         (toJSString tagname))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"importNode\"]($2, $3)"
+        ghcjs_dom_document_import_node ::
+        JSRef Document -> JSRef Node -> Bool -> IO (JSRef Node)
+#else 
+ghcjs_dom_document_import_node ::
+                                 JSRef Document -> JSRef Node -> Bool -> IO (JSRef Node)
+ghcjs_dom_document_import_node = undefined
+#endif
+ 
+documentImportNode ::
+                   (IsDocument self, IsNode importedNode) =>
+                     self -> Maybe importedNode -> Bool -> IO (Maybe Node)
+documentImportNode self importedNode deep
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_document_import_node (unDocument (toDocument self))
+         (maybe jsNull (unNode . toNode) importedNode)
+         deep)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createElementNS\"]($2, $3)"
+        ghcjs_dom_document_create_element_ns ::
+        JSRef Document -> JSString -> JSString -> IO (JSRef Element)
+#else 
+ghcjs_dom_document_create_element_ns ::
+                                       JSRef Document -> JSString -> JSString -> IO (JSRef Element)
+ghcjs_dom_document_create_element_ns = undefined
+#endif
+ 
+documentCreateElementNS ::
+                        (IsDocument self, ToJSString namespaceURI,
+                         ToJSString qualifiedName) =>
+                          self -> namespaceURI -> qualifiedName -> IO (Maybe Element)
+documentCreateElementNS self namespaceURI qualifiedName
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_document_create_element_ns
+         (unDocument (toDocument self))
+         (toJSString namespaceURI)
+         (toJSString qualifiedName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"createAttributeNS\"]($2, $3)"
+        ghcjs_dom_document_create_attribute_ns ::
+        JSRef Document -> JSString -> JSString -> IO (JSRef DOMAttr)
+#else 
+ghcjs_dom_document_create_attribute_ns ::
+                                         JSRef Document ->
+                                           JSString -> JSString -> IO (JSRef DOMAttr)
+ghcjs_dom_document_create_attribute_ns = undefined
+#endif
+ 
+documentCreateAttributeNS ::
+                          (IsDocument self, ToJSString namespaceURI,
+                           ToJSString qualifiedName) =>
+                            self -> namespaceURI -> qualifiedName -> IO (Maybe DOMAttr)
+documentCreateAttributeNS self namespaceURI qualifiedName
+  = fmap DOMAttr . maybeJSNull <$>
+      (ghcjs_dom_document_create_attribute_ns
+         (unDocument (toDocument self))
+         (toJSString namespaceURI)
+         (toJSString qualifiedName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"getElementsByTagNameNS\"]($2,\n$3)"
+        ghcjs_dom_document_get_elements_by_tag_name_ns ::
+        JSRef Document -> JSString -> JSString -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_document_get_elements_by_tag_name_ns ::
+                                                 JSRef Document ->
+                                                   JSString -> JSString -> IO (JSRef NodeList)
+ghcjs_dom_document_get_elements_by_tag_name_ns = undefined
+#endif
+ 
+documentGetElementsByTagNameNS ::
+                               (IsDocument self, ToJSString namespaceURI, ToJSString localName) =>
+                                 self -> namespaceURI -> localName -> IO (Maybe NodeList)
+documentGetElementsByTagNameNS self namespaceURI localName
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_document_get_elements_by_tag_name_ns
+         (unDocument (toDocument self))
+         (toJSString namespaceURI)
+         (toJSString localName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getElementById\"]($2)"
+        ghcjs_dom_document_get_element_by_id ::
+        JSRef Document -> JSString -> IO (JSRef Element)
+#else 
+ghcjs_dom_document_get_element_by_id ::
+                                       JSRef Document -> JSString -> IO (JSRef Element)
+ghcjs_dom_document_get_element_by_id = undefined
+#endif
+ 
+documentGetElementById ::
+                       (IsDocument self, ToJSString elementId) =>
+                         self -> elementId -> IO (Maybe Element)
+documentGetElementById self elementId
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_document_get_element_by_id
+         (unDocument (toDocument self))
+         (toJSString elementId))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"adoptNode\"]($2)"
+        ghcjs_dom_document_adopt_node ::
+        JSRef Document -> JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_document_adopt_node ::
+                                JSRef Document -> JSRef Node -> IO (JSRef Node)
+ghcjs_dom_document_adopt_node = undefined
+#endif
+ 
+documentAdoptNode ::
+                  (IsDocument self, IsNode source) =>
+                    self -> Maybe source -> IO (Maybe Node)
+documentAdoptNode self source
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_document_adopt_node (unDocument (toDocument self))
+         (maybe jsNull (unNode . toNode) source))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createEvent\"]($2)"
+        ghcjs_dom_document_create_event ::
+        JSRef Document -> JSString -> IO (JSRef Event)
+#else 
+ghcjs_dom_document_create_event ::
+                                  JSRef Document -> JSString -> IO (JSRef Event)
+ghcjs_dom_document_create_event = undefined
+#endif
+ 
+documentCreateEvent ::
+                    (IsDocument self, ToJSString eventType) =>
+                      self -> eventType -> IO (Maybe Event)
+documentCreateEvent self eventType
+  = fmap Event . maybeJSNull <$>
+      (ghcjs_dom_document_create_event (unDocument (toDocument self))
+         (toJSString eventType))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createRange\"]()"
+        ghcjs_dom_document_create_range ::
+        JSRef Document -> IO (JSRef DOMRange)
+#else 
+ghcjs_dom_document_create_range ::
+                                  JSRef Document -> IO (JSRef DOMRange)
+ghcjs_dom_document_create_range = undefined
+#endif
+ 
+documentCreateRange ::
+                    (IsDocument self) => self -> IO (Maybe DOMRange)
+documentCreateRange self
+  = fmap DOMRange . maybeJSNull <$>
+      (ghcjs_dom_document_create_range (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"createNodeIterator\"]($2, $3,\n$4, $5)"
+        ghcjs_dom_document_create_node_iterator ::
+        JSRef Document ->
+          JSRef Node ->
+            Word -> JSRef NodeFilter -> Bool -> IO (JSRef NodeIterator)
+#else 
+ghcjs_dom_document_create_node_iterator ::
+                                          JSRef Document ->
+                                            JSRef Node ->
+                                              Word ->
+                                                JSRef NodeFilter -> Bool -> IO (JSRef NodeIterator)
+ghcjs_dom_document_create_node_iterator = undefined
+#endif
+ 
+documentCreateNodeIterator ::
+                           (IsDocument self, IsNode root, IsNodeFilter filter) =>
+                             self ->
+                               Maybe root ->
+                                 Word -> Maybe filter -> Bool -> IO (Maybe NodeIterator)
+documentCreateNodeIterator self root whatToShow filter
+  expandEntityReferences
+  = fmap NodeIterator . maybeJSNull <$>
+      (ghcjs_dom_document_create_node_iterator
+         (unDocument (toDocument self))
+         (maybe jsNull (unNode . toNode) root)
+         whatToShow
+         (maybe jsNull (unNodeFilter . toNodeFilter) filter)
+         expandEntityReferences)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"createTreeWalker\"]($2, $3,\n$4, $5)"
+        ghcjs_dom_document_create_tree_walker ::
+        JSRef Document ->
+          JSRef Node ->
+            Word -> JSRef NodeFilter -> Bool -> IO (JSRef TreeWalker)
+#else 
+ghcjs_dom_document_create_tree_walker ::
+                                        JSRef Document ->
+                                          JSRef Node ->
+                                            Word ->
+                                              JSRef NodeFilter -> Bool -> IO (JSRef TreeWalker)
+ghcjs_dom_document_create_tree_walker = undefined
+#endif
+ 
+documentCreateTreeWalker ::
+                         (IsDocument self, IsNode root, IsNodeFilter filter) =>
+                           self ->
+                             Maybe root -> Word -> Maybe filter -> Bool -> IO (Maybe TreeWalker)
+documentCreateTreeWalker self root whatToShow filter
+  expandEntityReferences
+  = fmap TreeWalker . maybeJSNull <$>
+      (ghcjs_dom_document_create_tree_walker
+         (unDocument (toDocument self))
+         (maybe jsNull (unNode . toNode) root)
+         whatToShow
+         (maybe jsNull (unNodeFilter . toNodeFilter) filter)
+         expandEntityReferences)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getOverrideStyle\"]($2, $3)"
+        ghcjs_dom_document_get_override_style ::
+        JSRef Document ->
+          JSRef Element -> JSString -> IO (JSRef CSSStyleDeclaration)
+#else 
+ghcjs_dom_document_get_override_style ::
+                                        JSRef Document ->
+                                          JSRef Element ->
+                                            JSString -> IO (JSRef CSSStyleDeclaration)
+ghcjs_dom_document_get_override_style = undefined
+#endif
+ 
+documentGetOverrideStyle ::
+                         (IsDocument self, IsElement element, ToJSString pseudoElement) =>
+                           self ->
+                             Maybe element -> pseudoElement -> IO (Maybe CSSStyleDeclaration)
+documentGetOverrideStyle self element pseudoElement
+  = fmap CSSStyleDeclaration . maybeJSNull <$>
+      (ghcjs_dom_document_get_override_style
+         (unDocument (toDocument self))
+         (maybe jsNull (unElement . toElement) element)
+         (toJSString pseudoElement))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createExpression\"]($2, $3)"
+        ghcjs_dom_document_create_expression ::
+        JSRef Document ->
+          JSString -> JSRef XPathNSResolver -> IO (JSRef XPathExpression)
+#else 
+ghcjs_dom_document_create_expression ::
+                                       JSRef Document ->
+                                         JSString ->
+                                           JSRef XPathNSResolver -> IO (JSRef XPathExpression)
+ghcjs_dom_document_create_expression = undefined
+#endif
+ 
+documentCreateExpression ::
+                         (IsDocument self, ToJSString expression,
+                          IsXPathNSResolver resolver) =>
+                           self -> expression -> Maybe resolver -> IO (Maybe XPathExpression)
+documentCreateExpression self expression resolver
+  = fmap XPathExpression . maybeJSNull <$>
+      (ghcjs_dom_document_create_expression
+         (unDocument (toDocument self))
+         (toJSString expression)
+         (maybe jsNull (unXPathNSResolver . toXPathNSResolver) resolver))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createNSResolver\"]($2)"
+        ghcjs_dom_document_create_ns_resolver ::
+        JSRef Document -> JSRef Node -> IO (JSRef XPathNSResolver)
+#else 
+ghcjs_dom_document_create_ns_resolver ::
+                                        JSRef Document -> JSRef Node -> IO (JSRef XPathNSResolver)
+ghcjs_dom_document_create_ns_resolver = undefined
+#endif
+ 
+documentCreateNSResolver ::
+                         (IsDocument self, IsNode nodeResolver) =>
+                           self -> Maybe nodeResolver -> IO (Maybe XPathNSResolver)
+documentCreateNSResolver self nodeResolver
+  = fmap XPathNSResolver . maybeJSNull <$>
+      (ghcjs_dom_document_create_ns_resolver
+         (unDocument (toDocument self))
+         (maybe jsNull (unNode . toNode) nodeResolver))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"evaluate\"]($2, $3, $4, $5,\n$6)" ghcjs_dom_document_evaluate
+        ::
+        JSRef Document ->
+          JSString ->
+            JSRef Node ->
+              JSRef XPathNSResolver ->
+                Word -> JSRef XPathResult -> IO (JSRef XPathResult)
+#else 
+ghcjs_dom_document_evaluate ::
+                              JSRef Document ->
+                                JSString ->
+                                  JSRef Node ->
+                                    JSRef XPathNSResolver ->
+                                      Word -> JSRef XPathResult -> IO (JSRef XPathResult)
+ghcjs_dom_document_evaluate = undefined
+#endif
+ 
+documentEvaluate ::
+                 (IsDocument self, ToJSString expression, IsNode contextNode,
+                  IsXPathNSResolver resolver, IsXPathResult inResult) =>
+                   self ->
+                     expression ->
+                       Maybe contextNode ->
+                         Maybe resolver -> Word -> Maybe inResult -> IO (Maybe XPathResult)
+documentEvaluate self expression contextNode resolver type'
+  inResult
+  = fmap XPathResult . maybeJSNull <$>
+      (ghcjs_dom_document_evaluate (unDocument (toDocument self))
+         (toJSString expression)
+         (maybe jsNull (unNode . toNode) contextNode)
+         (maybe jsNull (unXPathNSResolver . toXPathNSResolver) resolver)
+         type'
+         (maybe jsNull (unXPathResult . toXPathResult) inResult))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"execCommand\"]($2, $3,\n$4) ? 1 : 0)"
+        ghcjs_dom_document_exec_command ::
+        JSRef Document -> JSString -> Bool -> JSString -> IO Bool
+#else 
+ghcjs_dom_document_exec_command ::
+                                  JSRef Document -> JSString -> Bool -> JSString -> IO Bool
+ghcjs_dom_document_exec_command = undefined
+#endif
+ 
+documentExecCommand ::
+                    (IsDocument self, ToJSString command, ToJSString value) =>
+                      self -> command -> Bool -> value -> IO Bool
+documentExecCommand self command userInterface value
+  = ghcjs_dom_document_exec_command (unDocument (toDocument self))
+      (toJSString command)
+      userInterface
+      (toJSString value)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"queryCommandEnabled\"]($2) ? 1 : 0)"
+        ghcjs_dom_document_query_command_enabled ::
+        JSRef Document -> JSString -> IO Bool
+#else 
+ghcjs_dom_document_query_command_enabled ::
+                                           JSRef Document -> JSString -> IO Bool
+ghcjs_dom_document_query_command_enabled = undefined
+#endif
+ 
+documentQueryCommandEnabled ::
+                            (IsDocument self, ToJSString command) => self -> command -> IO Bool
+documentQueryCommandEnabled self command
+  = ghcjs_dom_document_query_command_enabled
+      (unDocument (toDocument self))
+      (toJSString command)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"queryCommandIndeterm\"]($2) ? 1 : 0)"
+        ghcjs_dom_document_query_command_indeterm ::
+        JSRef Document -> JSString -> IO Bool
+#else 
+ghcjs_dom_document_query_command_indeterm ::
+                                            JSRef Document -> JSString -> IO Bool
+ghcjs_dom_document_query_command_indeterm = undefined
+#endif
+ 
+documentQueryCommandIndeterm ::
+                             (IsDocument self, ToJSString command) => self -> command -> IO Bool
+documentQueryCommandIndeterm self command
+  = ghcjs_dom_document_query_command_indeterm
+      (unDocument (toDocument self))
+      (toJSString command)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"queryCommandState\"]($2) ? 1 : 0)"
+        ghcjs_dom_document_query_command_state ::
+        JSRef Document -> JSString -> IO Bool
+#else 
+ghcjs_dom_document_query_command_state ::
+                                         JSRef Document -> JSString -> IO Bool
+ghcjs_dom_document_query_command_state = undefined
+#endif
+ 
+documentQueryCommandState ::
+                          (IsDocument self, ToJSString command) => self -> command -> IO Bool
+documentQueryCommandState self command
+  = ghcjs_dom_document_query_command_state
+      (unDocument (toDocument self))
+      (toJSString command)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"queryCommandSupported\"]($2) ? 1 : 0)"
+        ghcjs_dom_document_query_command_supported ::
+        JSRef Document -> JSString -> IO Bool
+#else 
+ghcjs_dom_document_query_command_supported ::
+                                             JSRef Document -> JSString -> IO Bool
+ghcjs_dom_document_query_command_supported = undefined
+#endif
+ 
+documentQueryCommandSupported ::
+                              (IsDocument self, ToJSString command) => self -> command -> IO Bool
+documentQueryCommandSupported self command
+  = ghcjs_dom_document_query_command_supported
+      (unDocument (toDocument self))
+      (toJSString command)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"queryCommandValue\"]($2)"
+        ghcjs_dom_document_query_command_value ::
+        JSRef Document -> JSString -> IO JSString
+#else 
+ghcjs_dom_document_query_command_value ::
+                                         JSRef Document -> JSString -> IO JSString
+ghcjs_dom_document_query_command_value = undefined
+#endif
+ 
+documentQueryCommandValue ::
+                          (IsDocument self, ToJSString command, FromJSString result) =>
+                            self -> command -> IO result
+documentQueryCommandValue self command
+  = fromJSString <$>
+      (ghcjs_dom_document_query_command_value
+         (unDocument (toDocument self))
+         (toJSString command))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getElementsByName\"]($2)"
+        ghcjs_dom_document_get_elements_by_name ::
+        JSRef Document -> JSString -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_document_get_elements_by_name ::
+                                          JSRef Document -> JSString -> IO (JSRef NodeList)
+ghcjs_dom_document_get_elements_by_name = undefined
+#endif
+ 
+documentGetElementsByName ::
+                          (IsDocument self, ToJSString elementName) =>
+                            self -> elementName -> IO (Maybe NodeList)
+documentGetElementsByName self elementName
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_document_get_elements_by_name
+         (unDocument (toDocument self))
+         (toJSString elementName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"elementFromPoint\"]($2, $3)"
+        ghcjs_dom_document_element_from_point ::
+        JSRef Document -> Int -> Int -> IO (JSRef Element)
+#else 
+ghcjs_dom_document_element_from_point ::
+                                        JSRef Document -> Int -> Int -> IO (JSRef Element)
+ghcjs_dom_document_element_from_point = undefined
+#endif
+ 
+documentElementFromPoint ::
+                         (IsDocument self) => self -> Int -> Int -> IO (Maybe Element)
+documentElementFromPoint self x y
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_document_element_from_point
+         (unDocument (toDocument self))
+         x
+         y)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"caretRangeFromPoint\"]($2,\n$3)"
+        ghcjs_dom_document_caret_range_from_point ::
+        JSRef Document -> Int -> Int -> IO (JSRef DOMRange)
+#else 
+ghcjs_dom_document_caret_range_from_point ::
+                                            JSRef Document -> Int -> Int -> IO (JSRef DOMRange)
+ghcjs_dom_document_caret_range_from_point = undefined
+#endif
+ 
+documentCaretRangeFromPoint ::
+                            (IsDocument self) => self -> Int -> Int -> IO (Maybe DOMRange)
+documentCaretRangeFromPoint self x y
+  = fmap DOMRange . maybeJSNull <$>
+      (ghcjs_dom_document_caret_range_from_point
+         (unDocument (toDocument self))
+         x
+         y)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"createCSSStyleDeclaration\"]()"
+        ghcjs_dom_document_create_css_style_declaration ::
+        JSRef Document -> IO (JSRef CSSStyleDeclaration)
+#else 
+ghcjs_dom_document_create_css_style_declaration ::
+                                                  JSRef Document -> IO (JSRef CSSStyleDeclaration)
+ghcjs_dom_document_create_css_style_declaration = undefined
+#endif
+ 
+documentCreateCSSStyleDeclaration ::
+                                  (IsDocument self) => self -> IO (Maybe CSSStyleDeclaration)
+documentCreateCSSStyleDeclaration self
+  = fmap CSSStyleDeclaration . maybeJSNull <$>
+      (ghcjs_dom_document_create_css_style_declaration
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"getElementsByClassName\"]($2)"
+        ghcjs_dom_document_get_elements_by_class_name ::
+        JSRef Document -> JSString -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_document_get_elements_by_class_name ::
+                                                JSRef Document -> JSString -> IO (JSRef NodeList)
+ghcjs_dom_document_get_elements_by_class_name = undefined
+#endif
+ 
+documentGetElementsByClassName ::
+                               (IsDocument self, ToJSString tagname) =>
+                                 self -> tagname -> IO (Maybe NodeList)
+documentGetElementsByClassName self tagname
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_document_get_elements_by_class_name
+         (unDocument (toDocument self))
+         (toJSString tagname))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"querySelector\"]($2)"
+        ghcjs_dom_document_query_selector ::
+        JSRef Document -> JSString -> IO (JSRef Element)
+#else 
+ghcjs_dom_document_query_selector ::
+                                    JSRef Document -> JSString -> IO (JSRef Element)
+ghcjs_dom_document_query_selector = undefined
+#endif
+ 
+documentQuerySelector ::
+                      (IsDocument self, ToJSString selectors) =>
+                        self -> selectors -> IO (Maybe Element)
+documentQuerySelector self selectors
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_document_query_selector (unDocument (toDocument self))
+         (toJSString selectors))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"querySelectorAll\"]($2)"
+        ghcjs_dom_document_query_selector_all ::
+        JSRef Document -> JSString -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_document_query_selector_all ::
+                                        JSRef Document -> JSString -> IO (JSRef NodeList)
+ghcjs_dom_document_query_selector_all = undefined
+#endif
+ 
+documentQuerySelectorAll ::
+                         (IsDocument self, ToJSString selectors) =>
+                           self -> selectors -> IO (Maybe NodeList)
+documentQuerySelectorAll self selectors
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_document_query_selector_all
+         (unDocument (toDocument self))
+         (toJSString selectors))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"doctype\"]"
+        ghcjs_dom_document_get_doctype ::
+        JSRef Document -> IO (JSRef DocumentType)
+#else 
+ghcjs_dom_document_get_doctype ::
+                                 JSRef Document -> IO (JSRef DocumentType)
+ghcjs_dom_document_get_doctype = undefined
+#endif
+ 
+documentGetDoctype ::
+                   (IsDocument self) => self -> IO (Maybe DocumentType)
+documentGetDoctype self
+  = fmap DocumentType . maybeJSNull <$>
+      (ghcjs_dom_document_get_doctype (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"implementation\"]"
+        ghcjs_dom_document_get_implementation ::
+        JSRef Document -> IO (JSRef DOMImplementation)
+#else 
+ghcjs_dom_document_get_implementation ::
+                                        JSRef Document -> IO (JSRef DOMImplementation)
+ghcjs_dom_document_get_implementation = undefined
+#endif
+ 
+documentGetImplementation ::
+                          (IsDocument self) => self -> IO (Maybe DOMImplementation)
+documentGetImplementation self
+  = fmap DOMImplementation . maybeJSNull <$>
+      (ghcjs_dom_document_get_implementation
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"documentElement\"]"
+        ghcjs_dom_document_get_document_element ::
+        JSRef Document -> IO (JSRef Element)
+#else 
+ghcjs_dom_document_get_document_element ::
+                                          JSRef Document -> IO (JSRef Element)
+ghcjs_dom_document_get_document_element = undefined
+#endif
+ 
+documentGetDocumentElement ::
+                           (IsDocument self) => self -> IO (Maybe Element)
+documentGetDocumentElement self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_document_get_document_element
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"inputEncoding\"]"
+        ghcjs_dom_document_get_input_encoding ::
+        JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_input_encoding ::
+                                        JSRef Document -> IO JSString
+ghcjs_dom_document_get_input_encoding = undefined
+#endif
+ 
+documentGetInputEncoding ::
+                         (IsDocument self, FromJSString result) => self -> IO result
+documentGetInputEncoding self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_input_encoding
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"xmlEncoding\"]"
+        ghcjs_dom_document_get_xml_encoding ::
+        JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_xml_encoding ::
+                                      JSRef Document -> IO JSString
+ghcjs_dom_document_get_xml_encoding = undefined
+#endif
+ 
+documentGetXmlEncoding ::
+                       (IsDocument self, FromJSString result) => self -> IO result
+documentGetXmlEncoding self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_xml_encoding
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"xmlVersion\"] = $2;"
+        ghcjs_dom_document_set_xml_version ::
+        JSRef Document -> JSString -> IO ()
+#else 
+ghcjs_dom_document_set_xml_version ::
+                                     JSRef Document -> JSString -> IO ()
+ghcjs_dom_document_set_xml_version = undefined
+#endif
+ 
+documentSetXmlVersion ::
+                      (IsDocument self, ToJSString val) => self -> val -> IO ()
+documentSetXmlVersion self val
+  = ghcjs_dom_document_set_xml_version (unDocument (toDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"xmlVersion\"]"
+        ghcjs_dom_document_get_xml_version :: JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_xml_version :: JSRef Document -> IO JSString
+ghcjs_dom_document_get_xml_version = undefined
+#endif
+ 
+documentGetXmlVersion ::
+                      (IsDocument self, FromJSString result) => self -> IO result
+documentGetXmlVersion self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_xml_version (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"xmlStandalone\"] = $2;"
+        ghcjs_dom_document_set_xml_standalone ::
+        JSRef Document -> Bool -> IO ()
+#else 
+ghcjs_dom_document_set_xml_standalone ::
+                                        JSRef Document -> Bool -> IO ()
+ghcjs_dom_document_set_xml_standalone = undefined
+#endif
+ 
+documentSetXmlStandalone ::
+                         (IsDocument self) => self -> Bool -> IO ()
+documentSetXmlStandalone self val
+  = ghcjs_dom_document_set_xml_standalone
+      (unDocument (toDocument self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"xmlStandalone\"] ? 1 : 0)"
+        ghcjs_dom_document_get_xml_standalone :: JSRef Document -> IO Bool
+#else 
+ghcjs_dom_document_get_xml_standalone :: JSRef Document -> IO Bool
+ghcjs_dom_document_get_xml_standalone = undefined
+#endif
+ 
+documentGetXmlStandalone :: (IsDocument self) => self -> IO Bool
+documentGetXmlStandalone self
+  = ghcjs_dom_document_get_xml_standalone
+      (unDocument (toDocument self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"documentURI\"] = $2;"
+        ghcjs_dom_document_set_document_uri ::
+        JSRef Document -> JSString -> IO ()
+#else 
+ghcjs_dom_document_set_document_uri ::
+                                      JSRef Document -> JSString -> IO ()
+ghcjs_dom_document_set_document_uri = undefined
+#endif
+ 
+documentSetDocumentURI ::
+                       (IsDocument self, ToJSString val) => self -> val -> IO ()
+documentSetDocumentURI self val
+  = ghcjs_dom_document_set_document_uri
+      (unDocument (toDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"documentURI\"]"
+        ghcjs_dom_document_get_document_uri ::
+        JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_document_uri ::
+                                      JSRef Document -> IO JSString
+ghcjs_dom_document_get_document_uri = undefined
+#endif
+ 
+documentGetDocumentURI ::
+                       (IsDocument self, FromJSString result) => self -> IO result
+documentGetDocumentURI self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_document_uri
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultView\"]"
+        ghcjs_dom_document_get_default_view ::
+        JSRef Document -> IO (JSRef DOMWindow)
+#else 
+ghcjs_dom_document_get_default_view ::
+                                      JSRef Document -> IO (JSRef DOMWindow)
+ghcjs_dom_document_get_default_view = undefined
+#endif
+ 
+documentGetDefaultView ::
+                       (IsDocument self) => self -> IO (Maybe DOMWindow)
+documentGetDefaultView self
+  = fmap DOMWindow . maybeJSNull <$>
+      (ghcjs_dom_document_get_default_view
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"styleSheets\"]"
+        ghcjs_dom_document_get_style_sheets ::
+        JSRef Document -> IO (JSRef StyleSheetList)
+#else 
+ghcjs_dom_document_get_style_sheets ::
+                                      JSRef Document -> IO (JSRef StyleSheetList)
+ghcjs_dom_document_get_style_sheets = undefined
+#endif
+ 
+documentGetStyleSheets ::
+                       (IsDocument self) => self -> IO (Maybe StyleSheetList)
+documentGetStyleSheets self
+  = fmap StyleSheetList . maybeJSNull <$>
+      (ghcjs_dom_document_get_style_sheets
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"title\"] = $2;"
+        ghcjs_dom_document_set_title :: JSRef Document -> JSString -> IO ()
+#else 
+ghcjs_dom_document_set_title :: JSRef Document -> JSString -> IO ()
+ghcjs_dom_document_set_title = undefined
+#endif
+ 
+documentSetTitle ::
+                 (IsDocument self, ToJSString val) => self -> val -> IO ()
+documentSetTitle self val
+  = ghcjs_dom_document_set_title (unDocument (toDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"title\"]"
+        ghcjs_dom_document_get_title :: JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_title :: JSRef Document -> IO JSString
+ghcjs_dom_document_get_title = undefined
+#endif
+ 
+documentGetTitle ::
+                 (IsDocument self, FromJSString result) => self -> IO result
+documentGetTitle self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_title (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"referrer\"]"
+        ghcjs_dom_document_get_referrer :: JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_referrer :: JSRef Document -> IO JSString
+ghcjs_dom_document_get_referrer = undefined
+#endif
+ 
+documentGetReferrer ::
+                    (IsDocument self, FromJSString result) => self -> IO result
+documentGetReferrer self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_referrer (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"domain\"]"
+        ghcjs_dom_document_get_domain :: JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_domain :: JSRef Document -> IO JSString
+ghcjs_dom_document_get_domain = undefined
+#endif
+ 
+documentGetDomain ::
+                  (IsDocument self, FromJSString result) => self -> IO result
+documentGetDomain self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_domain (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cookie\"] = $2;"
+        ghcjs_dom_document_set_cookie ::
+        JSRef Document -> JSString -> IO ()
+#else 
+ghcjs_dom_document_set_cookie ::
+                                JSRef Document -> JSString -> IO ()
+ghcjs_dom_document_set_cookie = undefined
+#endif
+ 
+documentSetCookie ::
+                  (IsDocument self, ToJSString val) => self -> val -> IO ()
+documentSetCookie self val
+  = ghcjs_dom_document_set_cookie (unDocument (toDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cookie\"]"
+        ghcjs_dom_document_get_cookie :: JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_cookie :: JSRef Document -> IO JSString
+ghcjs_dom_document_get_cookie = undefined
+#endif
+ 
+documentGetCookie ::
+                  (IsDocument self, FromJSString result) => self -> IO result
+documentGetCookie self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_cookie (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"body\"] = $2;"
+        ghcjs_dom_document_set_body ::
+        JSRef Document -> JSRef HTMLElement -> IO ()
+#else 
+ghcjs_dom_document_set_body ::
+                              JSRef Document -> JSRef HTMLElement -> IO ()
+ghcjs_dom_document_set_body = undefined
+#endif
+ 
+documentSetBody ::
+                (IsDocument self, IsHTMLElement val) => self -> Maybe val -> IO ()
+documentSetBody self val
+  = ghcjs_dom_document_set_body (unDocument (toDocument self))
+      (maybe jsNull (unHTMLElement . toHTMLElement) val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"body\"]"
+        ghcjs_dom_document_get_body ::
+        JSRef Document -> IO (JSRef HTMLElement)
+#else 
+ghcjs_dom_document_get_body ::
+                              JSRef Document -> IO (JSRef HTMLElement)
+ghcjs_dom_document_get_body = undefined
+#endif
+ 
+documentGetBody ::
+                (IsDocument self) => self -> IO (Maybe HTMLElement)
+documentGetBody self
+  = fmap HTMLElement . maybeJSNull <$>
+      (ghcjs_dom_document_get_body (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"head\"]"
+        ghcjs_dom_document_get_head ::
+        JSRef Document -> IO (JSRef HTMLHeadElement)
+#else 
+ghcjs_dom_document_get_head ::
+                              JSRef Document -> IO (JSRef HTMLHeadElement)
+ghcjs_dom_document_get_head = undefined
+#endif
+ 
+documentGetHead ::
+                (IsDocument self) => self -> IO (Maybe HTMLHeadElement)
+documentGetHead self
+  = fmap HTMLHeadElement . maybeJSNull <$>
+      (ghcjs_dom_document_get_head (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"images\"]"
+        ghcjs_dom_document_get_images ::
+        JSRef Document -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_document_get_images ::
+                                JSRef Document -> IO (JSRef HTMLCollection)
+ghcjs_dom_document_get_images = undefined
+#endif
+ 
+documentGetImages ::
+                  (IsDocument self) => self -> IO (Maybe HTMLCollection)
+documentGetImages self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_document_get_images (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"applets\"]"
+        ghcjs_dom_document_get_applets ::
+        JSRef Document -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_document_get_applets ::
+                                 JSRef Document -> IO (JSRef HTMLCollection)
+ghcjs_dom_document_get_applets = undefined
+#endif
+ 
+documentGetApplets ::
+                   (IsDocument self) => self -> IO (Maybe HTMLCollection)
+documentGetApplets self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_document_get_applets (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"links\"]"
+        ghcjs_dom_document_get_links ::
+        JSRef Document -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_document_get_links ::
+                               JSRef Document -> IO (JSRef HTMLCollection)
+ghcjs_dom_document_get_links = undefined
+#endif
+ 
+documentGetLinks ::
+                 (IsDocument self) => self -> IO (Maybe HTMLCollection)
+documentGetLinks self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_document_get_links (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"forms\"]"
+        ghcjs_dom_document_get_forms ::
+        JSRef Document -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_document_get_forms ::
+                               JSRef Document -> IO (JSRef HTMLCollection)
+ghcjs_dom_document_get_forms = undefined
+#endif
+ 
+documentGetForms ::
+                 (IsDocument self) => self -> IO (Maybe HTMLCollection)
+documentGetForms self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_document_get_forms (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"anchors\"]"
+        ghcjs_dom_document_get_anchors ::
+        JSRef Document -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_document_get_anchors ::
+                                 JSRef Document -> IO (JSRef HTMLCollection)
+ghcjs_dom_document_get_anchors = undefined
+#endif
+ 
+documentGetAnchors ::
+                   (IsDocument self) => self -> IO (Maybe HTMLCollection)
+documentGetAnchors self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_document_get_anchors (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"lastModified\"]"
+        ghcjs_dom_document_get_last_modified ::
+        JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_last_modified ::
+                                       JSRef Document -> IO JSString
+ghcjs_dom_document_get_last_modified = undefined
+#endif
+ 
+documentGetLastModified ::
+                        (IsDocument self, FromJSString result) => self -> IO result
+documentGetLastModified self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_last_modified
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"charset\"] = $2;"
+        ghcjs_dom_document_set_charset ::
+        JSRef Document -> JSString -> IO ()
+#else 
+ghcjs_dom_document_set_charset ::
+                                 JSRef Document -> JSString -> IO ()
+ghcjs_dom_document_set_charset = undefined
+#endif
+ 
+documentSetCharset ::
+                   (IsDocument self, ToJSString val) => self -> val -> IO ()
+documentSetCharset self val
+  = ghcjs_dom_document_set_charset (unDocument (toDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"charset\"]"
+        ghcjs_dom_document_get_charset :: JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_charset :: JSRef Document -> IO JSString
+ghcjs_dom_document_get_charset = undefined
+#endif
+ 
+documentGetCharset ::
+                   (IsDocument self, FromJSString result) => self -> IO result
+documentGetCharset self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_charset (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultCharset\"]"
+        ghcjs_dom_document_get_default_charset ::
+        JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_default_charset ::
+                                         JSRef Document -> IO JSString
+ghcjs_dom_document_get_default_charset = undefined
+#endif
+ 
+documentGetDefaultCharset ::
+                          (IsDocument self, FromJSString result) => self -> IO result
+documentGetDefaultCharset self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_default_charset
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"readyState\"]"
+        ghcjs_dom_document_get_ready_state :: JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_ready_state :: JSRef Document -> IO JSString
+ghcjs_dom_document_get_ready_state = undefined
+#endif
+ 
+documentGetReadyState ::
+                      (IsDocument self, FromJSString result) => self -> IO result
+documentGetReadyState self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_ready_state (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"characterSet\"]"
+        ghcjs_dom_document_get_character_set ::
+        JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_character_set ::
+                                       JSRef Document -> IO JSString
+ghcjs_dom_document_get_character_set = undefined
+#endif
+ 
+documentGetCharacterSet ::
+                        (IsDocument self, FromJSString result) => self -> IO result
+documentGetCharacterSet self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_character_set
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"preferredStylesheetSet\"]"
+        ghcjs_dom_document_get_preferred_stylesheet_set ::
+        JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_preferred_stylesheet_set ::
+                                                  JSRef Document -> IO JSString
+ghcjs_dom_document_get_preferred_stylesheet_set = undefined
+#endif
+ 
+documentGetPreferredStylesheetSet ::
+                                  (IsDocument self, FromJSString result) => self -> IO result
+documentGetPreferredStylesheetSet self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_preferred_stylesheet_set
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"selectedStylesheetSet\"] = $2;"
+        ghcjs_dom_document_set_selected_stylesheet_set ::
+        JSRef Document -> JSString -> IO ()
+#else 
+ghcjs_dom_document_set_selected_stylesheet_set ::
+                                                 JSRef Document -> JSString -> IO ()
+ghcjs_dom_document_set_selected_stylesheet_set = undefined
+#endif
+ 
+documentSetSelectedStylesheetSet ::
+                                 (IsDocument self, ToJSString val) => self -> val -> IO ()
+documentSetSelectedStylesheetSet self val
+  = ghcjs_dom_document_set_selected_stylesheet_set
+      (unDocument (toDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectedStylesheetSet\"]"
+        ghcjs_dom_document_get_selected_stylesheet_set ::
+        JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_selected_stylesheet_set ::
+                                                 JSRef Document -> IO JSString
+ghcjs_dom_document_get_selected_stylesheet_set = undefined
+#endif
+ 
+documentGetSelectedStylesheetSet ::
+                                 (IsDocument self, FromJSString result) => self -> IO result
+documentGetSelectedStylesheetSet self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_selected_stylesheet_set
+         (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"compatMode\"]"
+        ghcjs_dom_document_get_compat_mode :: JSRef Document -> IO JSString
+#else 
+ghcjs_dom_document_get_compat_mode :: JSRef Document -> IO JSString
+ghcjs_dom_document_get_compat_mode = undefined
+#endif
+ 
+documentGetCompatMode ::
+                      (IsDocument self, FromJSString result) => self -> IO result
+documentGetCompatMode self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_compat_mode (unDocument (toDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitPointerLockElement\"]"
+        ghcjs_dom_document_get_webkit_pointer_lock_element ::
+        JSRef Document -> IO (JSRef Element)
+#else 
+ghcjs_dom_document_get_webkit_pointer_lock_element ::
+                                                     JSRef Document -> IO (JSRef Element)
+ghcjs_dom_document_get_webkit_pointer_lock_element = undefined
+#endif
+ 
+documentGetWebkitPointerLockElement ::
+                                    (IsDocument self) => self -> IO (Maybe Element)
+documentGetWebkitPointerLockElement self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_document_get_webkit_pointer_lock_element
+         (unDocument (toDocument self)))
+ 
+documentOnabort ::
+                (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnabort = (connect "abort")
+ 
+documentOnblur ::
+               (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnblur = (connect "blur")
+ 
+documentOnchange ::
+                 (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnchange = (connect "change")
+ 
+documentOnclick ::
+                (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOnclick = (connect "click")
+ 
+documentOncontextmenu ::
+                      (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOncontextmenu = (connect "contextmenu")
+ 
+documentOndblclick ::
+                   (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOndblclick = (connect "dblclick")
+ 
+documentOndrag ::
+               (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOndrag = (connect "drag")
+ 
+documentOndragend ::
+                  (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOndragend = (connect "dragend")
+ 
+documentOndragenter ::
+                    (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOndragenter = (connect "dragenter")
+ 
+documentOndragleave ::
+                    (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOndragleave = (connect "dragleave")
+ 
+documentOndragover ::
+                   (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOndragover = (connect "dragover")
+ 
+documentOndragstart ::
+                    (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOndragstart = (connect "dragstart")
+ 
+documentOndrop ::
+               (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOndrop = (connect "drop")
+ 
+documentOnerror ::
+                (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnerror = (connect "error")
+ 
+documentOnfocus ::
+                (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnfocus = (connect "focus")
+ 
+documentOninput ::
+                (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOninput = (connect "input")
+ 
+documentOninvalid ::
+                  (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOninvalid = (connect "invalid")
+ 
+documentOnkeydown ::
+                  (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnkeydown = (connect "keydown")
+ 
+documentOnkeypress ::
+                   (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnkeypress = (connect "keypress")
+ 
+documentOnkeyup ::
+                (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnkeyup = (connect "keyup")
+ 
+documentOnload ::
+               (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnload = (connect "load")
+ 
+documentOnmousedown ::
+                    (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOnmousedown = (connect "mousedown")
+ 
+documentOnmousemove ::
+                    (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOnmousemove = (connect "mousemove")
+ 
+documentOnmouseout ::
+                   (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOnmouseout = (connect "mouseout")
+ 
+documentOnmouseover ::
+                    (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOnmouseover = (connect "mouseover")
+ 
+documentOnmouseup ::
+                  (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOnmouseup = (connect "mouseup")
+ 
+documentOnmousewheel ::
+                     (IsDocument self) => Signal self (EventM MouseEvent self ())
+documentOnmousewheel = (connect "mousewheel")
+ 
+documentOnreadystatechange ::
+                           (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnreadystatechange = (connect "readystatechange")
+ 
+documentOnscroll ::
+                 (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnscroll = (connect "scroll")
+ 
+documentOnselect ::
+                 (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnselect = (connect "select")
+ 
+documentOnsubmit ::
+                 (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnsubmit = (connect "submit")
+ 
+documentOnbeforecut ::
+                    (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnbeforecut = (connect "beforecut")
+ 
+documentOncut ::
+              (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOncut = (connect "cut")
+ 
+documentOnbeforecopy ::
+                     (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnbeforecopy = (connect "beforecopy")
+ 
+documentOncopy ::
+               (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOncopy = (connect "copy")
+ 
+documentOnbeforepaste ::
+                      (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnbeforepaste = (connect "beforepaste")
+ 
+documentOnpaste ::
+                (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnpaste = (connect "paste")
+ 
+documentOnreset ::
+                (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnreset = (connect "reset")
+ 
+documentOnsearch ::
+                 (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnsearch = (connect "search")
+ 
+documentOnselectstart ::
+                      (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnselectstart = (connect "selectstart")
+ 
+documentOnselectionchange ::
+                          (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnselectionchange = (connect "selectionchange")
+ 
+documentOntouchstart ::
+                     (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOntouchstart = (connect "touchstart")
+ 
+documentOntouchmove ::
+                    (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOntouchmove = (connect "touchmove")
+ 
+documentOntouchend ::
+                   (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOntouchend = (connect "touchend")
+ 
+documentOntouchcancel ::
+                      (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOntouchcancel = (connect "touchcancel")
+ 
+documentOnwebkitfullscreenchange ::
+                                 (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnwebkitfullscreenchange
+  = (connect "webkitfullscreenchange")
+ 
+documentOnwebkitfullscreenerror ::
+                                (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnwebkitfullscreenerror = (connect "webkitfullscreenerror")
+ 
+documentOnwebkitpointerlockchange ::
+                                  (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnwebkitpointerlockchange
+  = (connect "webkitpointerlockchange")
+ 
+documentOnwebkitpointerlockerror ::
+                                 (IsDocument self) => Signal self (EventM UIEvent self ())
+documentOnwebkitpointerlockerror
+  = (connect "webkitpointerlockerror")
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitVisibilityState\"]"
+        ghcjs_dom_document_get_webkit_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
+#endif
+ 
+documentGetWebkitVisibilityState ::
+                                 (IsDocument self, FromJSString result) => self -> IO result
+documentGetWebkitVisibilityState self
+  = fromJSString <$>
+      (ghcjs_dom_document_get_webkit_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
+#else 
+ghcjs_dom_document_get_webkit_hidden :: JSRef Document -> IO Bool
+ghcjs_dom_document_get_webkit_hidden = undefined
+#endif
+ 
+documentGetWebkitHidden :: (IsDocument self) => self -> IO Bool
+documentGetWebkitHidden self
+  = ghcjs_dom_document_get_webkit_hidden
+      (unDocument (toDocument self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"SecurityPolicy\"]"
+        ghcjs_dom_document_get_security_policy ::
+        JSRef Document -> IO (JSRef DOMSecurityPolicy)
+#else 
+ghcjs_dom_document_get_security_policy ::
+                                         JSRef Document -> IO (JSRef DOMSecurityPolicy)
+ghcjs_dom_document_get_security_policy = undefined
+#endif
+ 
+documentGetSecurityPolicy ::
+                          (IsDocument self) => self -> IO (Maybe DOMSecurityPolicy)
+documentGetSecurityPolicy self
+  = fmap DOMSecurityPolicy . maybeJSNull <$>
+      (ghcjs_dom_document_get_security_policy
+         (unDocument (toDocument self)))
+#else
+module GHCJS.DOM.Document (
+  module Graphics.UI.Gtk.WebKit.DOM.Document
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Document
+#endif
diff --git a/src/GHCJS/DOM/DocumentType.hs b/src/GHCJS/DOM/DocumentType.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/DocumentType.hs
@@ -0,0 +1,139 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.DocumentType
+       (ghcjs_dom_document_type_get_name, documentTypeGetName,
+        ghcjs_dom_document_type_get_entities, documentTypeGetEntities,
+        ghcjs_dom_document_type_get_notations, documentTypeGetNotations,
+        ghcjs_dom_document_type_get_public_id, documentTypeGetPublicId,
+        ghcjs_dom_document_type_get_system_id, documentTypeGetSystemId,
+        ghcjs_dom_document_type_get_internal_subset,
+        documentTypeGetInternalSubset)
+       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[\"name\"]"
+        ghcjs_dom_document_type_get_name ::
+        JSRef DocumentType -> IO JSString
+#else 
+ghcjs_dom_document_type_get_name ::
+                                   JSRef DocumentType -> IO JSString
+ghcjs_dom_document_type_get_name = undefined
+#endif
+ 
+documentTypeGetName ::
+                    (IsDocumentType self, FromJSString result) => self -> IO result
+documentTypeGetName self
+  = fromJSString <$>
+      (ghcjs_dom_document_type_get_name
+         (unDocumentType (toDocumentType self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"entities\"]"
+        ghcjs_dom_document_type_get_entities ::
+        JSRef DocumentType -> IO (JSRef NamedNodeMap)
+#else 
+ghcjs_dom_document_type_get_entities ::
+                                       JSRef DocumentType -> IO (JSRef NamedNodeMap)
+ghcjs_dom_document_type_get_entities = undefined
+#endif
+ 
+documentTypeGetEntities ::
+                        (IsDocumentType self) => self -> IO (Maybe NamedNodeMap)
+documentTypeGetEntities self
+  = fmap NamedNodeMap . maybeJSNull <$>
+      (ghcjs_dom_document_type_get_entities
+         (unDocumentType (toDocumentType self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"notations\"]"
+        ghcjs_dom_document_type_get_notations ::
+        JSRef DocumentType -> IO (JSRef NamedNodeMap)
+#else 
+ghcjs_dom_document_type_get_notations ::
+                                        JSRef DocumentType -> IO (JSRef NamedNodeMap)
+ghcjs_dom_document_type_get_notations = undefined
+#endif
+ 
+documentTypeGetNotations ::
+                         (IsDocumentType self) => self -> IO (Maybe NamedNodeMap)
+documentTypeGetNotations self
+  = fmap NamedNodeMap . maybeJSNull <$>
+      (ghcjs_dom_document_type_get_notations
+         (unDocumentType (toDocumentType self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"publicId\"]"
+        ghcjs_dom_document_type_get_public_id ::
+        JSRef DocumentType -> IO JSString
+#else 
+ghcjs_dom_document_type_get_public_id ::
+                                        JSRef DocumentType -> IO JSString
+ghcjs_dom_document_type_get_public_id = undefined
+#endif
+ 
+documentTypeGetPublicId ::
+                        (IsDocumentType self, FromJSString result) => self -> IO result
+documentTypeGetPublicId self
+  = fromJSString <$>
+      (ghcjs_dom_document_type_get_public_id
+         (unDocumentType (toDocumentType self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"systemId\"]"
+        ghcjs_dom_document_type_get_system_id ::
+        JSRef DocumentType -> IO JSString
+#else 
+ghcjs_dom_document_type_get_system_id ::
+                                        JSRef DocumentType -> IO JSString
+ghcjs_dom_document_type_get_system_id = undefined
+#endif
+ 
+documentTypeGetSystemId ::
+                        (IsDocumentType self, FromJSString result) => self -> IO result
+documentTypeGetSystemId self
+  = fromJSString <$>
+      (ghcjs_dom_document_type_get_system_id
+         (unDocumentType (toDocumentType self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"internalSubset\"]"
+        ghcjs_dom_document_type_get_internal_subset ::
+        JSRef DocumentType -> IO JSString
+#else 
+ghcjs_dom_document_type_get_internal_subset ::
+                                              JSRef DocumentType -> IO JSString
+ghcjs_dom_document_type_get_internal_subset = undefined
+#endif
+ 
+documentTypeGetInternalSubset ::
+                              (IsDocumentType self, FromJSString result) => self -> IO result
+documentTypeGetInternalSubset self
+  = fromJSString <$>
+      (ghcjs_dom_document_type_get_internal_subset
+         (unDocumentType (toDocumentType self)))
+#else
+module GHCJS.DOM.DocumentType (
+  module Graphics.UI.Gtk.WebKit.DOM.DocumentType
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.DocumentType
+#endif
diff --git a/src/GHCJS/DOM/Element.hs b/src/GHCJS/DOM/Element.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Element.hs
@@ -0,0 +1,1136 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Element
+       (ghcjs_dom_element_get_attribute, elementGetAttribute,
+        ghcjs_dom_element_set_attribute, elementSetAttribute,
+        ghcjs_dom_element_remove_attribute, elementRemoveAttribute,
+        ghcjs_dom_element_get_attribute_node, elementGetAttributeNode,
+        ghcjs_dom_element_set_attribute_node, elementSetAttributeNode,
+        ghcjs_dom_element_remove_attribute_node,
+        elementRemoveAttributeNode,
+        ghcjs_dom_element_get_elements_by_tag_name,
+        elementGetElementsByTagName, ghcjs_dom_element_get_attribute_ns,
+        elementGetAttributeNS, ghcjs_dom_element_set_attribute_ns,
+        elementSetAttributeNS, ghcjs_dom_element_remove_attribute_ns,
+        elementRemoveAttributeNS,
+        ghcjs_dom_element_get_elements_by_tag_name_ns,
+        elementGetElementsByTagNameNS,
+        ghcjs_dom_element_get_attribute_node_ns, elementGetAttributeNodeNS,
+        ghcjs_dom_element_set_attribute_node_ns, elementSetAttributeNodeNS,
+        ghcjs_dom_element_has_attribute, elementHasAttribute,
+        ghcjs_dom_element_has_attribute_ns, elementHasAttributeNS,
+        ghcjs_dom_element_focus, elementFocus, ghcjs_dom_element_blur,
+        elementBlur, ghcjs_dom_element_scroll_into_view,
+        elementScrollIntoView,
+        ghcjs_dom_element_scroll_into_view_if_needed,
+        elementScrollIntoViewIfNeeded, ghcjs_dom_element_scroll_by_lines,
+        elementScrollByLines, ghcjs_dom_element_scroll_by_pages,
+        elementScrollByPages, ghcjs_dom_element_get_elements_by_class_name,
+        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,
+        elementGetFirstElementChild,
+        ghcjs_dom_element_get_last_element_child,
+        elementGetLastElementChild,
+        ghcjs_dom_element_get_previous_element_sibling,
+        elementGetPreviousElementSibling,
+        ghcjs_dom_element_get_next_element_sibling,
+        elementGetNextElementSibling,
+        ghcjs_dom_element_get_child_element_count,
+        elementGetChildElementCount,
+        ghcjs_dom_element_get_webkit_region_overset,
+        elementGetWebkitRegionOverset, elementOnabort, elementOnblur,
+        elementOnchange, elementOnclick, elementOncontextmenu,
+        elementOndblclick, elementOndrag, elementOndragend,
+        elementOndragenter, elementOndragleave, elementOndragover,
+        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)
+       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[\"getAttribute\"]($2)"
+        ghcjs_dom_element_get_attribute ::
+        JSRef Element -> JSString -> IO JSString
+#else 
+ghcjs_dom_element_get_attribute ::
+                                  JSRef Element -> JSString -> IO JSString
+ghcjs_dom_element_get_attribute = undefined
+#endif
+ 
+elementGetAttribute ::
+                    (IsElement self, ToJSString name, FromJSString result) =>
+                      self -> name -> IO result
+elementGetAttribute self name
+  = fromJSString <$>
+      (ghcjs_dom_element_get_attribute (unElement (toElement self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setAttribute\"]($2, $3)"
+        ghcjs_dom_element_set_attribute ::
+        JSRef Element -> JSString -> JSString -> IO ()
+#else 
+ghcjs_dom_element_set_attribute ::
+                                  JSRef Element -> JSString -> JSString -> IO ()
+ghcjs_dom_element_set_attribute = undefined
+#endif
+ 
+elementSetAttribute ::
+                    (IsElement self, ToJSString name, ToJSString value) =>
+                      self -> name -> value -> IO ()
+elementSetAttribute self name value
+  = ghcjs_dom_element_set_attribute (unElement (toElement self))
+      (toJSString name)
+      (toJSString value)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"removeAttribute\"]($2)"
+        ghcjs_dom_element_remove_attribute ::
+        JSRef Element -> JSString -> IO ()
+#else 
+ghcjs_dom_element_remove_attribute ::
+                                     JSRef Element -> JSString -> IO ()
+ghcjs_dom_element_remove_attribute = undefined
+#endif
+ 
+elementRemoveAttribute ::
+                       (IsElement self, ToJSString name) => self -> name -> IO ()
+elementRemoveAttribute self name
+  = ghcjs_dom_element_remove_attribute (unElement (toElement self))
+      (toJSString name)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getAttributeNode\"]($2)"
+        ghcjs_dom_element_get_attribute_node ::
+        JSRef Element -> JSString -> IO (JSRef DOMAttr)
+#else 
+ghcjs_dom_element_get_attribute_node ::
+                                       JSRef Element -> JSString -> IO (JSRef DOMAttr)
+ghcjs_dom_element_get_attribute_node = undefined
+#endif
+ 
+elementGetAttributeNode ::
+                        (IsElement self, ToJSString name) =>
+                          self -> name -> IO (Maybe DOMAttr)
+elementGetAttributeNode self name
+  = fmap DOMAttr . maybeJSNull <$>
+      (ghcjs_dom_element_get_attribute_node (unElement (toElement self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setAttributeNode\"]($2)"
+        ghcjs_dom_element_set_attribute_node ::
+        JSRef Element -> JSRef DOMAttr -> IO (JSRef DOMAttr)
+#else 
+ghcjs_dom_element_set_attribute_node ::
+                                       JSRef Element -> JSRef DOMAttr -> IO (JSRef DOMAttr)
+ghcjs_dom_element_set_attribute_node = undefined
+#endif
+ 
+elementSetAttributeNode ::
+                        (IsElement self, IsDOMAttr newAttr) =>
+                          self -> Maybe newAttr -> IO (Maybe DOMAttr)
+elementSetAttributeNode self newAttr
+  = fmap DOMAttr . maybeJSNull <$>
+      (ghcjs_dom_element_set_attribute_node (unElement (toElement self))
+         (maybe jsNull (unDOMAttr . toDOMAttr) newAttr))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"removeAttributeNode\"]($2)"
+        ghcjs_dom_element_remove_attribute_node ::
+        JSRef Element -> JSRef DOMAttr -> IO (JSRef DOMAttr)
+#else 
+ghcjs_dom_element_remove_attribute_node ::
+                                          JSRef Element -> JSRef DOMAttr -> IO (JSRef DOMAttr)
+ghcjs_dom_element_remove_attribute_node = undefined
+#endif
+ 
+elementRemoveAttributeNode ::
+                           (IsElement self, IsDOMAttr oldAttr) =>
+                             self -> Maybe oldAttr -> IO (Maybe DOMAttr)
+elementRemoveAttributeNode self oldAttr
+  = fmap DOMAttr . maybeJSNull <$>
+      (ghcjs_dom_element_remove_attribute_node
+         (unElement (toElement self))
+         (maybe jsNull (unDOMAttr . toDOMAttr) oldAttr))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getElementsByTagName\"]($2)"
+        ghcjs_dom_element_get_elements_by_tag_name ::
+        JSRef Element -> JSString -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_element_get_elements_by_tag_name ::
+                                             JSRef Element -> JSString -> IO (JSRef NodeList)
+ghcjs_dom_element_get_elements_by_tag_name = undefined
+#endif
+ 
+elementGetElementsByTagName ::
+                            (IsElement self, ToJSString name) =>
+                              self -> name -> IO (Maybe NodeList)
+elementGetElementsByTagName self name
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_element_get_elements_by_tag_name
+         (unElement (toElement self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getAttributeNS\"]($2, $3)"
+        ghcjs_dom_element_get_attribute_ns ::
+        JSRef Element -> JSString -> JSString -> IO JSString
+#else 
+ghcjs_dom_element_get_attribute_ns ::
+                                     JSRef Element -> JSString -> JSString -> IO JSString
+ghcjs_dom_element_get_attribute_ns = undefined
+#endif
+ 
+elementGetAttributeNS ::
+                      (IsElement self, ToJSString namespaceURI, ToJSString localName,
+                       FromJSString result) =>
+                        self -> namespaceURI -> localName -> IO result
+elementGetAttributeNS self namespaceURI localName
+  = fromJSString <$>
+      (ghcjs_dom_element_get_attribute_ns (unElement (toElement self))
+         (toJSString namespaceURI)
+         (toJSString localName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"setAttributeNS\"]($2, $3, $4)"
+        ghcjs_dom_element_set_attribute_ns ::
+        JSRef Element -> JSString -> JSString -> JSString -> IO ()
+#else 
+ghcjs_dom_element_set_attribute_ns ::
+                                     JSRef Element -> JSString -> JSString -> JSString -> IO ()
+ghcjs_dom_element_set_attribute_ns = undefined
+#endif
+ 
+elementSetAttributeNS ::
+                      (IsElement self, ToJSString namespaceURI, ToJSString qualifiedName,
+                       ToJSString value) =>
+                        self -> namespaceURI -> qualifiedName -> value -> IO ()
+elementSetAttributeNS self namespaceURI qualifiedName value
+  = ghcjs_dom_element_set_attribute_ns (unElement (toElement self))
+      (toJSString namespaceURI)
+      (toJSString qualifiedName)
+      (toJSString value)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"removeAttributeNS\"]($2, $3)"
+        ghcjs_dom_element_remove_attribute_ns ::
+        JSRef Element -> JSString -> JSString -> IO ()
+#else 
+ghcjs_dom_element_remove_attribute_ns ::
+                                        JSRef Element -> JSString -> JSString -> IO ()
+ghcjs_dom_element_remove_attribute_ns = undefined
+#endif
+ 
+elementRemoveAttributeNS ::
+                         (IsElement self, ToJSString namespaceURI, ToJSString localName) =>
+                           self -> namespaceURI -> localName -> IO ()
+elementRemoveAttributeNS self namespaceURI localName
+  = ghcjs_dom_element_remove_attribute_ns
+      (unElement (toElement self))
+      (toJSString namespaceURI)
+      (toJSString localName)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"getElementsByTagNameNS\"]($2,\n$3)"
+        ghcjs_dom_element_get_elements_by_tag_name_ns ::
+        JSRef Element -> JSString -> JSString -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_element_get_elements_by_tag_name_ns ::
+                                                JSRef Element ->
+                                                  JSString -> JSString -> IO (JSRef NodeList)
+ghcjs_dom_element_get_elements_by_tag_name_ns = undefined
+#endif
+ 
+elementGetElementsByTagNameNS ::
+                              (IsElement self, ToJSString namespaceURI, ToJSString localName) =>
+                                self -> namespaceURI -> localName -> IO (Maybe NodeList)
+elementGetElementsByTagNameNS self namespaceURI localName
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_element_get_elements_by_tag_name_ns
+         (unElement (toElement self))
+         (toJSString namespaceURI)
+         (toJSString localName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"getAttributeNodeNS\"]($2, $3)"
+        ghcjs_dom_element_get_attribute_node_ns ::
+        JSRef Element -> JSString -> JSString -> IO (JSRef DOMAttr)
+#else 
+ghcjs_dom_element_get_attribute_node_ns ::
+                                          JSRef Element ->
+                                            JSString -> JSString -> IO (JSRef DOMAttr)
+ghcjs_dom_element_get_attribute_node_ns = undefined
+#endif
+ 
+elementGetAttributeNodeNS ::
+                          (IsElement self, ToJSString namespaceURI, ToJSString localName) =>
+                            self -> namespaceURI -> localName -> IO (Maybe DOMAttr)
+elementGetAttributeNodeNS self namespaceURI localName
+  = fmap DOMAttr . maybeJSNull <$>
+      (ghcjs_dom_element_get_attribute_node_ns
+         (unElement (toElement self))
+         (toJSString namespaceURI)
+         (toJSString localName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setAttributeNodeNS\"]($2)"
+        ghcjs_dom_element_set_attribute_node_ns ::
+        JSRef Element -> JSRef DOMAttr -> IO (JSRef DOMAttr)
+#else 
+ghcjs_dom_element_set_attribute_node_ns ::
+                                          JSRef Element -> JSRef DOMAttr -> IO (JSRef DOMAttr)
+ghcjs_dom_element_set_attribute_node_ns = undefined
+#endif
+ 
+elementSetAttributeNodeNS ::
+                          (IsElement self, IsDOMAttr newAttr) =>
+                            self -> Maybe newAttr -> IO (Maybe DOMAttr)
+elementSetAttributeNodeNS self newAttr
+  = fmap DOMAttr . maybeJSNull <$>
+      (ghcjs_dom_element_set_attribute_node_ns
+         (unElement (toElement self))
+         (maybe jsNull (unDOMAttr . toDOMAttr) newAttr))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"hasAttribute\"]($2) ? 1 : 0)"
+        ghcjs_dom_element_has_attribute ::
+        JSRef Element -> JSString -> IO Bool
+#else 
+ghcjs_dom_element_has_attribute ::
+                                  JSRef Element -> JSString -> IO Bool
+ghcjs_dom_element_has_attribute = undefined
+#endif
+ 
+elementHasAttribute ::
+                    (IsElement self, ToJSString name) => self -> name -> IO Bool
+elementHasAttribute self name
+  = ghcjs_dom_element_has_attribute (unElement (toElement self))
+      (toJSString name)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"hasAttributeNS\"]($2,\n$3) ? 1 : 0)"
+        ghcjs_dom_element_has_attribute_ns ::
+        JSRef Element -> JSString -> JSString -> IO Bool
+#else 
+ghcjs_dom_element_has_attribute_ns ::
+                                     JSRef Element -> JSString -> JSString -> IO Bool
+ghcjs_dom_element_has_attribute_ns = undefined
+#endif
+ 
+elementHasAttributeNS ::
+                      (IsElement self, ToJSString namespaceURI, ToJSString localName) =>
+                        self -> namespaceURI -> localName -> IO Bool
+elementHasAttributeNS self namespaceURI localName
+  = ghcjs_dom_element_has_attribute_ns (unElement (toElement self))
+      (toJSString namespaceURI)
+      (toJSString localName)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"focus\"]()"
+        ghcjs_dom_element_focus :: JSRef Element -> IO ()
+#else 
+ghcjs_dom_element_focus :: JSRef Element -> IO ()
+ghcjs_dom_element_focus = undefined
+#endif
+ 
+elementFocus :: (IsElement self) => self -> IO ()
+elementFocus self
+  = ghcjs_dom_element_focus (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"blur\"]()"
+        ghcjs_dom_element_blur :: JSRef Element -> IO ()
+#else 
+ghcjs_dom_element_blur :: JSRef Element -> IO ()
+ghcjs_dom_element_blur = undefined
+#endif
+ 
+elementBlur :: (IsElement self) => self -> IO ()
+elementBlur self
+  = ghcjs_dom_element_blur (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollIntoView\"]($2)"
+        ghcjs_dom_element_scroll_into_view ::
+        JSRef Element -> Bool -> IO ()
+#else 
+ghcjs_dom_element_scroll_into_view ::
+                                     JSRef Element -> Bool -> IO ()
+ghcjs_dom_element_scroll_into_view = undefined
+#endif
+ 
+elementScrollIntoView :: (IsElement self) => self -> Bool -> IO ()
+elementScrollIntoView self alignWithTop
+  = ghcjs_dom_element_scroll_into_view (unElement (toElement self))
+      alignWithTop
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"scrollIntoViewIfNeeded\"]($2)"
+        ghcjs_dom_element_scroll_into_view_if_needed ::
+        JSRef Element -> Bool -> IO ()
+#else 
+ghcjs_dom_element_scroll_into_view_if_needed ::
+                                               JSRef Element -> Bool -> IO ()
+ghcjs_dom_element_scroll_into_view_if_needed = undefined
+#endif
+ 
+elementScrollIntoViewIfNeeded ::
+                              (IsElement self) => self -> Bool -> IO ()
+elementScrollIntoViewIfNeeded self centerIfNeeded
+  = ghcjs_dom_element_scroll_into_view_if_needed
+      (unElement (toElement self))
+      centerIfNeeded
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollByLines\"]($2)"
+        ghcjs_dom_element_scroll_by_lines :: JSRef Element -> Int -> IO ()
+#else 
+ghcjs_dom_element_scroll_by_lines :: JSRef Element -> Int -> IO ()
+ghcjs_dom_element_scroll_by_lines = undefined
+#endif
+ 
+elementScrollByLines :: (IsElement self) => self -> Int -> IO ()
+elementScrollByLines self lines
+  = ghcjs_dom_element_scroll_by_lines (unElement (toElement self))
+      lines
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollByPages\"]($2)"
+        ghcjs_dom_element_scroll_by_pages :: JSRef Element -> Int -> IO ()
+#else 
+ghcjs_dom_element_scroll_by_pages :: JSRef Element -> Int -> IO ()
+ghcjs_dom_element_scroll_by_pages = undefined
+#endif
+ 
+elementScrollByPages :: (IsElement self) => self -> Int -> IO ()
+elementScrollByPages self pages
+  = ghcjs_dom_element_scroll_by_pages (unElement (toElement self))
+      pages
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"getElementsByClassName\"]($2)"
+        ghcjs_dom_element_get_elements_by_class_name ::
+        JSRef Element -> JSString -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_element_get_elements_by_class_name ::
+                                               JSRef Element -> JSString -> IO (JSRef NodeList)
+ghcjs_dom_element_get_elements_by_class_name = undefined
+#endif
+ 
+elementGetElementsByClassName ::
+                              (IsElement self, ToJSString name) =>
+                                self -> name -> IO (Maybe NodeList)
+elementGetElementsByClassName self name
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_element_get_elements_by_class_name
+         (unElement (toElement self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"querySelector\"]($2)"
+        ghcjs_dom_element_query_selector ::
+        JSRef Element -> JSString -> IO (JSRef Element)
+#else 
+ghcjs_dom_element_query_selector ::
+                                   JSRef Element -> JSString -> IO (JSRef Element)
+ghcjs_dom_element_query_selector = undefined
+#endif
+ 
+elementQuerySelector ::
+                     (IsElement self, ToJSString selectors) =>
+                       self -> selectors -> IO (Maybe Element)
+elementQuerySelector self selectors
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_element_query_selector (unElement (toElement self))
+         (toJSString selectors))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"querySelectorAll\"]($2)"
+        ghcjs_dom_element_query_selector_all ::
+        JSRef Element -> JSString -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_element_query_selector_all ::
+                                       JSRef Element -> JSString -> IO (JSRef NodeList)
+ghcjs_dom_element_query_selector_all = undefined
+#endif
+ 
+elementQuerySelectorAll ::
+                        (IsElement self, ToJSString selectors) =>
+                          self -> selectors -> IO (Maybe NodeList)
+elementQuerySelectorAll self selectors
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_element_query_selector_all (unElement (toElement self))
+         (toJSString selectors))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"webkitMatchesSelector\"]($2) ? 1 : 0)"
+        ghcjs_dom_element_webkit_matches_selector ::
+        JSRef Element -> JSString -> IO Bool
+#else 
+ghcjs_dom_element_webkit_matches_selector ::
+                                            JSRef Element -> JSString -> IO Bool
+ghcjs_dom_element_webkit_matches_selector = undefined
+#endif
+ 
+elementWebkitMatchesSelector ::
+                             (IsElement self, ToJSString selectors) =>
+                               self -> selectors -> IO Bool
+elementWebkitMatchesSelector self selectors
+  = ghcjs_dom_element_webkit_matches_selector
+      (unElement (toElement self))
+      (toJSString selectors)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"tagName\"]"
+        ghcjs_dom_element_get_tag_name :: JSRef Element -> IO JSString
+#else 
+ghcjs_dom_element_get_tag_name :: JSRef Element -> IO JSString
+ghcjs_dom_element_get_tag_name = undefined
+#endif
+ 
+elementGetTagName ::
+                  (IsElement self, FromJSString result) => self -> IO result
+elementGetTagName self
+  = fromJSString <$>
+      (ghcjs_dom_element_get_tag_name (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"style\"]"
+        ghcjs_dom_element_get_style ::
+        JSRef Element -> IO (JSRef CSSStyleDeclaration)
+#else 
+ghcjs_dom_element_get_style ::
+                              JSRef Element -> IO (JSRef CSSStyleDeclaration)
+ghcjs_dom_element_get_style = undefined
+#endif
+ 
+elementGetStyle ::
+                (IsElement self) => self -> IO (Maybe CSSStyleDeclaration)
+elementGetStyle self
+  = fmap CSSStyleDeclaration . maybeJSNull <$>
+      (ghcjs_dom_element_get_style (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"offsetLeft\"]"
+        ghcjs_dom_element_get_offset_left :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_offset_left :: JSRef Element -> IO Int
+ghcjs_dom_element_get_offset_left = undefined
+#endif
+ 
+elementGetOffsetLeft :: (IsElement self) => self -> IO Int
+elementGetOffsetLeft self
+  = ghcjs_dom_element_get_offset_left (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"offsetTop\"]"
+        ghcjs_dom_element_get_offset_top :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_offset_top :: JSRef Element -> IO Int
+ghcjs_dom_element_get_offset_top = undefined
+#endif
+ 
+elementGetOffsetTop :: (IsElement self) => self -> IO Int
+elementGetOffsetTop self
+  = ghcjs_dom_element_get_offset_top (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"offsetWidth\"]"
+        ghcjs_dom_element_get_offset_width :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_offset_width :: JSRef Element -> IO Int
+ghcjs_dom_element_get_offset_width = undefined
+#endif
+ 
+elementGetOffsetWidth :: (IsElement self) => self -> IO Int
+elementGetOffsetWidth self
+  = ghcjs_dom_element_get_offset_width (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"offsetHeight\"]"
+        ghcjs_dom_element_get_offset_height :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_offset_height :: JSRef Element -> IO Int
+ghcjs_dom_element_get_offset_height = undefined
+#endif
+ 
+elementGetOffsetHeight :: (IsElement self) => self -> IO Int
+elementGetOffsetHeight self
+  = ghcjs_dom_element_get_offset_height (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"offsetParent\"]"
+        ghcjs_dom_element_get_offset_parent ::
+        JSRef Element -> IO (JSRef Element)
+#else 
+ghcjs_dom_element_get_offset_parent ::
+                                      JSRef Element -> IO (JSRef Element)
+ghcjs_dom_element_get_offset_parent = undefined
+#endif
+ 
+elementGetOffsetParent ::
+                       (IsElement self) => self -> IO (Maybe Element)
+elementGetOffsetParent self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_element_get_offset_parent (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"clientLeft\"]"
+        ghcjs_dom_element_get_client_left :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_client_left :: JSRef Element -> IO Int
+ghcjs_dom_element_get_client_left = undefined
+#endif
+ 
+elementGetClientLeft :: (IsElement self) => self -> IO Int
+elementGetClientLeft self
+  = ghcjs_dom_element_get_client_left (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"clientTop\"]"
+        ghcjs_dom_element_get_client_top :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_client_top :: JSRef Element -> IO Int
+ghcjs_dom_element_get_client_top = undefined
+#endif
+ 
+elementGetClientTop :: (IsElement self) => self -> IO Int
+elementGetClientTop self
+  = ghcjs_dom_element_get_client_top (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"clientWidth\"]"
+        ghcjs_dom_element_get_client_width :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_client_width :: JSRef Element -> IO Int
+ghcjs_dom_element_get_client_width = undefined
+#endif
+ 
+elementGetClientWidth :: (IsElement self) => self -> IO Int
+elementGetClientWidth self
+  = ghcjs_dom_element_get_client_width (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"clientHeight\"]"
+        ghcjs_dom_element_get_client_height :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_client_height :: JSRef Element -> IO Int
+ghcjs_dom_element_get_client_height = undefined
+#endif
+ 
+elementGetClientHeight :: (IsElement self) => self -> IO Int
+elementGetClientHeight self
+  = ghcjs_dom_element_get_client_height (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollLeft\"] = $2;"
+        ghcjs_dom_element_set_scroll_left :: JSRef Element -> Int -> IO ()
+#else 
+ghcjs_dom_element_set_scroll_left :: JSRef Element -> Int -> IO ()
+ghcjs_dom_element_set_scroll_left = undefined
+#endif
+ 
+elementSetScrollLeft :: (IsElement self) => self -> Int -> IO ()
+elementSetScrollLeft self val
+  = ghcjs_dom_element_set_scroll_left (unElement (toElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollLeft\"]"
+        ghcjs_dom_element_get_scroll_left :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_scroll_left :: JSRef Element -> IO Int
+ghcjs_dom_element_get_scroll_left = undefined
+#endif
+ 
+elementGetScrollLeft :: (IsElement self) => self -> IO Int
+elementGetScrollLeft self
+  = ghcjs_dom_element_get_scroll_left (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollTop\"] = $2;"
+        ghcjs_dom_element_set_scroll_top :: JSRef Element -> Int -> IO ()
+#else 
+ghcjs_dom_element_set_scroll_top :: JSRef Element -> Int -> IO ()
+ghcjs_dom_element_set_scroll_top = undefined
+#endif
+ 
+elementSetScrollTop :: (IsElement self) => self -> Int -> IO ()
+elementSetScrollTop self val
+  = ghcjs_dom_element_set_scroll_top (unElement (toElement self)) val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollTop\"]"
+        ghcjs_dom_element_get_scroll_top :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_scroll_top :: JSRef Element -> IO Int
+ghcjs_dom_element_get_scroll_top = undefined
+#endif
+ 
+elementGetScrollTop :: (IsElement self) => self -> IO Int
+elementGetScrollTop self
+  = ghcjs_dom_element_get_scroll_top (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollWidth\"]"
+        ghcjs_dom_element_get_scroll_width :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_scroll_width :: JSRef Element -> IO Int
+ghcjs_dom_element_get_scroll_width = undefined
+#endif
+ 
+elementGetScrollWidth :: (IsElement self) => self -> IO Int
+elementGetScrollWidth self
+  = ghcjs_dom_element_get_scroll_width (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollHeight\"]"
+        ghcjs_dom_element_get_scroll_height :: JSRef Element -> IO Int
+#else 
+ghcjs_dom_element_get_scroll_height :: JSRef Element -> IO Int
+ghcjs_dom_element_get_scroll_height = undefined
+#endif
+ 
+elementGetScrollHeight :: (IsElement self) => self -> IO Int
+elementGetScrollHeight self
+  = ghcjs_dom_element_get_scroll_height (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"className\"] = $2;"
+        ghcjs_dom_element_set_class_name ::
+        JSRef Element -> JSString -> IO ()
+#else 
+ghcjs_dom_element_set_class_name ::
+                                   JSRef Element -> JSString -> IO ()
+ghcjs_dom_element_set_class_name = undefined
+#endif
+ 
+elementSetClassName ::
+                    (IsElement self, ToJSString val) => self -> val -> IO ()
+elementSetClassName self val
+  = ghcjs_dom_element_set_class_name (unElement (toElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"className\"]"
+        ghcjs_dom_element_get_class_name :: JSRef Element -> IO JSString
+#else 
+ghcjs_dom_element_get_class_name :: JSRef Element -> IO JSString
+ghcjs_dom_element_get_class_name = undefined
+#endif
+ 
+elementGetClassName ::
+                    (IsElement self, FromJSString result) => self -> IO result
+elementGetClassName self
+  = fromJSString <$>
+      (ghcjs_dom_element_get_class_name (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"classList\"]"
+        ghcjs_dom_element_get_class_list ::
+        JSRef Element -> IO (JSRef DOMTokenList)
+#else 
+ghcjs_dom_element_get_class_list ::
+                                   JSRef Element -> IO (JSRef DOMTokenList)
+ghcjs_dom_element_get_class_list = undefined
+#endif
+ 
+elementGetClassList ::
+                    (IsElement self) => self -> IO (Maybe DOMTokenList)
+elementGetClassList self
+  = fmap DOMTokenList . maybeJSNull <$>
+      (ghcjs_dom_element_get_class_list (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"firstElementChild\"]"
+        ghcjs_dom_element_get_first_element_child ::
+        JSRef Element -> IO (JSRef Element)
+#else 
+ghcjs_dom_element_get_first_element_child ::
+                                            JSRef Element -> IO (JSRef Element)
+ghcjs_dom_element_get_first_element_child = undefined
+#endif
+ 
+elementGetFirstElementChild ::
+                            (IsElement self) => self -> IO (Maybe Element)
+elementGetFirstElementChild self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_element_get_first_element_child
+         (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"lastElementChild\"]"
+        ghcjs_dom_element_get_last_element_child ::
+        JSRef Element -> IO (JSRef Element)
+#else 
+ghcjs_dom_element_get_last_element_child ::
+                                           JSRef Element -> IO (JSRef Element)
+ghcjs_dom_element_get_last_element_child = undefined
+#endif
+ 
+elementGetLastElementChild ::
+                           (IsElement self) => self -> IO (Maybe Element)
+elementGetLastElementChild self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_element_get_last_element_child
+         (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"previousElementSibling\"]"
+        ghcjs_dom_element_get_previous_element_sibling ::
+        JSRef Element -> IO (JSRef Element)
+#else 
+ghcjs_dom_element_get_previous_element_sibling ::
+                                                 JSRef Element -> IO (JSRef Element)
+ghcjs_dom_element_get_previous_element_sibling = undefined
+#endif
+ 
+elementGetPreviousElementSibling ::
+                                 (IsElement self) => self -> IO (Maybe Element)
+elementGetPreviousElementSibling self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_element_get_previous_element_sibling
+         (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"nextElementSibling\"]"
+        ghcjs_dom_element_get_next_element_sibling ::
+        JSRef Element -> IO (JSRef Element)
+#else 
+ghcjs_dom_element_get_next_element_sibling ::
+                                             JSRef Element -> IO (JSRef Element)
+ghcjs_dom_element_get_next_element_sibling = undefined
+#endif
+ 
+elementGetNextElementSibling ::
+                             (IsElement self) => self -> IO (Maybe Element)
+elementGetNextElementSibling self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_element_get_next_element_sibling
+         (unElement (toElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"childElementCount\"]"
+        ghcjs_dom_element_get_child_element_count ::
+        JSRef Element -> IO Word
+#else 
+ghcjs_dom_element_get_child_element_count ::
+                                            JSRef Element -> IO Word
+ghcjs_dom_element_get_child_element_count = undefined
+#endif
+ 
+elementGetChildElementCount :: (IsElement self) => self -> IO Word
+elementGetChildElementCount self
+  = ghcjs_dom_element_get_child_element_count
+      (unElement (toElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitRegionOverset\"]"
+        ghcjs_dom_element_get_webkit_region_overset ::
+        JSRef Element -> IO JSString
+#else 
+ghcjs_dom_element_get_webkit_region_overset ::
+                                              JSRef Element -> IO JSString
+ghcjs_dom_element_get_webkit_region_overset = undefined
+#endif
+ 
+elementGetWebkitRegionOverset ::
+                              (IsElement self, FromJSString result) => self -> IO result
+elementGetWebkitRegionOverset self
+  = fromJSString <$>
+      (ghcjs_dom_element_get_webkit_region_overset
+         (unElement (toElement self)))
+ 
+elementOnabort ::
+               (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnabort = (connect "abort")
+ 
+elementOnblur ::
+              (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnblur = (connect "blur")
+ 
+elementOnchange ::
+                (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnchange = (connect "change")
+ 
+elementOnclick ::
+               (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOnclick = (connect "click")
+ 
+elementOncontextmenu ::
+                     (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOncontextmenu = (connect "contextmenu")
+ 
+elementOndblclick ::
+                  (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOndblclick = (connect "dblclick")
+ 
+elementOndrag ::
+              (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOndrag = (connect "drag")
+ 
+elementOndragend ::
+                 (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOndragend = (connect "dragend")
+ 
+elementOndragenter ::
+                   (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOndragenter = (connect "dragenter")
+ 
+elementOndragleave ::
+                   (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOndragleave = (connect "dragleave")
+ 
+elementOndragover ::
+                  (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOndragover = (connect "dragover")
+ 
+elementOndragstart ::
+                   (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOndragstart = (connect "dragstart")
+ 
+elementOndrop ::
+              (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOndrop = (connect "drop")
+ 
+elementOnerror ::
+               (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnerror = (connect "error")
+ 
+elementOnfocus ::
+               (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnfocus = (connect "focus")
+ 
+elementOninput ::
+               (IsElement self) => Signal self (EventM UIEvent self ())
+elementOninput = (connect "input")
+ 
+elementOninvalid ::
+                 (IsElement self) => Signal self (EventM UIEvent self ())
+elementOninvalid = (connect "invalid")
+ 
+elementOnkeydown ::
+                 (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnkeydown = (connect "keydown")
+ 
+elementOnkeypress ::
+                  (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnkeypress = (connect "keypress")
+ 
+elementOnkeyup ::
+               (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnkeyup = (connect "keyup")
+ 
+elementOnload ::
+              (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnload = (connect "load")
+ 
+elementOnmousedown ::
+                   (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOnmousedown = (connect "mousedown")
+ 
+elementOnmousemove ::
+                   (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOnmousemove = (connect "mousemove")
+ 
+elementOnmouseout ::
+                  (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOnmouseout = (connect "mouseout")
+ 
+elementOnmouseover ::
+                   (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOnmouseover = (connect "mouseover")
+ 
+elementOnmouseup ::
+                 (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOnmouseup = (connect "mouseup")
+ 
+elementOnmousewheel ::
+                    (IsElement self) => Signal self (EventM MouseEvent self ())
+elementOnmousewheel = (connect "mousewheel")
+ 
+elementOnscroll ::
+                (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnscroll = (connect "scroll")
+ 
+elementOnselect ::
+                (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnselect = (connect "select")
+ 
+elementOnsubmit ::
+                (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnsubmit = (connect "submit")
+ 
+elementOnbeforecut ::
+                   (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnbeforecut = (connect "beforecut")
+ 
+elementOncut ::
+             (IsElement self) => Signal self (EventM UIEvent self ())
+elementOncut = (connect "cut")
+ 
+elementOnbeforecopy ::
+                    (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnbeforecopy = (connect "beforecopy")
+ 
+elementOncopy ::
+              (IsElement self) => Signal self (EventM UIEvent self ())
+elementOncopy = (connect "copy")
+ 
+elementOnbeforepaste ::
+                     (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnbeforepaste = (connect "beforepaste")
+ 
+elementOnpaste ::
+               (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnpaste = (connect "paste")
+ 
+elementOnreset ::
+               (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnreset = (connect "reset")
+ 
+elementOnsearch ::
+                (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnsearch = (connect "search")
+ 
+elementOnselectstart ::
+                     (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnselectstart = (connect "selectstart")
+ 
+elementOntouchstart ::
+                    (IsElement self) => Signal self (EventM UIEvent self ())
+elementOntouchstart = (connect "touchstart")
+ 
+elementOntouchmove ::
+                   (IsElement self) => Signal self (EventM UIEvent self ())
+elementOntouchmove = (connect "touchmove")
+ 
+elementOntouchend ::
+                  (IsElement self) => Signal self (EventM UIEvent self ())
+elementOntouchend = (connect "touchend")
+ 
+elementOntouchcancel ::
+                     (IsElement self) => Signal self (EventM UIEvent self ())
+elementOntouchcancel = (connect "touchcancel")
+ 
+elementOnwebkitfullscreenchange ::
+                                (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnwebkitfullscreenchange
+  = (connect "webkitfullscreenchange")
+ 
+elementOnwebkitfullscreenerror ::
+                               (IsElement self) => Signal self (EventM UIEvent self ())
+elementOnwebkitfullscreenerror = (connect "webkitfullscreenerror")
+#else
+module GHCJS.DOM.Element (
+  module Graphics.UI.Gtk.WebKit.DOM.Element
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Element
+#endif
diff --git a/src/GHCJS/DOM/Event.hs b/src/GHCJS/DOM/Event.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Event.hs
@@ -0,0 +1,290 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Event
+       (ghcjs_dom_event_stop_propagation, eventStopPropagation,
+        ghcjs_dom_event_prevent_default, eventPreventDefault,
+        ghcjs_dom_event_init_event, eventInitEvent,
+        ghcjs_dom_event_stop_immediate_propagation,
+        eventStopImmediatePropagation, cNONE, cCAPTURING_PHASE, cAT_TARGET,
+        cBUBBLING_PHASE, cMOUSEDOWN, cMOUSEUP, cMOUSEOVER, cMOUSEOUT,
+        cMOUSEMOVE, cMOUSEDRAG, cCLICK, cDBLCLICK, cKEYDOWN, cKEYUP,
+        cKEYPRESS, cDRAGDROP, cFOCUS, cBLUR, cSELECT, cCHANGE,
+        ghcjs_dom_event_get_target, eventGetTarget,
+        ghcjs_dom_event_get_current_target, eventGetCurrentTarget,
+        ghcjs_dom_event_get_event_phase, eventGetEventPhase,
+        ghcjs_dom_event_get_bubbles, eventGetBubbles,
+        ghcjs_dom_event_get_cancelable, eventGetCancelable,
+        ghcjs_dom_event_get_time_stamp, eventGetTimeStamp,
+        ghcjs_dom_event_get_default_prevented, eventGetDefaultPrevented,
+        ghcjs_dom_event_get_src_element, eventGetSrcElement,
+        ghcjs_dom_event_set_return_value, eventSetReturnValue,
+        ghcjs_dom_event_get_return_value, eventGetReturnValue,
+        ghcjs_dom_event_set_cancel_bubble, eventSetCancelBubble,
+        ghcjs_dom_event_get_cancel_bubble, eventGetCancelBubble)
+       where
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"stopPropagation\"]()"
+        ghcjs_dom_event_stop_propagation :: JSRef Event -> IO ()
+#else 
+ghcjs_dom_event_stop_propagation :: JSRef Event -> IO ()
+ghcjs_dom_event_stop_propagation = undefined
+#endif
+ 
+eventStopPropagation :: (IsEvent self) => self -> IO ()
+eventStopPropagation self
+  = ghcjs_dom_event_stop_propagation (unEvent (toEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"preventDefault\"]()"
+        ghcjs_dom_event_prevent_default :: JSRef Event -> IO ()
+#else 
+ghcjs_dom_event_prevent_default :: JSRef Event -> IO ()
+ghcjs_dom_event_prevent_default = undefined
+#endif
+ 
+eventPreventDefault :: (IsEvent self) => self -> IO ()
+eventPreventDefault self
+  = ghcjs_dom_event_prevent_default (unEvent (toEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"initEvent\"]($2, $3, $4)"
+        ghcjs_dom_event_init_event ::
+        JSRef Event -> JSString -> Bool -> Bool -> IO ()
+#else 
+ghcjs_dom_event_init_event ::
+                             JSRef Event -> JSString -> Bool -> Bool -> IO ()
+ghcjs_dom_event_init_event = undefined
+#endif
+ 
+eventInitEvent ::
+               (IsEvent self, ToJSString eventTypeArg) =>
+                 self -> eventTypeArg -> Bool -> Bool -> IO ()
+eventInitEvent self eventTypeArg canBubbleArg cancelableArg
+  = ghcjs_dom_event_init_event (unEvent (toEvent self))
+      (toJSString eventTypeArg)
+      canBubbleArg
+      cancelableArg
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"stopImmediatePropagation\"]()"
+        ghcjs_dom_event_stop_immediate_propagation :: JSRef Event -> IO ()
+#else 
+ghcjs_dom_event_stop_immediate_propagation :: JSRef Event -> IO ()
+ghcjs_dom_event_stop_immediate_propagation = undefined
+#endif
+ 
+eventStopImmediatePropagation :: (IsEvent self) => self -> IO ()
+eventStopImmediatePropagation self
+  = ghcjs_dom_event_stop_immediate_propagation
+      (unEvent (toEvent self))
+cNONE = 0
+cCAPTURING_PHASE = 1
+cAT_TARGET = 2
+cBUBBLING_PHASE = 3
+cMOUSEDOWN = 1
+cMOUSEUP = 2
+cMOUSEOVER = 4
+cMOUSEOUT = 8
+cMOUSEMOVE = 16
+cMOUSEDRAG = 32
+cCLICK = 64
+cDBLCLICK = 128
+cKEYDOWN = 256
+cKEYUP = 512
+cKEYPRESS = 1024
+cDRAGDROP = 2048
+cFOCUS = 4096
+cBLUR = 8192
+cSELECT = 16384
+cCHANGE = 32768
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"]"
+        ghcjs_dom_event_get_target :: JSRef Event -> IO (JSRef EventTarget)
+#else 
+ghcjs_dom_event_get_target :: JSRef Event -> IO (JSRef EventTarget)
+ghcjs_dom_event_get_target = undefined
+#endif
+ 
+eventGetTarget :: (IsEvent self) => self -> IO (Maybe EventTarget)
+eventGetTarget self
+  = fmap EventTarget . maybeJSNull <$>
+      (ghcjs_dom_event_get_target (unEvent (toEvent self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"currentTarget\"]"
+        ghcjs_dom_event_get_current_target ::
+        JSRef Event -> IO (JSRef EventTarget)
+#else 
+ghcjs_dom_event_get_current_target ::
+                                     JSRef Event -> IO (JSRef EventTarget)
+ghcjs_dom_event_get_current_target = undefined
+#endif
+ 
+eventGetCurrentTarget ::
+                      (IsEvent self) => self -> IO (Maybe EventTarget)
+eventGetCurrentTarget self
+  = fmap EventTarget . maybeJSNull <$>
+      (ghcjs_dom_event_get_current_target (unEvent (toEvent self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"eventPhase\"]"
+        ghcjs_dom_event_get_event_phase :: JSRef Event -> IO Word
+#else 
+ghcjs_dom_event_get_event_phase :: JSRef Event -> IO Word
+ghcjs_dom_event_get_event_phase = undefined
+#endif
+ 
+eventGetEventPhase :: (IsEvent self) => self -> IO Word
+eventGetEventPhase self
+  = ghcjs_dom_event_get_event_phase (unEvent (toEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"bubbles\"] ? 1 : 0)"
+        ghcjs_dom_event_get_bubbles :: JSRef Event -> IO Bool
+#else 
+ghcjs_dom_event_get_bubbles :: JSRef Event -> IO Bool
+ghcjs_dom_event_get_bubbles = undefined
+#endif
+ 
+eventGetBubbles :: (IsEvent self) => self -> IO Bool
+eventGetBubbles self
+  = ghcjs_dom_event_get_bubbles (unEvent (toEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"cancelable\"] ? 1 : 0)"
+        ghcjs_dom_event_get_cancelable :: JSRef Event -> IO Bool
+#else 
+ghcjs_dom_event_get_cancelable :: JSRef Event -> IO Bool
+ghcjs_dom_event_get_cancelable = undefined
+#endif
+ 
+eventGetCancelable :: (IsEvent self) => self -> IO Bool
+eventGetCancelable self
+  = ghcjs_dom_event_get_cancelable (unEvent (toEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"timeStamp\"]"
+        ghcjs_dom_event_get_time_stamp :: JSRef Event -> IO Word
+#else 
+ghcjs_dom_event_get_time_stamp :: JSRef Event -> IO Word
+ghcjs_dom_event_get_time_stamp = undefined
+#endif
+ 
+eventGetTimeStamp :: (IsEvent self) => self -> IO Word
+eventGetTimeStamp self
+  = fromIntegral <$>
+      (ghcjs_dom_event_get_time_stamp (unEvent (toEvent self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"defaultPrevented\"] ? 1 : 0)"
+        ghcjs_dom_event_get_default_prevented :: JSRef Event -> IO Bool
+#else 
+ghcjs_dom_event_get_default_prevented :: JSRef Event -> IO Bool
+ghcjs_dom_event_get_default_prevented = undefined
+#endif
+ 
+eventGetDefaultPrevented :: (IsEvent self) => self -> IO Bool
+eventGetDefaultPrevented self
+  = ghcjs_dom_event_get_default_prevented (unEvent (toEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"srcElement\"]"
+        ghcjs_dom_event_get_src_element ::
+        JSRef Event -> IO (JSRef EventTarget)
+#else 
+ghcjs_dom_event_get_src_element ::
+                                  JSRef Event -> IO (JSRef EventTarget)
+ghcjs_dom_event_get_src_element = undefined
+#endif
+ 
+eventGetSrcElement ::
+                   (IsEvent self) => self -> IO (Maybe EventTarget)
+eventGetSrcElement self
+  = fmap EventTarget . maybeJSNull <$>
+      (ghcjs_dom_event_get_src_element (unEvent (toEvent self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"returnValue\"] = $2;"
+        ghcjs_dom_event_set_return_value :: JSRef Event -> Bool -> IO ()
+#else 
+ghcjs_dom_event_set_return_value :: JSRef Event -> Bool -> IO ()
+ghcjs_dom_event_set_return_value = undefined
+#endif
+ 
+eventSetReturnValue :: (IsEvent self) => self -> Bool -> IO ()
+eventSetReturnValue self val
+  = ghcjs_dom_event_set_return_value (unEvent (toEvent self)) val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"returnValue\"] ? 1 : 0)"
+        ghcjs_dom_event_get_return_value :: JSRef Event -> IO Bool
+#else 
+ghcjs_dom_event_get_return_value :: JSRef Event -> IO Bool
+ghcjs_dom_event_get_return_value = undefined
+#endif
+ 
+eventGetReturnValue :: (IsEvent self) => self -> IO Bool
+eventGetReturnValue self
+  = ghcjs_dom_event_get_return_value (unEvent (toEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cancelBubble\"] = $2;"
+        ghcjs_dom_event_set_cancel_bubble :: JSRef Event -> Bool -> IO ()
+#else 
+ghcjs_dom_event_set_cancel_bubble :: JSRef Event -> Bool -> IO ()
+ghcjs_dom_event_set_cancel_bubble = undefined
+#endif
+ 
+eventSetCancelBubble :: (IsEvent self) => self -> Bool -> IO ()
+eventSetCancelBubble self val
+  = ghcjs_dom_event_set_cancel_bubble (unEvent (toEvent self)) val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"cancelBubble\"] ? 1 : 0)"
+        ghcjs_dom_event_get_cancel_bubble :: JSRef Event -> IO Bool
+#else 
+ghcjs_dom_event_get_cancel_bubble :: JSRef Event -> IO Bool
+ghcjs_dom_event_get_cancel_bubble = undefined
+#endif
+ 
+eventGetCancelBubble :: (IsEvent self) => self -> IO Bool
+eventGetCancelBubble self
+  = ghcjs_dom_event_get_cancel_bubble (unEvent (toEvent self))
+#else
+module GHCJS.DOM.Event (
+  module Graphics.UI.Gtk.WebKit.DOM.Event
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Event
+#endif
diff --git a/src/GHCJS/DOM/EventM.hs b/src/GHCJS/DOM/EventM.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/EventM.hs
@@ -0,0 +1,264 @@
+{-# LANGUAGE ConstraintKinds #-}
+module GHCJS.DOM.EventM
+(
+  Signal (..)
+, EventM (..)
+, target
+, event
+, eventTarget
+, eventCurrentTarget
+, eventPhase
+, bubbles
+, cancelable
+, timeStamp
+, stopPropagation
+, preventDefault
+, defaultPrevented
+, stopImmediatePropagation
+, srcElement
+, getCancelBubble
+, cancelBubble
+, getReturnValue
+, returnValue
+, uiView
+, uiDetail
+, uiKeyCode
+, uiCharCode
+, uiLayerX
+, uiLayerY
+, uiLayerXY
+, uiPageX
+, uiPageY
+, uiPageXY
+, uiWhich
+, mouseScreenX
+, mouseScreenY
+, mouseScreenXY
+, mouseClientX
+, mouseClientY
+, mouseClientXY
+, mouseWebkitMovementX
+, mouseWebkitMovementY
+, mouseWebkitMovementXY
+, mouseCtrlKey
+, mouseShiftKey
+, mouseAltKey
+, mouseMetaKey
+, mouseButton
+, mouseRelatedTarget
+, mouseOffsetX
+, mouseOffsetY
+, mouseOffsetXY
+, mouseX
+, mouseY
+, mouseXY
+, mouseFromElement
+, mouseToElement
+, connect
+)
+where
+import Control.Applicative ((<$>))
+import Control.Monad.Reader ( ReaderT, ask, runReaderT )
+import Control.Monad.Trans ( liftIO )
+import GHCJS.DOM.Types
+import GHCJS.DOM.Event
+import GHCJS.DOM.UIEvent
+import GHCJS.DOM.MouseEvent
+import GHCJS.DOM.EventTargetClosures
+import Data.Word (Word)
+
+type Signal target callback = target -> callback -> IO Bool
+
+type EventM e t a = ReaderT (t, e) IO a
+
+target :: EventM e t t
+target = fst <$> ask
+
+event :: EventM e t e
+event = snd <$> ask
+
+eventTarget :: IsEvent e => EventM e t (Maybe EventTarget)
+eventTarget = event >>= (liftIO . eventGetTarget)
+
+eventCurrentTarget :: IsEvent e => EventM e t (Maybe EventTarget)
+eventCurrentTarget = event >>= (liftIO . eventGetCurrentTarget)
+
+eventPhase :: IsEvent e => EventM e t Word
+eventPhase = event >>= (liftIO . eventGetEventPhase)
+
+bubbles :: IsEvent e => EventM e t Bool
+bubbles = event >>= (liftIO . eventGetBubbles)
+
+cancelable :: IsEvent e => EventM e t Bool
+cancelable = event >>= (liftIO . eventGetCancelable)
+
+timeStamp :: IsEvent e => EventM e t Word
+timeStamp = event >>= (liftIO . eventGetTimeStamp)
+
+stopPropagation :: IsEvent e => EventM e t ()
+stopPropagation = event >>= (liftIO . eventStopPropagation)
+
+preventDefault :: IsEvent e => EventM e t ()
+preventDefault = event >>= (liftIO . eventPreventDefault)
+
+defaultPrevented :: IsEvent e => EventM e t Bool
+defaultPrevented = event >>= (liftIO . eventGetDefaultPrevented)
+
+stopImmediatePropagation :: IsEvent e => EventM e t ()
+stopImmediatePropagation = event >>= (liftIO . eventStopImmediatePropagation)
+
+srcElement :: IsEvent e => EventM e t (Maybe EventTarget)
+srcElement = event >>= (liftIO . eventGetSrcElement)
+
+getCancelBubble :: IsEvent e => EventM e t Bool
+getCancelBubble = event >>= (liftIO . eventGetCancelBubble)
+
+cancelBubble :: IsEvent e => Bool -> EventM e t ()
+cancelBubble f = event >>= (liftIO . flip eventSetCancelBubble f)
+
+getReturnValue :: IsEvent e => EventM e t Bool
+getReturnValue = event >>= (liftIO . eventGetReturnValue)
+
+returnValue :: IsEvent e => Bool -> EventM e t ()
+returnValue f = event >>= (liftIO . flip eventSetReturnValue f)
+
+uiView :: IsUIEvent e => EventM e t (Maybe DOMWindow)
+uiView = event >>= (liftIO . uiEventGetView)
+
+uiDetail :: IsUIEvent e => EventM e t Int
+uiDetail = event >>= (liftIO . uiEventGetDetail)
+
+uiKeyCode :: IsUIEvent e => EventM e t Int
+uiKeyCode = event >>= (liftIO . uiEventGetKeyCode)
+
+uiCharCode :: IsUIEvent e => EventM e t Int
+uiCharCode = event >>= (liftIO . uiEventGetCharCode)
+
+uiLayerX :: IsUIEvent e => EventM e t Int
+uiLayerX = event >>= (liftIO . uiEventGetLayerX)
+
+uiLayerY :: IsUIEvent e => EventM e t Int
+uiLayerY = event >>= (liftIO . uiEventGetLayerY)
+
+uiLayerXY :: IsUIEvent e => EventM e t (Int, Int)
+uiLayerXY = do
+  e <- event
+  liftIO $ do
+    x <- uiEventGetLayerX e
+    y <- uiEventGetLayerY e
+    return (x, y)
+
+uiPageX :: IsUIEvent e => EventM e t Int
+uiPageX = event >>= (liftIO . uiEventGetPageX)
+
+uiPageY :: IsUIEvent e => EventM e t Int
+uiPageY = event >>= (liftIO . uiEventGetPageY)
+
+uiPageXY :: IsUIEvent e => EventM e t (Int, Int)
+uiPageXY = do
+  e <- event
+  liftIO $ do
+    x <- uiEventGetPageX e
+    y <- uiEventGetPageY e
+    return (x, y)
+
+uiWhich :: IsUIEvent e => EventM e t Int
+uiWhich = event >>= (liftIO . uiEventGetWhich)
+
+mouseScreenX :: IsMouseEvent e => EventM e t Int
+mouseScreenX = event >>= (liftIO . mouseEventGetScreenX)
+
+mouseScreenY :: IsMouseEvent e => EventM e t Int
+mouseScreenY = event >>= (liftIO . mouseEventGetScreenY)
+
+mouseScreenXY :: IsMouseEvent e => EventM e t (Int, Int)
+mouseScreenXY = do
+  e <- event
+  liftIO $ do
+    x <- mouseEventGetScreenX e
+    y <- mouseEventGetScreenY e
+    return (x, y)
+
+mouseClientX :: IsMouseEvent e => EventM e t Int
+mouseClientX = event >>= (liftIO . mouseEventGetClientX)
+
+mouseClientY :: IsMouseEvent e => EventM e t Int
+mouseClientY = event >>= (liftIO . mouseEventGetClientY)
+
+mouseClientXY :: IsMouseEvent e => EventM e t (Int, Int)
+mouseClientXY = do
+  e <- event
+  liftIO $ do
+    x <- mouseEventGetClientX e
+    y <- mouseEventGetClientY e
+    return (x, y)
+
+mouseWebkitMovementX :: IsMouseEvent e => EventM e t Int
+mouseWebkitMovementX = event >>= (liftIO . mouseEventGetWebkitMovementX)
+
+mouseWebkitMovementY :: IsMouseEvent e => EventM e t Int
+mouseWebkitMovementY = event >>= (liftIO . mouseEventGetWebkitMovementY)
+
+mouseWebkitMovementXY :: IsMouseEvent e => EventM e t (Int, Int)
+mouseWebkitMovementXY = do
+  e <- event
+  liftIO $ do
+    x <- mouseEventGetWebkitMovementX e
+    y <- mouseEventGetWebkitMovementY e
+    return (x, y)
+
+mouseCtrlKey :: IsMouseEvent e => EventM e t Bool
+mouseCtrlKey = event >>= (liftIO . mouseEventGetCtrlKey)
+
+mouseShiftKey :: IsMouseEvent e => EventM e t Bool
+mouseShiftKey = event >>= (liftIO . mouseEventGetShiftKey)
+
+mouseAltKey :: IsMouseEvent e => EventM e t Bool
+mouseAltKey = event >>= (liftIO . mouseEventGetAltKey)
+
+mouseMetaKey :: IsMouseEvent e => EventM e t Bool
+mouseMetaKey = event >>= (liftIO . mouseEventGetMetaKey)
+
+mouseButton :: IsMouseEvent e => EventM e t Word
+mouseButton = event >>= (liftIO . mouseEventGetButton)
+
+mouseRelatedTarget :: IsMouseEvent e => EventM e t (Maybe EventTarget)
+mouseRelatedTarget = event >>= (liftIO . mouseEventGetRelatedTarget)
+
+mouseOffsetX :: IsMouseEvent e => EventM e t Int
+mouseOffsetX = event >>= (liftIO . mouseEventGetOffsetX)
+
+mouseOffsetY :: IsMouseEvent e => EventM e t Int
+mouseOffsetY = event >>= (liftIO . mouseEventGetOffsetY)
+
+mouseOffsetXY :: IsMouseEvent e => EventM e t (Int, Int)
+mouseOffsetXY = do
+  e <- event
+  liftIO $ do
+    x <- mouseEventGetOffsetX e
+    y <- mouseEventGetOffsetY e
+    return (x, y)
+
+mouseX :: IsMouseEvent e => EventM e t Int
+mouseX = event >>= (liftIO . mouseEventGetX)
+
+mouseY :: IsMouseEvent e => EventM e t Int
+mouseY = event >>= (liftIO . mouseEventGetY)
+
+mouseXY :: IsMouseEvent e => EventM e t (Int, Int)
+mouseXY = do
+  e <- event
+  liftIO $ do
+    x <- mouseEventGetX e
+    y <- mouseEventGetY e
+    return (x, y)
+
+mouseFromElement :: IsMouseEvent e => EventM e t (Maybe Node)
+mouseFromElement = event >>= (liftIO . mouseEventGetFromElement)
+
+mouseToElement :: IsMouseEvent e => EventM e t (Maybe Node)
+mouseToElement = event >>= (liftIO . mouseEventGetToElement)
+
+connect :: (GObjectClass t, IsEvent e) => String -> t -> EventM e t () -> IO Bool
+connect eventName target callback =
+  eventTargetAddEventListener target eventName False $ curry (runReaderT callback)
diff --git a/src/GHCJS/DOM/EventTargetClosures.hs b/src/GHCJS/DOM/EventTargetClosures.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/EventTargetClosures.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE JavaScriptFFI, ForeignFunctionInterface #-}
+module GHCJS.DOM.EventTargetClosures
+       (eventTargetAddEventListener) where
+
+import GHCJS.Types
+import GHCJS.Foreign
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+
+#ifdef __GHCJS__
+foreign import javascript unsafe
+        "($1[\"addEventListener\"]($2, $3, $4) ? 1 : 0)"
+        ghcjs_dom_event_target_add_event_listener ::
+        JSRef GObject -> JSString -> JSRef a -> Bool -> IO Bool
+#else
+ghcjs_dom_event_target_add_event_listener ::
+        JSRef GObject -> JSString -> JSRef a -> Bool -> IO Bool
+ghcjs_dom_event_target_add_event_listener = undefined
+#endif
+
+eventTargetAddEventListener ::
+                         (GObjectClass self, IsEvent event) =>
+                           self -> String -> Bool -> (self -> event -> IO ()) -> IO Bool
+eventTargetAddEventListener self eventName bubble user = do
+    callback <- syncCallback1 False True $ \e -> user self (unsafeCastGObject $ GObject e)
+    ghcjs_dom_event_target_add_event_listener
+        (unGObject (toGObject self))
+        (toJSString eventName)
+        callback
+        bubble
+#else
+module GHCJS.DOM.EventTargetClosures (
+  module Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures
+#endif
diff --git a/src/GHCJS/DOM/Events.hs b/src/GHCJS/DOM/Events.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Events.hs
@@ -0,0 +1,16 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Events (Event, IsEvent) where
+ 
+data Event = Event
+ 
+class IsEvent a
+ 
+instance IsEvent Event
+#else
+module GHCJS.DOM.Events (
+  module Graphics.UI.Gtk.WebKit.DOM.Events
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Events
+#endif
diff --git a/src/GHCJS/DOM/File.hs b/src/GHCJS/DOM/File.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/File.hs
@@ -0,0 +1,37 @@
+{-# 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
+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[\"name\"]"
+        ghcjs_dom_file_get_name :: JSRef File -> IO JSString
+#else 
+ghcjs_dom_file_get_name :: JSRef File -> IO JSString
+ghcjs_dom_file_get_name = undefined
+#endif
+ 
+fileGetName ::
+            (IsFile self, FromJSString result) => self -> IO result
+fileGetName self
+  = fromJSString <$> (ghcjs_dom_file_get_name (unFile (toFile self)))
+#else
+module GHCJS.DOM.File (
+  module Graphics.UI.Gtk.WebKit.DOM.File
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.File
+#endif
diff --git a/src/GHCJS/DOM/FileList.hs b/src/GHCJS/DOM/FileList.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/FileList.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.FileList
+       (ghcjs_dom_file_list_item, fileListItem,
+        ghcjs_dom_file_list_get_length, fileListGetLength)
+       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_file_list_item ::
+        JSRef FileList -> Word -> IO (JSRef File)
+#else 
+ghcjs_dom_file_list_item ::
+                           JSRef FileList -> Word -> IO (JSRef File)
+ghcjs_dom_file_list_item = undefined
+#endif
+ 
+fileListItem ::
+             (IsFileList self) => self -> Word -> IO (Maybe File)
+fileListItem self index
+  = fmap File . maybeJSNull <$>
+      (ghcjs_dom_file_list_item (unFileList (toFileList self)) index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_file_list_get_length :: JSRef FileList -> IO Word
+#else 
+ghcjs_dom_file_list_get_length :: JSRef FileList -> IO Word
+ghcjs_dom_file_list_get_length = undefined
+#endif
+ 
+fileListGetLength :: (IsFileList self) => self -> IO Word
+fileListGetLength self
+  = ghcjs_dom_file_list_get_length (unFileList (toFileList self))
+#else
+module GHCJS.DOM.FileList (
+  module Graphics.UI.Gtk.WebKit.DOM.FileList
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.FileList
+#endif
diff --git a/src/GHCJS/DOM/Geolocation.hs b/src/GHCJS/DOM/Geolocation.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Geolocation.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Geolocation
+       (ghcjs_dom_geolocation_clear_watch, geolocationClearWatch) 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[\"clearWatch\"]($2)"
+        ghcjs_dom_geolocation_clear_watch ::
+        JSRef Geolocation -> Int -> IO ()
+#else 
+ghcjs_dom_geolocation_clear_watch ::
+                                    JSRef Geolocation -> Int -> IO ()
+ghcjs_dom_geolocation_clear_watch = undefined
+#endif
+ 
+geolocationClearWatch ::
+                      (IsGeolocation self) => self -> Int -> IO ()
+geolocationClearWatch self watchId
+  = ghcjs_dom_geolocation_clear_watch
+      (unGeolocation (toGeolocation self))
+      watchId
+#else
+module GHCJS.DOM.Geolocation (
+  module Graphics.UI.Gtk.WebKit.DOM.Geolocation
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Geolocation
+#endif
diff --git a/src/GHCJS/DOM/HTMLAnchorElement.hs b/src/GHCJS/DOM/HTMLAnchorElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLAnchorElement.hs
@@ -0,0 +1,785 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLAnchorElement
+       (ghcjs_dom_html_anchor_element_set_charset,
+        htmlAnchorElementSetCharset,
+        ghcjs_dom_html_anchor_element_get_charset,
+        htmlAnchorElementGetCharset,
+        ghcjs_dom_html_anchor_element_set_coords,
+        htmlAnchorElementSetCoords,
+        ghcjs_dom_html_anchor_element_get_coords,
+        htmlAnchorElementGetCoords,
+        ghcjs_dom_html_anchor_element_set_download,
+        htmlAnchorElementSetDownload,
+        ghcjs_dom_html_anchor_element_get_download,
+        htmlAnchorElementGetDownload,
+        ghcjs_dom_html_anchor_element_set_href, htmlAnchorElementSetHref,
+        ghcjs_dom_html_anchor_element_get_href, htmlAnchorElementGetHref,
+        ghcjs_dom_html_anchor_element_set_hreflang,
+        htmlAnchorElementSetHreflang,
+        ghcjs_dom_html_anchor_element_get_hreflang,
+        htmlAnchorElementGetHreflang,
+        ghcjs_dom_html_anchor_element_set_name, htmlAnchorElementSetName,
+        ghcjs_dom_html_anchor_element_get_name, htmlAnchorElementGetName,
+        ghcjs_dom_html_anchor_element_set_ping, htmlAnchorElementSetPing,
+        ghcjs_dom_html_anchor_element_get_ping, htmlAnchorElementGetPing,
+        ghcjs_dom_html_anchor_element_set_rel, htmlAnchorElementSetRel,
+        ghcjs_dom_html_anchor_element_get_rel, htmlAnchorElementGetRel,
+        ghcjs_dom_html_anchor_element_set_rev, htmlAnchorElementSetRev,
+        ghcjs_dom_html_anchor_element_get_rev, htmlAnchorElementGetRev,
+        ghcjs_dom_html_anchor_element_set_shape, htmlAnchorElementSetShape,
+        ghcjs_dom_html_anchor_element_get_shape, htmlAnchorElementGetShape,
+        ghcjs_dom_html_anchor_element_set_target,
+        htmlAnchorElementSetTarget,
+        ghcjs_dom_html_anchor_element_get_target,
+        htmlAnchorElementGetTarget, ghcjs_dom_html_anchor_element_set_hash,
+        htmlAnchorElementSetHash, ghcjs_dom_html_anchor_element_get_hash,
+        htmlAnchorElementGetHash, ghcjs_dom_html_anchor_element_set_host,
+        htmlAnchorElementSetHost, ghcjs_dom_html_anchor_element_get_host,
+        htmlAnchorElementGetHost,
+        ghcjs_dom_html_anchor_element_set_hostname,
+        htmlAnchorElementSetHostname,
+        ghcjs_dom_html_anchor_element_get_hostname,
+        htmlAnchorElementGetHostname,
+        ghcjs_dom_html_anchor_element_set_pathname,
+        htmlAnchorElementSetPathname,
+        ghcjs_dom_html_anchor_element_get_pathname,
+        htmlAnchorElementGetPathname,
+        ghcjs_dom_html_anchor_element_set_port, htmlAnchorElementSetPort,
+        ghcjs_dom_html_anchor_element_get_port, htmlAnchorElementGetPort,
+        ghcjs_dom_html_anchor_element_set_protocol,
+        htmlAnchorElementSetProtocol,
+        ghcjs_dom_html_anchor_element_get_protocol,
+        htmlAnchorElementGetProtocol,
+        ghcjs_dom_html_anchor_element_set_search,
+        htmlAnchorElementSetSearch,
+        ghcjs_dom_html_anchor_element_get_search,
+        htmlAnchorElementGetSearch,
+        ghcjs_dom_html_anchor_element_get_origin,
+        htmlAnchorElementGetOrigin, ghcjs_dom_html_anchor_element_get_text,
+        htmlAnchorElementGetText)
+       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[\"charset\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_charset ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_charset ::
+                                            JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_charset = undefined
+#endif
+ 
+htmlAnchorElementSetCharset ::
+                            (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetCharset self val
+  = ghcjs_dom_html_anchor_element_set_charset
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"charset\"]"
+        ghcjs_dom_html_anchor_element_get_charset ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_charset ::
+                                            JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_charset = undefined
+#endif
+ 
+htmlAnchorElementGetCharset ::
+                            (IsHTMLAnchorElement self, FromJSString result) =>
+                              self -> IO result
+htmlAnchorElementGetCharset self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_charset
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"coords\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_coords ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_coords ::
+                                           JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_coords = undefined
+#endif
+ 
+htmlAnchorElementSetCoords ::
+                           (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetCoords self val
+  = ghcjs_dom_html_anchor_element_set_coords
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"coords\"]"
+        ghcjs_dom_html_anchor_element_get_coords ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_coords ::
+                                           JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_coords = undefined
+#endif
+ 
+htmlAnchorElementGetCoords ::
+                           (IsHTMLAnchorElement self, FromJSString result) =>
+                             self -> IO result
+htmlAnchorElementGetCoords self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_coords
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"download\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_download ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_download ::
+                                             JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_download = undefined
+#endif
+ 
+htmlAnchorElementSetDownload ::
+                             (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetDownload self val
+  = ghcjs_dom_html_anchor_element_set_download
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"download\"]"
+        ghcjs_dom_html_anchor_element_get_download ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_download ::
+                                             JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_download = undefined
+#endif
+ 
+htmlAnchorElementGetDownload ::
+                             (IsHTMLAnchorElement self, FromJSString result) =>
+                               self -> IO result
+htmlAnchorElementGetDownload self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_download
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"href\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_href ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_href ::
+                                         JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_href = undefined
+#endif
+ 
+htmlAnchorElementSetHref ::
+                         (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetHref self val
+  = ghcjs_dom_html_anchor_element_set_href
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"href\"]"
+        ghcjs_dom_html_anchor_element_get_href ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_href ::
+                                         JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_href = undefined
+#endif
+ 
+htmlAnchorElementGetHref ::
+                         (IsHTMLAnchorElement self, FromJSString result) =>
+                           self -> IO result
+htmlAnchorElementGetHref self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_href
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hreflang\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_hreflang ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_hreflang ::
+                                             JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_hreflang = undefined
+#endif
+ 
+htmlAnchorElementSetHreflang ::
+                             (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetHreflang self val
+  = ghcjs_dom_html_anchor_element_set_hreflang
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hreflang\"]"
+        ghcjs_dom_html_anchor_element_get_hreflang ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_hreflang ::
+                                             JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_hreflang = undefined
+#endif
+ 
+htmlAnchorElementGetHreflang ::
+                             (IsHTMLAnchorElement self, FromJSString result) =>
+                               self -> IO result
+htmlAnchorElementGetHreflang self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_hreflang
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_name ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_name ::
+                                         JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_name = undefined
+#endif
+ 
+htmlAnchorElementSetName ::
+                         (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetName self val
+  = ghcjs_dom_html_anchor_element_set_name
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_anchor_element_get_name ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_name ::
+                                         JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_name = undefined
+#endif
+ 
+htmlAnchorElementGetName ::
+                         (IsHTMLAnchorElement self, FromJSString result) =>
+                           self -> IO result
+htmlAnchorElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_name
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ping\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_ping ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_ping ::
+                                         JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_ping = undefined
+#endif
+ 
+htmlAnchorElementSetPing ::
+                         (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetPing self val
+  = ghcjs_dom_html_anchor_element_set_ping
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ping\"]"
+        ghcjs_dom_html_anchor_element_get_ping ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_ping ::
+                                         JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_ping = undefined
+#endif
+ 
+htmlAnchorElementGetPing ::
+                         (IsHTMLAnchorElement self, FromJSString result) =>
+                           self -> IO result
+htmlAnchorElementGetPing self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_ping
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rel\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_rel ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_rel ::
+                                        JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_rel = undefined
+#endif
+ 
+htmlAnchorElementSetRel ::
+                        (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetRel self val
+  = ghcjs_dom_html_anchor_element_set_rel
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rel\"]"
+        ghcjs_dom_html_anchor_element_get_rel ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_rel ::
+                                        JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_rel = undefined
+#endif
+ 
+htmlAnchorElementGetRel ::
+                        (IsHTMLAnchorElement self, FromJSString result) =>
+                          self -> IO result
+htmlAnchorElementGetRel self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_rel
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rev\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_rev ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_rev ::
+                                        JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_rev = undefined
+#endif
+ 
+htmlAnchorElementSetRev ::
+                        (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetRev self val
+  = ghcjs_dom_html_anchor_element_set_rev
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rev\"]"
+        ghcjs_dom_html_anchor_element_get_rev ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_rev ::
+                                        JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_rev = undefined
+#endif
+ 
+htmlAnchorElementGetRev ::
+                        (IsHTMLAnchorElement self, FromJSString result) =>
+                          self -> IO result
+htmlAnchorElementGetRev self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_rev
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"shape\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_shape ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_shape ::
+                                          JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_shape = undefined
+#endif
+ 
+htmlAnchorElementSetShape ::
+                          (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetShape self val
+  = ghcjs_dom_html_anchor_element_set_shape
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"shape\"]"
+        ghcjs_dom_html_anchor_element_get_shape ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_shape ::
+                                          JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_shape = undefined
+#endif
+ 
+htmlAnchorElementGetShape ::
+                          (IsHTMLAnchorElement self, FromJSString result) =>
+                            self -> IO result
+htmlAnchorElementGetShape self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_shape
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_target ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_target ::
+                                           JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_target = undefined
+#endif
+ 
+htmlAnchorElementSetTarget ::
+                           (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetTarget self val
+  = ghcjs_dom_html_anchor_element_set_target
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"]"
+        ghcjs_dom_html_anchor_element_get_target ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_target ::
+                                           JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_target = undefined
+#endif
+ 
+htmlAnchorElementGetTarget ::
+                           (IsHTMLAnchorElement self, FromJSString result) =>
+                             self -> IO result
+htmlAnchorElementGetTarget self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_target
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hash\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_hash ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_hash ::
+                                         JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_hash = undefined
+#endif
+ 
+htmlAnchorElementSetHash ::
+                         (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetHash self val
+  = ghcjs_dom_html_anchor_element_set_hash
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hash\"]"
+        ghcjs_dom_html_anchor_element_get_hash ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_hash ::
+                                         JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_hash = undefined
+#endif
+ 
+htmlAnchorElementGetHash ::
+                         (IsHTMLAnchorElement self, FromJSString result) =>
+                           self -> IO result
+htmlAnchorElementGetHash self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_hash
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"host\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_host ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_host ::
+                                         JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_host = undefined
+#endif
+ 
+htmlAnchorElementSetHost ::
+                         (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetHost self val
+  = ghcjs_dom_html_anchor_element_set_host
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"host\"]"
+        ghcjs_dom_html_anchor_element_get_host ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_host ::
+                                         JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_host = undefined
+#endif
+ 
+htmlAnchorElementGetHost ::
+                         (IsHTMLAnchorElement self, FromJSString result) =>
+                           self -> IO result
+htmlAnchorElementGetHost self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_host
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hostname\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_hostname ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_hostname ::
+                                             JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_hostname = undefined
+#endif
+ 
+htmlAnchorElementSetHostname ::
+                             (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetHostname self val
+  = ghcjs_dom_html_anchor_element_set_hostname
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hostname\"]"
+        ghcjs_dom_html_anchor_element_get_hostname ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_hostname ::
+                                             JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_hostname = undefined
+#endif
+ 
+htmlAnchorElementGetHostname ::
+                             (IsHTMLAnchorElement self, FromJSString result) =>
+                               self -> IO result
+htmlAnchorElementGetHostname self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_hostname
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pathname\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_pathname ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_pathname ::
+                                             JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_pathname = undefined
+#endif
+ 
+htmlAnchorElementSetPathname ::
+                             (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetPathname self val
+  = ghcjs_dom_html_anchor_element_set_pathname
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pathname\"]"
+        ghcjs_dom_html_anchor_element_get_pathname ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_pathname ::
+                                             JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_pathname = undefined
+#endif
+ 
+htmlAnchorElementGetPathname ::
+                             (IsHTMLAnchorElement self, FromJSString result) =>
+                               self -> IO result
+htmlAnchorElementGetPathname self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_pathname
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"port\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_port ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_port ::
+                                         JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_port = undefined
+#endif
+ 
+htmlAnchorElementSetPort ::
+                         (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetPort self val
+  = ghcjs_dom_html_anchor_element_set_port
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"port\"]"
+        ghcjs_dom_html_anchor_element_get_port ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_port ::
+                                         JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_port = undefined
+#endif
+ 
+htmlAnchorElementGetPort ::
+                         (IsHTMLAnchorElement self, FromJSString result) =>
+                           self -> IO result
+htmlAnchorElementGetPort self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_port
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"protocol\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_protocol ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_protocol ::
+                                             JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_protocol = undefined
+#endif
+ 
+htmlAnchorElementSetProtocol ::
+                             (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetProtocol self val
+  = ghcjs_dom_html_anchor_element_set_protocol
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"protocol\"]"
+        ghcjs_dom_html_anchor_element_get_protocol ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_protocol ::
+                                             JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_protocol = undefined
+#endif
+ 
+htmlAnchorElementGetProtocol ::
+                             (IsHTMLAnchorElement self, FromJSString result) =>
+                               self -> IO result
+htmlAnchorElementGetProtocol self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_protocol
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"search\"] = $2;"
+        ghcjs_dom_html_anchor_element_set_search ::
+        JSRef HTMLAnchorElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_anchor_element_set_search ::
+                                           JSRef HTMLAnchorElement -> JSString -> IO ()
+ghcjs_dom_html_anchor_element_set_search = undefined
+#endif
+ 
+htmlAnchorElementSetSearch ::
+                           (IsHTMLAnchorElement self, ToJSString val) => self -> val -> IO ()
+htmlAnchorElementSetSearch self val
+  = ghcjs_dom_html_anchor_element_set_search
+      (unHTMLAnchorElement (toHTMLAnchorElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"search\"]"
+        ghcjs_dom_html_anchor_element_get_search ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_search ::
+                                           JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_search = undefined
+#endif
+ 
+htmlAnchorElementGetSearch ::
+                           (IsHTMLAnchorElement self, FromJSString result) =>
+                             self -> IO result
+htmlAnchorElementGetSearch self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_search
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"origin\"]"
+        ghcjs_dom_html_anchor_element_get_origin ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_origin ::
+                                           JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_origin = undefined
+#endif
+ 
+htmlAnchorElementGetOrigin ::
+                           (IsHTMLAnchorElement self, FromJSString result) =>
+                             self -> IO result
+htmlAnchorElementGetOrigin self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_origin
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"text\"]"
+        ghcjs_dom_html_anchor_element_get_text ::
+        JSRef HTMLAnchorElement -> IO JSString
+#else 
+ghcjs_dom_html_anchor_element_get_text ::
+                                         JSRef HTMLAnchorElement -> IO JSString
+ghcjs_dom_html_anchor_element_get_text = undefined
+#endif
+ 
+htmlAnchorElementGetText ::
+                         (IsHTMLAnchorElement self, FromJSString result) =>
+                           self -> IO result
+htmlAnchorElementGetText self
+  = fromJSString <$>
+      (ghcjs_dom_html_anchor_element_get_text
+         (unHTMLAnchorElement (toHTMLAnchorElement self)))
+#else
+module GHCJS.DOM.HTMLAnchorElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLAnchorElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLAnchorElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLAppletElement.hs b/src/GHCJS/DOM/HTMLAppletElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLAppletElement.hs
@@ -0,0 +1,460 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLAppletElement
+       (ghcjs_dom_html_applet_element_set_align,
+        htmlAppletElementSetAlign, ghcjs_dom_html_applet_element_get_align,
+        htmlAppletElementGetAlign, ghcjs_dom_html_applet_element_set_alt,
+        htmlAppletElementSetAlt, ghcjs_dom_html_applet_element_get_alt,
+        htmlAppletElementGetAlt, ghcjs_dom_html_applet_element_set_archive,
+        htmlAppletElementSetArchive,
+        ghcjs_dom_html_applet_element_get_archive,
+        htmlAppletElementGetArchive,
+        ghcjs_dom_html_applet_element_set_code, htmlAppletElementSetCode,
+        ghcjs_dom_html_applet_element_get_code, htmlAppletElementGetCode,
+        ghcjs_dom_html_applet_element_set_code_base,
+        htmlAppletElementSetCodeBase,
+        ghcjs_dom_html_applet_element_get_code_base,
+        htmlAppletElementGetCodeBase,
+        ghcjs_dom_html_applet_element_set_height,
+        htmlAppletElementSetHeight,
+        ghcjs_dom_html_applet_element_get_height,
+        htmlAppletElementGetHeight,
+        ghcjs_dom_html_applet_element_set_hspace,
+        htmlAppletElementSetHspace,
+        ghcjs_dom_html_applet_element_get_hspace,
+        htmlAppletElementGetHspace, ghcjs_dom_html_applet_element_set_name,
+        htmlAppletElementSetName, ghcjs_dom_html_applet_element_get_name,
+        htmlAppletElementGetName, ghcjs_dom_html_applet_element_set_object,
+        htmlAppletElementSetObject,
+        ghcjs_dom_html_applet_element_get_object,
+        htmlAppletElementGetObject,
+        ghcjs_dom_html_applet_element_set_vspace,
+        htmlAppletElementSetVspace,
+        ghcjs_dom_html_applet_element_get_vspace,
+        htmlAppletElementGetVspace,
+        ghcjs_dom_html_applet_element_set_width, htmlAppletElementSetWidth,
+        ghcjs_dom_html_applet_element_get_width, htmlAppletElementGetWidth)
+       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[\"align\"] = $2;"
+        ghcjs_dom_html_applet_element_set_align ::
+        JSRef HTMLAppletElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_align ::
+                                          JSRef HTMLAppletElement -> JSString -> IO ()
+ghcjs_dom_html_applet_element_set_align = undefined
+#endif
+ 
+htmlAppletElementSetAlign ::
+                          (IsHTMLAppletElement self, ToJSString val) => self -> val -> IO ()
+htmlAppletElementSetAlign self val
+  = ghcjs_dom_html_applet_element_set_align
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_applet_element_get_align ::
+        JSRef HTMLAppletElement -> IO JSString
+#else 
+ghcjs_dom_html_applet_element_get_align ::
+                                          JSRef HTMLAppletElement -> IO JSString
+ghcjs_dom_html_applet_element_get_align = undefined
+#endif
+ 
+htmlAppletElementGetAlign ::
+                          (IsHTMLAppletElement self, FromJSString result) =>
+                            self -> IO result
+htmlAppletElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_applet_element_get_align
+         (unHTMLAppletElement (toHTMLAppletElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"alt\"] = $2;"
+        ghcjs_dom_html_applet_element_set_alt ::
+        JSRef HTMLAppletElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_alt ::
+                                        JSRef HTMLAppletElement -> JSString -> IO ()
+ghcjs_dom_html_applet_element_set_alt = undefined
+#endif
+ 
+htmlAppletElementSetAlt ::
+                        (IsHTMLAppletElement self, ToJSString val) => self -> val -> IO ()
+htmlAppletElementSetAlt self val
+  = ghcjs_dom_html_applet_element_set_alt
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"alt\"]"
+        ghcjs_dom_html_applet_element_get_alt ::
+        JSRef HTMLAppletElement -> IO JSString
+#else 
+ghcjs_dom_html_applet_element_get_alt ::
+                                        JSRef HTMLAppletElement -> IO JSString
+ghcjs_dom_html_applet_element_get_alt = undefined
+#endif
+ 
+htmlAppletElementGetAlt ::
+                        (IsHTMLAppletElement self, FromJSString result) =>
+                          self -> IO result
+htmlAppletElementGetAlt self
+  = fromJSString <$>
+      (ghcjs_dom_html_applet_element_get_alt
+         (unHTMLAppletElement (toHTMLAppletElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"archive\"] = $2;"
+        ghcjs_dom_html_applet_element_set_archive ::
+        JSRef HTMLAppletElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_archive ::
+                                            JSRef HTMLAppletElement -> JSString -> IO ()
+ghcjs_dom_html_applet_element_set_archive = undefined
+#endif
+ 
+htmlAppletElementSetArchive ::
+                            (IsHTMLAppletElement self, ToJSString val) => self -> val -> IO ()
+htmlAppletElementSetArchive self val
+  = ghcjs_dom_html_applet_element_set_archive
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"archive\"]"
+        ghcjs_dom_html_applet_element_get_archive ::
+        JSRef HTMLAppletElement -> IO JSString
+#else 
+ghcjs_dom_html_applet_element_get_archive ::
+                                            JSRef HTMLAppletElement -> IO JSString
+ghcjs_dom_html_applet_element_get_archive = undefined
+#endif
+ 
+htmlAppletElementGetArchive ::
+                            (IsHTMLAppletElement self, FromJSString result) =>
+                              self -> IO result
+htmlAppletElementGetArchive self
+  = fromJSString <$>
+      (ghcjs_dom_html_applet_element_get_archive
+         (unHTMLAppletElement (toHTMLAppletElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"code\"] = $2;"
+        ghcjs_dom_html_applet_element_set_code ::
+        JSRef HTMLAppletElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_code ::
+                                         JSRef HTMLAppletElement -> JSString -> IO ()
+ghcjs_dom_html_applet_element_set_code = undefined
+#endif
+ 
+htmlAppletElementSetCode ::
+                         (IsHTMLAppletElement self, ToJSString val) => self -> val -> IO ()
+htmlAppletElementSetCode self val
+  = ghcjs_dom_html_applet_element_set_code
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"code\"]"
+        ghcjs_dom_html_applet_element_get_code ::
+        JSRef HTMLAppletElement -> IO JSString
+#else 
+ghcjs_dom_html_applet_element_get_code ::
+                                         JSRef HTMLAppletElement -> IO JSString
+ghcjs_dom_html_applet_element_get_code = undefined
+#endif
+ 
+htmlAppletElementGetCode ::
+                         (IsHTMLAppletElement self, FromJSString result) =>
+                           self -> IO result
+htmlAppletElementGetCode self
+  = fromJSString <$>
+      (ghcjs_dom_html_applet_element_get_code
+         (unHTMLAppletElement (toHTMLAppletElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"codeBase\"] = $2;"
+        ghcjs_dom_html_applet_element_set_code_base ::
+        JSRef HTMLAppletElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_code_base ::
+                                              JSRef HTMLAppletElement -> JSString -> IO ()
+ghcjs_dom_html_applet_element_set_code_base = undefined
+#endif
+ 
+htmlAppletElementSetCodeBase ::
+                             (IsHTMLAppletElement self, ToJSString val) => self -> val -> IO ()
+htmlAppletElementSetCodeBase self val
+  = ghcjs_dom_html_applet_element_set_code_base
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"codeBase\"]"
+        ghcjs_dom_html_applet_element_get_code_base ::
+        JSRef HTMLAppletElement -> IO JSString
+#else 
+ghcjs_dom_html_applet_element_get_code_base ::
+                                              JSRef HTMLAppletElement -> IO JSString
+ghcjs_dom_html_applet_element_get_code_base = undefined
+#endif
+ 
+htmlAppletElementGetCodeBase ::
+                             (IsHTMLAppletElement self, FromJSString result) =>
+                               self -> IO result
+htmlAppletElementGetCodeBase self
+  = fromJSString <$>
+      (ghcjs_dom_html_applet_element_get_code_base
+         (unHTMLAppletElement (toHTMLAppletElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"] = $2;"
+        ghcjs_dom_html_applet_element_set_height ::
+        JSRef HTMLAppletElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_height ::
+                                           JSRef HTMLAppletElement -> JSString -> IO ()
+ghcjs_dom_html_applet_element_set_height = undefined
+#endif
+ 
+htmlAppletElementSetHeight ::
+                           (IsHTMLAppletElement self, ToJSString val) => self -> val -> IO ()
+htmlAppletElementSetHeight self val
+  = ghcjs_dom_html_applet_element_set_height
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_applet_element_get_height ::
+        JSRef HTMLAppletElement -> IO JSString
+#else 
+ghcjs_dom_html_applet_element_get_height ::
+                                           JSRef HTMLAppletElement -> IO JSString
+ghcjs_dom_html_applet_element_get_height = undefined
+#endif
+ 
+htmlAppletElementGetHeight ::
+                           (IsHTMLAppletElement self, FromJSString result) =>
+                             self -> IO result
+htmlAppletElementGetHeight self
+  = fromJSString <$>
+      (ghcjs_dom_html_applet_element_get_height
+         (unHTMLAppletElement (toHTMLAppletElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hspace\"] = $2;"
+        ghcjs_dom_html_applet_element_set_hspace ::
+        JSRef HTMLAppletElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_hspace ::
+                                           JSRef HTMLAppletElement -> Int -> IO ()
+ghcjs_dom_html_applet_element_set_hspace = undefined
+#endif
+ 
+htmlAppletElementSetHspace ::
+                           (IsHTMLAppletElement self) => self -> Int -> IO ()
+htmlAppletElementSetHspace self val
+  = ghcjs_dom_html_applet_element_set_hspace
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hspace\"]"
+        ghcjs_dom_html_applet_element_get_hspace ::
+        JSRef HTMLAppletElement -> IO Int
+#else 
+ghcjs_dom_html_applet_element_get_hspace ::
+                                           JSRef HTMLAppletElement -> IO Int
+ghcjs_dom_html_applet_element_get_hspace = undefined
+#endif
+ 
+htmlAppletElementGetHspace ::
+                           (IsHTMLAppletElement self) => self -> IO Int
+htmlAppletElementGetHspace self
+  = ghcjs_dom_html_applet_element_get_hspace
+      (unHTMLAppletElement (toHTMLAppletElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_applet_element_set_name ::
+        JSRef HTMLAppletElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_name ::
+                                         JSRef HTMLAppletElement -> JSString -> IO ()
+ghcjs_dom_html_applet_element_set_name = undefined
+#endif
+ 
+htmlAppletElementSetName ::
+                         (IsHTMLAppletElement self, ToJSString val) => self -> val -> IO ()
+htmlAppletElementSetName self val
+  = ghcjs_dom_html_applet_element_set_name
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_applet_element_get_name ::
+        JSRef HTMLAppletElement -> IO JSString
+#else 
+ghcjs_dom_html_applet_element_get_name ::
+                                         JSRef HTMLAppletElement -> IO JSString
+ghcjs_dom_html_applet_element_get_name = undefined
+#endif
+ 
+htmlAppletElementGetName ::
+                         (IsHTMLAppletElement self, FromJSString result) =>
+                           self -> IO result
+htmlAppletElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_applet_element_get_name
+         (unHTMLAppletElement (toHTMLAppletElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"object\"] = $2;"
+        ghcjs_dom_html_applet_element_set_object ::
+        JSRef HTMLAppletElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_object ::
+                                           JSRef HTMLAppletElement -> JSString -> IO ()
+ghcjs_dom_html_applet_element_set_object = undefined
+#endif
+ 
+htmlAppletElementSetObject ::
+                           (IsHTMLAppletElement self, ToJSString val) => self -> val -> IO ()
+htmlAppletElementSetObject self val
+  = ghcjs_dom_html_applet_element_set_object
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"object\"]"
+        ghcjs_dom_html_applet_element_get_object ::
+        JSRef HTMLAppletElement -> IO JSString
+#else 
+ghcjs_dom_html_applet_element_get_object ::
+                                           JSRef HTMLAppletElement -> IO JSString
+ghcjs_dom_html_applet_element_get_object = undefined
+#endif
+ 
+htmlAppletElementGetObject ::
+                           (IsHTMLAppletElement self, FromJSString result) =>
+                             self -> IO result
+htmlAppletElementGetObject self
+  = fromJSString <$>
+      (ghcjs_dom_html_applet_element_get_object
+         (unHTMLAppletElement (toHTMLAppletElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vspace\"] = $2;"
+        ghcjs_dom_html_applet_element_set_vspace ::
+        JSRef HTMLAppletElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_vspace ::
+                                           JSRef HTMLAppletElement -> Int -> IO ()
+ghcjs_dom_html_applet_element_set_vspace = undefined
+#endif
+ 
+htmlAppletElementSetVspace ::
+                           (IsHTMLAppletElement self) => self -> Int -> IO ()
+htmlAppletElementSetVspace self val
+  = ghcjs_dom_html_applet_element_set_vspace
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vspace\"]"
+        ghcjs_dom_html_applet_element_get_vspace ::
+        JSRef HTMLAppletElement -> IO Int
+#else 
+ghcjs_dom_html_applet_element_get_vspace ::
+                                           JSRef HTMLAppletElement -> IO Int
+ghcjs_dom_html_applet_element_get_vspace = undefined
+#endif
+ 
+htmlAppletElementGetVspace ::
+                           (IsHTMLAppletElement self) => self -> IO Int
+htmlAppletElementGetVspace self
+  = ghcjs_dom_html_applet_element_get_vspace
+      (unHTMLAppletElement (toHTMLAppletElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_applet_element_set_width ::
+        JSRef HTMLAppletElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_applet_element_set_width ::
+                                          JSRef HTMLAppletElement -> JSString -> IO ()
+ghcjs_dom_html_applet_element_set_width = undefined
+#endif
+ 
+htmlAppletElementSetWidth ::
+                          (IsHTMLAppletElement self, ToJSString val) => self -> val -> IO ()
+htmlAppletElementSetWidth self val
+  = ghcjs_dom_html_applet_element_set_width
+      (unHTMLAppletElement (toHTMLAppletElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_applet_element_get_width ::
+        JSRef HTMLAppletElement -> IO JSString
+#else 
+ghcjs_dom_html_applet_element_get_width ::
+                                          JSRef HTMLAppletElement -> IO JSString
+ghcjs_dom_html_applet_element_get_width = undefined
+#endif
+ 
+htmlAppletElementGetWidth ::
+                          (IsHTMLAppletElement self, FromJSString result) =>
+                            self -> IO result
+htmlAppletElementGetWidth self
+  = fromJSString <$>
+      (ghcjs_dom_html_applet_element_get_width
+         (unHTMLAppletElement (toHTMLAppletElement self)))
+#else
+module GHCJS.DOM.HTMLAppletElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLAppletElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLAppletElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLAreaElement.hs b/src/GHCJS/DOM/HTMLAreaElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLAreaElement.hs
@@ -0,0 +1,424 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLAreaElement
+       (ghcjs_dom_html_area_element_set_alt, htmlAreaElementSetAlt,
+        ghcjs_dom_html_area_element_get_alt, htmlAreaElementGetAlt,
+        ghcjs_dom_html_area_element_set_coords, htmlAreaElementSetCoords,
+        ghcjs_dom_html_area_element_get_coords, htmlAreaElementGetCoords,
+        ghcjs_dom_html_area_element_set_href, htmlAreaElementSetHref,
+        ghcjs_dom_html_area_element_get_href, htmlAreaElementGetHref,
+        ghcjs_dom_html_area_element_set_no_href, htmlAreaElementSetNoHref,
+        ghcjs_dom_html_area_element_get_no_href, htmlAreaElementGetNoHref,
+        ghcjs_dom_html_area_element_set_ping, htmlAreaElementSetPing,
+        ghcjs_dom_html_area_element_get_ping, htmlAreaElementGetPing,
+        ghcjs_dom_html_area_element_set_shape, htmlAreaElementSetShape,
+        ghcjs_dom_html_area_element_get_shape, htmlAreaElementGetShape,
+        ghcjs_dom_html_area_element_set_target, htmlAreaElementSetTarget,
+        ghcjs_dom_html_area_element_get_target, htmlAreaElementGetTarget,
+        ghcjs_dom_html_area_element_get_hash, htmlAreaElementGetHash,
+        ghcjs_dom_html_area_element_get_host, htmlAreaElementGetHost,
+        ghcjs_dom_html_area_element_get_hostname,
+        htmlAreaElementGetHostname,
+        ghcjs_dom_html_area_element_get_pathname,
+        htmlAreaElementGetPathname, ghcjs_dom_html_area_element_get_port,
+        htmlAreaElementGetPort, ghcjs_dom_html_area_element_get_protocol,
+        htmlAreaElementGetProtocol, ghcjs_dom_html_area_element_get_search,
+        htmlAreaElementGetSearch)
+       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[\"alt\"] = $2;"
+        ghcjs_dom_html_area_element_set_alt ::
+        JSRef HTMLAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_area_element_set_alt ::
+                                      JSRef HTMLAreaElement -> JSString -> IO ()
+ghcjs_dom_html_area_element_set_alt = undefined
+#endif
+ 
+htmlAreaElementSetAlt ::
+                      (IsHTMLAreaElement self, ToJSString val) => self -> val -> IO ()
+htmlAreaElementSetAlt self val
+  = ghcjs_dom_html_area_element_set_alt
+      (unHTMLAreaElement (toHTMLAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"alt\"]"
+        ghcjs_dom_html_area_element_get_alt ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_alt ::
+                                      JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_alt = undefined
+#endif
+ 
+htmlAreaElementGetAlt ::
+                      (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetAlt self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_alt
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"coords\"] = $2;"
+        ghcjs_dom_html_area_element_set_coords ::
+        JSRef HTMLAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_area_element_set_coords ::
+                                         JSRef HTMLAreaElement -> JSString -> IO ()
+ghcjs_dom_html_area_element_set_coords = undefined
+#endif
+ 
+htmlAreaElementSetCoords ::
+                         (IsHTMLAreaElement self, ToJSString val) => self -> val -> IO ()
+htmlAreaElementSetCoords self val
+  = ghcjs_dom_html_area_element_set_coords
+      (unHTMLAreaElement (toHTMLAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"coords\"]"
+        ghcjs_dom_html_area_element_get_coords ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_coords ::
+                                         JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_coords = undefined
+#endif
+ 
+htmlAreaElementGetCoords ::
+                         (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetCoords self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_coords
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"href\"] = $2;"
+        ghcjs_dom_html_area_element_set_href ::
+        JSRef HTMLAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_area_element_set_href ::
+                                       JSRef HTMLAreaElement -> JSString -> IO ()
+ghcjs_dom_html_area_element_set_href = undefined
+#endif
+ 
+htmlAreaElementSetHref ::
+                       (IsHTMLAreaElement self, ToJSString val) => self -> val -> IO ()
+htmlAreaElementSetHref self val
+  = ghcjs_dom_html_area_element_set_href
+      (unHTMLAreaElement (toHTMLAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"href\"]"
+        ghcjs_dom_html_area_element_get_href ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_href ::
+                                       JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_href = undefined
+#endif
+ 
+htmlAreaElementGetHref ::
+                       (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetHref self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_href
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"noHref\"] = $2;"
+        ghcjs_dom_html_area_element_set_no_href ::
+        JSRef HTMLAreaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_area_element_set_no_href ::
+                                          JSRef HTMLAreaElement -> Bool -> IO ()
+ghcjs_dom_html_area_element_set_no_href = undefined
+#endif
+ 
+htmlAreaElementSetNoHref ::
+                         (IsHTMLAreaElement self) => self -> Bool -> IO ()
+htmlAreaElementSetNoHref self val
+  = ghcjs_dom_html_area_element_set_no_href
+      (unHTMLAreaElement (toHTMLAreaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"noHref\"] ? 1 : 0)"
+        ghcjs_dom_html_area_element_get_no_href ::
+        JSRef HTMLAreaElement -> IO Bool
+#else 
+ghcjs_dom_html_area_element_get_no_href ::
+                                          JSRef HTMLAreaElement -> IO Bool
+ghcjs_dom_html_area_element_get_no_href = undefined
+#endif
+ 
+htmlAreaElementGetNoHref ::
+                         (IsHTMLAreaElement self) => self -> IO Bool
+htmlAreaElementGetNoHref self
+  = ghcjs_dom_html_area_element_get_no_href
+      (unHTMLAreaElement (toHTMLAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ping\"] = $2;"
+        ghcjs_dom_html_area_element_set_ping ::
+        JSRef HTMLAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_area_element_set_ping ::
+                                       JSRef HTMLAreaElement -> JSString -> IO ()
+ghcjs_dom_html_area_element_set_ping = undefined
+#endif
+ 
+htmlAreaElementSetPing ::
+                       (IsHTMLAreaElement self, ToJSString val) => self -> val -> IO ()
+htmlAreaElementSetPing self val
+  = ghcjs_dom_html_area_element_set_ping
+      (unHTMLAreaElement (toHTMLAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ping\"]"
+        ghcjs_dom_html_area_element_get_ping ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_ping ::
+                                       JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_ping = undefined
+#endif
+ 
+htmlAreaElementGetPing ::
+                       (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetPing self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_ping
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"shape\"] = $2;"
+        ghcjs_dom_html_area_element_set_shape ::
+        JSRef HTMLAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_area_element_set_shape ::
+                                        JSRef HTMLAreaElement -> JSString -> IO ()
+ghcjs_dom_html_area_element_set_shape = undefined
+#endif
+ 
+htmlAreaElementSetShape ::
+                        (IsHTMLAreaElement self, ToJSString val) => self -> val -> IO ()
+htmlAreaElementSetShape self val
+  = ghcjs_dom_html_area_element_set_shape
+      (unHTMLAreaElement (toHTMLAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"shape\"]"
+        ghcjs_dom_html_area_element_get_shape ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_shape ::
+                                        JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_shape = undefined
+#endif
+ 
+htmlAreaElementGetShape ::
+                        (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetShape self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_shape
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"] = $2;"
+        ghcjs_dom_html_area_element_set_target ::
+        JSRef HTMLAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_area_element_set_target ::
+                                         JSRef HTMLAreaElement -> JSString -> IO ()
+ghcjs_dom_html_area_element_set_target = undefined
+#endif
+ 
+htmlAreaElementSetTarget ::
+                         (IsHTMLAreaElement self, ToJSString val) => self -> val -> IO ()
+htmlAreaElementSetTarget self val
+  = ghcjs_dom_html_area_element_set_target
+      (unHTMLAreaElement (toHTMLAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"]"
+        ghcjs_dom_html_area_element_get_target ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_target ::
+                                         JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_target = undefined
+#endif
+ 
+htmlAreaElementGetTarget ::
+                         (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetTarget self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_target
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hash\"]"
+        ghcjs_dom_html_area_element_get_hash ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_hash ::
+                                       JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_hash = undefined
+#endif
+ 
+htmlAreaElementGetHash ::
+                       (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetHash self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_hash
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"host\"]"
+        ghcjs_dom_html_area_element_get_host ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_host ::
+                                       JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_host = undefined
+#endif
+ 
+htmlAreaElementGetHost ::
+                       (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetHost self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_host
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hostname\"]"
+        ghcjs_dom_html_area_element_get_hostname ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_hostname ::
+                                           JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_hostname = undefined
+#endif
+ 
+htmlAreaElementGetHostname ::
+                           (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetHostname self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_hostname
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pathname\"]"
+        ghcjs_dom_html_area_element_get_pathname ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_pathname ::
+                                           JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_pathname = undefined
+#endif
+ 
+htmlAreaElementGetPathname ::
+                           (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetPathname self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_pathname
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"port\"]"
+        ghcjs_dom_html_area_element_get_port ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_port ::
+                                       JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_port = undefined
+#endif
+ 
+htmlAreaElementGetPort ::
+                       (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetPort self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_port
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"protocol\"]"
+        ghcjs_dom_html_area_element_get_protocol ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_protocol ::
+                                           JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_protocol = undefined
+#endif
+ 
+htmlAreaElementGetProtocol ::
+                           (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetProtocol self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_protocol
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"search\"]"
+        ghcjs_dom_html_area_element_get_search ::
+        JSRef HTMLAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_area_element_get_search ::
+                                         JSRef HTMLAreaElement -> IO JSString
+ghcjs_dom_html_area_element_get_search = undefined
+#endif
+ 
+htmlAreaElementGetSearch ::
+                         (IsHTMLAreaElement self, FromJSString result) => self -> IO result
+htmlAreaElementGetSearch self
+  = fromJSString <$>
+      (ghcjs_dom_html_area_element_get_search
+         (unHTMLAreaElement (toHTMLAreaElement self)))
+#else
+module GHCJS.DOM.HTMLAreaElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLAreaElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLAreaElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLBRElement.hs b/src/GHCJS/DOM/HTMLBRElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLBRElement.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLBRElement
+       (ghcjs_dom_htmlbr_element_set_clear, htmlbrElementSetClear,
+        ghcjs_dom_htmlbr_element_get_clear, htmlbrElementGetClear)
+       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[\"clear\"] = $2;"
+        ghcjs_dom_htmlbr_element_set_clear ::
+        JSRef HTMLBRElement -> JSString -> IO ()
+#else 
+ghcjs_dom_htmlbr_element_set_clear ::
+                                     JSRef HTMLBRElement -> JSString -> IO ()
+ghcjs_dom_htmlbr_element_set_clear = undefined
+#endif
+ 
+htmlbrElementSetClear ::
+                      (IsHTMLBRElement self, ToJSString val) => self -> val -> IO ()
+htmlbrElementSetClear self val
+  = ghcjs_dom_htmlbr_element_set_clear
+      (unHTMLBRElement (toHTMLBRElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"clear\"]"
+        ghcjs_dom_htmlbr_element_get_clear ::
+        JSRef HTMLBRElement -> IO JSString
+#else 
+ghcjs_dom_htmlbr_element_get_clear ::
+                                     JSRef HTMLBRElement -> IO JSString
+ghcjs_dom_htmlbr_element_get_clear = undefined
+#endif
+ 
+htmlbrElementGetClear ::
+                      (IsHTMLBRElement self, FromJSString result) => self -> IO result
+htmlbrElementGetClear self
+  = fromJSString <$>
+      (ghcjs_dom_htmlbr_element_get_clear
+         (unHTMLBRElement (toHTMLBRElement self)))
+#else
+module GHCJS.DOM.HTMLBRElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLBRElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLBRElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLBaseElement.hs b/src/GHCJS/DOM/HTMLBaseElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLBaseElement.hs
@@ -0,0 +1,100 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLBaseElement
+       (ghcjs_dom_html_base_element_set_href, htmlBaseElementSetHref,
+        ghcjs_dom_html_base_element_get_href, htmlBaseElementGetHref,
+        ghcjs_dom_html_base_element_set_target, htmlBaseElementSetTarget,
+        ghcjs_dom_html_base_element_get_target, htmlBaseElementGetTarget)
+       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[\"href\"] = $2;"
+        ghcjs_dom_html_base_element_set_href ::
+        JSRef HTMLBaseElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_base_element_set_href ::
+                                       JSRef HTMLBaseElement -> JSString -> IO ()
+ghcjs_dom_html_base_element_set_href = undefined
+#endif
+ 
+htmlBaseElementSetHref ::
+                       (IsHTMLBaseElement self, ToJSString val) => self -> val -> IO ()
+htmlBaseElementSetHref self val
+  = ghcjs_dom_html_base_element_set_href
+      (unHTMLBaseElement (toHTMLBaseElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"href\"]"
+        ghcjs_dom_html_base_element_get_href ::
+        JSRef HTMLBaseElement -> IO JSString
+#else 
+ghcjs_dom_html_base_element_get_href ::
+                                       JSRef HTMLBaseElement -> IO JSString
+ghcjs_dom_html_base_element_get_href = undefined
+#endif
+ 
+htmlBaseElementGetHref ::
+                       (IsHTMLBaseElement self, FromJSString result) => self -> IO result
+htmlBaseElementGetHref self
+  = fromJSString <$>
+      (ghcjs_dom_html_base_element_get_href
+         (unHTMLBaseElement (toHTMLBaseElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"] = $2;"
+        ghcjs_dom_html_base_element_set_target ::
+        JSRef HTMLBaseElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_base_element_set_target ::
+                                         JSRef HTMLBaseElement -> JSString -> IO ()
+ghcjs_dom_html_base_element_set_target = undefined
+#endif
+ 
+htmlBaseElementSetTarget ::
+                         (IsHTMLBaseElement self, ToJSString val) => self -> val -> IO ()
+htmlBaseElementSetTarget self val
+  = ghcjs_dom_html_base_element_set_target
+      (unHTMLBaseElement (toHTMLBaseElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"]"
+        ghcjs_dom_html_base_element_get_target ::
+        JSRef HTMLBaseElement -> IO JSString
+#else 
+ghcjs_dom_html_base_element_get_target ::
+                                         JSRef HTMLBaseElement -> IO JSString
+ghcjs_dom_html_base_element_get_target = undefined
+#endif
+ 
+htmlBaseElementGetTarget ::
+                         (IsHTMLBaseElement self, FromJSString result) => self -> IO result
+htmlBaseElementGetTarget self
+  = fromJSString <$>
+      (ghcjs_dom_html_base_element_get_target
+         (unHTMLBaseElement (toHTMLBaseElement self)))
+#else
+module GHCJS.DOM.HTMLBaseElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLBaseElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLBaseElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLBaseFontElement.hs b/src/GHCJS/DOM/HTMLBaseFontElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLBaseFontElement.hs
@@ -0,0 +1,147 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLBaseFontElement
+       (ghcjs_dom_html_base_font_element_set_color,
+        htmlBaseFontElementSetColor,
+        ghcjs_dom_html_base_font_element_get_color,
+        htmlBaseFontElementGetColor,
+        ghcjs_dom_html_base_font_element_set_face,
+        htmlBaseFontElementSetFace,
+        ghcjs_dom_html_base_font_element_get_face,
+        htmlBaseFontElementGetFace,
+        ghcjs_dom_html_base_font_element_set_size,
+        htmlBaseFontElementSetSize,
+        ghcjs_dom_html_base_font_element_get_size,
+        htmlBaseFontElementGetSize)
+       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[\"color\"] = $2;"
+        ghcjs_dom_html_base_font_element_set_color ::
+        JSRef HTMLBaseFontElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_base_font_element_set_color ::
+                                             JSRef HTMLBaseFontElement -> JSString -> IO ()
+ghcjs_dom_html_base_font_element_set_color = undefined
+#endif
+ 
+htmlBaseFontElementSetColor ::
+                            (IsHTMLBaseFontElement self, ToJSString val) =>
+                              self -> val -> IO ()
+htmlBaseFontElementSetColor self val
+  = ghcjs_dom_html_base_font_element_set_color
+      (unHTMLBaseFontElement (toHTMLBaseFontElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"color\"]"
+        ghcjs_dom_html_base_font_element_get_color ::
+        JSRef HTMLBaseFontElement -> IO JSString
+#else 
+ghcjs_dom_html_base_font_element_get_color ::
+                                             JSRef HTMLBaseFontElement -> IO JSString
+ghcjs_dom_html_base_font_element_get_color = undefined
+#endif
+ 
+htmlBaseFontElementGetColor ::
+                            (IsHTMLBaseFontElement self, FromJSString result) =>
+                              self -> IO result
+htmlBaseFontElementGetColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_base_font_element_get_color
+         (unHTMLBaseFontElement (toHTMLBaseFontElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"face\"] = $2;"
+        ghcjs_dom_html_base_font_element_set_face ::
+        JSRef HTMLBaseFontElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_base_font_element_set_face ::
+                                            JSRef HTMLBaseFontElement -> JSString -> IO ()
+ghcjs_dom_html_base_font_element_set_face = undefined
+#endif
+ 
+htmlBaseFontElementSetFace ::
+                           (IsHTMLBaseFontElement self, ToJSString val) =>
+                             self -> val -> IO ()
+htmlBaseFontElementSetFace self val
+  = ghcjs_dom_html_base_font_element_set_face
+      (unHTMLBaseFontElement (toHTMLBaseFontElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"face\"]"
+        ghcjs_dom_html_base_font_element_get_face ::
+        JSRef HTMLBaseFontElement -> IO JSString
+#else 
+ghcjs_dom_html_base_font_element_get_face ::
+                                            JSRef HTMLBaseFontElement -> IO JSString
+ghcjs_dom_html_base_font_element_get_face = undefined
+#endif
+ 
+htmlBaseFontElementGetFace ::
+                           (IsHTMLBaseFontElement self, FromJSString result) =>
+                             self -> IO result
+htmlBaseFontElementGetFace self
+  = fromJSString <$>
+      (ghcjs_dom_html_base_font_element_get_face
+         (unHTMLBaseFontElement (toHTMLBaseFontElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"size\"] = $2;"
+        ghcjs_dom_html_base_font_element_set_size ::
+        JSRef HTMLBaseFontElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_base_font_element_set_size ::
+                                            JSRef HTMLBaseFontElement -> Int -> IO ()
+ghcjs_dom_html_base_font_element_set_size = undefined
+#endif
+ 
+htmlBaseFontElementSetSize ::
+                           (IsHTMLBaseFontElement self) => self -> Int -> IO ()
+htmlBaseFontElementSetSize self val
+  = ghcjs_dom_html_base_font_element_set_size
+      (unHTMLBaseFontElement (toHTMLBaseFontElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"size\"]"
+        ghcjs_dom_html_base_font_element_get_size ::
+        JSRef HTMLBaseFontElement -> IO Int
+#else 
+ghcjs_dom_html_base_font_element_get_size ::
+                                            JSRef HTMLBaseFontElement -> IO Int
+ghcjs_dom_html_base_font_element_get_size = undefined
+#endif
+ 
+htmlBaseFontElementGetSize ::
+                           (IsHTMLBaseFontElement self) => self -> IO Int
+htmlBaseFontElementGetSize self
+  = ghcjs_dom_html_base_font_element_get_size
+      (unHTMLBaseFontElement (toHTMLBaseFontElement self))
+#else
+module GHCJS.DOM.HTMLBaseFontElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLBaseFontElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLBaseFontElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLBodyElement.hs b/src/GHCJS/DOM/HTMLBodyElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLBodyElement.hs
@@ -0,0 +1,319 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLBodyElement
+       (ghcjs_dom_html_body_element_set_a_link, htmlBodyElementSetALink,
+        ghcjs_dom_html_body_element_get_a_link, htmlBodyElementGetALink,
+        ghcjs_dom_html_body_element_set_background,
+        htmlBodyElementSetBackground,
+        ghcjs_dom_html_body_element_get_background,
+        htmlBodyElementGetBackground,
+        ghcjs_dom_html_body_element_set_bg_color,
+        htmlBodyElementSetBgColor,
+        ghcjs_dom_html_body_element_get_bg_color,
+        htmlBodyElementGetBgColor, ghcjs_dom_html_body_element_set_link,
+        htmlBodyElementSetLink, ghcjs_dom_html_body_element_get_link,
+        htmlBodyElementGetLink, ghcjs_dom_html_body_element_set_text,
+        htmlBodyElementSetText, ghcjs_dom_html_body_element_get_text,
+        htmlBodyElementGetText, ghcjs_dom_html_body_element_set_v_link,
+        htmlBodyElementSetVLink, ghcjs_dom_html_body_element_get_v_link,
+        htmlBodyElementGetVLink, htmlBodyElementOnbeforeunload,
+        htmlBodyElementOnhashchange, htmlBodyElementOnmessage,
+        htmlBodyElementOnoffline, htmlBodyElementOnonline,
+        htmlBodyElementOnpopstate, htmlBodyElementOnresize,
+        htmlBodyElementOnstorage, htmlBodyElementOnunload,
+        htmlBodyElementOnorientationchange, htmlBodyElementOnblur,
+        htmlBodyElementOnerror, htmlBodyElementOnfocus,
+        htmlBodyElementOnload)
+       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[\"aLink\"] = $2;"
+        ghcjs_dom_html_body_element_set_a_link ::
+        JSRef HTMLBodyElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_body_element_set_a_link ::
+                                         JSRef HTMLBodyElement -> JSString -> IO ()
+ghcjs_dom_html_body_element_set_a_link = undefined
+#endif
+ 
+htmlBodyElementSetALink ::
+                        (IsHTMLBodyElement self, ToJSString val) => self -> val -> IO ()
+htmlBodyElementSetALink self val
+  = ghcjs_dom_html_body_element_set_a_link
+      (unHTMLBodyElement (toHTMLBodyElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"aLink\"]"
+        ghcjs_dom_html_body_element_get_a_link ::
+        JSRef HTMLBodyElement -> IO JSString
+#else 
+ghcjs_dom_html_body_element_get_a_link ::
+                                         JSRef HTMLBodyElement -> IO JSString
+ghcjs_dom_html_body_element_get_a_link = undefined
+#endif
+ 
+htmlBodyElementGetALink ::
+                        (IsHTMLBodyElement self, FromJSString result) => self -> IO result
+htmlBodyElementGetALink self
+  = fromJSString <$>
+      (ghcjs_dom_html_body_element_get_a_link
+         (unHTMLBodyElement (toHTMLBodyElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"background\"] = $2;"
+        ghcjs_dom_html_body_element_set_background ::
+        JSRef HTMLBodyElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_body_element_set_background ::
+                                             JSRef HTMLBodyElement -> JSString -> IO ()
+ghcjs_dom_html_body_element_set_background = undefined
+#endif
+ 
+htmlBodyElementSetBackground ::
+                             (IsHTMLBodyElement self, ToJSString val) => self -> val -> IO ()
+htmlBodyElementSetBackground self val
+  = ghcjs_dom_html_body_element_set_background
+      (unHTMLBodyElement (toHTMLBodyElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"background\"]"
+        ghcjs_dom_html_body_element_get_background ::
+        JSRef HTMLBodyElement -> IO JSString
+#else 
+ghcjs_dom_html_body_element_get_background ::
+                                             JSRef HTMLBodyElement -> IO JSString
+ghcjs_dom_html_body_element_get_background = undefined
+#endif
+ 
+htmlBodyElementGetBackground ::
+                             (IsHTMLBodyElement self, FromJSString result) => self -> IO result
+htmlBodyElementGetBackground self
+  = fromJSString <$>
+      (ghcjs_dom_html_body_element_get_background
+         (unHTMLBodyElement (toHTMLBodyElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"] = $2;"
+        ghcjs_dom_html_body_element_set_bg_color ::
+        JSRef HTMLBodyElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_body_element_set_bg_color ::
+                                           JSRef HTMLBodyElement -> JSString -> IO ()
+ghcjs_dom_html_body_element_set_bg_color = undefined
+#endif
+ 
+htmlBodyElementSetBgColor ::
+                          (IsHTMLBodyElement self, ToJSString val) => self -> val -> IO ()
+htmlBodyElementSetBgColor self val
+  = ghcjs_dom_html_body_element_set_bg_color
+      (unHTMLBodyElement (toHTMLBodyElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"]"
+        ghcjs_dom_html_body_element_get_bg_color ::
+        JSRef HTMLBodyElement -> IO JSString
+#else 
+ghcjs_dom_html_body_element_get_bg_color ::
+                                           JSRef HTMLBodyElement -> IO JSString
+ghcjs_dom_html_body_element_get_bg_color = undefined
+#endif
+ 
+htmlBodyElementGetBgColor ::
+                          (IsHTMLBodyElement self, FromJSString result) => self -> IO result
+htmlBodyElementGetBgColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_body_element_get_bg_color
+         (unHTMLBodyElement (toHTMLBodyElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"link\"] = $2;"
+        ghcjs_dom_html_body_element_set_link ::
+        JSRef HTMLBodyElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_body_element_set_link ::
+                                       JSRef HTMLBodyElement -> JSString -> IO ()
+ghcjs_dom_html_body_element_set_link = undefined
+#endif
+ 
+htmlBodyElementSetLink ::
+                       (IsHTMLBodyElement self, ToJSString val) => self -> val -> IO ()
+htmlBodyElementSetLink self val
+  = ghcjs_dom_html_body_element_set_link
+      (unHTMLBodyElement (toHTMLBodyElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"link\"]"
+        ghcjs_dom_html_body_element_get_link ::
+        JSRef HTMLBodyElement -> IO JSString
+#else 
+ghcjs_dom_html_body_element_get_link ::
+                                       JSRef HTMLBodyElement -> IO JSString
+ghcjs_dom_html_body_element_get_link = undefined
+#endif
+ 
+htmlBodyElementGetLink ::
+                       (IsHTMLBodyElement self, FromJSString result) => self -> IO result
+htmlBodyElementGetLink self
+  = fromJSString <$>
+      (ghcjs_dom_html_body_element_get_link
+         (unHTMLBodyElement (toHTMLBodyElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"text\"] = $2;"
+        ghcjs_dom_html_body_element_set_text ::
+        JSRef HTMLBodyElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_body_element_set_text ::
+                                       JSRef HTMLBodyElement -> JSString -> IO ()
+ghcjs_dom_html_body_element_set_text = undefined
+#endif
+ 
+htmlBodyElementSetText ::
+                       (IsHTMLBodyElement self, ToJSString val) => self -> val -> IO ()
+htmlBodyElementSetText self val
+  = ghcjs_dom_html_body_element_set_text
+      (unHTMLBodyElement (toHTMLBodyElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"text\"]"
+        ghcjs_dom_html_body_element_get_text ::
+        JSRef HTMLBodyElement -> IO JSString
+#else 
+ghcjs_dom_html_body_element_get_text ::
+                                       JSRef HTMLBodyElement -> IO JSString
+ghcjs_dom_html_body_element_get_text = undefined
+#endif
+ 
+htmlBodyElementGetText ::
+                       (IsHTMLBodyElement self, FromJSString result) => self -> IO result
+htmlBodyElementGetText self
+  = fromJSString <$>
+      (ghcjs_dom_html_body_element_get_text
+         (unHTMLBodyElement (toHTMLBodyElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vLink\"] = $2;"
+        ghcjs_dom_html_body_element_set_v_link ::
+        JSRef HTMLBodyElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_body_element_set_v_link ::
+                                         JSRef HTMLBodyElement -> JSString -> IO ()
+ghcjs_dom_html_body_element_set_v_link = undefined
+#endif
+ 
+htmlBodyElementSetVLink ::
+                        (IsHTMLBodyElement self, ToJSString val) => self -> val -> IO ()
+htmlBodyElementSetVLink self val
+  = ghcjs_dom_html_body_element_set_v_link
+      (unHTMLBodyElement (toHTMLBodyElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vLink\"]"
+        ghcjs_dom_html_body_element_get_v_link ::
+        JSRef HTMLBodyElement -> IO JSString
+#else 
+ghcjs_dom_html_body_element_get_v_link ::
+                                         JSRef HTMLBodyElement -> IO JSString
+ghcjs_dom_html_body_element_get_v_link = undefined
+#endif
+ 
+htmlBodyElementGetVLink ::
+                        (IsHTMLBodyElement self, FromJSString result) => self -> IO result
+htmlBodyElementGetVLink self
+  = fromJSString <$>
+      (ghcjs_dom_html_body_element_get_v_link
+         (unHTMLBodyElement (toHTMLBodyElement self)))
+ 
+htmlBodyElementOnbeforeunload ::
+                              (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnbeforeunload = (connect "beforeunload")
+ 
+htmlBodyElementOnhashchange ::
+                            (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnhashchange = (connect "hashchange")
+ 
+htmlBodyElementOnmessage ::
+                         (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnmessage = (connect "message")
+ 
+htmlBodyElementOnoffline ::
+                         (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnoffline = (connect "offline")
+ 
+htmlBodyElementOnonline ::
+                        (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnonline = (connect "online")
+ 
+htmlBodyElementOnpopstate ::
+                          (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnpopstate = (connect "popstate")
+ 
+htmlBodyElementOnresize ::
+                        (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnresize = (connect "resize")
+ 
+htmlBodyElementOnstorage ::
+                         (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnstorage = (connect "storage")
+ 
+htmlBodyElementOnunload ::
+                        (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnunload = (connect "unload")
+ 
+htmlBodyElementOnorientationchange ::
+                                   (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnorientationchange = (connect "orientationchange")
+ 
+htmlBodyElementOnblur ::
+                      (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnblur = (connect "blur")
+ 
+htmlBodyElementOnerror ::
+                       (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnerror = (connect "error")
+ 
+htmlBodyElementOnfocus ::
+                       (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnfocus = (connect "focus")
+ 
+htmlBodyElementOnload ::
+                      (IsHTMLBodyElement self) => Signal self (EventM UIEvent self ())
+htmlBodyElementOnload = (connect "load")
+#else
+module GHCJS.DOM.HTMLBodyElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLBodyElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLBodyElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLButtonElement.hs b/src/GHCJS/DOM/HTMLButtonElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLButtonElement.hs
@@ -0,0 +1,523 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLButtonElement
+       (ghcjs_dom_html_button_element_check_validity,
+        htmlButtonElementCheckValidity,
+        ghcjs_dom_html_button_element_set_custom_validity,
+        htmlButtonElementSetCustomValidity,
+        ghcjs_dom_html_button_element_set_autofocus,
+        htmlButtonElementSetAutofocus,
+        ghcjs_dom_html_button_element_get_autofocus,
+        htmlButtonElementGetAutofocus,
+        ghcjs_dom_html_button_element_set_disabled,
+        htmlButtonElementSetDisabled,
+        ghcjs_dom_html_button_element_get_disabled,
+        htmlButtonElementGetDisabled,
+        ghcjs_dom_html_button_element_get_form, htmlButtonElementGetForm,
+        ghcjs_dom_html_button_element_set_form_action,
+        htmlButtonElementSetFormAction,
+        ghcjs_dom_html_button_element_get_form_action,
+        htmlButtonElementGetFormAction,
+        ghcjs_dom_html_button_element_set_form_enctype,
+        htmlButtonElementSetFormEnctype,
+        ghcjs_dom_html_button_element_get_form_enctype,
+        htmlButtonElementGetFormEnctype,
+        ghcjs_dom_html_button_element_set_form_method,
+        htmlButtonElementSetFormMethod,
+        ghcjs_dom_html_button_element_get_form_method,
+        htmlButtonElementGetFormMethod,
+        ghcjs_dom_html_button_element_set_form_no_validate,
+        htmlButtonElementSetFormNoValidate,
+        ghcjs_dom_html_button_element_get_form_no_validate,
+        htmlButtonElementGetFormNoValidate,
+        ghcjs_dom_html_button_element_set_form_target,
+        htmlButtonElementSetFormTarget,
+        ghcjs_dom_html_button_element_get_form_target,
+        htmlButtonElementGetFormTarget,
+        ghcjs_dom_html_button_element_set_name, htmlButtonElementSetName,
+        ghcjs_dom_html_button_element_get_name, htmlButtonElementGetName,
+        ghcjs_dom_html_button_element_set_value, htmlButtonElementSetValue,
+        ghcjs_dom_html_button_element_get_value, htmlButtonElementGetValue,
+        ghcjs_dom_html_button_element_get_will_validate,
+        htmlButtonElementGetWillValidate,
+        ghcjs_dom_html_button_element_get_validity,
+        htmlButtonElementGetValidity,
+        ghcjs_dom_html_button_element_get_validation_message,
+        htmlButtonElementGetValidationMessage,
+        ghcjs_dom_html_button_element_get_labels,
+        htmlButtonElementGetLabels)
+       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[\"checkValidity\"]() ? 1 : 0)"
+        ghcjs_dom_html_button_element_check_validity ::
+        JSRef HTMLButtonElement -> IO Bool
+#else 
+ghcjs_dom_html_button_element_check_validity ::
+                                               JSRef HTMLButtonElement -> IO Bool
+ghcjs_dom_html_button_element_check_validity = undefined
+#endif
+ 
+htmlButtonElementCheckValidity ::
+                               (IsHTMLButtonElement self) => self -> IO Bool
+htmlButtonElementCheckValidity self
+  = ghcjs_dom_html_button_element_check_validity
+      (unHTMLButtonElement (toHTMLButtonElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setCustomValidity\"]($2)"
+        ghcjs_dom_html_button_element_set_custom_validity ::
+        JSRef HTMLButtonElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_button_element_set_custom_validity ::
+                                                    JSRef HTMLButtonElement -> JSString -> IO ()
+ghcjs_dom_html_button_element_set_custom_validity = undefined
+#endif
+ 
+htmlButtonElementSetCustomValidity ::
+                                   (IsHTMLButtonElement self, ToJSString error) =>
+                                     self -> error -> IO ()
+htmlButtonElementSetCustomValidity self error
+  = ghcjs_dom_html_button_element_set_custom_validity
+      (unHTMLButtonElement (toHTMLButtonElement self))
+      (toJSString error)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"autofocus\"] = $2;"
+        ghcjs_dom_html_button_element_set_autofocus ::
+        JSRef HTMLButtonElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_button_element_set_autofocus ::
+                                              JSRef HTMLButtonElement -> Bool -> IO ()
+ghcjs_dom_html_button_element_set_autofocus = undefined
+#endif
+ 
+htmlButtonElementSetAutofocus ::
+                              (IsHTMLButtonElement self) => self -> Bool -> IO ()
+htmlButtonElementSetAutofocus self val
+  = ghcjs_dom_html_button_element_set_autofocus
+      (unHTMLButtonElement (toHTMLButtonElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"autofocus\"] ? 1 : 0)"
+        ghcjs_dom_html_button_element_get_autofocus ::
+        JSRef HTMLButtonElement -> IO Bool
+#else 
+ghcjs_dom_html_button_element_get_autofocus ::
+                                              JSRef HTMLButtonElement -> IO Bool
+ghcjs_dom_html_button_element_get_autofocus = undefined
+#endif
+ 
+htmlButtonElementGetAutofocus ::
+                              (IsHTMLButtonElement self) => self -> IO Bool
+htmlButtonElementGetAutofocus self
+  = ghcjs_dom_html_button_element_get_autofocus
+      (unHTMLButtonElement (toHTMLButtonElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"disabled\"] = $2;"
+        ghcjs_dom_html_button_element_set_disabled ::
+        JSRef HTMLButtonElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_button_element_set_disabled ::
+                                             JSRef HTMLButtonElement -> Bool -> IO ()
+ghcjs_dom_html_button_element_set_disabled = undefined
+#endif
+ 
+htmlButtonElementSetDisabled ::
+                             (IsHTMLButtonElement self) => self -> Bool -> IO ()
+htmlButtonElementSetDisabled self val
+  = ghcjs_dom_html_button_element_set_disabled
+      (unHTMLButtonElement (toHTMLButtonElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_html_button_element_get_disabled ::
+        JSRef HTMLButtonElement -> IO Bool
+#else 
+ghcjs_dom_html_button_element_get_disabled ::
+                                             JSRef HTMLButtonElement -> IO Bool
+ghcjs_dom_html_button_element_get_disabled = undefined
+#endif
+ 
+htmlButtonElementGetDisabled ::
+                             (IsHTMLButtonElement self) => self -> IO Bool
+htmlButtonElementGetDisabled self
+  = ghcjs_dom_html_button_element_get_disabled
+      (unHTMLButtonElement (toHTMLButtonElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"form\"]"
+        ghcjs_dom_html_button_element_get_form ::
+        JSRef HTMLButtonElement -> IO (JSRef HTMLFormElement)
+#else 
+ghcjs_dom_html_button_element_get_form ::
+                                         JSRef HTMLButtonElement -> IO (JSRef HTMLFormElement)
+ghcjs_dom_html_button_element_get_form = undefined
+#endif
+ 
+htmlButtonElementGetForm ::
+                         (IsHTMLButtonElement self) => self -> IO (Maybe HTMLFormElement)
+htmlButtonElementGetForm self
+  = fmap HTMLFormElement . maybeJSNull <$>
+      (ghcjs_dom_html_button_element_get_form
+         (unHTMLButtonElement (toHTMLButtonElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formAction\"] = $2;"
+        ghcjs_dom_html_button_element_set_form_action ::
+        JSRef HTMLButtonElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_button_element_set_form_action ::
+                                                JSRef HTMLButtonElement -> JSString -> IO ()
+ghcjs_dom_html_button_element_set_form_action = undefined
+#endif
+ 
+htmlButtonElementSetFormAction ::
+                               (IsHTMLButtonElement self, ToJSString val) => self -> val -> IO ()
+htmlButtonElementSetFormAction self val
+  = ghcjs_dom_html_button_element_set_form_action
+      (unHTMLButtonElement (toHTMLButtonElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formAction\"]"
+        ghcjs_dom_html_button_element_get_form_action ::
+        JSRef HTMLButtonElement -> IO JSString
+#else 
+ghcjs_dom_html_button_element_get_form_action ::
+                                                JSRef HTMLButtonElement -> IO JSString
+ghcjs_dom_html_button_element_get_form_action = undefined
+#endif
+ 
+htmlButtonElementGetFormAction ::
+                               (IsHTMLButtonElement self, FromJSString result) =>
+                                 self -> IO result
+htmlButtonElementGetFormAction self
+  = fromJSString <$>
+      (ghcjs_dom_html_button_element_get_form_action
+         (unHTMLButtonElement (toHTMLButtonElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formEnctype\"] = $2;"
+        ghcjs_dom_html_button_element_set_form_enctype ::
+        JSRef HTMLButtonElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_button_element_set_form_enctype ::
+                                                 JSRef HTMLButtonElement -> JSString -> IO ()
+ghcjs_dom_html_button_element_set_form_enctype = undefined
+#endif
+ 
+htmlButtonElementSetFormEnctype ::
+                                (IsHTMLButtonElement self, ToJSString val) => self -> val -> IO ()
+htmlButtonElementSetFormEnctype self val
+  = ghcjs_dom_html_button_element_set_form_enctype
+      (unHTMLButtonElement (toHTMLButtonElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formEnctype\"]"
+        ghcjs_dom_html_button_element_get_form_enctype ::
+        JSRef HTMLButtonElement -> IO JSString
+#else 
+ghcjs_dom_html_button_element_get_form_enctype ::
+                                                 JSRef HTMLButtonElement -> IO JSString
+ghcjs_dom_html_button_element_get_form_enctype = undefined
+#endif
+ 
+htmlButtonElementGetFormEnctype ::
+                                (IsHTMLButtonElement self, FromJSString result) =>
+                                  self -> IO result
+htmlButtonElementGetFormEnctype self
+  = fromJSString <$>
+      (ghcjs_dom_html_button_element_get_form_enctype
+         (unHTMLButtonElement (toHTMLButtonElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formMethod\"] = $2;"
+        ghcjs_dom_html_button_element_set_form_method ::
+        JSRef HTMLButtonElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_button_element_set_form_method ::
+                                                JSRef HTMLButtonElement -> JSString -> IO ()
+ghcjs_dom_html_button_element_set_form_method = undefined
+#endif
+ 
+htmlButtonElementSetFormMethod ::
+                               (IsHTMLButtonElement self, ToJSString val) => self -> val -> IO ()
+htmlButtonElementSetFormMethod self val
+  = ghcjs_dom_html_button_element_set_form_method
+      (unHTMLButtonElement (toHTMLButtonElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formMethod\"]"
+        ghcjs_dom_html_button_element_get_form_method ::
+        JSRef HTMLButtonElement -> IO JSString
+#else 
+ghcjs_dom_html_button_element_get_form_method ::
+                                                JSRef HTMLButtonElement -> IO JSString
+ghcjs_dom_html_button_element_get_form_method = undefined
+#endif
+ 
+htmlButtonElementGetFormMethod ::
+                               (IsHTMLButtonElement self, FromJSString result) =>
+                                 self -> IO result
+htmlButtonElementGetFormMethod self
+  = fromJSString <$>
+      (ghcjs_dom_html_button_element_get_form_method
+         (unHTMLButtonElement (toHTMLButtonElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formNoValidate\"] = $2;"
+        ghcjs_dom_html_button_element_set_form_no_validate ::
+        JSRef HTMLButtonElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_button_element_set_form_no_validate ::
+                                                     JSRef HTMLButtonElement -> Bool -> IO ()
+ghcjs_dom_html_button_element_set_form_no_validate = undefined
+#endif
+ 
+htmlButtonElementSetFormNoValidate ::
+                                   (IsHTMLButtonElement self) => self -> Bool -> IO ()
+htmlButtonElementSetFormNoValidate self val
+  = ghcjs_dom_html_button_element_set_form_no_validate
+      (unHTMLButtonElement (toHTMLButtonElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"formNoValidate\"] ? 1 : 0)"
+        ghcjs_dom_html_button_element_get_form_no_validate ::
+        JSRef HTMLButtonElement -> IO Bool
+#else 
+ghcjs_dom_html_button_element_get_form_no_validate ::
+                                                     JSRef HTMLButtonElement -> IO Bool
+ghcjs_dom_html_button_element_get_form_no_validate = undefined
+#endif
+ 
+htmlButtonElementGetFormNoValidate ::
+                                   (IsHTMLButtonElement self) => self -> IO Bool
+htmlButtonElementGetFormNoValidate self
+  = ghcjs_dom_html_button_element_get_form_no_validate
+      (unHTMLButtonElement (toHTMLButtonElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formTarget\"] = $2;"
+        ghcjs_dom_html_button_element_set_form_target ::
+        JSRef HTMLButtonElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_button_element_set_form_target ::
+                                                JSRef HTMLButtonElement -> JSString -> IO ()
+ghcjs_dom_html_button_element_set_form_target = undefined
+#endif
+ 
+htmlButtonElementSetFormTarget ::
+                               (IsHTMLButtonElement self, ToJSString val) => self -> val -> IO ()
+htmlButtonElementSetFormTarget self val
+  = ghcjs_dom_html_button_element_set_form_target
+      (unHTMLButtonElement (toHTMLButtonElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formTarget\"]"
+        ghcjs_dom_html_button_element_get_form_target ::
+        JSRef HTMLButtonElement -> IO JSString
+#else 
+ghcjs_dom_html_button_element_get_form_target ::
+                                                JSRef HTMLButtonElement -> IO JSString
+ghcjs_dom_html_button_element_get_form_target = undefined
+#endif
+ 
+htmlButtonElementGetFormTarget ::
+                               (IsHTMLButtonElement self, FromJSString result) =>
+                                 self -> IO result
+htmlButtonElementGetFormTarget self
+  = fromJSString <$>
+      (ghcjs_dom_html_button_element_get_form_target
+         (unHTMLButtonElement (toHTMLButtonElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_button_element_set_name ::
+        JSRef HTMLButtonElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_button_element_set_name ::
+                                         JSRef HTMLButtonElement -> JSString -> IO ()
+ghcjs_dom_html_button_element_set_name = undefined
+#endif
+ 
+htmlButtonElementSetName ::
+                         (IsHTMLButtonElement self, ToJSString val) => self -> val -> IO ()
+htmlButtonElementSetName self val
+  = ghcjs_dom_html_button_element_set_name
+      (unHTMLButtonElement (toHTMLButtonElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_button_element_get_name ::
+        JSRef HTMLButtonElement -> IO JSString
+#else 
+ghcjs_dom_html_button_element_get_name ::
+                                         JSRef HTMLButtonElement -> IO JSString
+ghcjs_dom_html_button_element_get_name = undefined
+#endif
+ 
+htmlButtonElementGetName ::
+                         (IsHTMLButtonElement self, FromJSString result) =>
+                           self -> IO result
+htmlButtonElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_button_element_get_name
+         (unHTMLButtonElement (toHTMLButtonElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"] = $2;"
+        ghcjs_dom_html_button_element_set_value ::
+        JSRef HTMLButtonElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_button_element_set_value ::
+                                          JSRef HTMLButtonElement -> JSString -> IO ()
+ghcjs_dom_html_button_element_set_value = undefined
+#endif
+ 
+htmlButtonElementSetValue ::
+                          (IsHTMLButtonElement self, ToJSString val) => self -> val -> IO ()
+htmlButtonElementSetValue self val
+  = ghcjs_dom_html_button_element_set_value
+      (unHTMLButtonElement (toHTMLButtonElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"]"
+        ghcjs_dom_html_button_element_get_value ::
+        JSRef HTMLButtonElement -> IO JSString
+#else 
+ghcjs_dom_html_button_element_get_value ::
+                                          JSRef HTMLButtonElement -> IO JSString
+ghcjs_dom_html_button_element_get_value = undefined
+#endif
+ 
+htmlButtonElementGetValue ::
+                          (IsHTMLButtonElement self, FromJSString result) =>
+                            self -> IO result
+htmlButtonElementGetValue self
+  = fromJSString <$>
+      (ghcjs_dom_html_button_element_get_value
+         (unHTMLButtonElement (toHTMLButtonElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"willValidate\"] ? 1 : 0)"
+        ghcjs_dom_html_button_element_get_will_validate ::
+        JSRef HTMLButtonElement -> IO Bool
+#else 
+ghcjs_dom_html_button_element_get_will_validate ::
+                                                  JSRef HTMLButtonElement -> IO Bool
+ghcjs_dom_html_button_element_get_will_validate = undefined
+#endif
+ 
+htmlButtonElementGetWillValidate ::
+                                 (IsHTMLButtonElement self) => self -> IO Bool
+htmlButtonElementGetWillValidate self
+  = ghcjs_dom_html_button_element_get_will_validate
+      (unHTMLButtonElement (toHTMLButtonElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validity\"]"
+        ghcjs_dom_html_button_element_get_validity ::
+        JSRef HTMLButtonElement -> IO (JSRef ValidityState)
+#else 
+ghcjs_dom_html_button_element_get_validity ::
+                                             JSRef HTMLButtonElement -> IO (JSRef ValidityState)
+ghcjs_dom_html_button_element_get_validity = undefined
+#endif
+ 
+htmlButtonElementGetValidity ::
+                             (IsHTMLButtonElement self) => self -> IO (Maybe ValidityState)
+htmlButtonElementGetValidity self
+  = fmap ValidityState . maybeJSNull <$>
+      (ghcjs_dom_html_button_element_get_validity
+         (unHTMLButtonElement (toHTMLButtonElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validationMessage\"]"
+        ghcjs_dom_html_button_element_get_validation_message ::
+        JSRef HTMLButtonElement -> IO JSString
+#else 
+ghcjs_dom_html_button_element_get_validation_message ::
+                                                       JSRef HTMLButtonElement -> IO JSString
+ghcjs_dom_html_button_element_get_validation_message = undefined
+#endif
+ 
+htmlButtonElementGetValidationMessage ::
+                                      (IsHTMLButtonElement self, FromJSString result) =>
+                                        self -> IO result
+htmlButtonElementGetValidationMessage self
+  = fromJSString <$>
+      (ghcjs_dom_html_button_element_get_validation_message
+         (unHTMLButtonElement (toHTMLButtonElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"labels\"]"
+        ghcjs_dom_html_button_element_get_labels ::
+        JSRef HTMLButtonElement -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_html_button_element_get_labels ::
+                                           JSRef HTMLButtonElement -> IO (JSRef NodeList)
+ghcjs_dom_html_button_element_get_labels = undefined
+#endif
+ 
+htmlButtonElementGetLabels ::
+                           (IsHTMLButtonElement self) => self -> IO (Maybe NodeList)
+htmlButtonElementGetLabels self
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_html_button_element_get_labels
+         (unHTMLButtonElement (toHTMLButtonElement self)))
+#else
+module GHCJS.DOM.HTMLButtonElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLButtonElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLButtonElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLCanvasElement.hs b/src/GHCJS/DOM/HTMLCanvasElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLCanvasElement.hs
@@ -0,0 +1,101 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLCanvasElement
+       (ghcjs_dom_html_canvas_element_set_width,
+        htmlCanvasElementSetWidth, ghcjs_dom_html_canvas_element_get_width,
+        htmlCanvasElementGetWidth,
+        ghcjs_dom_html_canvas_element_set_height,
+        htmlCanvasElementSetHeight,
+        ghcjs_dom_html_canvas_element_get_height,
+        htmlCanvasElementGetHeight)
+       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[\"width\"] = $2;"
+        ghcjs_dom_html_canvas_element_set_width ::
+        JSRef HTMLCanvasElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_canvas_element_set_width ::
+                                          JSRef HTMLCanvasElement -> Int -> IO ()
+ghcjs_dom_html_canvas_element_set_width = undefined
+#endif
+ 
+htmlCanvasElementSetWidth ::
+                          (IsHTMLCanvasElement self) => self -> Int -> IO ()
+htmlCanvasElementSetWidth self val
+  = ghcjs_dom_html_canvas_element_set_width
+      (unHTMLCanvasElement (toHTMLCanvasElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_canvas_element_get_width ::
+        JSRef HTMLCanvasElement -> IO Int
+#else 
+ghcjs_dom_html_canvas_element_get_width ::
+                                          JSRef HTMLCanvasElement -> IO Int
+ghcjs_dom_html_canvas_element_get_width = undefined
+#endif
+ 
+htmlCanvasElementGetWidth ::
+                          (IsHTMLCanvasElement self) => self -> IO Int
+htmlCanvasElementGetWidth self
+  = ghcjs_dom_html_canvas_element_get_width
+      (unHTMLCanvasElement (toHTMLCanvasElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"] = $2;"
+        ghcjs_dom_html_canvas_element_set_height ::
+        JSRef HTMLCanvasElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_canvas_element_set_height ::
+                                           JSRef HTMLCanvasElement -> Int -> IO ()
+ghcjs_dom_html_canvas_element_set_height = undefined
+#endif
+ 
+htmlCanvasElementSetHeight ::
+                           (IsHTMLCanvasElement self) => self -> Int -> IO ()
+htmlCanvasElementSetHeight self val
+  = ghcjs_dom_html_canvas_element_set_height
+      (unHTMLCanvasElement (toHTMLCanvasElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_canvas_element_get_height ::
+        JSRef HTMLCanvasElement -> IO Int
+#else 
+ghcjs_dom_html_canvas_element_get_height ::
+                                           JSRef HTMLCanvasElement -> IO Int
+ghcjs_dom_html_canvas_element_get_height = undefined
+#endif
+ 
+htmlCanvasElementGetHeight ::
+                           (IsHTMLCanvasElement self) => self -> IO Int
+htmlCanvasElementGetHeight self
+  = ghcjs_dom_html_canvas_element_get_height
+      (unHTMLCanvasElement (toHTMLCanvasElement self))
+#else
+module GHCJS.DOM.HTMLCanvasElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLCanvasElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLCanvasElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLCollection.hs b/src/GHCJS/DOM/HTMLCollection.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLCollection.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLCollection
+       (ghcjs_dom_html_collection_item, htmlCollectionItem,
+        ghcjs_dom_html_collection_get_length, htmlCollectionGetLength)
+       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_html_collection_item ::
+        JSRef HTMLCollection -> Word -> IO (JSRef Node)
+#else 
+ghcjs_dom_html_collection_item ::
+                                 JSRef HTMLCollection -> Word -> IO (JSRef Node)
+ghcjs_dom_html_collection_item = undefined
+#endif
+ 
+htmlCollectionItem ::
+                   (IsHTMLCollection self) => self -> Word -> IO (Maybe Node)
+htmlCollectionItem self index
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_html_collection_item
+         (unHTMLCollection (toHTMLCollection self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_html_collection_get_length ::
+        JSRef HTMLCollection -> IO Word
+#else 
+ghcjs_dom_html_collection_get_length ::
+                                       JSRef HTMLCollection -> IO Word
+ghcjs_dom_html_collection_get_length = undefined
+#endif
+ 
+htmlCollectionGetLength ::
+                        (IsHTMLCollection self) => self -> IO Word
+htmlCollectionGetLength self
+  = ghcjs_dom_html_collection_get_length
+      (unHTMLCollection (toHTMLCollection self))
+#else
+module GHCJS.DOM.HTMLCollection (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLCollection
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLCollection
+#endif
diff --git a/src/GHCJS/DOM/HTMLDListElement.hs b/src/GHCJS/DOM/HTMLDListElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLDListElement.hs
@@ -0,0 +1,63 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLDListElement
+       (ghcjs_dom_htmld_list_element_set_compact,
+        htmldListElementSetCompact,
+        ghcjs_dom_htmld_list_element_get_compact,
+        htmldListElementGetCompact)
+       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[\"compact\"] = $2;"
+        ghcjs_dom_htmld_list_element_set_compact ::
+        JSRef HTMLDListElement -> Bool -> IO ()
+#else 
+ghcjs_dom_htmld_list_element_set_compact ::
+                                           JSRef HTMLDListElement -> Bool -> IO ()
+ghcjs_dom_htmld_list_element_set_compact = undefined
+#endif
+ 
+htmldListElementSetCompact ::
+                           (IsHTMLDListElement self) => self -> Bool -> IO ()
+htmldListElementSetCompact self val
+  = ghcjs_dom_htmld_list_element_set_compact
+      (unHTMLDListElement (toHTMLDListElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"compact\"] ? 1 : 0)"
+        ghcjs_dom_htmld_list_element_get_compact ::
+        JSRef HTMLDListElement -> IO Bool
+#else 
+ghcjs_dom_htmld_list_element_get_compact ::
+                                           JSRef HTMLDListElement -> IO Bool
+ghcjs_dom_htmld_list_element_get_compact = undefined
+#endif
+ 
+htmldListElementGetCompact ::
+                           (IsHTMLDListElement self) => self -> IO Bool
+htmldListElementGetCompact self
+  = ghcjs_dom_htmld_list_element_get_compact
+      (unHTMLDListElement (toHTMLDListElement self))
+#else
+module GHCJS.DOM.HTMLDListElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLDListElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLDListElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLDetailsElement.hs b/src/GHCJS/DOM/HTMLDetailsElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLDetailsElement.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLDetailsElement
+       (ghcjs_dom_html_details_element_set_open,
+        htmlDetailsElementSetOpen, ghcjs_dom_html_details_element_get_open,
+        htmlDetailsElementGetOpen)
+       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[\"open\"] = $2;"
+        ghcjs_dom_html_details_element_set_open ::
+        JSRef HTMLDetailsElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_details_element_set_open ::
+                                          JSRef HTMLDetailsElement -> Bool -> IO ()
+ghcjs_dom_html_details_element_set_open = undefined
+#endif
+ 
+htmlDetailsElementSetOpen ::
+                          (IsHTMLDetailsElement self) => self -> Bool -> IO ()
+htmlDetailsElementSetOpen self val
+  = ghcjs_dom_html_details_element_set_open
+      (unHTMLDetailsElement (toHTMLDetailsElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"open\"] ? 1 : 0)"
+        ghcjs_dom_html_details_element_get_open ::
+        JSRef HTMLDetailsElement -> IO Bool
+#else 
+ghcjs_dom_html_details_element_get_open ::
+                                          JSRef HTMLDetailsElement -> IO Bool
+ghcjs_dom_html_details_element_get_open = undefined
+#endif
+ 
+htmlDetailsElementGetOpen ::
+                          (IsHTMLDetailsElement self) => self -> IO Bool
+htmlDetailsElementGetOpen self
+  = ghcjs_dom_html_details_element_get_open
+      (unHTMLDetailsElement (toHTMLDetailsElement self))
+#else
+module GHCJS.DOM.HTMLDetailsElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLDetailsElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLDetailsElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLDirectoryElement.hs b/src/GHCJS/DOM/HTMLDirectoryElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLDirectoryElement.hs
@@ -0,0 +1,63 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLDirectoryElement
+       (ghcjs_dom_html_directory_element_set_compact,
+        htmlDirectoryElementSetCompact,
+        ghcjs_dom_html_directory_element_get_compact,
+        htmlDirectoryElementGetCompact)
+       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[\"compact\"] = $2;"
+        ghcjs_dom_html_directory_element_set_compact ::
+        JSRef HTMLDirectoryElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_directory_element_set_compact ::
+                                               JSRef HTMLDirectoryElement -> Bool -> IO ()
+ghcjs_dom_html_directory_element_set_compact = undefined
+#endif
+ 
+htmlDirectoryElementSetCompact ::
+                               (IsHTMLDirectoryElement self) => self -> Bool -> IO ()
+htmlDirectoryElementSetCompact self val
+  = ghcjs_dom_html_directory_element_set_compact
+      (unHTMLDirectoryElement (toHTMLDirectoryElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"compact\"] ? 1 : 0)"
+        ghcjs_dom_html_directory_element_get_compact ::
+        JSRef HTMLDirectoryElement -> IO Bool
+#else 
+ghcjs_dom_html_directory_element_get_compact ::
+                                               JSRef HTMLDirectoryElement -> IO Bool
+ghcjs_dom_html_directory_element_get_compact = undefined
+#endif
+ 
+htmlDirectoryElementGetCompact ::
+                               (IsHTMLDirectoryElement self) => self -> IO Bool
+htmlDirectoryElementGetCompact self
+  = ghcjs_dom_html_directory_element_get_compact
+      (unHTMLDirectoryElement (toHTMLDirectoryElement self))
+#else
+module GHCJS.DOM.HTMLDirectoryElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLDirectoryElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLDirectoryElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLDivElement.hs b/src/GHCJS/DOM/HTMLDivElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLDivElement.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLDivElement
+       (ghcjs_dom_html_div_element_set_align, htmlDivElementSetAlign,
+        ghcjs_dom_html_div_element_get_align, htmlDivElementGetAlign)
+       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[\"align\"] = $2;"
+        ghcjs_dom_html_div_element_set_align ::
+        JSRef HTMLDivElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_div_element_set_align ::
+                                       JSRef HTMLDivElement -> JSString -> IO ()
+ghcjs_dom_html_div_element_set_align = undefined
+#endif
+ 
+htmlDivElementSetAlign ::
+                       (IsHTMLDivElement self, ToJSString val) => self -> val -> IO ()
+htmlDivElementSetAlign self val
+  = ghcjs_dom_html_div_element_set_align
+      (unHTMLDivElement (toHTMLDivElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_div_element_get_align ::
+        JSRef HTMLDivElement -> IO JSString
+#else 
+ghcjs_dom_html_div_element_get_align ::
+                                       JSRef HTMLDivElement -> IO JSString
+ghcjs_dom_html_div_element_get_align = undefined
+#endif
+ 
+htmlDivElementGetAlign ::
+                       (IsHTMLDivElement self, FromJSString result) => self -> IO result
+htmlDivElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_div_element_get_align
+         (unHTMLDivElement (toHTMLDivElement self)))
+#else
+module GHCJS.DOM.HTMLDivElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLDivElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLDivElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLDocument.hs b/src/GHCJS/DOM/HTMLDocument.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLDocument.hs
@@ -0,0 +1,510 @@
+{-# LANGUAGE CPP #-}
+#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_clear, htmlDocumentClear,
+        ghcjs_dom_html_document_capture_events, htmlDocumentCaptureEvents,
+        ghcjs_dom_html_document_release_events, htmlDocumentReleaseEvents,
+        ghcjs_dom_html_document_has_focus, htmlDocumentHasFocus,
+        ghcjs_dom_html_document_get_embeds, htmlDocumentGetEmbeds,
+        ghcjs_dom_html_document_get_plugins, htmlDocumentGetPlugins,
+        ghcjs_dom_html_document_get_scripts, htmlDocumentGetScripts,
+        ghcjs_dom_html_document_get_width, htmlDocumentGetWidth,
+        ghcjs_dom_html_document_get_height, htmlDocumentGetHeight,
+        ghcjs_dom_html_document_set_dir, htmlDocumentSetDir,
+        ghcjs_dom_html_document_get_dir, htmlDocumentGetDir,
+        ghcjs_dom_html_document_set_design_mode, htmlDocumentSetDesignMode,
+        ghcjs_dom_html_document_get_design_mode, htmlDocumentGetDesignMode,
+        ghcjs_dom_html_document_get_compat_mode, htmlDocumentGetCompatMode,
+        ghcjs_dom_html_document_get_active_element,
+        htmlDocumentGetActiveElement, ghcjs_dom_html_document_set_bg_color,
+        htmlDocumentSetBgColor, ghcjs_dom_html_document_get_bg_color,
+        htmlDocumentGetBgColor, ghcjs_dom_html_document_set_fg_color,
+        htmlDocumentSetFgColor, ghcjs_dom_html_document_get_fg_color,
+        htmlDocumentGetFgColor, ghcjs_dom_html_document_set_alink_color,
+        htmlDocumentSetAlinkColor, ghcjs_dom_html_document_get_alink_color,
+        htmlDocumentGetAlinkColor, ghcjs_dom_html_document_set_link_color,
+        htmlDocumentSetLinkColor, ghcjs_dom_html_document_get_link_color,
+        htmlDocumentGetLinkColor, ghcjs_dom_html_document_set_vlink_color,
+        htmlDocumentSetVlinkColor, ghcjs_dom_html_document_get_vlink_color,
+        htmlDocumentGetVlinkColor)
+       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[\"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__ 
+foreign import javascript unsafe "$1[\"close\"]()"
+        ghcjs_dom_html_document_close :: JSRef HTMLDocument -> IO ()
+#else 
+ghcjs_dom_html_document_close :: JSRef HTMLDocument -> IO ()
+ghcjs_dom_html_document_close = undefined
+#endif
+ 
+htmlDocumentClose :: (IsHTMLDocument self) => self -> IO ()
+htmlDocumentClose self
+  = ghcjs_dom_html_document_close
+      (unHTMLDocument (toHTMLDocument self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"clear\"]()"
+        ghcjs_dom_html_document_clear :: JSRef HTMLDocument -> IO ()
+#else 
+ghcjs_dom_html_document_clear :: JSRef HTMLDocument -> IO ()
+ghcjs_dom_html_document_clear = undefined
+#endif
+ 
+htmlDocumentClear :: (IsHTMLDocument self) => self -> IO ()
+htmlDocumentClear self
+  = ghcjs_dom_html_document_clear
+      (unHTMLDocument (toHTMLDocument self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"captureEvents\"]()"
+        ghcjs_dom_html_document_capture_events ::
+        JSRef HTMLDocument -> IO ()
+#else 
+ghcjs_dom_html_document_capture_events ::
+                                         JSRef HTMLDocument -> IO ()
+ghcjs_dom_html_document_capture_events = undefined
+#endif
+ 
+htmlDocumentCaptureEvents :: (IsHTMLDocument self) => self -> IO ()
+htmlDocumentCaptureEvents self
+  = ghcjs_dom_html_document_capture_events
+      (unHTMLDocument (toHTMLDocument self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"releaseEvents\"]()"
+        ghcjs_dom_html_document_release_events ::
+        JSRef HTMLDocument -> IO ()
+#else 
+ghcjs_dom_html_document_release_events ::
+                                         JSRef HTMLDocument -> IO ()
+ghcjs_dom_html_document_release_events = undefined
+#endif
+ 
+htmlDocumentReleaseEvents :: (IsHTMLDocument self) => self -> IO ()
+htmlDocumentReleaseEvents self
+  = ghcjs_dom_html_document_release_events
+      (unHTMLDocument (toHTMLDocument self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"hasFocus\"]() ? 1 : 0)"
+        ghcjs_dom_html_document_has_focus :: JSRef HTMLDocument -> IO Bool
+#else 
+ghcjs_dom_html_document_has_focus :: JSRef HTMLDocument -> IO Bool
+ghcjs_dom_html_document_has_focus = undefined
+#endif
+ 
+htmlDocumentHasFocus :: (IsHTMLDocument self) => self -> IO Bool
+htmlDocumentHasFocus self
+  = ghcjs_dom_html_document_has_focus
+      (unHTMLDocument (toHTMLDocument self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"embeds\"]"
+        ghcjs_dom_html_document_get_embeds ::
+        JSRef HTMLDocument -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_document_get_embeds ::
+                                     JSRef HTMLDocument -> IO (JSRef HTMLCollection)
+ghcjs_dom_html_document_get_embeds = undefined
+#endif
+ 
+htmlDocumentGetEmbeds ::
+                      (IsHTMLDocument self) => self -> IO (Maybe HTMLCollection)
+htmlDocumentGetEmbeds self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_document_get_embeds
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"plugins\"]"
+        ghcjs_dom_html_document_get_plugins ::
+        JSRef HTMLDocument -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_document_get_plugins ::
+                                      JSRef HTMLDocument -> IO (JSRef HTMLCollection)
+ghcjs_dom_html_document_get_plugins = undefined
+#endif
+ 
+htmlDocumentGetPlugins ::
+                       (IsHTMLDocument self) => self -> IO (Maybe HTMLCollection)
+htmlDocumentGetPlugins self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_document_get_plugins
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scripts\"]"
+        ghcjs_dom_html_document_get_scripts ::
+        JSRef HTMLDocument -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_document_get_scripts ::
+                                      JSRef HTMLDocument -> IO (JSRef HTMLCollection)
+ghcjs_dom_html_document_get_scripts = undefined
+#endif
+ 
+htmlDocumentGetScripts ::
+                       (IsHTMLDocument self) => self -> IO (Maybe HTMLCollection)
+htmlDocumentGetScripts self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_document_get_scripts
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_document_get_width :: JSRef HTMLDocument -> IO Int
+#else 
+ghcjs_dom_html_document_get_width :: JSRef HTMLDocument -> IO Int
+ghcjs_dom_html_document_get_width = undefined
+#endif
+ 
+htmlDocumentGetWidth :: (IsHTMLDocument self) => self -> IO Int
+htmlDocumentGetWidth self
+  = ghcjs_dom_html_document_get_width
+      (unHTMLDocument (toHTMLDocument self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_document_get_height :: JSRef HTMLDocument -> IO Int
+#else 
+ghcjs_dom_html_document_get_height :: JSRef HTMLDocument -> IO Int
+ghcjs_dom_html_document_get_height = undefined
+#endif
+ 
+htmlDocumentGetHeight :: (IsHTMLDocument self) => self -> IO Int
+htmlDocumentGetHeight self
+  = ghcjs_dom_html_document_get_height
+      (unHTMLDocument (toHTMLDocument self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"dir\"] = $2;"
+        ghcjs_dom_html_document_set_dir ::
+        JSRef HTMLDocument -> JSString -> IO ()
+#else 
+ghcjs_dom_html_document_set_dir ::
+                                  JSRef HTMLDocument -> JSString -> IO ()
+ghcjs_dom_html_document_set_dir = undefined
+#endif
+ 
+htmlDocumentSetDir ::
+                   (IsHTMLDocument self, ToJSString val) => self -> val -> IO ()
+htmlDocumentSetDir self val
+  = ghcjs_dom_html_document_set_dir
+      (unHTMLDocument (toHTMLDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"dir\"]"
+        ghcjs_dom_html_document_get_dir ::
+        JSRef HTMLDocument -> IO JSString
+#else 
+ghcjs_dom_html_document_get_dir ::
+                                  JSRef HTMLDocument -> IO JSString
+ghcjs_dom_html_document_get_dir = undefined
+#endif
+ 
+htmlDocumentGetDir ::
+                   (IsHTMLDocument self, FromJSString result) => self -> IO result
+htmlDocumentGetDir self
+  = fromJSString <$>
+      (ghcjs_dom_html_document_get_dir
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"designMode\"] = $2;"
+        ghcjs_dom_html_document_set_design_mode ::
+        JSRef HTMLDocument -> JSString -> IO ()
+#else 
+ghcjs_dom_html_document_set_design_mode ::
+                                          JSRef HTMLDocument -> JSString -> IO ()
+ghcjs_dom_html_document_set_design_mode = undefined
+#endif
+ 
+htmlDocumentSetDesignMode ::
+                          (IsHTMLDocument self, ToJSString val) => self -> val -> IO ()
+htmlDocumentSetDesignMode self val
+  = ghcjs_dom_html_document_set_design_mode
+      (unHTMLDocument (toHTMLDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"designMode\"]"
+        ghcjs_dom_html_document_get_design_mode ::
+        JSRef HTMLDocument -> IO JSString
+#else 
+ghcjs_dom_html_document_get_design_mode ::
+                                          JSRef HTMLDocument -> IO JSString
+ghcjs_dom_html_document_get_design_mode = undefined
+#endif
+ 
+htmlDocumentGetDesignMode ::
+                          (IsHTMLDocument self, FromJSString result) => self -> IO result
+htmlDocumentGetDesignMode self
+  = fromJSString <$>
+      (ghcjs_dom_html_document_get_design_mode
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"compatMode\"]"
+        ghcjs_dom_html_document_get_compat_mode ::
+        JSRef HTMLDocument -> IO JSString
+#else 
+ghcjs_dom_html_document_get_compat_mode ::
+                                          JSRef HTMLDocument -> IO JSString
+ghcjs_dom_html_document_get_compat_mode = undefined
+#endif
+ 
+htmlDocumentGetCompatMode ::
+                          (IsHTMLDocument self, FromJSString result) => self -> IO result
+htmlDocumentGetCompatMode self
+  = fromJSString <$>
+      (ghcjs_dom_html_document_get_compat_mode
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"activeElement\"]"
+        ghcjs_dom_html_document_get_active_element ::
+        JSRef HTMLDocument -> IO (JSRef Element)
+#else 
+ghcjs_dom_html_document_get_active_element ::
+                                             JSRef HTMLDocument -> IO (JSRef Element)
+ghcjs_dom_html_document_get_active_element = undefined
+#endif
+ 
+htmlDocumentGetActiveElement ::
+                             (IsHTMLDocument self) => self -> IO (Maybe Element)
+htmlDocumentGetActiveElement self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_html_document_get_active_element
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"] = $2;"
+        ghcjs_dom_html_document_set_bg_color ::
+        JSRef HTMLDocument -> JSString -> IO ()
+#else 
+ghcjs_dom_html_document_set_bg_color ::
+                                       JSRef HTMLDocument -> JSString -> IO ()
+ghcjs_dom_html_document_set_bg_color = undefined
+#endif
+ 
+htmlDocumentSetBgColor ::
+                       (IsHTMLDocument self, ToJSString val) => self -> val -> IO ()
+htmlDocumentSetBgColor self val
+  = ghcjs_dom_html_document_set_bg_color
+      (unHTMLDocument (toHTMLDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"]"
+        ghcjs_dom_html_document_get_bg_color ::
+        JSRef HTMLDocument -> IO JSString
+#else 
+ghcjs_dom_html_document_get_bg_color ::
+                                       JSRef HTMLDocument -> IO JSString
+ghcjs_dom_html_document_get_bg_color = undefined
+#endif
+ 
+htmlDocumentGetBgColor ::
+                       (IsHTMLDocument self, FromJSString result) => self -> IO result
+htmlDocumentGetBgColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_document_get_bg_color
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"fgColor\"] = $2;"
+        ghcjs_dom_html_document_set_fg_color ::
+        JSRef HTMLDocument -> JSString -> IO ()
+#else 
+ghcjs_dom_html_document_set_fg_color ::
+                                       JSRef HTMLDocument -> JSString -> IO ()
+ghcjs_dom_html_document_set_fg_color = undefined
+#endif
+ 
+htmlDocumentSetFgColor ::
+                       (IsHTMLDocument self, ToJSString val) => self -> val -> IO ()
+htmlDocumentSetFgColor self val
+  = ghcjs_dom_html_document_set_fg_color
+      (unHTMLDocument (toHTMLDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"fgColor\"]"
+        ghcjs_dom_html_document_get_fg_color ::
+        JSRef HTMLDocument -> IO JSString
+#else 
+ghcjs_dom_html_document_get_fg_color ::
+                                       JSRef HTMLDocument -> IO JSString
+ghcjs_dom_html_document_get_fg_color = undefined
+#endif
+ 
+htmlDocumentGetFgColor ::
+                       (IsHTMLDocument self, FromJSString result) => self -> IO result
+htmlDocumentGetFgColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_document_get_fg_color
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"alinkColor\"] = $2;"
+        ghcjs_dom_html_document_set_alink_color ::
+        JSRef HTMLDocument -> JSString -> IO ()
+#else 
+ghcjs_dom_html_document_set_alink_color ::
+                                          JSRef HTMLDocument -> JSString -> IO ()
+ghcjs_dom_html_document_set_alink_color = undefined
+#endif
+ 
+htmlDocumentSetAlinkColor ::
+                          (IsHTMLDocument self, ToJSString val) => self -> val -> IO ()
+htmlDocumentSetAlinkColor self val
+  = ghcjs_dom_html_document_set_alink_color
+      (unHTMLDocument (toHTMLDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"alinkColor\"]"
+        ghcjs_dom_html_document_get_alink_color ::
+        JSRef HTMLDocument -> IO JSString
+#else 
+ghcjs_dom_html_document_get_alink_color ::
+                                          JSRef HTMLDocument -> IO JSString
+ghcjs_dom_html_document_get_alink_color = undefined
+#endif
+ 
+htmlDocumentGetAlinkColor ::
+                          (IsHTMLDocument self, FromJSString result) => self -> IO result
+htmlDocumentGetAlinkColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_document_get_alink_color
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"linkColor\"] = $2;"
+        ghcjs_dom_html_document_set_link_color ::
+        JSRef HTMLDocument -> JSString -> IO ()
+#else 
+ghcjs_dom_html_document_set_link_color ::
+                                         JSRef HTMLDocument -> JSString -> IO ()
+ghcjs_dom_html_document_set_link_color = undefined
+#endif
+ 
+htmlDocumentSetLinkColor ::
+                         (IsHTMLDocument self, ToJSString val) => self -> val -> IO ()
+htmlDocumentSetLinkColor self val
+  = ghcjs_dom_html_document_set_link_color
+      (unHTMLDocument (toHTMLDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"linkColor\"]"
+        ghcjs_dom_html_document_get_link_color ::
+        JSRef HTMLDocument -> IO JSString
+#else 
+ghcjs_dom_html_document_get_link_color ::
+                                         JSRef HTMLDocument -> IO JSString
+ghcjs_dom_html_document_get_link_color = undefined
+#endif
+ 
+htmlDocumentGetLinkColor ::
+                         (IsHTMLDocument self, FromJSString result) => self -> IO result
+htmlDocumentGetLinkColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_document_get_link_color
+         (unHTMLDocument (toHTMLDocument self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vlinkColor\"] = $2;"
+        ghcjs_dom_html_document_set_vlink_color ::
+        JSRef HTMLDocument -> JSString -> IO ()
+#else 
+ghcjs_dom_html_document_set_vlink_color ::
+                                          JSRef HTMLDocument -> JSString -> IO ()
+ghcjs_dom_html_document_set_vlink_color = undefined
+#endif
+ 
+htmlDocumentSetVlinkColor ::
+                          (IsHTMLDocument self, ToJSString val) => self -> val -> IO ()
+htmlDocumentSetVlinkColor self val
+  = ghcjs_dom_html_document_set_vlink_color
+      (unHTMLDocument (toHTMLDocument self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vlinkColor\"]"
+        ghcjs_dom_html_document_get_vlink_color ::
+        JSRef HTMLDocument -> IO JSString
+#else 
+ghcjs_dom_html_document_get_vlink_color ::
+                                          JSRef HTMLDocument -> IO JSString
+ghcjs_dom_html_document_get_vlink_color = undefined
+#endif
+ 
+htmlDocumentGetVlinkColor ::
+                          (IsHTMLDocument self, FromJSString result) => self -> IO result
+htmlDocumentGetVlinkColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_document_get_vlink_color
+         (unHTMLDocument (toHTMLDocument self)))
+#else
+module GHCJS.DOM.HTMLDocument (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLDocument
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLDocument
+#endif
diff --git a/src/GHCJS/DOM/HTMLElement.hs b/src/GHCJS/DOM/HTMLElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLElement.hs
@@ -0,0 +1,871 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLElement
+       (ghcjs_dom_html_element_insert_adjacent_element,
+        htmlElementInsertAdjacentElement,
+        ghcjs_dom_html_element_insert_adjacent_html,
+        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,
+        htmlElementSetWebkitdropzone,
+        ghcjs_dom_html_element_get_webkitdropzone,
+        htmlElementGetWebkitdropzone, ghcjs_dom_html_element_set_hidden,
+        htmlElementSetHidden, ghcjs_dom_html_element_get_hidden,
+        htmlElementGetHidden, ghcjs_dom_html_element_set_access_key,
+        htmlElementSetAccessKey, ghcjs_dom_html_element_get_access_key,
+        htmlElementGetAccessKey, ghcjs_dom_html_element_set_inner_html,
+        htmlElementSetInnerHTML, ghcjs_dom_html_element_get_inner_html,
+        htmlElementGetInnerHTML, ghcjs_dom_html_element_set_inner_text,
+        htmlElementSetInnerText, ghcjs_dom_html_element_get_inner_text,
+        htmlElementGetInnerText, ghcjs_dom_html_element_set_outer_html,
+        htmlElementSetOuterHTML, ghcjs_dom_html_element_get_outer_html,
+        htmlElementGetOuterHTML, ghcjs_dom_html_element_set_outer_text,
+        htmlElementSetOuterText, ghcjs_dom_html_element_get_outer_text,
+        htmlElementGetOuterText, ghcjs_dom_html_element_get_children,
+        htmlElementGetChildren,
+        ghcjs_dom_html_element_set_content_editable,
+        htmlElementSetContentEditable,
+        ghcjs_dom_html_element_get_content_editable,
+        htmlElementGetContentEditable,
+        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)
+       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[\"insertAdjacentElement\"]($2,\n$3)"
+        ghcjs_dom_html_element_insert_adjacent_element ::
+        JSRef HTMLElement ->
+          JSString -> JSRef Element -> IO (JSRef Element)
+#else 
+ghcjs_dom_html_element_insert_adjacent_element ::
+                                                 JSRef HTMLElement ->
+                                                   JSString -> JSRef Element -> IO (JSRef Element)
+ghcjs_dom_html_element_insert_adjacent_element = undefined
+#endif
+ 
+htmlElementInsertAdjacentElement ::
+                                 (IsHTMLElement self, ToJSString where', IsElement element) =>
+                                   self -> where' -> Maybe element -> IO (Maybe Element)
+htmlElementInsertAdjacentElement self where' element
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_html_element_insert_adjacent_element
+         (unHTMLElement (toHTMLElement self))
+         (toJSString where')
+         (maybe jsNull (unElement . toElement) element))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"insertAdjacentHTML\"]($2, $3)"
+        ghcjs_dom_html_element_insert_adjacent_html ::
+        JSRef HTMLElement -> JSString -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_insert_adjacent_html ::
+                                              JSRef HTMLElement -> JSString -> JSString -> IO ()
+ghcjs_dom_html_element_insert_adjacent_html = undefined
+#endif
+ 
+htmlElementInsertAdjacentHTML ::
+                              (IsHTMLElement self, ToJSString where', ToJSString html) =>
+                                self -> where' -> html -> IO ()
+htmlElementInsertAdjacentHTML self where' html
+  = ghcjs_dom_html_element_insert_adjacent_html
+      (unHTMLElement (toHTMLElement self))
+      (toJSString where')
+      (toJSString html)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"insertAdjacentText\"]($2, $3)"
+        ghcjs_dom_html_element_insert_adjacent_text ::
+        JSRef HTMLElement -> JSString -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_insert_adjacent_text ::
+                                              JSRef HTMLElement -> JSString -> JSString -> IO ()
+ghcjs_dom_html_element_insert_adjacent_text = undefined
+#endif
+ 
+htmlElementInsertAdjacentText ::
+                              (IsHTMLElement self, ToJSString where', ToJSString text) =>
+                                self -> where' -> text -> IO ()
+htmlElementInsertAdjacentText self where' text
+  = ghcjs_dom_html_element_insert_adjacent_text
+      (unHTMLElement (toHTMLElement self))
+      (toJSString where')
+      (toJSString text)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"click\"]()"
+        ghcjs_dom_html_element_click :: JSRef HTMLElement -> IO ()
+#else 
+ghcjs_dom_html_element_click :: JSRef HTMLElement -> IO ()
+ghcjs_dom_html_element_click = undefined
+#endif
+ 
+htmlElementClick :: (IsHTMLElement self) => self -> IO ()
+htmlElementClick self
+  = ghcjs_dom_html_element_click (unHTMLElement (toHTMLElement self))
+
+
+#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 ()
+#else 
+ghcjs_dom_html_element_set_title ::
+                                   JSRef HTMLElement -> JSString -> IO ()
+ghcjs_dom_html_element_set_title = undefined
+#endif
+ 
+htmlElementSetTitle ::
+                    (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
+htmlElementSetTitle self val
+  = ghcjs_dom_html_element_set_title
+      (unHTMLElement (toHTMLElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"title\"]"
+        ghcjs_dom_html_element_get_title ::
+        JSRef HTMLElement -> IO JSString
+#else 
+ghcjs_dom_html_element_get_title ::
+                                   JSRef HTMLElement -> IO JSString
+ghcjs_dom_html_element_get_title = undefined
+#endif
+ 
+htmlElementGetTitle ::
+                    (IsHTMLElement self, FromJSString result) => self -> IO result
+htmlElementGetTitle self
+  = fromJSString <$>
+      (ghcjs_dom_html_element_get_title
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"lang\"] = $2;"
+        ghcjs_dom_html_element_set_lang ::
+        JSRef HTMLElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_set_lang ::
+                                  JSRef HTMLElement -> JSString -> IO ()
+ghcjs_dom_html_element_set_lang = undefined
+#endif
+ 
+htmlElementSetLang ::
+                   (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
+htmlElementSetLang self val
+  = ghcjs_dom_html_element_set_lang
+      (unHTMLElement (toHTMLElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"lang\"]"
+        ghcjs_dom_html_element_get_lang :: JSRef HTMLElement -> IO JSString
+#else 
+ghcjs_dom_html_element_get_lang :: JSRef HTMLElement -> IO JSString
+ghcjs_dom_html_element_get_lang = undefined
+#endif
+ 
+htmlElementGetLang ::
+                   (IsHTMLElement self, FromJSString result) => self -> IO result
+htmlElementGetLang self
+  = fromJSString <$>
+      (ghcjs_dom_html_element_get_lang
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"translate\"] = $2;"
+        ghcjs_dom_html_element_set_translate ::
+        JSRef HTMLElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_element_set_translate ::
+                                       JSRef HTMLElement -> Bool -> IO ()
+ghcjs_dom_html_element_set_translate = undefined
+#endif
+ 
+htmlElementSetTranslate ::
+                        (IsHTMLElement self) => self -> Bool -> IO ()
+htmlElementSetTranslate self val
+  = ghcjs_dom_html_element_set_translate
+      (unHTMLElement (toHTMLElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"translate\"] ? 1 : 0)"
+        ghcjs_dom_html_element_get_translate ::
+        JSRef HTMLElement -> IO Bool
+#else 
+ghcjs_dom_html_element_get_translate ::
+                                       JSRef HTMLElement -> IO Bool
+ghcjs_dom_html_element_get_translate = undefined
+#endif
+ 
+htmlElementGetTranslate :: (IsHTMLElement self) => self -> IO Bool
+htmlElementGetTranslate self
+  = ghcjs_dom_html_element_get_translate
+      (unHTMLElement (toHTMLElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"dir\"] = $2;"
+        ghcjs_dom_html_element_set_dir ::
+        JSRef HTMLElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_set_dir ::
+                                 JSRef HTMLElement -> JSString -> IO ()
+ghcjs_dom_html_element_set_dir = undefined
+#endif
+ 
+htmlElementSetDir ::
+                  (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
+htmlElementSetDir self val
+  = ghcjs_dom_html_element_set_dir
+      (unHTMLElement (toHTMLElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"dir\"]"
+        ghcjs_dom_html_element_get_dir :: JSRef HTMLElement -> IO JSString
+#else 
+ghcjs_dom_html_element_get_dir :: JSRef HTMLElement -> IO JSString
+ghcjs_dom_html_element_get_dir = undefined
+#endif
+ 
+htmlElementGetDir ::
+                  (IsHTMLElement self, FromJSString result) => self -> IO result
+htmlElementGetDir self
+  = fromJSString <$>
+      (ghcjs_dom_html_element_get_dir
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"tabIndex\"] = $2;"
+        ghcjs_dom_html_element_set_tab_index ::
+        JSRef HTMLElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_element_set_tab_index ::
+                                       JSRef HTMLElement -> Int -> IO ()
+ghcjs_dom_html_element_set_tab_index = undefined
+#endif
+ 
+htmlElementSetTabIndex ::
+                       (IsHTMLElement self) => self -> Int -> IO ()
+htmlElementSetTabIndex self val
+  = ghcjs_dom_html_element_set_tab_index
+      (unHTMLElement (toHTMLElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"tabIndex\"]"
+        ghcjs_dom_html_element_get_tab_index :: JSRef HTMLElement -> IO Int
+#else 
+ghcjs_dom_html_element_get_tab_index :: JSRef HTMLElement -> IO Int
+ghcjs_dom_html_element_get_tab_index = undefined
+#endif
+ 
+htmlElementGetTabIndex :: (IsHTMLElement self) => self -> IO Int
+htmlElementGetTabIndex self
+  = ghcjs_dom_html_element_get_tab_index
+      (unHTMLElement (toHTMLElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"draggable\"] = $2;"
+        ghcjs_dom_html_element_set_draggable ::
+        JSRef HTMLElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_element_set_draggable ::
+                                       JSRef HTMLElement -> Bool -> IO ()
+ghcjs_dom_html_element_set_draggable = undefined
+#endif
+ 
+htmlElementSetDraggable ::
+                        (IsHTMLElement self) => self -> Bool -> IO ()
+htmlElementSetDraggable self val
+  = ghcjs_dom_html_element_set_draggable
+      (unHTMLElement (toHTMLElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"draggable\"] ? 1 : 0)"
+        ghcjs_dom_html_element_get_draggable ::
+        JSRef HTMLElement -> IO Bool
+#else 
+ghcjs_dom_html_element_get_draggable ::
+                                       JSRef HTMLElement -> IO Bool
+ghcjs_dom_html_element_get_draggable = undefined
+#endif
+ 
+htmlElementGetDraggable :: (IsHTMLElement self) => self -> IO Bool
+htmlElementGetDraggable self
+  = ghcjs_dom_html_element_get_draggable
+      (unHTMLElement (toHTMLElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitdropzone\"] = $2;"
+        ghcjs_dom_html_element_set_webkitdropzone ::
+        JSRef HTMLElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_set_webkitdropzone ::
+                                            JSRef HTMLElement -> JSString -> IO ()
+ghcjs_dom_html_element_set_webkitdropzone = undefined
+#endif
+ 
+htmlElementSetWebkitdropzone ::
+                             (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
+htmlElementSetWebkitdropzone self val
+  = ghcjs_dom_html_element_set_webkitdropzone
+      (unHTMLElement (toHTMLElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitdropzone\"]"
+        ghcjs_dom_html_element_get_webkitdropzone ::
+        JSRef HTMLElement -> IO JSString
+#else 
+ghcjs_dom_html_element_get_webkitdropzone ::
+                                            JSRef HTMLElement -> IO JSString
+ghcjs_dom_html_element_get_webkitdropzone = undefined
+#endif
+ 
+htmlElementGetWebkitdropzone ::
+                             (IsHTMLElement self, FromJSString result) => self -> IO result
+htmlElementGetWebkitdropzone self
+  = fromJSString <$>
+      (ghcjs_dom_html_element_get_webkitdropzone
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hidden\"] = $2;"
+        ghcjs_dom_html_element_set_hidden ::
+        JSRef HTMLElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_element_set_hidden ::
+                                    JSRef HTMLElement -> Bool -> IO ()
+ghcjs_dom_html_element_set_hidden = undefined
+#endif
+ 
+htmlElementSetHidden ::
+                     (IsHTMLElement self) => self -> Bool -> IO ()
+htmlElementSetHidden self val
+  = ghcjs_dom_html_element_set_hidden
+      (unHTMLElement (toHTMLElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"hidden\"] ? 1 : 0)"
+        ghcjs_dom_html_element_get_hidden :: JSRef HTMLElement -> IO Bool
+#else 
+ghcjs_dom_html_element_get_hidden :: JSRef HTMLElement -> IO Bool
+ghcjs_dom_html_element_get_hidden = undefined
+#endif
+ 
+htmlElementGetHidden :: (IsHTMLElement self) => self -> IO Bool
+htmlElementGetHidden self
+  = ghcjs_dom_html_element_get_hidden
+      (unHTMLElement (toHTMLElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"accessKey\"] = $2;"
+        ghcjs_dom_html_element_set_access_key ::
+        JSRef HTMLElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_set_access_key ::
+                                        JSRef HTMLElement -> JSString -> IO ()
+ghcjs_dom_html_element_set_access_key = undefined
+#endif
+ 
+htmlElementSetAccessKey ::
+                        (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
+htmlElementSetAccessKey self val
+  = ghcjs_dom_html_element_set_access_key
+      (unHTMLElement (toHTMLElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"accessKey\"]"
+        ghcjs_dom_html_element_get_access_key ::
+        JSRef HTMLElement -> IO JSString
+#else 
+ghcjs_dom_html_element_get_access_key ::
+                                        JSRef HTMLElement -> IO JSString
+ghcjs_dom_html_element_get_access_key = undefined
+#endif
+ 
+htmlElementGetAccessKey ::
+                        (IsHTMLElement self, FromJSString result) => self -> IO result
+htmlElementGetAccessKey self
+  = fromJSString <$>
+      (ghcjs_dom_html_element_get_access_key
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"innerHTML\"] = $2;"
+        ghcjs_dom_html_element_set_inner_html ::
+        JSRef HTMLElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_set_inner_html ::
+                                        JSRef HTMLElement -> JSString -> IO ()
+ghcjs_dom_html_element_set_inner_html = undefined
+#endif
+ 
+htmlElementSetInnerHTML ::
+                        (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
+htmlElementSetInnerHTML self val
+  = ghcjs_dom_html_element_set_inner_html
+      (unHTMLElement (toHTMLElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"innerHTML\"]"
+        ghcjs_dom_html_element_get_inner_html ::
+        JSRef HTMLElement -> IO JSString
+#else 
+ghcjs_dom_html_element_get_inner_html ::
+                                        JSRef HTMLElement -> IO JSString
+ghcjs_dom_html_element_get_inner_html = undefined
+#endif
+ 
+htmlElementGetInnerHTML ::
+                        (IsHTMLElement self, FromJSString result) => self -> IO result
+htmlElementGetInnerHTML self
+  = fromJSString <$>
+      (ghcjs_dom_html_element_get_inner_html
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"innerText\"] = $2;"
+        ghcjs_dom_html_element_set_inner_text ::
+        JSRef HTMLElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_set_inner_text ::
+                                        JSRef HTMLElement -> JSString -> IO ()
+ghcjs_dom_html_element_set_inner_text = undefined
+#endif
+ 
+htmlElementSetInnerText ::
+                        (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
+htmlElementSetInnerText self val
+  = ghcjs_dom_html_element_set_inner_text
+      (unHTMLElement (toHTMLElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"innerText\"]"
+        ghcjs_dom_html_element_get_inner_text ::
+        JSRef HTMLElement -> IO JSString
+#else 
+ghcjs_dom_html_element_get_inner_text ::
+                                        JSRef HTMLElement -> IO JSString
+ghcjs_dom_html_element_get_inner_text = undefined
+#endif
+ 
+htmlElementGetInnerText ::
+                        (IsHTMLElement self, FromJSString result) => self -> IO result
+htmlElementGetInnerText self
+  = fromJSString <$>
+      (ghcjs_dom_html_element_get_inner_text
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"outerHTML\"] = $2;"
+        ghcjs_dom_html_element_set_outer_html ::
+        JSRef HTMLElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_set_outer_html ::
+                                        JSRef HTMLElement -> JSString -> IO ()
+ghcjs_dom_html_element_set_outer_html = undefined
+#endif
+ 
+htmlElementSetOuterHTML ::
+                        (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
+htmlElementSetOuterHTML self val
+  = ghcjs_dom_html_element_set_outer_html
+      (unHTMLElement (toHTMLElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"outerHTML\"]"
+        ghcjs_dom_html_element_get_outer_html ::
+        JSRef HTMLElement -> IO JSString
+#else 
+ghcjs_dom_html_element_get_outer_html ::
+                                        JSRef HTMLElement -> IO JSString
+ghcjs_dom_html_element_get_outer_html = undefined
+#endif
+ 
+htmlElementGetOuterHTML ::
+                        (IsHTMLElement self, FromJSString result) => self -> IO result
+htmlElementGetOuterHTML self
+  = fromJSString <$>
+      (ghcjs_dom_html_element_get_outer_html
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"outerText\"] = $2;"
+        ghcjs_dom_html_element_set_outer_text ::
+        JSRef HTMLElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_set_outer_text ::
+                                        JSRef HTMLElement -> JSString -> IO ()
+ghcjs_dom_html_element_set_outer_text = undefined
+#endif
+ 
+htmlElementSetOuterText ::
+                        (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
+htmlElementSetOuterText self val
+  = ghcjs_dom_html_element_set_outer_text
+      (unHTMLElement (toHTMLElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"outerText\"]"
+        ghcjs_dom_html_element_get_outer_text ::
+        JSRef HTMLElement -> IO JSString
+#else 
+ghcjs_dom_html_element_get_outer_text ::
+                                        JSRef HTMLElement -> IO JSString
+ghcjs_dom_html_element_get_outer_text = undefined
+#endif
+ 
+htmlElementGetOuterText ::
+                        (IsHTMLElement self, FromJSString result) => self -> IO result
+htmlElementGetOuterText self
+  = fromJSString <$>
+      (ghcjs_dom_html_element_get_outer_text
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"children\"]"
+        ghcjs_dom_html_element_get_children ::
+        JSRef HTMLElement -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_element_get_children ::
+                                      JSRef HTMLElement -> IO (JSRef HTMLCollection)
+ghcjs_dom_html_element_get_children = undefined
+#endif
+ 
+htmlElementGetChildren ::
+                       (IsHTMLElement self) => self -> IO (Maybe HTMLCollection)
+htmlElementGetChildren self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_element_get_children
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"contentEditable\"] = $2;"
+        ghcjs_dom_html_element_set_content_editable ::
+        JSRef HTMLElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_element_set_content_editable ::
+                                              JSRef HTMLElement -> JSString -> IO ()
+ghcjs_dom_html_element_set_content_editable = undefined
+#endif
+ 
+htmlElementSetContentEditable ::
+                              (IsHTMLElement self, ToJSString val) => self -> val -> IO ()
+htmlElementSetContentEditable self val
+  = ghcjs_dom_html_element_set_content_editable
+      (unHTMLElement (toHTMLElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"contentEditable\"]"
+        ghcjs_dom_html_element_get_content_editable ::
+        JSRef HTMLElement -> IO JSString
+#else 
+ghcjs_dom_html_element_get_content_editable ::
+                                              JSRef HTMLElement -> IO JSString
+ghcjs_dom_html_element_get_content_editable = undefined
+#endif
+ 
+htmlElementGetContentEditable ::
+                              (IsHTMLElement self, FromJSString result) => self -> IO result
+htmlElementGetContentEditable self
+  = fromJSString <$>
+      (ghcjs_dom_html_element_get_content_editable
+         (unHTMLElement (toHTMLElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"isContentEditable\"] ? 1 : 0)"
+        ghcjs_dom_html_element_get_is_content_editable ::
+        JSRef HTMLElement -> IO Bool
+#else 
+ghcjs_dom_html_element_get_is_content_editable ::
+                                                 JSRef HTMLElement -> IO Bool
+ghcjs_dom_html_element_get_is_content_editable = undefined
+#endif
+ 
+htmlElementGetIsContentEditable ::
+                                (IsHTMLElement self) => self -> IO Bool
+htmlElementGetIsContentEditable self
+  = ghcjs_dom_html_element_get_is_content_editable
+      (unHTMLElement (toHTMLElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"spellcheck\"] = $2;"
+        ghcjs_dom_html_element_set_spellcheck ::
+        JSRef HTMLElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_element_set_spellcheck ::
+                                        JSRef HTMLElement -> Bool -> IO ()
+ghcjs_dom_html_element_set_spellcheck = undefined
+#endif
+ 
+htmlElementSetSpellcheck ::
+                         (IsHTMLElement self) => self -> Bool -> IO ()
+htmlElementSetSpellcheck self val
+  = ghcjs_dom_html_element_set_spellcheck
+      (unHTMLElement (toHTMLElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"spellcheck\"] ? 1 : 0)"
+        ghcjs_dom_html_element_get_spellcheck ::
+        JSRef HTMLElement -> IO Bool
+#else 
+ghcjs_dom_html_element_get_spellcheck ::
+                                        JSRef HTMLElement -> IO Bool
+ghcjs_dom_html_element_get_spellcheck = undefined
+#endif
+ 
+htmlElementGetSpellcheck :: (IsHTMLElement self) => self -> IO Bool
+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
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLEmbedElement.hs b/src/GHCJS/DOM/HTMLEmbedElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLEmbedElement.hs
@@ -0,0 +1,212 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLEmbedElement
+       (ghcjs_dom_html_embed_element_set_align, htmlEmbedElementSetAlign,
+        ghcjs_dom_html_embed_element_get_align, htmlEmbedElementGetAlign,
+        ghcjs_dom_html_embed_element_set_height, htmlEmbedElementSetHeight,
+        ghcjs_dom_html_embed_element_get_height, htmlEmbedElementGetHeight,
+        ghcjs_dom_html_embed_element_set_name, htmlEmbedElementSetName,
+        ghcjs_dom_html_embed_element_get_name, htmlEmbedElementGetName,
+        ghcjs_dom_html_embed_element_set_src, htmlEmbedElementSetSrc,
+        ghcjs_dom_html_embed_element_get_src, htmlEmbedElementGetSrc,
+        ghcjs_dom_html_embed_element_set_width, htmlEmbedElementSetWidth,
+        ghcjs_dom_html_embed_element_get_width, htmlEmbedElementGetWidth)
+       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[\"align\"] = $2;"
+        ghcjs_dom_html_embed_element_set_align ::
+        JSRef HTMLEmbedElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_embed_element_set_align ::
+                                         JSRef HTMLEmbedElement -> JSString -> IO ()
+ghcjs_dom_html_embed_element_set_align = undefined
+#endif
+ 
+htmlEmbedElementSetAlign ::
+                         (IsHTMLEmbedElement self, ToJSString val) => self -> val -> IO ()
+htmlEmbedElementSetAlign self val
+  = ghcjs_dom_html_embed_element_set_align
+      (unHTMLEmbedElement (toHTMLEmbedElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_embed_element_get_align ::
+        JSRef HTMLEmbedElement -> IO JSString
+#else 
+ghcjs_dom_html_embed_element_get_align ::
+                                         JSRef HTMLEmbedElement -> IO JSString
+ghcjs_dom_html_embed_element_get_align = undefined
+#endif
+ 
+htmlEmbedElementGetAlign ::
+                         (IsHTMLEmbedElement self, FromJSString result) => self -> IO result
+htmlEmbedElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_embed_element_get_align
+         (unHTMLEmbedElement (toHTMLEmbedElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"] = $2;"
+        ghcjs_dom_html_embed_element_set_height ::
+        JSRef HTMLEmbedElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_embed_element_set_height ::
+                                          JSRef HTMLEmbedElement -> Int -> IO ()
+ghcjs_dom_html_embed_element_set_height = undefined
+#endif
+ 
+htmlEmbedElementSetHeight ::
+                          (IsHTMLEmbedElement self) => self -> Int -> IO ()
+htmlEmbedElementSetHeight self val
+  = ghcjs_dom_html_embed_element_set_height
+      (unHTMLEmbedElement (toHTMLEmbedElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_embed_element_get_height ::
+        JSRef HTMLEmbedElement -> IO Int
+#else 
+ghcjs_dom_html_embed_element_get_height ::
+                                          JSRef HTMLEmbedElement -> IO Int
+ghcjs_dom_html_embed_element_get_height = undefined
+#endif
+ 
+htmlEmbedElementGetHeight ::
+                          (IsHTMLEmbedElement self) => self -> IO Int
+htmlEmbedElementGetHeight self
+  = ghcjs_dom_html_embed_element_get_height
+      (unHTMLEmbedElement (toHTMLEmbedElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_embed_element_set_name ::
+        JSRef HTMLEmbedElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_embed_element_set_name ::
+                                        JSRef HTMLEmbedElement -> JSString -> IO ()
+ghcjs_dom_html_embed_element_set_name = undefined
+#endif
+ 
+htmlEmbedElementSetName ::
+                        (IsHTMLEmbedElement self, ToJSString val) => self -> val -> IO ()
+htmlEmbedElementSetName self val
+  = ghcjs_dom_html_embed_element_set_name
+      (unHTMLEmbedElement (toHTMLEmbedElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_embed_element_get_name ::
+        JSRef HTMLEmbedElement -> IO JSString
+#else 
+ghcjs_dom_html_embed_element_get_name ::
+                                        JSRef HTMLEmbedElement -> IO JSString
+ghcjs_dom_html_embed_element_get_name = undefined
+#endif
+ 
+htmlEmbedElementGetName ::
+                        (IsHTMLEmbedElement self, FromJSString result) => self -> IO result
+htmlEmbedElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_embed_element_get_name
+         (unHTMLEmbedElement (toHTMLEmbedElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"] = $2;"
+        ghcjs_dom_html_embed_element_set_src ::
+        JSRef HTMLEmbedElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_embed_element_set_src ::
+                                       JSRef HTMLEmbedElement -> JSString -> IO ()
+ghcjs_dom_html_embed_element_set_src = undefined
+#endif
+ 
+htmlEmbedElementSetSrc ::
+                       (IsHTMLEmbedElement self, ToJSString val) => self -> val -> IO ()
+htmlEmbedElementSetSrc self val
+  = ghcjs_dom_html_embed_element_set_src
+      (unHTMLEmbedElement (toHTMLEmbedElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"]"
+        ghcjs_dom_html_embed_element_get_src ::
+        JSRef HTMLEmbedElement -> IO JSString
+#else 
+ghcjs_dom_html_embed_element_get_src ::
+                                       JSRef HTMLEmbedElement -> IO JSString
+ghcjs_dom_html_embed_element_get_src = undefined
+#endif
+ 
+htmlEmbedElementGetSrc ::
+                       (IsHTMLEmbedElement self, FromJSString result) => self -> IO result
+htmlEmbedElementGetSrc self
+  = fromJSString <$>
+      (ghcjs_dom_html_embed_element_get_src
+         (unHTMLEmbedElement (toHTMLEmbedElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_embed_element_set_width ::
+        JSRef HTMLEmbedElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_embed_element_set_width ::
+                                         JSRef HTMLEmbedElement -> Int -> IO ()
+ghcjs_dom_html_embed_element_set_width = undefined
+#endif
+ 
+htmlEmbedElementSetWidth ::
+                         (IsHTMLEmbedElement self) => self -> Int -> IO ()
+htmlEmbedElementSetWidth self val
+  = ghcjs_dom_html_embed_element_set_width
+      (unHTMLEmbedElement (toHTMLEmbedElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_embed_element_get_width ::
+        JSRef HTMLEmbedElement -> IO Int
+#else 
+ghcjs_dom_html_embed_element_get_width ::
+                                         JSRef HTMLEmbedElement -> IO Int
+ghcjs_dom_html_embed_element_get_width = undefined
+#endif
+ 
+htmlEmbedElementGetWidth ::
+                         (IsHTMLEmbedElement self) => self -> IO Int
+htmlEmbedElementGetWidth self
+  = ghcjs_dom_html_embed_element_get_width
+      (unHTMLEmbedElement (toHTMLEmbedElement self))
+#else
+module GHCJS.DOM.HTMLEmbedElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLEmbedElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLEmbedElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLFieldSetElement.hs b/src/GHCJS/DOM/HTMLFieldSetElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLFieldSetElement.hs
@@ -0,0 +1,249 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLFieldSetElement
+       (ghcjs_dom_html_field_set_element_check_validity,
+        htmlFieldSetElementCheckValidity,
+        ghcjs_dom_html_field_set_element_set_custom_validity,
+        htmlFieldSetElementSetCustomValidity,
+        ghcjs_dom_html_field_set_element_set_disabled,
+        htmlFieldSetElementSetDisabled,
+        ghcjs_dom_html_field_set_element_get_disabled,
+        htmlFieldSetElementGetDisabled,
+        ghcjs_dom_html_field_set_element_get_form,
+        htmlFieldSetElementGetForm,
+        ghcjs_dom_html_field_set_element_set_name,
+        htmlFieldSetElementSetName,
+        ghcjs_dom_html_field_set_element_get_name,
+        htmlFieldSetElementGetName,
+        ghcjs_dom_html_field_set_element_get_elements,
+        htmlFieldSetElementGetElements,
+        ghcjs_dom_html_field_set_element_get_will_validate,
+        htmlFieldSetElementGetWillValidate,
+        ghcjs_dom_html_field_set_element_get_validity,
+        htmlFieldSetElementGetValidity,
+        ghcjs_dom_html_field_set_element_get_validation_message,
+        htmlFieldSetElementGetValidationMessage)
+       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[\"checkValidity\"]() ? 1 : 0)"
+        ghcjs_dom_html_field_set_element_check_validity ::
+        JSRef HTMLFieldSetElement -> IO Bool
+#else 
+ghcjs_dom_html_field_set_element_check_validity ::
+                                                  JSRef HTMLFieldSetElement -> IO Bool
+ghcjs_dom_html_field_set_element_check_validity = undefined
+#endif
+ 
+htmlFieldSetElementCheckValidity ::
+                                 (IsHTMLFieldSetElement self) => self -> IO Bool
+htmlFieldSetElementCheckValidity self
+  = ghcjs_dom_html_field_set_element_check_validity
+      (unHTMLFieldSetElement (toHTMLFieldSetElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setCustomValidity\"]($2)"
+        ghcjs_dom_html_field_set_element_set_custom_validity ::
+        JSRef HTMLFieldSetElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_field_set_element_set_custom_validity ::
+                                                       JSRef HTMLFieldSetElement ->
+                                                         JSString -> IO ()
+ghcjs_dom_html_field_set_element_set_custom_validity = undefined
+#endif
+ 
+htmlFieldSetElementSetCustomValidity ::
+                                     (IsHTMLFieldSetElement self, ToJSString error) =>
+                                       self -> error -> IO ()
+htmlFieldSetElementSetCustomValidity self error
+  = ghcjs_dom_html_field_set_element_set_custom_validity
+      (unHTMLFieldSetElement (toHTMLFieldSetElement self))
+      (toJSString error)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"disabled\"] = $2;"
+        ghcjs_dom_html_field_set_element_set_disabled ::
+        JSRef HTMLFieldSetElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_field_set_element_set_disabled ::
+                                                JSRef HTMLFieldSetElement -> Bool -> IO ()
+ghcjs_dom_html_field_set_element_set_disabled = undefined
+#endif
+ 
+htmlFieldSetElementSetDisabled ::
+                               (IsHTMLFieldSetElement self) => self -> Bool -> IO ()
+htmlFieldSetElementSetDisabled self val
+  = ghcjs_dom_html_field_set_element_set_disabled
+      (unHTMLFieldSetElement (toHTMLFieldSetElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_html_field_set_element_get_disabled ::
+        JSRef HTMLFieldSetElement -> IO Bool
+#else 
+ghcjs_dom_html_field_set_element_get_disabled ::
+                                                JSRef HTMLFieldSetElement -> IO Bool
+ghcjs_dom_html_field_set_element_get_disabled = undefined
+#endif
+ 
+htmlFieldSetElementGetDisabled ::
+                               (IsHTMLFieldSetElement self) => self -> IO Bool
+htmlFieldSetElementGetDisabled self
+  = ghcjs_dom_html_field_set_element_get_disabled
+      (unHTMLFieldSetElement (toHTMLFieldSetElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"form\"]"
+        ghcjs_dom_html_field_set_element_get_form ::
+        JSRef HTMLFieldSetElement -> IO (JSRef HTMLFormElement)
+#else 
+ghcjs_dom_html_field_set_element_get_form ::
+                                            JSRef HTMLFieldSetElement -> IO (JSRef HTMLFormElement)
+ghcjs_dom_html_field_set_element_get_form = undefined
+#endif
+ 
+htmlFieldSetElementGetForm ::
+                           (IsHTMLFieldSetElement self) => self -> IO (Maybe HTMLFormElement)
+htmlFieldSetElementGetForm self
+  = fmap HTMLFormElement . maybeJSNull <$>
+      (ghcjs_dom_html_field_set_element_get_form
+         (unHTMLFieldSetElement (toHTMLFieldSetElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_field_set_element_set_name ::
+        JSRef HTMLFieldSetElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_field_set_element_set_name ::
+                                            JSRef HTMLFieldSetElement -> JSString -> IO ()
+ghcjs_dom_html_field_set_element_set_name = undefined
+#endif
+ 
+htmlFieldSetElementSetName ::
+                           (IsHTMLFieldSetElement self, ToJSString val) =>
+                             self -> val -> IO ()
+htmlFieldSetElementSetName self val
+  = ghcjs_dom_html_field_set_element_set_name
+      (unHTMLFieldSetElement (toHTMLFieldSetElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_field_set_element_get_name ::
+        JSRef HTMLFieldSetElement -> IO JSString
+#else 
+ghcjs_dom_html_field_set_element_get_name ::
+                                            JSRef HTMLFieldSetElement -> IO JSString
+ghcjs_dom_html_field_set_element_get_name = undefined
+#endif
+ 
+htmlFieldSetElementGetName ::
+                           (IsHTMLFieldSetElement self, FromJSString result) =>
+                             self -> IO result
+htmlFieldSetElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_field_set_element_get_name
+         (unHTMLFieldSetElement (toHTMLFieldSetElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"elements\"]"
+        ghcjs_dom_html_field_set_element_get_elements ::
+        JSRef HTMLFieldSetElement -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_field_set_element_get_elements ::
+                                                JSRef HTMLFieldSetElement ->
+                                                  IO (JSRef HTMLCollection)
+ghcjs_dom_html_field_set_element_get_elements = undefined
+#endif
+ 
+htmlFieldSetElementGetElements ::
+                               (IsHTMLFieldSetElement self) => self -> IO (Maybe HTMLCollection)
+htmlFieldSetElementGetElements self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_field_set_element_get_elements
+         (unHTMLFieldSetElement (toHTMLFieldSetElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"willValidate\"] ? 1 : 0)"
+        ghcjs_dom_html_field_set_element_get_will_validate ::
+        JSRef HTMLFieldSetElement -> IO Bool
+#else 
+ghcjs_dom_html_field_set_element_get_will_validate ::
+                                                     JSRef HTMLFieldSetElement -> IO Bool
+ghcjs_dom_html_field_set_element_get_will_validate = undefined
+#endif
+ 
+htmlFieldSetElementGetWillValidate ::
+                                   (IsHTMLFieldSetElement self) => self -> IO Bool
+htmlFieldSetElementGetWillValidate self
+  = ghcjs_dom_html_field_set_element_get_will_validate
+      (unHTMLFieldSetElement (toHTMLFieldSetElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validity\"]"
+        ghcjs_dom_html_field_set_element_get_validity ::
+        JSRef HTMLFieldSetElement -> IO (JSRef ValidityState)
+#else 
+ghcjs_dom_html_field_set_element_get_validity ::
+                                                JSRef HTMLFieldSetElement ->
+                                                  IO (JSRef ValidityState)
+ghcjs_dom_html_field_set_element_get_validity = undefined
+#endif
+ 
+htmlFieldSetElementGetValidity ::
+                               (IsHTMLFieldSetElement self) => self -> IO (Maybe ValidityState)
+htmlFieldSetElementGetValidity self
+  = fmap ValidityState . maybeJSNull <$>
+      (ghcjs_dom_html_field_set_element_get_validity
+         (unHTMLFieldSetElement (toHTMLFieldSetElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validationMessage\"]"
+        ghcjs_dom_html_field_set_element_get_validation_message ::
+        JSRef HTMLFieldSetElement -> IO JSString
+#else 
+ghcjs_dom_html_field_set_element_get_validation_message ::
+                                                          JSRef HTMLFieldSetElement -> IO JSString
+ghcjs_dom_html_field_set_element_get_validation_message = undefined
+#endif
+ 
+htmlFieldSetElementGetValidationMessage ::
+                                        (IsHTMLFieldSetElement self, FromJSString result) =>
+                                          self -> IO result
+htmlFieldSetElementGetValidationMessage self
+  = fromJSString <$>
+      (ghcjs_dom_html_field_set_element_get_validation_message
+         (unHTMLFieldSetElement (toHTMLFieldSetElement self)))
+#else
+module GHCJS.DOM.HTMLFieldSetElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLFieldSetElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLFieldSetElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLFontElement.hs b/src/GHCJS/DOM/HTMLFontElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLFontElement.hs
@@ -0,0 +1,138 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLFontElement
+       (ghcjs_dom_html_font_element_set_color, htmlFontElementSetColor,
+        ghcjs_dom_html_font_element_get_color, htmlFontElementGetColor,
+        ghcjs_dom_html_font_element_set_face, htmlFontElementSetFace,
+        ghcjs_dom_html_font_element_get_face, htmlFontElementGetFace,
+        ghcjs_dom_html_font_element_set_size, htmlFontElementSetSize,
+        ghcjs_dom_html_font_element_get_size, htmlFontElementGetSize)
+       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[\"color\"] = $2;"
+        ghcjs_dom_html_font_element_set_color ::
+        JSRef HTMLFontElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_font_element_set_color ::
+                                        JSRef HTMLFontElement -> JSString -> IO ()
+ghcjs_dom_html_font_element_set_color = undefined
+#endif
+ 
+htmlFontElementSetColor ::
+                        (IsHTMLFontElement self, ToJSString val) => self -> val -> IO ()
+htmlFontElementSetColor self val
+  = ghcjs_dom_html_font_element_set_color
+      (unHTMLFontElement (toHTMLFontElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"color\"]"
+        ghcjs_dom_html_font_element_get_color ::
+        JSRef HTMLFontElement -> IO JSString
+#else 
+ghcjs_dom_html_font_element_get_color ::
+                                        JSRef HTMLFontElement -> IO JSString
+ghcjs_dom_html_font_element_get_color = undefined
+#endif
+ 
+htmlFontElementGetColor ::
+                        (IsHTMLFontElement self, FromJSString result) => self -> IO result
+htmlFontElementGetColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_font_element_get_color
+         (unHTMLFontElement (toHTMLFontElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"face\"] = $2;"
+        ghcjs_dom_html_font_element_set_face ::
+        JSRef HTMLFontElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_font_element_set_face ::
+                                       JSRef HTMLFontElement -> JSString -> IO ()
+ghcjs_dom_html_font_element_set_face = undefined
+#endif
+ 
+htmlFontElementSetFace ::
+                       (IsHTMLFontElement self, ToJSString val) => self -> val -> IO ()
+htmlFontElementSetFace self val
+  = ghcjs_dom_html_font_element_set_face
+      (unHTMLFontElement (toHTMLFontElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"face\"]"
+        ghcjs_dom_html_font_element_get_face ::
+        JSRef HTMLFontElement -> IO JSString
+#else 
+ghcjs_dom_html_font_element_get_face ::
+                                       JSRef HTMLFontElement -> IO JSString
+ghcjs_dom_html_font_element_get_face = undefined
+#endif
+ 
+htmlFontElementGetFace ::
+                       (IsHTMLFontElement self, FromJSString result) => self -> IO result
+htmlFontElementGetFace self
+  = fromJSString <$>
+      (ghcjs_dom_html_font_element_get_face
+         (unHTMLFontElement (toHTMLFontElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"size\"] = $2;"
+        ghcjs_dom_html_font_element_set_size ::
+        JSRef HTMLFontElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_font_element_set_size ::
+                                       JSRef HTMLFontElement -> JSString -> IO ()
+ghcjs_dom_html_font_element_set_size = undefined
+#endif
+ 
+htmlFontElementSetSize ::
+                       (IsHTMLFontElement self, ToJSString val) => self -> val -> IO ()
+htmlFontElementSetSize self val
+  = ghcjs_dom_html_font_element_set_size
+      (unHTMLFontElement (toHTMLFontElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"size\"]"
+        ghcjs_dom_html_font_element_get_size ::
+        JSRef HTMLFontElement -> IO JSString
+#else 
+ghcjs_dom_html_font_element_get_size ::
+                                       JSRef HTMLFontElement -> IO JSString
+ghcjs_dom_html_font_element_get_size = undefined
+#endif
+ 
+htmlFontElementGetSize ::
+                       (IsHTMLFontElement self, FromJSString result) => self -> IO result
+htmlFontElementGetSize self
+  = fromJSString <$>
+      (ghcjs_dom_html_font_element_get_size
+         (unHTMLFontElement (toHTMLFontElement self)))
+#else
+module GHCJS.DOM.HTMLFontElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLFontElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLFontElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLFormElement.hs b/src/GHCJS/DOM/HTMLFormElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLFormElement.hs
@@ -0,0 +1,463 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLFormElement
+       (ghcjs_dom_html_form_element_submit, htmlFormElementSubmit,
+        ghcjs_dom_html_form_element_reset, htmlFormElementReset,
+        ghcjs_dom_html_form_element_check_validity,
+        htmlFormElementCheckValidity,
+        ghcjs_dom_html_form_element_set_accept_charset,
+        htmlFormElementSetAcceptCharset,
+        ghcjs_dom_html_form_element_get_accept_charset,
+        htmlFormElementGetAcceptCharset,
+        ghcjs_dom_html_form_element_set_action, htmlFormElementSetAction,
+        ghcjs_dom_html_form_element_get_action, htmlFormElementGetAction,
+        ghcjs_dom_html_form_element_set_autocomplete,
+        htmlFormElementSetAutocomplete,
+        ghcjs_dom_html_form_element_get_autocomplete,
+        htmlFormElementGetAutocomplete,
+        ghcjs_dom_html_form_element_set_enctype, htmlFormElementSetEnctype,
+        ghcjs_dom_html_form_element_get_enctype, htmlFormElementGetEnctype,
+        ghcjs_dom_html_form_element_set_encoding,
+        htmlFormElementSetEncoding,
+        ghcjs_dom_html_form_element_get_encoding,
+        htmlFormElementGetEncoding, ghcjs_dom_html_form_element_set_method,
+        htmlFormElementSetMethod, ghcjs_dom_html_form_element_get_method,
+        htmlFormElementGetMethod, ghcjs_dom_html_form_element_set_name,
+        htmlFormElementSetName, ghcjs_dom_html_form_element_get_name,
+        htmlFormElementGetName,
+        ghcjs_dom_html_form_element_set_no_validate,
+        htmlFormElementSetNoValidate,
+        ghcjs_dom_html_form_element_get_no_validate,
+        htmlFormElementGetNoValidate,
+        ghcjs_dom_html_form_element_set_target, htmlFormElementSetTarget,
+        ghcjs_dom_html_form_element_get_target, htmlFormElementGetTarget,
+        ghcjs_dom_html_form_element_get_elements,
+        htmlFormElementGetElements, ghcjs_dom_html_form_element_get_length,
+        htmlFormElementGetLength)
+       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[\"submit\"]()"
+        ghcjs_dom_html_form_element_submit ::
+        JSRef HTMLFormElement -> IO ()
+#else 
+ghcjs_dom_html_form_element_submit ::
+                                     JSRef HTMLFormElement -> IO ()
+ghcjs_dom_html_form_element_submit = undefined
+#endif
+ 
+htmlFormElementSubmit :: (IsHTMLFormElement self) => self -> IO ()
+htmlFormElementSubmit self
+  = ghcjs_dom_html_form_element_submit
+      (unHTMLFormElement (toHTMLFormElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"reset\"]()"
+        ghcjs_dom_html_form_element_reset :: JSRef HTMLFormElement -> IO ()
+#else 
+ghcjs_dom_html_form_element_reset :: JSRef HTMLFormElement -> IO ()
+ghcjs_dom_html_form_element_reset = undefined
+#endif
+ 
+htmlFormElementReset :: (IsHTMLFormElement self) => self -> IO ()
+htmlFormElementReset self
+  = ghcjs_dom_html_form_element_reset
+      (unHTMLFormElement (toHTMLFormElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"checkValidity\"]() ? 1 : 0)"
+        ghcjs_dom_html_form_element_check_validity ::
+        JSRef HTMLFormElement -> IO Bool
+#else 
+ghcjs_dom_html_form_element_check_validity ::
+                                             JSRef HTMLFormElement -> IO Bool
+ghcjs_dom_html_form_element_check_validity = undefined
+#endif
+ 
+htmlFormElementCheckValidity ::
+                             (IsHTMLFormElement self) => self -> IO Bool
+htmlFormElementCheckValidity self
+  = ghcjs_dom_html_form_element_check_validity
+      (unHTMLFormElement (toHTMLFormElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"acceptCharset\"] = $2;"
+        ghcjs_dom_html_form_element_set_accept_charset ::
+        JSRef HTMLFormElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_form_element_set_accept_charset ::
+                                                 JSRef HTMLFormElement -> JSString -> IO ()
+ghcjs_dom_html_form_element_set_accept_charset = undefined
+#endif
+ 
+htmlFormElementSetAcceptCharset ::
+                                (IsHTMLFormElement self, ToJSString val) => self -> val -> IO ()
+htmlFormElementSetAcceptCharset self val
+  = ghcjs_dom_html_form_element_set_accept_charset
+      (unHTMLFormElement (toHTMLFormElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"acceptCharset\"]"
+        ghcjs_dom_html_form_element_get_accept_charset ::
+        JSRef HTMLFormElement -> IO JSString
+#else 
+ghcjs_dom_html_form_element_get_accept_charset ::
+                                                 JSRef HTMLFormElement -> IO JSString
+ghcjs_dom_html_form_element_get_accept_charset = undefined
+#endif
+ 
+htmlFormElementGetAcceptCharset ::
+                                (IsHTMLFormElement self, FromJSString result) => self -> IO result
+htmlFormElementGetAcceptCharset self
+  = fromJSString <$>
+      (ghcjs_dom_html_form_element_get_accept_charset
+         (unHTMLFormElement (toHTMLFormElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"action\"] = $2;"
+        ghcjs_dom_html_form_element_set_action ::
+        JSRef HTMLFormElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_form_element_set_action ::
+                                         JSRef HTMLFormElement -> JSString -> IO ()
+ghcjs_dom_html_form_element_set_action = undefined
+#endif
+ 
+htmlFormElementSetAction ::
+                         (IsHTMLFormElement self, ToJSString val) => self -> val -> IO ()
+htmlFormElementSetAction self val
+  = ghcjs_dom_html_form_element_set_action
+      (unHTMLFormElement (toHTMLFormElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"action\"]"
+        ghcjs_dom_html_form_element_get_action ::
+        JSRef HTMLFormElement -> IO JSString
+#else 
+ghcjs_dom_html_form_element_get_action ::
+                                         JSRef HTMLFormElement -> IO JSString
+ghcjs_dom_html_form_element_get_action = undefined
+#endif
+ 
+htmlFormElementGetAction ::
+                         (IsHTMLFormElement self, FromJSString result) => self -> IO result
+htmlFormElementGetAction self
+  = fromJSString <$>
+      (ghcjs_dom_html_form_element_get_action
+         (unHTMLFormElement (toHTMLFormElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"autocomplete\"] = $2;"
+        ghcjs_dom_html_form_element_set_autocomplete ::
+        JSRef HTMLFormElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_form_element_set_autocomplete ::
+                                               JSRef HTMLFormElement -> JSString -> IO ()
+ghcjs_dom_html_form_element_set_autocomplete = undefined
+#endif
+ 
+htmlFormElementSetAutocomplete ::
+                               (IsHTMLFormElement self, ToJSString val) => self -> val -> IO ()
+htmlFormElementSetAutocomplete self val
+  = ghcjs_dom_html_form_element_set_autocomplete
+      (unHTMLFormElement (toHTMLFormElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"autocomplete\"]"
+        ghcjs_dom_html_form_element_get_autocomplete ::
+        JSRef HTMLFormElement -> IO JSString
+#else 
+ghcjs_dom_html_form_element_get_autocomplete ::
+                                               JSRef HTMLFormElement -> IO JSString
+ghcjs_dom_html_form_element_get_autocomplete = undefined
+#endif
+ 
+htmlFormElementGetAutocomplete ::
+                               (IsHTMLFormElement self, FromJSString result) => self -> IO result
+htmlFormElementGetAutocomplete self
+  = fromJSString <$>
+      (ghcjs_dom_html_form_element_get_autocomplete
+         (unHTMLFormElement (toHTMLFormElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"enctype\"] = $2;"
+        ghcjs_dom_html_form_element_set_enctype ::
+        JSRef HTMLFormElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_form_element_set_enctype ::
+                                          JSRef HTMLFormElement -> JSString -> IO ()
+ghcjs_dom_html_form_element_set_enctype = undefined
+#endif
+ 
+htmlFormElementSetEnctype ::
+                          (IsHTMLFormElement self, ToJSString val) => self -> val -> IO ()
+htmlFormElementSetEnctype self val
+  = ghcjs_dom_html_form_element_set_enctype
+      (unHTMLFormElement (toHTMLFormElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"enctype\"]"
+        ghcjs_dom_html_form_element_get_enctype ::
+        JSRef HTMLFormElement -> IO JSString
+#else 
+ghcjs_dom_html_form_element_get_enctype ::
+                                          JSRef HTMLFormElement -> IO JSString
+ghcjs_dom_html_form_element_get_enctype = undefined
+#endif
+ 
+htmlFormElementGetEnctype ::
+                          (IsHTMLFormElement self, FromJSString result) => self -> IO result
+htmlFormElementGetEnctype self
+  = fromJSString <$>
+      (ghcjs_dom_html_form_element_get_enctype
+         (unHTMLFormElement (toHTMLFormElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"encoding\"] = $2;"
+        ghcjs_dom_html_form_element_set_encoding ::
+        JSRef HTMLFormElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_form_element_set_encoding ::
+                                           JSRef HTMLFormElement -> JSString -> IO ()
+ghcjs_dom_html_form_element_set_encoding = undefined
+#endif
+ 
+htmlFormElementSetEncoding ::
+                           (IsHTMLFormElement self, ToJSString val) => self -> val -> IO ()
+htmlFormElementSetEncoding self val
+  = ghcjs_dom_html_form_element_set_encoding
+      (unHTMLFormElement (toHTMLFormElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"encoding\"]"
+        ghcjs_dom_html_form_element_get_encoding ::
+        JSRef HTMLFormElement -> IO JSString
+#else 
+ghcjs_dom_html_form_element_get_encoding ::
+                                           JSRef HTMLFormElement -> IO JSString
+ghcjs_dom_html_form_element_get_encoding = undefined
+#endif
+ 
+htmlFormElementGetEncoding ::
+                           (IsHTMLFormElement self, FromJSString result) => self -> IO result
+htmlFormElementGetEncoding self
+  = fromJSString <$>
+      (ghcjs_dom_html_form_element_get_encoding
+         (unHTMLFormElement (toHTMLFormElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"method\"] = $2;"
+        ghcjs_dom_html_form_element_set_method ::
+        JSRef HTMLFormElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_form_element_set_method ::
+                                         JSRef HTMLFormElement -> JSString -> IO ()
+ghcjs_dom_html_form_element_set_method = undefined
+#endif
+ 
+htmlFormElementSetMethod ::
+                         (IsHTMLFormElement self, ToJSString val) => self -> val -> IO ()
+htmlFormElementSetMethod self val
+  = ghcjs_dom_html_form_element_set_method
+      (unHTMLFormElement (toHTMLFormElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"method\"]"
+        ghcjs_dom_html_form_element_get_method ::
+        JSRef HTMLFormElement -> IO JSString
+#else 
+ghcjs_dom_html_form_element_get_method ::
+                                         JSRef HTMLFormElement -> IO JSString
+ghcjs_dom_html_form_element_get_method = undefined
+#endif
+ 
+htmlFormElementGetMethod ::
+                         (IsHTMLFormElement self, FromJSString result) => self -> IO result
+htmlFormElementGetMethod self
+  = fromJSString <$>
+      (ghcjs_dom_html_form_element_get_method
+         (unHTMLFormElement (toHTMLFormElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_form_element_set_name ::
+        JSRef HTMLFormElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_form_element_set_name ::
+                                       JSRef HTMLFormElement -> JSString -> IO ()
+ghcjs_dom_html_form_element_set_name = undefined
+#endif
+ 
+htmlFormElementSetName ::
+                       (IsHTMLFormElement self, ToJSString val) => self -> val -> IO ()
+htmlFormElementSetName self val
+  = ghcjs_dom_html_form_element_set_name
+      (unHTMLFormElement (toHTMLFormElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_form_element_get_name ::
+        JSRef HTMLFormElement -> IO JSString
+#else 
+ghcjs_dom_html_form_element_get_name ::
+                                       JSRef HTMLFormElement -> IO JSString
+ghcjs_dom_html_form_element_get_name = undefined
+#endif
+ 
+htmlFormElementGetName ::
+                       (IsHTMLFormElement self, FromJSString result) => self -> IO result
+htmlFormElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_form_element_get_name
+         (unHTMLFormElement (toHTMLFormElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"noValidate\"] = $2;"
+        ghcjs_dom_html_form_element_set_no_validate ::
+        JSRef HTMLFormElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_form_element_set_no_validate ::
+                                              JSRef HTMLFormElement -> Bool -> IO ()
+ghcjs_dom_html_form_element_set_no_validate = undefined
+#endif
+ 
+htmlFormElementSetNoValidate ::
+                             (IsHTMLFormElement self) => self -> Bool -> IO ()
+htmlFormElementSetNoValidate self val
+  = ghcjs_dom_html_form_element_set_no_validate
+      (unHTMLFormElement (toHTMLFormElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"noValidate\"] ? 1 : 0)"
+        ghcjs_dom_html_form_element_get_no_validate ::
+        JSRef HTMLFormElement -> IO Bool
+#else 
+ghcjs_dom_html_form_element_get_no_validate ::
+                                              JSRef HTMLFormElement -> IO Bool
+ghcjs_dom_html_form_element_get_no_validate = undefined
+#endif
+ 
+htmlFormElementGetNoValidate ::
+                             (IsHTMLFormElement self) => self -> IO Bool
+htmlFormElementGetNoValidate self
+  = ghcjs_dom_html_form_element_get_no_validate
+      (unHTMLFormElement (toHTMLFormElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"] = $2;"
+        ghcjs_dom_html_form_element_set_target ::
+        JSRef HTMLFormElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_form_element_set_target ::
+                                         JSRef HTMLFormElement -> JSString -> IO ()
+ghcjs_dom_html_form_element_set_target = undefined
+#endif
+ 
+htmlFormElementSetTarget ::
+                         (IsHTMLFormElement self, ToJSString val) => self -> val -> IO ()
+htmlFormElementSetTarget self val
+  = ghcjs_dom_html_form_element_set_target
+      (unHTMLFormElement (toHTMLFormElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"]"
+        ghcjs_dom_html_form_element_get_target ::
+        JSRef HTMLFormElement -> IO JSString
+#else 
+ghcjs_dom_html_form_element_get_target ::
+                                         JSRef HTMLFormElement -> IO JSString
+ghcjs_dom_html_form_element_get_target = undefined
+#endif
+ 
+htmlFormElementGetTarget ::
+                         (IsHTMLFormElement self, FromJSString result) => self -> IO result
+htmlFormElementGetTarget self
+  = fromJSString <$>
+      (ghcjs_dom_html_form_element_get_target
+         (unHTMLFormElement (toHTMLFormElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"elements\"]"
+        ghcjs_dom_html_form_element_get_elements ::
+        JSRef HTMLFormElement -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_form_element_get_elements ::
+                                           JSRef HTMLFormElement -> IO (JSRef HTMLCollection)
+ghcjs_dom_html_form_element_get_elements = undefined
+#endif
+ 
+htmlFormElementGetElements ::
+                           (IsHTMLFormElement self) => self -> IO (Maybe HTMLCollection)
+htmlFormElementGetElements self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_form_element_get_elements
+         (unHTMLFormElement (toHTMLFormElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_html_form_element_get_length ::
+        JSRef HTMLFormElement -> IO Int
+#else 
+ghcjs_dom_html_form_element_get_length ::
+                                         JSRef HTMLFormElement -> IO Int
+ghcjs_dom_html_form_element_get_length = undefined
+#endif
+ 
+htmlFormElementGetLength ::
+                         (IsHTMLFormElement self) => self -> IO Int
+htmlFormElementGetLength self
+  = ghcjs_dom_html_form_element_get_length
+      (unHTMLFormElement (toHTMLFormElement self))
+#else
+module GHCJS.DOM.HTMLFormElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLFormElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLFormElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLFrameElement.hs b/src/GHCJS/DOM/HTMLFrameElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLFrameElement.hs
@@ -0,0 +1,415 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLFrameElement
+       (ghcjs_dom_html_frame_element_set_frame_border,
+        htmlFrameElementSetFrameBorder,
+        ghcjs_dom_html_frame_element_get_frame_border,
+        htmlFrameElementGetFrameBorder,
+        ghcjs_dom_html_frame_element_set_long_desc,
+        htmlFrameElementSetLongDesc,
+        ghcjs_dom_html_frame_element_get_long_desc,
+        htmlFrameElementGetLongDesc,
+        ghcjs_dom_html_frame_element_set_margin_height,
+        htmlFrameElementSetMarginHeight,
+        ghcjs_dom_html_frame_element_get_margin_height,
+        htmlFrameElementGetMarginHeight,
+        ghcjs_dom_html_frame_element_set_margin_width,
+        htmlFrameElementSetMarginWidth,
+        ghcjs_dom_html_frame_element_get_margin_width,
+        htmlFrameElementGetMarginWidth,
+        ghcjs_dom_html_frame_element_set_name, htmlFrameElementSetName,
+        ghcjs_dom_html_frame_element_get_name, htmlFrameElementGetName,
+        ghcjs_dom_html_frame_element_set_no_resize,
+        htmlFrameElementSetNoResize,
+        ghcjs_dom_html_frame_element_get_no_resize,
+        htmlFrameElementGetNoResize,
+        ghcjs_dom_html_frame_element_set_scrolling,
+        htmlFrameElementSetScrolling,
+        ghcjs_dom_html_frame_element_get_scrolling,
+        htmlFrameElementGetScrolling, ghcjs_dom_html_frame_element_set_src,
+        htmlFrameElementSetSrc, ghcjs_dom_html_frame_element_get_src,
+        htmlFrameElementGetSrc,
+        ghcjs_dom_html_frame_element_get_content_document,
+        htmlFrameElementGetContentDocument,
+        ghcjs_dom_html_frame_element_get_content_window,
+        htmlFrameElementGetContentWindow,
+        ghcjs_dom_html_frame_element_get_width, htmlFrameElementGetWidth,
+        ghcjs_dom_html_frame_element_get_height, htmlFrameElementGetHeight)
+       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[\"frameBorder\"] = $2;"
+        ghcjs_dom_html_frame_element_set_frame_border ::
+        JSRef HTMLFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_frame_element_set_frame_border ::
+                                                JSRef HTMLFrameElement -> JSString -> IO ()
+ghcjs_dom_html_frame_element_set_frame_border = undefined
+#endif
+ 
+htmlFrameElementSetFrameBorder ::
+                               (IsHTMLFrameElement self, ToJSString val) => self -> val -> IO ()
+htmlFrameElementSetFrameBorder self val
+  = ghcjs_dom_html_frame_element_set_frame_border
+      (unHTMLFrameElement (toHTMLFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"frameBorder\"]"
+        ghcjs_dom_html_frame_element_get_frame_border ::
+        JSRef HTMLFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_frame_element_get_frame_border ::
+                                                JSRef HTMLFrameElement -> IO JSString
+ghcjs_dom_html_frame_element_get_frame_border = undefined
+#endif
+ 
+htmlFrameElementGetFrameBorder ::
+                               (IsHTMLFrameElement self, FromJSString result) => self -> IO result
+htmlFrameElementGetFrameBorder self
+  = fromJSString <$>
+      (ghcjs_dom_html_frame_element_get_frame_border
+         (unHTMLFrameElement (toHTMLFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"longDesc\"] = $2;"
+        ghcjs_dom_html_frame_element_set_long_desc ::
+        JSRef HTMLFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_frame_element_set_long_desc ::
+                                             JSRef HTMLFrameElement -> JSString -> IO ()
+ghcjs_dom_html_frame_element_set_long_desc = undefined
+#endif
+ 
+htmlFrameElementSetLongDesc ::
+                            (IsHTMLFrameElement self, ToJSString val) => self -> val -> IO ()
+htmlFrameElementSetLongDesc self val
+  = ghcjs_dom_html_frame_element_set_long_desc
+      (unHTMLFrameElement (toHTMLFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"longDesc\"]"
+        ghcjs_dom_html_frame_element_get_long_desc ::
+        JSRef HTMLFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_frame_element_get_long_desc ::
+                                             JSRef HTMLFrameElement -> IO JSString
+ghcjs_dom_html_frame_element_get_long_desc = undefined
+#endif
+ 
+htmlFrameElementGetLongDesc ::
+                            (IsHTMLFrameElement self, FromJSString result) => self -> IO result
+htmlFrameElementGetLongDesc self
+  = fromJSString <$>
+      (ghcjs_dom_html_frame_element_get_long_desc
+         (unHTMLFrameElement (toHTMLFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"marginHeight\"] = $2;"
+        ghcjs_dom_html_frame_element_set_margin_height ::
+        JSRef HTMLFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_frame_element_set_margin_height ::
+                                                 JSRef HTMLFrameElement -> JSString -> IO ()
+ghcjs_dom_html_frame_element_set_margin_height = undefined
+#endif
+ 
+htmlFrameElementSetMarginHeight ::
+                                (IsHTMLFrameElement self, ToJSString val) => self -> val -> IO ()
+htmlFrameElementSetMarginHeight self val
+  = ghcjs_dom_html_frame_element_set_margin_height
+      (unHTMLFrameElement (toHTMLFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"marginHeight\"]"
+        ghcjs_dom_html_frame_element_get_margin_height ::
+        JSRef HTMLFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_frame_element_get_margin_height ::
+                                                 JSRef HTMLFrameElement -> IO JSString
+ghcjs_dom_html_frame_element_get_margin_height = undefined
+#endif
+ 
+htmlFrameElementGetMarginHeight ::
+                                (IsHTMLFrameElement self, FromJSString result) => self -> IO result
+htmlFrameElementGetMarginHeight self
+  = fromJSString <$>
+      (ghcjs_dom_html_frame_element_get_margin_height
+         (unHTMLFrameElement (toHTMLFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"marginWidth\"] = $2;"
+        ghcjs_dom_html_frame_element_set_margin_width ::
+        JSRef HTMLFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_frame_element_set_margin_width ::
+                                                JSRef HTMLFrameElement -> JSString -> IO ()
+ghcjs_dom_html_frame_element_set_margin_width = undefined
+#endif
+ 
+htmlFrameElementSetMarginWidth ::
+                               (IsHTMLFrameElement self, ToJSString val) => self -> val -> IO ()
+htmlFrameElementSetMarginWidth self val
+  = ghcjs_dom_html_frame_element_set_margin_width
+      (unHTMLFrameElement (toHTMLFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"marginWidth\"]"
+        ghcjs_dom_html_frame_element_get_margin_width ::
+        JSRef HTMLFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_frame_element_get_margin_width ::
+                                                JSRef HTMLFrameElement -> IO JSString
+ghcjs_dom_html_frame_element_get_margin_width = undefined
+#endif
+ 
+htmlFrameElementGetMarginWidth ::
+                               (IsHTMLFrameElement self, FromJSString result) => self -> IO result
+htmlFrameElementGetMarginWidth self
+  = fromJSString <$>
+      (ghcjs_dom_html_frame_element_get_margin_width
+         (unHTMLFrameElement (toHTMLFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_frame_element_set_name ::
+        JSRef HTMLFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_frame_element_set_name ::
+                                        JSRef HTMLFrameElement -> JSString -> IO ()
+ghcjs_dom_html_frame_element_set_name = undefined
+#endif
+ 
+htmlFrameElementSetName ::
+                        (IsHTMLFrameElement self, ToJSString val) => self -> val -> IO ()
+htmlFrameElementSetName self val
+  = ghcjs_dom_html_frame_element_set_name
+      (unHTMLFrameElement (toHTMLFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_frame_element_get_name ::
+        JSRef HTMLFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_frame_element_get_name ::
+                                        JSRef HTMLFrameElement -> IO JSString
+ghcjs_dom_html_frame_element_get_name = undefined
+#endif
+ 
+htmlFrameElementGetName ::
+                        (IsHTMLFrameElement self, FromJSString result) => self -> IO result
+htmlFrameElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_frame_element_get_name
+         (unHTMLFrameElement (toHTMLFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"noResize\"] = $2;"
+        ghcjs_dom_html_frame_element_set_no_resize ::
+        JSRef HTMLFrameElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_frame_element_set_no_resize ::
+                                             JSRef HTMLFrameElement -> Bool -> IO ()
+ghcjs_dom_html_frame_element_set_no_resize = undefined
+#endif
+ 
+htmlFrameElementSetNoResize ::
+                            (IsHTMLFrameElement self) => self -> Bool -> IO ()
+htmlFrameElementSetNoResize self val
+  = ghcjs_dom_html_frame_element_set_no_resize
+      (unHTMLFrameElement (toHTMLFrameElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"noResize\"] ? 1 : 0)"
+        ghcjs_dom_html_frame_element_get_no_resize ::
+        JSRef HTMLFrameElement -> IO Bool
+#else 
+ghcjs_dom_html_frame_element_get_no_resize ::
+                                             JSRef HTMLFrameElement -> IO Bool
+ghcjs_dom_html_frame_element_get_no_resize = undefined
+#endif
+ 
+htmlFrameElementGetNoResize ::
+                            (IsHTMLFrameElement self) => self -> IO Bool
+htmlFrameElementGetNoResize self
+  = ghcjs_dom_html_frame_element_get_no_resize
+      (unHTMLFrameElement (toHTMLFrameElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrolling\"] = $2;"
+        ghcjs_dom_html_frame_element_set_scrolling ::
+        JSRef HTMLFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_frame_element_set_scrolling ::
+                                             JSRef HTMLFrameElement -> JSString -> IO ()
+ghcjs_dom_html_frame_element_set_scrolling = undefined
+#endif
+ 
+htmlFrameElementSetScrolling ::
+                             (IsHTMLFrameElement self, ToJSString val) => self -> val -> IO ()
+htmlFrameElementSetScrolling self val
+  = ghcjs_dom_html_frame_element_set_scrolling
+      (unHTMLFrameElement (toHTMLFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrolling\"]"
+        ghcjs_dom_html_frame_element_get_scrolling ::
+        JSRef HTMLFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_frame_element_get_scrolling ::
+                                             JSRef HTMLFrameElement -> IO JSString
+ghcjs_dom_html_frame_element_get_scrolling = undefined
+#endif
+ 
+htmlFrameElementGetScrolling ::
+                             (IsHTMLFrameElement self, FromJSString result) => self -> IO result
+htmlFrameElementGetScrolling self
+  = fromJSString <$>
+      (ghcjs_dom_html_frame_element_get_scrolling
+         (unHTMLFrameElement (toHTMLFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"] = $2;"
+        ghcjs_dom_html_frame_element_set_src ::
+        JSRef HTMLFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_frame_element_set_src ::
+                                       JSRef HTMLFrameElement -> JSString -> IO ()
+ghcjs_dom_html_frame_element_set_src = undefined
+#endif
+ 
+htmlFrameElementSetSrc ::
+                       (IsHTMLFrameElement self, ToJSString val) => self -> val -> IO ()
+htmlFrameElementSetSrc self val
+  = ghcjs_dom_html_frame_element_set_src
+      (unHTMLFrameElement (toHTMLFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"]"
+        ghcjs_dom_html_frame_element_get_src ::
+        JSRef HTMLFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_frame_element_get_src ::
+                                       JSRef HTMLFrameElement -> IO JSString
+ghcjs_dom_html_frame_element_get_src = undefined
+#endif
+ 
+htmlFrameElementGetSrc ::
+                       (IsHTMLFrameElement self, FromJSString result) => self -> IO result
+htmlFrameElementGetSrc self
+  = fromJSString <$>
+      (ghcjs_dom_html_frame_element_get_src
+         (unHTMLFrameElement (toHTMLFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"contentDocument\"]"
+        ghcjs_dom_html_frame_element_get_content_document ::
+        JSRef HTMLFrameElement -> IO (JSRef Document)
+#else 
+ghcjs_dom_html_frame_element_get_content_document ::
+                                                    JSRef HTMLFrameElement -> IO (JSRef Document)
+ghcjs_dom_html_frame_element_get_content_document = undefined
+#endif
+ 
+htmlFrameElementGetContentDocument ::
+                                   (IsHTMLFrameElement self) => self -> IO (Maybe Document)
+htmlFrameElementGetContentDocument self
+  = fmap Document . maybeJSNull <$>
+      (ghcjs_dom_html_frame_element_get_content_document
+         (unHTMLFrameElement (toHTMLFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"contentWindow\"]"
+        ghcjs_dom_html_frame_element_get_content_window ::
+        JSRef HTMLFrameElement -> IO (JSRef DOMWindow)
+#else 
+ghcjs_dom_html_frame_element_get_content_window ::
+                                                  JSRef HTMLFrameElement -> IO (JSRef DOMWindow)
+ghcjs_dom_html_frame_element_get_content_window = undefined
+#endif
+ 
+htmlFrameElementGetContentWindow ::
+                                 (IsHTMLFrameElement self) => self -> IO (Maybe DOMWindow)
+htmlFrameElementGetContentWindow self
+  = fmap DOMWindow . maybeJSNull <$>
+      (ghcjs_dom_html_frame_element_get_content_window
+         (unHTMLFrameElement (toHTMLFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_frame_element_get_width ::
+        JSRef HTMLFrameElement -> IO Int
+#else 
+ghcjs_dom_html_frame_element_get_width ::
+                                         JSRef HTMLFrameElement -> IO Int
+ghcjs_dom_html_frame_element_get_width = undefined
+#endif
+ 
+htmlFrameElementGetWidth ::
+                         (IsHTMLFrameElement self) => self -> IO Int
+htmlFrameElementGetWidth self
+  = ghcjs_dom_html_frame_element_get_width
+      (unHTMLFrameElement (toHTMLFrameElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_frame_element_get_height ::
+        JSRef HTMLFrameElement -> IO Int
+#else 
+ghcjs_dom_html_frame_element_get_height ::
+                                          JSRef HTMLFrameElement -> IO Int
+ghcjs_dom_html_frame_element_get_height = undefined
+#endif
+ 
+htmlFrameElementGetHeight ::
+                          (IsHTMLFrameElement self) => self -> IO Int
+htmlFrameElementGetHeight self
+  = ghcjs_dom_html_frame_element_get_height
+      (unHTMLFrameElement (toHTMLFrameElement self))
+#else
+module GHCJS.DOM.HTMLFrameElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLFrameElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLFrameElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLFrameSetElement.hs b/src/GHCJS/DOM/HTMLFrameSetElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLFrameSetElement.hs
@@ -0,0 +1,186 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLFrameSetElement
+       (ghcjs_dom_html_frame_set_element_set_cols,
+        htmlFrameSetElementSetCols,
+        ghcjs_dom_html_frame_set_element_get_cols,
+        htmlFrameSetElementGetCols,
+        ghcjs_dom_html_frame_set_element_set_rows,
+        htmlFrameSetElementSetRows,
+        ghcjs_dom_html_frame_set_element_get_rows,
+        htmlFrameSetElementGetRows, htmlFrameSetElementOnbeforeunload,
+        htmlFrameSetElementOnhashchange, htmlFrameSetElementOnmessage,
+        htmlFrameSetElementOnoffline, htmlFrameSetElementOnonline,
+        htmlFrameSetElementOnpopstate, htmlFrameSetElementOnresize,
+        htmlFrameSetElementOnstorage, htmlFrameSetElementOnunload,
+        htmlFrameSetElementOnorientationchange, htmlFrameSetElementOnblur,
+        htmlFrameSetElementOnerror, htmlFrameSetElementOnfocus,
+        htmlFrameSetElementOnload)
+       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[\"cols\"] = $2;"
+        ghcjs_dom_html_frame_set_element_set_cols ::
+        JSRef HTMLFrameSetElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_frame_set_element_set_cols ::
+                                            JSRef HTMLFrameSetElement -> JSString -> IO ()
+ghcjs_dom_html_frame_set_element_set_cols = undefined
+#endif
+ 
+htmlFrameSetElementSetCols ::
+                           (IsHTMLFrameSetElement self, ToJSString val) =>
+                             self -> val -> IO ()
+htmlFrameSetElementSetCols self val
+  = ghcjs_dom_html_frame_set_element_set_cols
+      (unHTMLFrameSetElement (toHTMLFrameSetElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cols\"]"
+        ghcjs_dom_html_frame_set_element_get_cols ::
+        JSRef HTMLFrameSetElement -> IO JSString
+#else 
+ghcjs_dom_html_frame_set_element_get_cols ::
+                                            JSRef HTMLFrameSetElement -> IO JSString
+ghcjs_dom_html_frame_set_element_get_cols = undefined
+#endif
+ 
+htmlFrameSetElementGetCols ::
+                           (IsHTMLFrameSetElement self, FromJSString result) =>
+                             self -> IO result
+htmlFrameSetElementGetCols self
+  = fromJSString <$>
+      (ghcjs_dom_html_frame_set_element_get_cols
+         (unHTMLFrameSetElement (toHTMLFrameSetElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rows\"] = $2;"
+        ghcjs_dom_html_frame_set_element_set_rows ::
+        JSRef HTMLFrameSetElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_frame_set_element_set_rows ::
+                                            JSRef HTMLFrameSetElement -> JSString -> IO ()
+ghcjs_dom_html_frame_set_element_set_rows = undefined
+#endif
+ 
+htmlFrameSetElementSetRows ::
+                           (IsHTMLFrameSetElement self, ToJSString val) =>
+                             self -> val -> IO ()
+htmlFrameSetElementSetRows self val
+  = ghcjs_dom_html_frame_set_element_set_rows
+      (unHTMLFrameSetElement (toHTMLFrameSetElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rows\"]"
+        ghcjs_dom_html_frame_set_element_get_rows ::
+        JSRef HTMLFrameSetElement -> IO JSString
+#else 
+ghcjs_dom_html_frame_set_element_get_rows ::
+                                            JSRef HTMLFrameSetElement -> IO JSString
+ghcjs_dom_html_frame_set_element_get_rows = undefined
+#endif
+ 
+htmlFrameSetElementGetRows ::
+                           (IsHTMLFrameSetElement self, FromJSString result) =>
+                             self -> IO result
+htmlFrameSetElementGetRows self
+  = fromJSString <$>
+      (ghcjs_dom_html_frame_set_element_get_rows
+         (unHTMLFrameSetElement (toHTMLFrameSetElement self)))
+ 
+htmlFrameSetElementOnbeforeunload ::
+                                  (IsHTMLFrameSetElement self) =>
+                                    Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnbeforeunload = (connect "beforeunload")
+ 
+htmlFrameSetElementOnhashchange ::
+                                (IsHTMLFrameSetElement self) =>
+                                  Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnhashchange = (connect "hashchange")
+ 
+htmlFrameSetElementOnmessage ::
+                             (IsHTMLFrameSetElement self) =>
+                               Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnmessage = (connect "message")
+ 
+htmlFrameSetElementOnoffline ::
+                             (IsHTMLFrameSetElement self) =>
+                               Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnoffline = (connect "offline")
+ 
+htmlFrameSetElementOnonline ::
+                            (IsHTMLFrameSetElement self) =>
+                              Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnonline = (connect "online")
+ 
+htmlFrameSetElementOnpopstate ::
+                              (IsHTMLFrameSetElement self) =>
+                                Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnpopstate = (connect "popstate")
+ 
+htmlFrameSetElementOnresize ::
+                            (IsHTMLFrameSetElement self) =>
+                              Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnresize = (connect "resize")
+ 
+htmlFrameSetElementOnstorage ::
+                             (IsHTMLFrameSetElement self) =>
+                               Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnstorage = (connect "storage")
+ 
+htmlFrameSetElementOnunload ::
+                            (IsHTMLFrameSetElement self) =>
+                              Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnunload = (connect "unload")
+ 
+htmlFrameSetElementOnorientationchange ::
+                                       (IsHTMLFrameSetElement self) =>
+                                         Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnorientationchange
+  = (connect "orientationchange")
+ 
+htmlFrameSetElementOnblur ::
+                          (IsHTMLFrameSetElement self) =>
+                            Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnblur = (connect "blur")
+ 
+htmlFrameSetElementOnerror ::
+                           (IsHTMLFrameSetElement self) =>
+                             Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnerror = (connect "error")
+ 
+htmlFrameSetElementOnfocus ::
+                           (IsHTMLFrameSetElement self) =>
+                             Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnfocus = (connect "focus")
+ 
+htmlFrameSetElementOnload ::
+                          (IsHTMLFrameSetElement self) =>
+                            Signal self (EventM UIEvent self ())
+htmlFrameSetElementOnload = (connect "load")
+#else
+module GHCJS.DOM.HTMLFrameSetElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLFrameSetElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLFrameSetElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLHRElement.hs b/src/GHCJS/DOM/HTMLHRElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLHRElement.hs
@@ -0,0 +1,175 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLHRElement
+       (ghcjs_dom_htmlhr_element_set_align, htmlhrElementSetAlign,
+        ghcjs_dom_htmlhr_element_get_align, htmlhrElementGetAlign,
+        ghcjs_dom_htmlhr_element_set_no_shade, htmlhrElementSetNoShade,
+        ghcjs_dom_htmlhr_element_get_no_shade, htmlhrElementGetNoShade,
+        ghcjs_dom_htmlhr_element_set_size, htmlhrElementSetSize,
+        ghcjs_dom_htmlhr_element_get_size, htmlhrElementGetSize,
+        ghcjs_dom_htmlhr_element_set_width, htmlhrElementSetWidth,
+        ghcjs_dom_htmlhr_element_get_width, htmlhrElementGetWidth)
+       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[\"align\"] = $2;"
+        ghcjs_dom_htmlhr_element_set_align ::
+        JSRef HTMLHRElement -> JSString -> IO ()
+#else 
+ghcjs_dom_htmlhr_element_set_align ::
+                                     JSRef HTMLHRElement -> JSString -> IO ()
+ghcjs_dom_htmlhr_element_set_align = undefined
+#endif
+ 
+htmlhrElementSetAlign ::
+                      (IsHTMLHRElement self, ToJSString val) => self -> val -> IO ()
+htmlhrElementSetAlign self val
+  = ghcjs_dom_htmlhr_element_set_align
+      (unHTMLHRElement (toHTMLHRElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_htmlhr_element_get_align ::
+        JSRef HTMLHRElement -> IO JSString
+#else 
+ghcjs_dom_htmlhr_element_get_align ::
+                                     JSRef HTMLHRElement -> IO JSString
+ghcjs_dom_htmlhr_element_get_align = undefined
+#endif
+ 
+htmlhrElementGetAlign ::
+                      (IsHTMLHRElement self, FromJSString result) => self -> IO result
+htmlhrElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_htmlhr_element_get_align
+         (unHTMLHRElement (toHTMLHRElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"noShade\"] = $2;"
+        ghcjs_dom_htmlhr_element_set_no_shade ::
+        JSRef HTMLHRElement -> Bool -> IO ()
+#else 
+ghcjs_dom_htmlhr_element_set_no_shade ::
+                                        JSRef HTMLHRElement -> Bool -> IO ()
+ghcjs_dom_htmlhr_element_set_no_shade = undefined
+#endif
+ 
+htmlhrElementSetNoShade ::
+                        (IsHTMLHRElement self) => self -> Bool -> IO ()
+htmlhrElementSetNoShade self val
+  = ghcjs_dom_htmlhr_element_set_no_shade
+      (unHTMLHRElement (toHTMLHRElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"noShade\"] ? 1 : 0)"
+        ghcjs_dom_htmlhr_element_get_no_shade ::
+        JSRef HTMLHRElement -> IO Bool
+#else 
+ghcjs_dom_htmlhr_element_get_no_shade ::
+                                        JSRef HTMLHRElement -> IO Bool
+ghcjs_dom_htmlhr_element_get_no_shade = undefined
+#endif
+ 
+htmlhrElementGetNoShade ::
+                        (IsHTMLHRElement self) => self -> IO Bool
+htmlhrElementGetNoShade self
+  = ghcjs_dom_htmlhr_element_get_no_shade
+      (unHTMLHRElement (toHTMLHRElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"size\"] = $2;"
+        ghcjs_dom_htmlhr_element_set_size ::
+        JSRef HTMLHRElement -> JSString -> IO ()
+#else 
+ghcjs_dom_htmlhr_element_set_size ::
+                                    JSRef HTMLHRElement -> JSString -> IO ()
+ghcjs_dom_htmlhr_element_set_size = undefined
+#endif
+ 
+htmlhrElementSetSize ::
+                     (IsHTMLHRElement self, ToJSString val) => self -> val -> IO ()
+htmlhrElementSetSize self val
+  = ghcjs_dom_htmlhr_element_set_size
+      (unHTMLHRElement (toHTMLHRElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"size\"]"
+        ghcjs_dom_htmlhr_element_get_size ::
+        JSRef HTMLHRElement -> IO JSString
+#else 
+ghcjs_dom_htmlhr_element_get_size ::
+                                    JSRef HTMLHRElement -> IO JSString
+ghcjs_dom_htmlhr_element_get_size = undefined
+#endif
+ 
+htmlhrElementGetSize ::
+                     (IsHTMLHRElement self, FromJSString result) => self -> IO result
+htmlhrElementGetSize self
+  = fromJSString <$>
+      (ghcjs_dom_htmlhr_element_get_size
+         (unHTMLHRElement (toHTMLHRElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_htmlhr_element_set_width ::
+        JSRef HTMLHRElement -> JSString -> IO ()
+#else 
+ghcjs_dom_htmlhr_element_set_width ::
+                                     JSRef HTMLHRElement -> JSString -> IO ()
+ghcjs_dom_htmlhr_element_set_width = undefined
+#endif
+ 
+htmlhrElementSetWidth ::
+                      (IsHTMLHRElement self, ToJSString val) => self -> val -> IO ()
+htmlhrElementSetWidth self val
+  = ghcjs_dom_htmlhr_element_set_width
+      (unHTMLHRElement (toHTMLHRElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_htmlhr_element_get_width ::
+        JSRef HTMLHRElement -> IO JSString
+#else 
+ghcjs_dom_htmlhr_element_get_width ::
+                                     JSRef HTMLHRElement -> IO JSString
+ghcjs_dom_htmlhr_element_get_width = undefined
+#endif
+ 
+htmlhrElementGetWidth ::
+                      (IsHTMLHRElement self, FromJSString result) => self -> IO result
+htmlhrElementGetWidth self
+  = fromJSString <$>
+      (ghcjs_dom_htmlhr_element_get_width
+         (unHTMLHRElement (toHTMLHRElement self)))
+#else
+module GHCJS.DOM.HTMLHRElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLHRElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLHRElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLHeadElement.hs b/src/GHCJS/DOM/HTMLHeadElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLHeadElement.hs
@@ -0,0 +1,63 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLHeadElement
+       (ghcjs_dom_html_head_element_set_profile,
+        htmlHeadElementSetProfile, ghcjs_dom_html_head_element_get_profile,
+        htmlHeadElementGetProfile)
+       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[\"profile\"] = $2;"
+        ghcjs_dom_html_head_element_set_profile ::
+        JSRef HTMLHeadElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_head_element_set_profile ::
+                                          JSRef HTMLHeadElement -> JSString -> IO ()
+ghcjs_dom_html_head_element_set_profile = undefined
+#endif
+ 
+htmlHeadElementSetProfile ::
+                          (IsHTMLHeadElement self, ToJSString val) => self -> val -> IO ()
+htmlHeadElementSetProfile self val
+  = ghcjs_dom_html_head_element_set_profile
+      (unHTMLHeadElement (toHTMLHeadElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"profile\"]"
+        ghcjs_dom_html_head_element_get_profile ::
+        JSRef HTMLHeadElement -> IO JSString
+#else 
+ghcjs_dom_html_head_element_get_profile ::
+                                          JSRef HTMLHeadElement -> IO JSString
+ghcjs_dom_html_head_element_get_profile = undefined
+#endif
+ 
+htmlHeadElementGetProfile ::
+                          (IsHTMLHeadElement self, FromJSString result) => self -> IO result
+htmlHeadElementGetProfile self
+  = fromJSString <$>
+      (ghcjs_dom_html_head_element_get_profile
+         (unHTMLHeadElement (toHTMLHeadElement self)))
+#else
+module GHCJS.DOM.HTMLHeadElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLHeadElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLHeadElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLHeadingElement.hs b/src/GHCJS/DOM/HTMLHeadingElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLHeadingElement.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLHeadingElement
+       (ghcjs_dom_html_heading_element_set_align,
+        htmlHeadingElementSetAlign,
+        ghcjs_dom_html_heading_element_get_align,
+        htmlHeadingElementGetAlign)
+       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[\"align\"] = $2;"
+        ghcjs_dom_html_heading_element_set_align ::
+        JSRef HTMLHeadingElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_heading_element_set_align ::
+                                           JSRef HTMLHeadingElement -> JSString -> IO ()
+ghcjs_dom_html_heading_element_set_align = undefined
+#endif
+ 
+htmlHeadingElementSetAlign ::
+                           (IsHTMLHeadingElement self, ToJSString val) => self -> val -> IO ()
+htmlHeadingElementSetAlign self val
+  = ghcjs_dom_html_heading_element_set_align
+      (unHTMLHeadingElement (toHTMLHeadingElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_heading_element_get_align ::
+        JSRef HTMLHeadingElement -> IO JSString
+#else 
+ghcjs_dom_html_heading_element_get_align ::
+                                           JSRef HTMLHeadingElement -> IO JSString
+ghcjs_dom_html_heading_element_get_align = undefined
+#endif
+ 
+htmlHeadingElementGetAlign ::
+                           (IsHTMLHeadingElement self, FromJSString result) =>
+                             self -> IO result
+htmlHeadingElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_heading_element_get_align
+         (unHTMLHeadingElement (toHTMLHeadingElement self)))
+#else
+module GHCJS.DOM.HTMLHeadingElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLHeadingElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLHeadingElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLHtmlElement.hs b/src/GHCJS/DOM/HTMLHtmlElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLHtmlElement.hs
@@ -0,0 +1,103 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLHtmlElement
+       (ghcjs_dom_html_html_element_set_version,
+        htmlHtmlElementSetVersion, ghcjs_dom_html_html_element_get_version,
+        htmlHtmlElementGetVersion,
+        ghcjs_dom_html_html_element_set_manifest,
+        htmlHtmlElementSetManifest,
+        ghcjs_dom_html_html_element_get_manifest,
+        htmlHtmlElementGetManifest)
+       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[\"version\"] = $2;"
+        ghcjs_dom_html_html_element_set_version ::
+        JSRef HTMLHtmlElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_html_element_set_version ::
+                                          JSRef HTMLHtmlElement -> JSString -> IO ()
+ghcjs_dom_html_html_element_set_version = undefined
+#endif
+ 
+htmlHtmlElementSetVersion ::
+                          (IsHTMLHtmlElement self, ToJSString val) => self -> val -> IO ()
+htmlHtmlElementSetVersion self val
+  = ghcjs_dom_html_html_element_set_version
+      (unHTMLHtmlElement (toHTMLHtmlElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"version\"]"
+        ghcjs_dom_html_html_element_get_version ::
+        JSRef HTMLHtmlElement -> IO JSString
+#else 
+ghcjs_dom_html_html_element_get_version ::
+                                          JSRef HTMLHtmlElement -> IO JSString
+ghcjs_dom_html_html_element_get_version = undefined
+#endif
+ 
+htmlHtmlElementGetVersion ::
+                          (IsHTMLHtmlElement self, FromJSString result) => self -> IO result
+htmlHtmlElementGetVersion self
+  = fromJSString <$>
+      (ghcjs_dom_html_html_element_get_version
+         (unHTMLHtmlElement (toHTMLHtmlElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"manifest\"] = $2;"
+        ghcjs_dom_html_html_element_set_manifest ::
+        JSRef HTMLHtmlElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_html_element_set_manifest ::
+                                           JSRef HTMLHtmlElement -> JSString -> IO ()
+ghcjs_dom_html_html_element_set_manifest = undefined
+#endif
+ 
+htmlHtmlElementSetManifest ::
+                           (IsHTMLHtmlElement self, ToJSString val) => self -> val -> IO ()
+htmlHtmlElementSetManifest self val
+  = ghcjs_dom_html_html_element_set_manifest
+      (unHTMLHtmlElement (toHTMLHtmlElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"manifest\"]"
+        ghcjs_dom_html_html_element_get_manifest ::
+        JSRef HTMLHtmlElement -> IO JSString
+#else 
+ghcjs_dom_html_html_element_get_manifest ::
+                                           JSRef HTMLHtmlElement -> IO JSString
+ghcjs_dom_html_html_element_get_manifest = undefined
+#endif
+ 
+htmlHtmlElementGetManifest ::
+                           (IsHTMLHtmlElement self, FromJSString result) => self -> IO result
+htmlHtmlElementGetManifest self
+  = fromJSString <$>
+      (ghcjs_dom_html_html_element_get_manifest
+         (unHTMLHtmlElement (toHTMLHtmlElement self)))
+#else
+module GHCJS.DOM.HTMLHtmlElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLHtmlElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLHtmlElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLIFrameElement.hs b/src/GHCJS/DOM/HTMLIFrameElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLIFrameElement.hs
@@ -0,0 +1,588 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLIFrameElement
+       (ghcjs_dom_html_iframe_element_set_align,
+        htmliFrameElementSetAlign, ghcjs_dom_html_iframe_element_get_align,
+        htmliFrameElementGetAlign,
+        ghcjs_dom_html_iframe_element_set_frame_border,
+        htmliFrameElementSetFrameBorder,
+        ghcjs_dom_html_iframe_element_get_frame_border,
+        htmliFrameElementGetFrameBorder,
+        ghcjs_dom_html_iframe_element_set_height,
+        htmliFrameElementSetHeight,
+        ghcjs_dom_html_iframe_element_get_height,
+        htmliFrameElementGetHeight,
+        ghcjs_dom_html_iframe_element_set_long_desc,
+        htmliFrameElementSetLongDesc,
+        ghcjs_dom_html_iframe_element_get_long_desc,
+        htmliFrameElementGetLongDesc,
+        ghcjs_dom_html_iframe_element_set_margin_height,
+        htmliFrameElementSetMarginHeight,
+        ghcjs_dom_html_iframe_element_get_margin_height,
+        htmliFrameElementGetMarginHeight,
+        ghcjs_dom_html_iframe_element_set_margin_width,
+        htmliFrameElementSetMarginWidth,
+        ghcjs_dom_html_iframe_element_get_margin_width,
+        htmliFrameElementGetMarginWidth,
+        ghcjs_dom_html_iframe_element_set_name, htmliFrameElementSetName,
+        ghcjs_dom_html_iframe_element_get_name, htmliFrameElementGetName,
+        ghcjs_dom_html_iframe_element_set_sandbox,
+        htmliFrameElementSetSandbox,
+        ghcjs_dom_html_iframe_element_get_sandbox,
+        htmliFrameElementGetSandbox,
+        ghcjs_dom_html_iframe_element_set_seamless,
+        htmliFrameElementSetSeamless,
+        ghcjs_dom_html_iframe_element_get_seamless,
+        htmliFrameElementGetSeamless,
+        ghcjs_dom_html_iframe_element_set_scrolling,
+        htmliFrameElementSetScrolling,
+        ghcjs_dom_html_iframe_element_get_scrolling,
+        htmliFrameElementGetScrolling,
+        ghcjs_dom_html_iframe_element_set_src, htmliFrameElementSetSrc,
+        ghcjs_dom_html_iframe_element_get_src, htmliFrameElementGetSrc,
+        ghcjs_dom_html_iframe_element_set_srcdoc,
+        htmliFrameElementSetSrcdoc,
+        ghcjs_dom_html_iframe_element_get_srcdoc,
+        htmliFrameElementGetSrcdoc,
+        ghcjs_dom_html_iframe_element_set_width, htmliFrameElementSetWidth,
+        ghcjs_dom_html_iframe_element_get_width, htmliFrameElementGetWidth,
+        ghcjs_dom_html_iframe_element_get_content_document,
+        htmliFrameElementGetContentDocument,
+        ghcjs_dom_html_iframe_element_get_content_window,
+        htmliFrameElementGetContentWindow)
+       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[\"align\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_align ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_align ::
+                                          JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_align = undefined
+#endif
+ 
+htmliFrameElementSetAlign ::
+                          (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetAlign self val
+  = ghcjs_dom_html_iframe_element_set_align
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_iframe_element_get_align ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_align ::
+                                          JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_align = undefined
+#endif
+ 
+htmliFrameElementGetAlign ::
+                          (IsHTMLIFrameElement self, FromJSString result) =>
+                            self -> IO result
+htmliFrameElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_align
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"frameBorder\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_frame_border ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_frame_border ::
+                                                 JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_frame_border = undefined
+#endif
+ 
+htmliFrameElementSetFrameBorder ::
+                                (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetFrameBorder self val
+  = ghcjs_dom_html_iframe_element_set_frame_border
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"frameBorder\"]"
+        ghcjs_dom_html_iframe_element_get_frame_border ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_frame_border ::
+                                                 JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_frame_border = undefined
+#endif
+ 
+htmliFrameElementGetFrameBorder ::
+                                (IsHTMLIFrameElement self, FromJSString result) =>
+                                  self -> IO result
+htmliFrameElementGetFrameBorder self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_frame_border
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_height ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_height ::
+                                           JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_height = undefined
+#endif
+ 
+htmliFrameElementSetHeight ::
+                           (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetHeight self val
+  = ghcjs_dom_html_iframe_element_set_height
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_iframe_element_get_height ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_height ::
+                                           JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_height = undefined
+#endif
+ 
+htmliFrameElementGetHeight ::
+                           (IsHTMLIFrameElement self, FromJSString result) =>
+                             self -> IO result
+htmliFrameElementGetHeight self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_height
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"longDesc\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_long_desc ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_long_desc ::
+                                              JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_long_desc = undefined
+#endif
+ 
+htmliFrameElementSetLongDesc ::
+                             (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetLongDesc self val
+  = ghcjs_dom_html_iframe_element_set_long_desc
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"longDesc\"]"
+        ghcjs_dom_html_iframe_element_get_long_desc ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_long_desc ::
+                                              JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_long_desc = undefined
+#endif
+ 
+htmliFrameElementGetLongDesc ::
+                             (IsHTMLIFrameElement self, FromJSString result) =>
+                               self -> IO result
+htmliFrameElementGetLongDesc self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_long_desc
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"marginHeight\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_margin_height ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_margin_height ::
+                                                  JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_margin_height = undefined
+#endif
+ 
+htmliFrameElementSetMarginHeight ::
+                                 (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetMarginHeight self val
+  = ghcjs_dom_html_iframe_element_set_margin_height
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"marginHeight\"]"
+        ghcjs_dom_html_iframe_element_get_margin_height ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_margin_height ::
+                                                  JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_margin_height = undefined
+#endif
+ 
+htmliFrameElementGetMarginHeight ::
+                                 (IsHTMLIFrameElement self, FromJSString result) =>
+                                   self -> IO result
+htmliFrameElementGetMarginHeight self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_margin_height
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"marginWidth\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_margin_width ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_margin_width ::
+                                                 JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_margin_width = undefined
+#endif
+ 
+htmliFrameElementSetMarginWidth ::
+                                (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetMarginWidth self val
+  = ghcjs_dom_html_iframe_element_set_margin_width
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"marginWidth\"]"
+        ghcjs_dom_html_iframe_element_get_margin_width ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_margin_width ::
+                                                 JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_margin_width = undefined
+#endif
+ 
+htmliFrameElementGetMarginWidth ::
+                                (IsHTMLIFrameElement self, FromJSString result) =>
+                                  self -> IO result
+htmliFrameElementGetMarginWidth self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_margin_width
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_name ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_name ::
+                                         JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_name = undefined
+#endif
+ 
+htmliFrameElementSetName ::
+                         (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetName self val
+  = ghcjs_dom_html_iframe_element_set_name
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_iframe_element_get_name ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_name ::
+                                         JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_name = undefined
+#endif
+ 
+htmliFrameElementGetName ::
+                         (IsHTMLIFrameElement self, FromJSString result) =>
+                           self -> IO result
+htmliFrameElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_name
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"sandbox\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_sandbox ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_sandbox ::
+                                            JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_sandbox = undefined
+#endif
+ 
+htmliFrameElementSetSandbox ::
+                            (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetSandbox self val
+  = ghcjs_dom_html_iframe_element_set_sandbox
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"sandbox\"]"
+        ghcjs_dom_html_iframe_element_get_sandbox ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_sandbox ::
+                                            JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_sandbox = undefined
+#endif
+ 
+htmliFrameElementGetSandbox ::
+                            (IsHTMLIFrameElement self, FromJSString result) =>
+                              self -> IO result
+htmliFrameElementGetSandbox self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_sandbox
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"seamless\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_seamless ::
+        JSRef HTMLIFrameElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_seamless ::
+                                             JSRef HTMLIFrameElement -> Bool -> IO ()
+ghcjs_dom_html_iframe_element_set_seamless = undefined
+#endif
+ 
+htmliFrameElementSetSeamless ::
+                             (IsHTMLIFrameElement self) => self -> Bool -> IO ()
+htmliFrameElementSetSeamless self val
+  = ghcjs_dom_html_iframe_element_set_seamless
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"seamless\"] ? 1 : 0)"
+        ghcjs_dom_html_iframe_element_get_seamless ::
+        JSRef HTMLIFrameElement -> IO Bool
+#else 
+ghcjs_dom_html_iframe_element_get_seamless ::
+                                             JSRef HTMLIFrameElement -> IO Bool
+ghcjs_dom_html_iframe_element_get_seamless = undefined
+#endif
+ 
+htmliFrameElementGetSeamless ::
+                             (IsHTMLIFrameElement self) => self -> IO Bool
+htmliFrameElementGetSeamless self
+  = ghcjs_dom_html_iframe_element_get_seamless
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrolling\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_scrolling ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_scrolling ::
+                                              JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_scrolling = undefined
+#endif
+ 
+htmliFrameElementSetScrolling ::
+                              (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetScrolling self val
+  = ghcjs_dom_html_iframe_element_set_scrolling
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrolling\"]"
+        ghcjs_dom_html_iframe_element_get_scrolling ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_scrolling ::
+                                              JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_scrolling = undefined
+#endif
+ 
+htmliFrameElementGetScrolling ::
+                              (IsHTMLIFrameElement self, FromJSString result) =>
+                                self -> IO result
+htmliFrameElementGetScrolling self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_scrolling
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_src ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_src ::
+                                        JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_src = undefined
+#endif
+ 
+htmliFrameElementSetSrc ::
+                        (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetSrc self val
+  = ghcjs_dom_html_iframe_element_set_src
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"]"
+        ghcjs_dom_html_iframe_element_get_src ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_src ::
+                                        JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_src = undefined
+#endif
+ 
+htmliFrameElementGetSrc ::
+                        (IsHTMLIFrameElement self, FromJSString result) =>
+                          self -> IO result
+htmliFrameElementGetSrc self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_src
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"srcdoc\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_srcdoc ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_srcdoc ::
+                                           JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_srcdoc = undefined
+#endif
+ 
+htmliFrameElementSetSrcdoc ::
+                           (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetSrcdoc self val
+  = ghcjs_dom_html_iframe_element_set_srcdoc
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"srcdoc\"]"
+        ghcjs_dom_html_iframe_element_get_srcdoc ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_srcdoc ::
+                                           JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_srcdoc = undefined
+#endif
+ 
+htmliFrameElementGetSrcdoc ::
+                           (IsHTMLIFrameElement self, FromJSString result) =>
+                             self -> IO result
+htmliFrameElementGetSrcdoc self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_srcdoc
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_iframe_element_set_width ::
+        JSRef HTMLIFrameElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_iframe_element_set_width ::
+                                          JSRef HTMLIFrameElement -> JSString -> IO ()
+ghcjs_dom_html_iframe_element_set_width = undefined
+#endif
+ 
+htmliFrameElementSetWidth ::
+                          (IsHTMLIFrameElement self, ToJSString val) => self -> val -> IO ()
+htmliFrameElementSetWidth self val
+  = ghcjs_dom_html_iframe_element_set_width
+      (unHTMLIFrameElement (toHTMLIFrameElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_iframe_element_get_width ::
+        JSRef HTMLIFrameElement -> IO JSString
+#else 
+ghcjs_dom_html_iframe_element_get_width ::
+                                          JSRef HTMLIFrameElement -> IO JSString
+ghcjs_dom_html_iframe_element_get_width = undefined
+#endif
+ 
+htmliFrameElementGetWidth ::
+                          (IsHTMLIFrameElement self, FromJSString result) =>
+                            self -> IO result
+htmliFrameElementGetWidth self
+  = fromJSString <$>
+      (ghcjs_dom_html_iframe_element_get_width
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"contentDocument\"]"
+        ghcjs_dom_html_iframe_element_get_content_document ::
+        JSRef HTMLIFrameElement -> IO (JSRef Document)
+#else 
+ghcjs_dom_html_iframe_element_get_content_document ::
+                                                     JSRef HTMLIFrameElement -> IO (JSRef Document)
+ghcjs_dom_html_iframe_element_get_content_document = undefined
+#endif
+ 
+htmliFrameElementGetContentDocument ::
+                                    (IsHTMLIFrameElement self) => self -> IO (Maybe Document)
+htmliFrameElementGetContentDocument self
+  = fmap Document . maybeJSNull <$>
+      (ghcjs_dom_html_iframe_element_get_content_document
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"contentWindow\"]"
+        ghcjs_dom_html_iframe_element_get_content_window ::
+        JSRef HTMLIFrameElement -> IO (JSRef DOMWindow)
+#else 
+ghcjs_dom_html_iframe_element_get_content_window ::
+                                                   JSRef HTMLIFrameElement -> IO (JSRef DOMWindow)
+ghcjs_dom_html_iframe_element_get_content_window = undefined
+#endif
+ 
+htmliFrameElementGetContentWindow ::
+                                  (IsHTMLIFrameElement self) => self -> IO (Maybe DOMWindow)
+htmliFrameElementGetContentWindow self
+  = fmap DOMWindow . maybeJSNull <$>
+      (ghcjs_dom_html_iframe_element_get_content_window
+         (unHTMLIFrameElement (toHTMLIFrameElement self)))
+#else
+module GHCJS.DOM.HTMLIFrameElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLIFrameElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLIFrameElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLImageElement.hs b/src/GHCJS/DOM/HTMLImageElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLImageElement.hs
@@ -0,0 +1,647 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLImageElement
+       (ghcjs_dom_html_image_element_set_name, htmlImageElementSetName,
+        ghcjs_dom_html_image_element_get_name, htmlImageElementGetName,
+        ghcjs_dom_html_image_element_set_align, htmlImageElementSetAlign,
+        ghcjs_dom_html_image_element_get_align, htmlImageElementGetAlign,
+        ghcjs_dom_html_image_element_set_alt, htmlImageElementSetAlt,
+        ghcjs_dom_html_image_element_get_alt, htmlImageElementGetAlt,
+        ghcjs_dom_html_image_element_set_border, htmlImageElementSetBorder,
+        ghcjs_dom_html_image_element_get_border, htmlImageElementGetBorder,
+        ghcjs_dom_html_image_element_set_cross_origin,
+        htmlImageElementSetCrossOrigin,
+        ghcjs_dom_html_image_element_get_cross_origin,
+        htmlImageElementGetCrossOrigin,
+        ghcjs_dom_html_image_element_set_height, htmlImageElementSetHeight,
+        ghcjs_dom_html_image_element_get_height, htmlImageElementGetHeight,
+        ghcjs_dom_html_image_element_set_hspace, htmlImageElementSetHspace,
+        ghcjs_dom_html_image_element_get_hspace, htmlImageElementGetHspace,
+        ghcjs_dom_html_image_element_set_is_map, htmlImageElementSetIsMap,
+        ghcjs_dom_html_image_element_get_is_map, htmlImageElementGetIsMap,
+        ghcjs_dom_html_image_element_set_long_desc,
+        htmlImageElementSetLongDesc,
+        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,
+        htmlImageElementSetUseMap,
+        ghcjs_dom_html_image_element_get_use_map,
+        htmlImageElementGetUseMap, ghcjs_dom_html_image_element_set_vspace,
+        htmlImageElementSetVspace, ghcjs_dom_html_image_element_get_vspace,
+        htmlImageElementGetVspace, ghcjs_dom_html_image_element_set_width,
+        htmlImageElementSetWidth, ghcjs_dom_html_image_element_get_width,
+        htmlImageElementGetWidth,
+        ghcjs_dom_html_image_element_get_complete,
+        htmlImageElementGetComplete,
+        ghcjs_dom_html_image_element_set_lowsrc, htmlImageElementSetLowsrc,
+        ghcjs_dom_html_image_element_get_lowsrc, htmlImageElementGetLowsrc,
+        ghcjs_dom_html_image_element_get_natural_height,
+        htmlImageElementGetNaturalHeight,
+        ghcjs_dom_html_image_element_get_natural_width,
+        htmlImageElementGetNaturalWidth,
+        ghcjs_dom_html_image_element_get_x, htmlImageElementGetX,
+        ghcjs_dom_html_image_element_get_y, htmlImageElementGetY)
+       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[\"name\"] = $2;"
+        ghcjs_dom_html_image_element_set_name ::
+        JSRef HTMLImageElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_name ::
+                                        JSRef HTMLImageElement -> JSString -> IO ()
+ghcjs_dom_html_image_element_set_name = undefined
+#endif
+ 
+htmlImageElementSetName ::
+                        (IsHTMLImageElement self, ToJSString val) => self -> val -> IO ()
+htmlImageElementSetName self val
+  = ghcjs_dom_html_image_element_set_name
+      (unHTMLImageElement (toHTMLImageElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_image_element_get_name ::
+        JSRef HTMLImageElement -> IO JSString
+#else 
+ghcjs_dom_html_image_element_get_name ::
+                                        JSRef HTMLImageElement -> IO JSString
+ghcjs_dom_html_image_element_get_name = undefined
+#endif
+ 
+htmlImageElementGetName ::
+                        (IsHTMLImageElement self, FromJSString result) => self -> IO result
+htmlImageElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_image_element_get_name
+         (unHTMLImageElement (toHTMLImageElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"] = $2;"
+        ghcjs_dom_html_image_element_set_align ::
+        JSRef HTMLImageElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_align ::
+                                         JSRef HTMLImageElement -> JSString -> IO ()
+ghcjs_dom_html_image_element_set_align = undefined
+#endif
+ 
+htmlImageElementSetAlign ::
+                         (IsHTMLImageElement self, ToJSString val) => self -> val -> IO ()
+htmlImageElementSetAlign self val
+  = ghcjs_dom_html_image_element_set_align
+      (unHTMLImageElement (toHTMLImageElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_image_element_get_align ::
+        JSRef HTMLImageElement -> IO JSString
+#else 
+ghcjs_dom_html_image_element_get_align ::
+                                         JSRef HTMLImageElement -> IO JSString
+ghcjs_dom_html_image_element_get_align = undefined
+#endif
+ 
+htmlImageElementGetAlign ::
+                         (IsHTMLImageElement self, FromJSString result) => self -> IO result
+htmlImageElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_image_element_get_align
+         (unHTMLImageElement (toHTMLImageElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"alt\"] = $2;"
+        ghcjs_dom_html_image_element_set_alt ::
+        JSRef HTMLImageElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_alt ::
+                                       JSRef HTMLImageElement -> JSString -> IO ()
+ghcjs_dom_html_image_element_set_alt = undefined
+#endif
+ 
+htmlImageElementSetAlt ::
+                       (IsHTMLImageElement self, ToJSString val) => self -> val -> IO ()
+htmlImageElementSetAlt self val
+  = ghcjs_dom_html_image_element_set_alt
+      (unHTMLImageElement (toHTMLImageElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"alt\"]"
+        ghcjs_dom_html_image_element_get_alt ::
+        JSRef HTMLImageElement -> IO JSString
+#else 
+ghcjs_dom_html_image_element_get_alt ::
+                                       JSRef HTMLImageElement -> IO JSString
+ghcjs_dom_html_image_element_get_alt = undefined
+#endif
+ 
+htmlImageElementGetAlt ::
+                       (IsHTMLImageElement self, FromJSString result) => self -> IO result
+htmlImageElementGetAlt self
+  = fromJSString <$>
+      (ghcjs_dom_html_image_element_get_alt
+         (unHTMLImageElement (toHTMLImageElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"border\"] = $2;"
+        ghcjs_dom_html_image_element_set_border ::
+        JSRef HTMLImageElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_border ::
+                                          JSRef HTMLImageElement -> JSString -> IO ()
+ghcjs_dom_html_image_element_set_border = undefined
+#endif
+ 
+htmlImageElementSetBorder ::
+                          (IsHTMLImageElement self, ToJSString val) => self -> val -> IO ()
+htmlImageElementSetBorder self val
+  = ghcjs_dom_html_image_element_set_border
+      (unHTMLImageElement (toHTMLImageElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"border\"]"
+        ghcjs_dom_html_image_element_get_border ::
+        JSRef HTMLImageElement -> IO JSString
+#else 
+ghcjs_dom_html_image_element_get_border ::
+                                          JSRef HTMLImageElement -> IO JSString
+ghcjs_dom_html_image_element_get_border = undefined
+#endif
+ 
+htmlImageElementGetBorder ::
+                          (IsHTMLImageElement self, FromJSString result) => self -> IO result
+htmlImageElementGetBorder self
+  = fromJSString <$>
+      (ghcjs_dom_html_image_element_get_border
+         (unHTMLImageElement (toHTMLImageElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"crossOrigin\"] = $2;"
+        ghcjs_dom_html_image_element_set_cross_origin ::
+        JSRef HTMLImageElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_cross_origin ::
+                                                JSRef HTMLImageElement -> JSString -> IO ()
+ghcjs_dom_html_image_element_set_cross_origin = undefined
+#endif
+ 
+htmlImageElementSetCrossOrigin ::
+                               (IsHTMLImageElement self, ToJSString val) => self -> val -> IO ()
+htmlImageElementSetCrossOrigin self val
+  = ghcjs_dom_html_image_element_set_cross_origin
+      (unHTMLImageElement (toHTMLImageElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"crossOrigin\"]"
+        ghcjs_dom_html_image_element_get_cross_origin ::
+        JSRef HTMLImageElement -> IO JSString
+#else 
+ghcjs_dom_html_image_element_get_cross_origin ::
+                                                JSRef HTMLImageElement -> IO JSString
+ghcjs_dom_html_image_element_get_cross_origin = undefined
+#endif
+ 
+htmlImageElementGetCrossOrigin ::
+                               (IsHTMLImageElement self, FromJSString result) => self -> IO result
+htmlImageElementGetCrossOrigin self
+  = fromJSString <$>
+      (ghcjs_dom_html_image_element_get_cross_origin
+         (unHTMLImageElement (toHTMLImageElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"] = $2;"
+        ghcjs_dom_html_image_element_set_height ::
+        JSRef HTMLImageElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_height ::
+                                          JSRef HTMLImageElement -> Int -> IO ()
+ghcjs_dom_html_image_element_set_height = undefined
+#endif
+ 
+htmlImageElementSetHeight ::
+                          (IsHTMLImageElement self) => self -> Int -> IO ()
+htmlImageElementSetHeight self val
+  = ghcjs_dom_html_image_element_set_height
+      (unHTMLImageElement (toHTMLImageElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_image_element_get_height ::
+        JSRef HTMLImageElement -> IO Int
+#else 
+ghcjs_dom_html_image_element_get_height ::
+                                          JSRef HTMLImageElement -> IO Int
+ghcjs_dom_html_image_element_get_height = undefined
+#endif
+ 
+htmlImageElementGetHeight ::
+                          (IsHTMLImageElement self) => self -> IO Int
+htmlImageElementGetHeight self
+  = ghcjs_dom_html_image_element_get_height
+      (unHTMLImageElement (toHTMLImageElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hspace\"] = $2;"
+        ghcjs_dom_html_image_element_set_hspace ::
+        JSRef HTMLImageElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_hspace ::
+                                          JSRef HTMLImageElement -> Int -> IO ()
+ghcjs_dom_html_image_element_set_hspace = undefined
+#endif
+ 
+htmlImageElementSetHspace ::
+                          (IsHTMLImageElement self) => self -> Int -> IO ()
+htmlImageElementSetHspace self val
+  = ghcjs_dom_html_image_element_set_hspace
+      (unHTMLImageElement (toHTMLImageElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hspace\"]"
+        ghcjs_dom_html_image_element_get_hspace ::
+        JSRef HTMLImageElement -> IO Int
+#else 
+ghcjs_dom_html_image_element_get_hspace ::
+                                          JSRef HTMLImageElement -> IO Int
+ghcjs_dom_html_image_element_get_hspace = undefined
+#endif
+ 
+htmlImageElementGetHspace ::
+                          (IsHTMLImageElement self) => self -> IO Int
+htmlImageElementGetHspace self
+  = ghcjs_dom_html_image_element_get_hspace
+      (unHTMLImageElement (toHTMLImageElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"isMap\"] = $2;"
+        ghcjs_dom_html_image_element_set_is_map ::
+        JSRef HTMLImageElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_is_map ::
+                                          JSRef HTMLImageElement -> Bool -> IO ()
+ghcjs_dom_html_image_element_set_is_map = undefined
+#endif
+ 
+htmlImageElementSetIsMap ::
+                         (IsHTMLImageElement self) => self -> Bool -> IO ()
+htmlImageElementSetIsMap self val
+  = ghcjs_dom_html_image_element_set_is_map
+      (unHTMLImageElement (toHTMLImageElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"isMap\"] ? 1 : 0)"
+        ghcjs_dom_html_image_element_get_is_map ::
+        JSRef HTMLImageElement -> IO Bool
+#else 
+ghcjs_dom_html_image_element_get_is_map ::
+                                          JSRef HTMLImageElement -> IO Bool
+ghcjs_dom_html_image_element_get_is_map = undefined
+#endif
+ 
+htmlImageElementGetIsMap ::
+                         (IsHTMLImageElement self) => self -> IO Bool
+htmlImageElementGetIsMap self
+  = ghcjs_dom_html_image_element_get_is_map
+      (unHTMLImageElement (toHTMLImageElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"longDesc\"] = $2;"
+        ghcjs_dom_html_image_element_set_long_desc ::
+        JSRef HTMLImageElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_long_desc ::
+                                             JSRef HTMLImageElement -> JSString -> IO ()
+ghcjs_dom_html_image_element_set_long_desc = undefined
+#endif
+ 
+htmlImageElementSetLongDesc ::
+                            (IsHTMLImageElement self, ToJSString val) => self -> val -> IO ()
+htmlImageElementSetLongDesc self val
+  = ghcjs_dom_html_image_element_set_long_desc
+      (unHTMLImageElement (toHTMLImageElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"longDesc\"]"
+        ghcjs_dom_html_image_element_get_long_desc ::
+        JSRef HTMLImageElement -> IO JSString
+#else 
+ghcjs_dom_html_image_element_get_long_desc ::
+                                             JSRef HTMLImageElement -> IO JSString
+ghcjs_dom_html_image_element_get_long_desc = undefined
+#endif
+ 
+htmlImageElementGetLongDesc ::
+                            (IsHTMLImageElement self, FromJSString result) => self -> IO result
+htmlImageElementGetLongDesc self
+  = fromJSString <$>
+      (ghcjs_dom_html_image_element_get_long_desc
+         (unHTMLImageElement (toHTMLImageElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"] = $2;"
+        ghcjs_dom_html_image_element_set_src ::
+        JSRef HTMLImageElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_src ::
+                                       JSRef HTMLImageElement -> JSString -> IO ()
+ghcjs_dom_html_image_element_set_src = undefined
+#endif
+ 
+htmlImageElementSetSrc ::
+                       (IsHTMLImageElement self, ToJSString val) => self -> val -> IO ()
+htmlImageElementSetSrc self val
+  = ghcjs_dom_html_image_element_set_src
+      (unHTMLImageElement (toHTMLImageElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"]"
+        ghcjs_dom_html_image_element_get_src ::
+        JSRef HTMLImageElement -> IO JSString
+#else 
+ghcjs_dom_html_image_element_get_src ::
+                                       JSRef HTMLImageElement -> IO JSString
+ghcjs_dom_html_image_element_get_src = undefined
+#endif
+ 
+htmlImageElementGetSrc ::
+                       (IsHTMLImageElement self, FromJSString result) => self -> IO result
+htmlImageElementGetSrc self
+  = fromJSString <$>
+      (ghcjs_dom_html_image_element_get_src
+         (unHTMLImageElement (toHTMLImageElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"useMap\"] = $2;"
+        ghcjs_dom_html_image_element_set_use_map ::
+        JSRef HTMLImageElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_use_map ::
+                                           JSRef HTMLImageElement -> JSString -> IO ()
+ghcjs_dom_html_image_element_set_use_map = undefined
+#endif
+ 
+htmlImageElementSetUseMap ::
+                          (IsHTMLImageElement self, ToJSString val) => self -> val -> IO ()
+htmlImageElementSetUseMap self val
+  = ghcjs_dom_html_image_element_set_use_map
+      (unHTMLImageElement (toHTMLImageElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"useMap\"]"
+        ghcjs_dom_html_image_element_get_use_map ::
+        JSRef HTMLImageElement -> IO JSString
+#else 
+ghcjs_dom_html_image_element_get_use_map ::
+                                           JSRef HTMLImageElement -> IO JSString
+ghcjs_dom_html_image_element_get_use_map = undefined
+#endif
+ 
+htmlImageElementGetUseMap ::
+                          (IsHTMLImageElement self, FromJSString result) => self -> IO result
+htmlImageElementGetUseMap self
+  = fromJSString <$>
+      (ghcjs_dom_html_image_element_get_use_map
+         (unHTMLImageElement (toHTMLImageElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vspace\"] = $2;"
+        ghcjs_dom_html_image_element_set_vspace ::
+        JSRef HTMLImageElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_vspace ::
+                                          JSRef HTMLImageElement -> Int -> IO ()
+ghcjs_dom_html_image_element_set_vspace = undefined
+#endif
+ 
+htmlImageElementSetVspace ::
+                          (IsHTMLImageElement self) => self -> Int -> IO ()
+htmlImageElementSetVspace self val
+  = ghcjs_dom_html_image_element_set_vspace
+      (unHTMLImageElement (toHTMLImageElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vspace\"]"
+        ghcjs_dom_html_image_element_get_vspace ::
+        JSRef HTMLImageElement -> IO Int
+#else 
+ghcjs_dom_html_image_element_get_vspace ::
+                                          JSRef HTMLImageElement -> IO Int
+ghcjs_dom_html_image_element_get_vspace = undefined
+#endif
+ 
+htmlImageElementGetVspace ::
+                          (IsHTMLImageElement self) => self -> IO Int
+htmlImageElementGetVspace self
+  = ghcjs_dom_html_image_element_get_vspace
+      (unHTMLImageElement (toHTMLImageElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_image_element_set_width ::
+        JSRef HTMLImageElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_width ::
+                                         JSRef HTMLImageElement -> Int -> IO ()
+ghcjs_dom_html_image_element_set_width = undefined
+#endif
+ 
+htmlImageElementSetWidth ::
+                         (IsHTMLImageElement self) => self -> Int -> IO ()
+htmlImageElementSetWidth self val
+  = ghcjs_dom_html_image_element_set_width
+      (unHTMLImageElement (toHTMLImageElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_image_element_get_width ::
+        JSRef HTMLImageElement -> IO Int
+#else 
+ghcjs_dom_html_image_element_get_width ::
+                                         JSRef HTMLImageElement -> IO Int
+ghcjs_dom_html_image_element_get_width = undefined
+#endif
+ 
+htmlImageElementGetWidth ::
+                         (IsHTMLImageElement self) => self -> IO Int
+htmlImageElementGetWidth self
+  = ghcjs_dom_html_image_element_get_width
+      (unHTMLImageElement (toHTMLImageElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"complete\"] ? 1 : 0)"
+        ghcjs_dom_html_image_element_get_complete ::
+        JSRef HTMLImageElement -> IO Bool
+#else 
+ghcjs_dom_html_image_element_get_complete ::
+                                            JSRef HTMLImageElement -> IO Bool
+ghcjs_dom_html_image_element_get_complete = undefined
+#endif
+ 
+htmlImageElementGetComplete ::
+                            (IsHTMLImageElement self) => self -> IO Bool
+htmlImageElementGetComplete self
+  = ghcjs_dom_html_image_element_get_complete
+      (unHTMLImageElement (toHTMLImageElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"lowsrc\"] = $2;"
+        ghcjs_dom_html_image_element_set_lowsrc ::
+        JSRef HTMLImageElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_image_element_set_lowsrc ::
+                                          JSRef HTMLImageElement -> JSString -> IO ()
+ghcjs_dom_html_image_element_set_lowsrc = undefined
+#endif
+ 
+htmlImageElementSetLowsrc ::
+                          (IsHTMLImageElement self, ToJSString val) => self -> val -> IO ()
+htmlImageElementSetLowsrc self val
+  = ghcjs_dom_html_image_element_set_lowsrc
+      (unHTMLImageElement (toHTMLImageElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"lowsrc\"]"
+        ghcjs_dom_html_image_element_get_lowsrc ::
+        JSRef HTMLImageElement -> IO JSString
+#else 
+ghcjs_dom_html_image_element_get_lowsrc ::
+                                          JSRef HTMLImageElement -> IO JSString
+ghcjs_dom_html_image_element_get_lowsrc = undefined
+#endif
+ 
+htmlImageElementGetLowsrc ::
+                          (IsHTMLImageElement self, FromJSString result) => self -> IO result
+htmlImageElementGetLowsrc self
+  = fromJSString <$>
+      (ghcjs_dom_html_image_element_get_lowsrc
+         (unHTMLImageElement (toHTMLImageElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"naturalHeight\"]"
+        ghcjs_dom_html_image_element_get_natural_height ::
+        JSRef HTMLImageElement -> IO Int
+#else 
+ghcjs_dom_html_image_element_get_natural_height ::
+                                                  JSRef HTMLImageElement -> IO Int
+ghcjs_dom_html_image_element_get_natural_height = undefined
+#endif
+ 
+htmlImageElementGetNaturalHeight ::
+                                 (IsHTMLImageElement self) => self -> IO Int
+htmlImageElementGetNaturalHeight self
+  = ghcjs_dom_html_image_element_get_natural_height
+      (unHTMLImageElement (toHTMLImageElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"naturalWidth\"]"
+        ghcjs_dom_html_image_element_get_natural_width ::
+        JSRef HTMLImageElement -> IO Int
+#else 
+ghcjs_dom_html_image_element_get_natural_width ::
+                                                 JSRef HTMLImageElement -> IO Int
+ghcjs_dom_html_image_element_get_natural_width = undefined
+#endif
+ 
+htmlImageElementGetNaturalWidth ::
+                                (IsHTMLImageElement self) => self -> IO Int
+htmlImageElementGetNaturalWidth self
+  = ghcjs_dom_html_image_element_get_natural_width
+      (unHTMLImageElement (toHTMLImageElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"x\"]"
+        ghcjs_dom_html_image_element_get_x ::
+        JSRef HTMLImageElement -> IO Int
+#else 
+ghcjs_dom_html_image_element_get_x ::
+                                     JSRef HTMLImageElement -> IO Int
+ghcjs_dom_html_image_element_get_x = undefined
+#endif
+ 
+htmlImageElementGetX :: (IsHTMLImageElement self) => self -> IO Int
+htmlImageElementGetX self
+  = ghcjs_dom_html_image_element_get_x
+      (unHTMLImageElement (toHTMLImageElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"y\"]"
+        ghcjs_dom_html_image_element_get_y ::
+        JSRef HTMLImageElement -> IO Int
+#else 
+ghcjs_dom_html_image_element_get_y ::
+                                     JSRef HTMLImageElement -> IO Int
+ghcjs_dom_html_image_element_get_y = undefined
+#endif
+ 
+htmlImageElementGetY :: (IsHTMLImageElement self) => self -> IO Int
+htmlImageElementGetY self
+  = ghcjs_dom_html_image_element_get_y
+      (unHTMLImageElement (toHTMLImageElement self))
+#else
+module GHCJS.DOM.HTMLImageElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLImageElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLImageElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLInputElement.hs b/src/GHCJS/DOM/HTMLInputElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLInputElement.hs
@@ -0,0 +1,1782 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLInputElement
+       (ghcjs_dom_html_input_element_step_up, htmlInputElementStepUp,
+        ghcjs_dom_html_input_element_step_down, htmlInputElementStepDown,
+        ghcjs_dom_html_input_element_check_validity,
+        htmlInputElementCheckValidity,
+        ghcjs_dom_html_input_element_set_custom_validity,
+        htmlInputElementSetCustomValidity,
+        ghcjs_dom_html_input_element_select, htmlInputElementSelect,
+        ghcjs_dom_html_input_element_set_value_for_user,
+        htmlInputElementSetValueForUser,
+        ghcjs_dom_html_input_element_set_accept, htmlInputElementSetAccept,
+        ghcjs_dom_html_input_element_get_accept, htmlInputElementGetAccept,
+        ghcjs_dom_html_input_element_set_alt, htmlInputElementSetAlt,
+        ghcjs_dom_html_input_element_get_alt, htmlInputElementGetAlt,
+        ghcjs_dom_html_input_element_set_autocomplete,
+        htmlInputElementSetAutocomplete,
+        ghcjs_dom_html_input_element_get_autocomplete,
+        htmlInputElementGetAutocomplete,
+        ghcjs_dom_html_input_element_set_autofocus,
+        htmlInputElementSetAutofocus,
+        ghcjs_dom_html_input_element_get_autofocus,
+        htmlInputElementGetAutofocus,
+        ghcjs_dom_html_input_element_set_default_checked,
+        htmlInputElementSetDefaultChecked,
+        ghcjs_dom_html_input_element_get_default_checked,
+        htmlInputElementGetDefaultChecked,
+        ghcjs_dom_html_input_element_set_checked,
+        htmlInputElementSetChecked,
+        ghcjs_dom_html_input_element_get_checked,
+        htmlInputElementGetChecked,
+        ghcjs_dom_html_input_element_set_dir_name,
+        htmlInputElementSetDirName,
+        ghcjs_dom_html_input_element_get_dir_name,
+        htmlInputElementGetDirName,
+        ghcjs_dom_html_input_element_set_disabled,
+        htmlInputElementSetDisabled,
+        ghcjs_dom_html_input_element_get_disabled,
+        htmlInputElementGetDisabled, ghcjs_dom_html_input_element_get_form,
+        htmlInputElementGetForm, ghcjs_dom_html_input_element_set_files,
+        htmlInputElementSetFiles, ghcjs_dom_html_input_element_get_files,
+        htmlInputElementGetFiles,
+        ghcjs_dom_html_input_element_set_form_action,
+        htmlInputElementSetFormAction,
+        ghcjs_dom_html_input_element_get_form_action,
+        htmlInputElementGetFormAction,
+        ghcjs_dom_html_input_element_set_form_enctype,
+        htmlInputElementSetFormEnctype,
+        ghcjs_dom_html_input_element_get_form_enctype,
+        htmlInputElementGetFormEnctype,
+        ghcjs_dom_html_input_element_set_form_method,
+        htmlInputElementSetFormMethod,
+        ghcjs_dom_html_input_element_get_form_method,
+        htmlInputElementGetFormMethod,
+        ghcjs_dom_html_input_element_set_form_no_validate,
+        htmlInputElementSetFormNoValidate,
+        ghcjs_dom_html_input_element_get_form_no_validate,
+        htmlInputElementGetFormNoValidate,
+        ghcjs_dom_html_input_element_set_form_target,
+        htmlInputElementSetFormTarget,
+        ghcjs_dom_html_input_element_get_form_target,
+        htmlInputElementGetFormTarget,
+        ghcjs_dom_html_input_element_set_height, htmlInputElementSetHeight,
+        ghcjs_dom_html_input_element_get_height, htmlInputElementGetHeight,
+        ghcjs_dom_html_input_element_set_indeterminate,
+        htmlInputElementSetIndeterminate,
+        ghcjs_dom_html_input_element_get_indeterminate,
+        htmlInputElementGetIndeterminate,
+        ghcjs_dom_html_input_element_get_list, htmlInputElementGetList,
+        ghcjs_dom_html_input_element_set_max, htmlInputElementSetMax,
+        ghcjs_dom_html_input_element_get_max, htmlInputElementGetMax,
+        ghcjs_dom_html_input_element_set_max_length,
+        htmlInputElementSetMaxLength,
+        ghcjs_dom_html_input_element_get_max_length,
+        htmlInputElementGetMaxLength, ghcjs_dom_html_input_element_set_min,
+        htmlInputElementSetMin, ghcjs_dom_html_input_element_get_min,
+        htmlInputElementGetMin, ghcjs_dom_html_input_element_set_multiple,
+        htmlInputElementSetMultiple,
+        ghcjs_dom_html_input_element_get_multiple,
+        htmlInputElementGetMultiple, ghcjs_dom_html_input_element_set_name,
+        htmlInputElementSetName, ghcjs_dom_html_input_element_get_name,
+        htmlInputElementGetName, ghcjs_dom_html_input_element_set_pattern,
+        htmlInputElementSetPattern,
+        ghcjs_dom_html_input_element_get_pattern,
+        htmlInputElementGetPattern,
+        ghcjs_dom_html_input_element_set_placeholder,
+        htmlInputElementSetPlaceholder,
+        ghcjs_dom_html_input_element_get_placeholder,
+        htmlInputElementGetPlaceholder,
+        ghcjs_dom_html_input_element_set_read_only,
+        htmlInputElementSetReadOnly,
+        ghcjs_dom_html_input_element_get_read_only,
+        htmlInputElementGetReadOnly,
+        ghcjs_dom_html_input_element_set_required,
+        htmlInputElementSetRequired,
+        ghcjs_dom_html_input_element_get_required,
+        htmlInputElementGetRequired, ghcjs_dom_html_input_element_set_size,
+        htmlInputElementSetSize, ghcjs_dom_html_input_element_get_size,
+        htmlInputElementGetSize, ghcjs_dom_html_input_element_set_src,
+        htmlInputElementSetSrc, ghcjs_dom_html_input_element_get_src,
+        htmlInputElementGetSrc, ghcjs_dom_html_input_element_set_step,
+        htmlInputElementSetStep, ghcjs_dom_html_input_element_get_step,
+        htmlInputElementGetStep,
+        ghcjs_dom_html_input_element_set_default_value,
+        htmlInputElementSetDefaultValue,
+        ghcjs_dom_html_input_element_get_default_value,
+        htmlInputElementGetDefaultValue,
+        ghcjs_dom_html_input_element_set_value, htmlInputElementSetValue,
+        ghcjs_dom_html_input_element_get_value, htmlInputElementGetValue,
+        ghcjs_dom_html_input_element_set_value_as_number,
+        htmlInputElementSetValueAsNumber,
+        ghcjs_dom_html_input_element_get_value_as_number,
+        htmlInputElementGetValueAsNumber,
+        ghcjs_dom_html_input_element_set_width, htmlInputElementSetWidth,
+        ghcjs_dom_html_input_element_get_width, htmlInputElementGetWidth,
+        ghcjs_dom_html_input_element_get_will_validate,
+        htmlInputElementGetWillValidate,
+        ghcjs_dom_html_input_element_get_validity,
+        htmlInputElementGetValidity,
+        ghcjs_dom_html_input_element_get_validation_message,
+        htmlInputElementGetValidationMessage,
+        ghcjs_dom_html_input_element_get_labels, htmlInputElementGetLabels,
+        ghcjs_dom_html_input_element_set_align, htmlInputElementSetAlign,
+        ghcjs_dom_html_input_element_get_align, htmlInputElementGetAlign,
+        ghcjs_dom_html_input_element_set_webkitdirectory,
+        htmlInputElementSetWebkitdirectory,
+        ghcjs_dom_html_input_element_get_webkitdirectory,
+        htmlInputElementGetWebkitdirectory,
+        ghcjs_dom_html_input_element_set_use_map,
+        htmlInputElementSetUseMap,
+        ghcjs_dom_html_input_element_get_use_map,
+        htmlInputElementGetUseMap,
+        ghcjs_dom_html_input_element_set_incremental,
+        htmlInputElementSetIncremental,
+        ghcjs_dom_html_input_element_get_incremental,
+        htmlInputElementGetIncremental,
+        ghcjs_dom_html_input_element_set_webkit_speech,
+        htmlInputElementSetWebkitSpeech,
+        ghcjs_dom_html_input_element_get_webkit_speech,
+        htmlInputElementGetWebkitSpeech,
+        ghcjs_dom_html_input_element_set_webkit_grammar,
+        htmlInputElementSetWebkitGrammar,
+        ghcjs_dom_html_input_element_get_webkit_grammar,
+        htmlInputElementGetWebkitGrammar,
+        htmlInputElementOnwebkitspeechchange,
+        ghcjs_dom_html_input_element_set_capture,
+        htmlInputElementSetCapture,
+        ghcjs_dom_html_input_element_get_capture,
+        htmlInputElementGetCapture)
+       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[\"stepUp\"]($2)"
+        ghcjs_dom_html_input_element_step_up ::
+        JSRef HTMLInputElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_input_element_step_up ::
+                                       JSRef HTMLInputElement -> Int -> IO ()
+ghcjs_dom_html_input_element_step_up = undefined
+#endif
+ 
+htmlInputElementStepUp ::
+                       (IsHTMLInputElement self) => self -> Int -> IO ()
+htmlInputElementStepUp self n
+  = ghcjs_dom_html_input_element_step_up
+      (unHTMLInputElement (toHTMLInputElement self))
+      n
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"stepDown\"]($2)"
+        ghcjs_dom_html_input_element_step_down ::
+        JSRef HTMLInputElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_input_element_step_down ::
+                                         JSRef HTMLInputElement -> Int -> IO ()
+ghcjs_dom_html_input_element_step_down = undefined
+#endif
+ 
+htmlInputElementStepDown ::
+                         (IsHTMLInputElement self) => self -> Int -> IO ()
+htmlInputElementStepDown self n
+  = ghcjs_dom_html_input_element_step_down
+      (unHTMLInputElement (toHTMLInputElement self))
+      n
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"checkValidity\"]() ? 1 : 0)"
+        ghcjs_dom_html_input_element_check_validity ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_check_validity ::
+                                              JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_check_validity = undefined
+#endif
+ 
+htmlInputElementCheckValidity ::
+                              (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementCheckValidity self
+  = ghcjs_dom_html_input_element_check_validity
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setCustomValidity\"]($2)"
+        ghcjs_dom_html_input_element_set_custom_validity ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_custom_validity ::
+                                                   JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_custom_validity = undefined
+#endif
+ 
+htmlInputElementSetCustomValidity ::
+                                  (IsHTMLInputElement self, ToJSString error) =>
+                                    self -> error -> IO ()
+htmlInputElementSetCustomValidity self error
+  = ghcjs_dom_html_input_element_set_custom_validity
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString error)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"select\"]()"
+        ghcjs_dom_html_input_element_select ::
+        JSRef HTMLInputElement -> IO ()
+#else 
+ghcjs_dom_html_input_element_select ::
+                                      JSRef HTMLInputElement -> IO ()
+ghcjs_dom_html_input_element_select = undefined
+#endif
+ 
+htmlInputElementSelect ::
+                       (IsHTMLInputElement self) => self -> IO ()
+htmlInputElementSelect self
+  = ghcjs_dom_html_input_element_select
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setValueForUser\"]($2)"
+        ghcjs_dom_html_input_element_set_value_for_user ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_value_for_user ::
+                                                  JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_value_for_user = undefined
+#endif
+ 
+htmlInputElementSetValueForUser ::
+                                (IsHTMLInputElement self, ToJSString value) =>
+                                  self -> value -> IO ()
+htmlInputElementSetValueForUser self value
+  = ghcjs_dom_html_input_element_set_value_for_user
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString value)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"accept\"] = $2;"
+        ghcjs_dom_html_input_element_set_accept ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_accept ::
+                                          JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_accept = undefined
+#endif
+ 
+htmlInputElementSetAccept ::
+                          (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetAccept self val
+  = ghcjs_dom_html_input_element_set_accept
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"accept\"]"
+        ghcjs_dom_html_input_element_get_accept ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_accept ::
+                                          JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_accept = undefined
+#endif
+ 
+htmlInputElementGetAccept ::
+                          (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetAccept self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_accept
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"alt\"] = $2;"
+        ghcjs_dom_html_input_element_set_alt ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_alt ::
+                                       JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_alt = undefined
+#endif
+ 
+htmlInputElementSetAlt ::
+                       (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetAlt self val
+  = ghcjs_dom_html_input_element_set_alt
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"alt\"]"
+        ghcjs_dom_html_input_element_get_alt ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_alt ::
+                                       JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_alt = undefined
+#endif
+ 
+htmlInputElementGetAlt ::
+                       (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetAlt self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_alt
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"autocomplete\"] = $2;"
+        ghcjs_dom_html_input_element_set_autocomplete ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_autocomplete ::
+                                                JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_autocomplete = undefined
+#endif
+ 
+htmlInputElementSetAutocomplete ::
+                                (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetAutocomplete self val
+  = ghcjs_dom_html_input_element_set_autocomplete
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"autocomplete\"]"
+        ghcjs_dom_html_input_element_get_autocomplete ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_autocomplete ::
+                                                JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_autocomplete = undefined
+#endif
+ 
+htmlInputElementGetAutocomplete ::
+                                (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetAutocomplete self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_autocomplete
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"autofocus\"] = $2;"
+        ghcjs_dom_html_input_element_set_autofocus ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_autofocus ::
+                                             JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_autofocus = undefined
+#endif
+ 
+htmlInputElementSetAutofocus ::
+                             (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetAutofocus self val
+  = ghcjs_dom_html_input_element_set_autofocus
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"autofocus\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_autofocus ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_autofocus ::
+                                             JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_autofocus = undefined
+#endif
+ 
+htmlInputElementGetAutofocus ::
+                             (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetAutofocus self
+  = ghcjs_dom_html_input_element_get_autofocus
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultChecked\"] = $2;"
+        ghcjs_dom_html_input_element_set_default_checked ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_default_checked ::
+                                                   JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_default_checked = undefined
+#endif
+ 
+htmlInputElementSetDefaultChecked ::
+                                  (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetDefaultChecked self val
+  = ghcjs_dom_html_input_element_set_default_checked
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"defaultChecked\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_default_checked ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_default_checked ::
+                                                   JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_default_checked = undefined
+#endif
+ 
+htmlInputElementGetDefaultChecked ::
+                                  (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetDefaultChecked self
+  = ghcjs_dom_html_input_element_get_default_checked
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"checked\"] = $2;"
+        ghcjs_dom_html_input_element_set_checked ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_checked ::
+                                           JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_checked = undefined
+#endif
+ 
+htmlInputElementSetChecked ::
+                           (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetChecked self val
+  = ghcjs_dom_html_input_element_set_checked
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"checked\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_checked ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_checked ::
+                                           JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_checked = undefined
+#endif
+ 
+htmlInputElementGetChecked ::
+                           (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetChecked self
+  = ghcjs_dom_html_input_element_get_checked
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"dirName\"] = $2;"
+        ghcjs_dom_html_input_element_set_dir_name ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_dir_name ::
+                                            JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_dir_name = undefined
+#endif
+ 
+htmlInputElementSetDirName ::
+                           (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetDirName self val
+  = ghcjs_dom_html_input_element_set_dir_name
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"dirName\"]"
+        ghcjs_dom_html_input_element_get_dir_name ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_dir_name ::
+                                            JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_dir_name = undefined
+#endif
+ 
+htmlInputElementGetDirName ::
+                           (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetDirName self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_dir_name
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"disabled\"] = $2;"
+        ghcjs_dom_html_input_element_set_disabled ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_disabled ::
+                                            JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_disabled = undefined
+#endif
+ 
+htmlInputElementSetDisabled ::
+                            (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetDisabled self val
+  = ghcjs_dom_html_input_element_set_disabled
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_disabled ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_disabled ::
+                                            JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_disabled = undefined
+#endif
+ 
+htmlInputElementGetDisabled ::
+                            (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetDisabled self
+  = ghcjs_dom_html_input_element_get_disabled
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"form\"]"
+        ghcjs_dom_html_input_element_get_form ::
+        JSRef HTMLInputElement -> IO (JSRef HTMLFormElement)
+#else 
+ghcjs_dom_html_input_element_get_form ::
+                                        JSRef HTMLInputElement -> IO (JSRef HTMLFormElement)
+ghcjs_dom_html_input_element_get_form = undefined
+#endif
+ 
+htmlInputElementGetForm ::
+                        (IsHTMLInputElement self) => self -> IO (Maybe HTMLFormElement)
+htmlInputElementGetForm self
+  = fmap HTMLFormElement . maybeJSNull <$>
+      (ghcjs_dom_html_input_element_get_form
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"files\"] = $2;"
+        ghcjs_dom_html_input_element_set_files ::
+        JSRef HTMLInputElement -> JSRef FileList -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_files ::
+                                         JSRef HTMLInputElement -> JSRef FileList -> IO ()
+ghcjs_dom_html_input_element_set_files = undefined
+#endif
+ 
+htmlInputElementSetFiles ::
+                         (IsHTMLInputElement self, IsFileList val) =>
+                           self -> Maybe val -> IO ()
+htmlInputElementSetFiles self val
+  = ghcjs_dom_html_input_element_set_files
+      (unHTMLInputElement (toHTMLInputElement self))
+      (maybe jsNull (unFileList . toFileList) val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"files\"]"
+        ghcjs_dom_html_input_element_get_files ::
+        JSRef HTMLInputElement -> IO (JSRef FileList)
+#else 
+ghcjs_dom_html_input_element_get_files ::
+                                         JSRef HTMLInputElement -> IO (JSRef FileList)
+ghcjs_dom_html_input_element_get_files = undefined
+#endif
+ 
+htmlInputElementGetFiles ::
+                         (IsHTMLInputElement self) => self -> IO (Maybe FileList)
+htmlInputElementGetFiles self
+  = fmap FileList . maybeJSNull <$>
+      (ghcjs_dom_html_input_element_get_files
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formAction\"] = $2;"
+        ghcjs_dom_html_input_element_set_form_action ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_form_action ::
+                                               JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_form_action = undefined
+#endif
+ 
+htmlInputElementSetFormAction ::
+                              (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetFormAction self val
+  = ghcjs_dom_html_input_element_set_form_action
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formAction\"]"
+        ghcjs_dom_html_input_element_get_form_action ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_form_action ::
+                                               JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_form_action = undefined
+#endif
+ 
+htmlInputElementGetFormAction ::
+                              (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetFormAction self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_form_action
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formEnctype\"] = $2;"
+        ghcjs_dom_html_input_element_set_form_enctype ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_form_enctype ::
+                                                JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_form_enctype = undefined
+#endif
+ 
+htmlInputElementSetFormEnctype ::
+                               (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetFormEnctype self val
+  = ghcjs_dom_html_input_element_set_form_enctype
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formEnctype\"]"
+        ghcjs_dom_html_input_element_get_form_enctype ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_form_enctype ::
+                                                JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_form_enctype = undefined
+#endif
+ 
+htmlInputElementGetFormEnctype ::
+                               (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetFormEnctype self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_form_enctype
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formMethod\"] = $2;"
+        ghcjs_dom_html_input_element_set_form_method ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_form_method ::
+                                               JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_form_method = undefined
+#endif
+ 
+htmlInputElementSetFormMethod ::
+                              (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetFormMethod self val
+  = ghcjs_dom_html_input_element_set_form_method
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formMethod\"]"
+        ghcjs_dom_html_input_element_get_form_method ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_form_method ::
+                                               JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_form_method = undefined
+#endif
+ 
+htmlInputElementGetFormMethod ::
+                              (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetFormMethod self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_form_method
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formNoValidate\"] = $2;"
+        ghcjs_dom_html_input_element_set_form_no_validate ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_form_no_validate ::
+                                                    JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_form_no_validate = undefined
+#endif
+ 
+htmlInputElementSetFormNoValidate ::
+                                  (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetFormNoValidate self val
+  = ghcjs_dom_html_input_element_set_form_no_validate
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"formNoValidate\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_form_no_validate ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_form_no_validate ::
+                                                    JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_form_no_validate = undefined
+#endif
+ 
+htmlInputElementGetFormNoValidate ::
+                                  (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetFormNoValidate self
+  = ghcjs_dom_html_input_element_get_form_no_validate
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formTarget\"] = $2;"
+        ghcjs_dom_html_input_element_set_form_target ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_form_target ::
+                                               JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_form_target = undefined
+#endif
+ 
+htmlInputElementSetFormTarget ::
+                              (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetFormTarget self val
+  = ghcjs_dom_html_input_element_set_form_target
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"formTarget\"]"
+        ghcjs_dom_html_input_element_get_form_target ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_form_target ::
+                                               JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_form_target = undefined
+#endif
+ 
+htmlInputElementGetFormTarget ::
+                              (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetFormTarget self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_form_target
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"] = $2;"
+        ghcjs_dom_html_input_element_set_height ::
+        JSRef HTMLInputElement -> Word -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_height ::
+                                          JSRef HTMLInputElement -> Word -> IO ()
+ghcjs_dom_html_input_element_set_height = undefined
+#endif
+ 
+htmlInputElementSetHeight ::
+                          (IsHTMLInputElement self) => self -> Word -> IO ()
+htmlInputElementSetHeight self val
+  = ghcjs_dom_html_input_element_set_height
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_input_element_get_height ::
+        JSRef HTMLInputElement -> IO Word
+#else 
+ghcjs_dom_html_input_element_get_height ::
+                                          JSRef HTMLInputElement -> IO Word
+ghcjs_dom_html_input_element_get_height = undefined
+#endif
+ 
+htmlInputElementGetHeight ::
+                          (IsHTMLInputElement self) => self -> IO Word
+htmlInputElementGetHeight self
+  = ghcjs_dom_html_input_element_get_height
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"indeterminate\"] = $2;"
+        ghcjs_dom_html_input_element_set_indeterminate ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_indeterminate ::
+                                                 JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_indeterminate = undefined
+#endif
+ 
+htmlInputElementSetIndeterminate ::
+                                 (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetIndeterminate self val
+  = ghcjs_dom_html_input_element_set_indeterminate
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"indeterminate\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_indeterminate ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_indeterminate ::
+                                                 JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_indeterminate = undefined
+#endif
+ 
+htmlInputElementGetIndeterminate ::
+                                 (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetIndeterminate self
+  = ghcjs_dom_html_input_element_get_indeterminate
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"list\"]"
+        ghcjs_dom_html_input_element_get_list ::
+        JSRef HTMLInputElement -> IO (JSRef HTMLElement)
+#else 
+ghcjs_dom_html_input_element_get_list ::
+                                        JSRef HTMLInputElement -> IO (JSRef HTMLElement)
+ghcjs_dom_html_input_element_get_list = undefined
+#endif
+ 
+htmlInputElementGetList ::
+                        (IsHTMLInputElement self) => self -> IO (Maybe HTMLElement)
+htmlInputElementGetList self
+  = fmap HTMLElement . maybeJSNull <$>
+      (ghcjs_dom_html_input_element_get_list
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"max\"] = $2;"
+        ghcjs_dom_html_input_element_set_max ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_max ::
+                                       JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_max = undefined
+#endif
+ 
+htmlInputElementSetMax ::
+                       (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetMax self val
+  = ghcjs_dom_html_input_element_set_max
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"max\"]"
+        ghcjs_dom_html_input_element_get_max ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_max ::
+                                       JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_max = undefined
+#endif
+ 
+htmlInputElementGetMax ::
+                       (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetMax self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_max
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"maxLength\"] = $2;"
+        ghcjs_dom_html_input_element_set_max_length ::
+        JSRef HTMLInputElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_max_length ::
+                                              JSRef HTMLInputElement -> Int -> IO ()
+ghcjs_dom_html_input_element_set_max_length = undefined
+#endif
+ 
+htmlInputElementSetMaxLength ::
+                             (IsHTMLInputElement self) => self -> Int -> IO ()
+htmlInputElementSetMaxLength self val
+  = ghcjs_dom_html_input_element_set_max_length
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"maxLength\"]"
+        ghcjs_dom_html_input_element_get_max_length ::
+        JSRef HTMLInputElement -> IO Int
+#else 
+ghcjs_dom_html_input_element_get_max_length ::
+                                              JSRef HTMLInputElement -> IO Int
+ghcjs_dom_html_input_element_get_max_length = undefined
+#endif
+ 
+htmlInputElementGetMaxLength ::
+                             (IsHTMLInputElement self) => self -> IO Int
+htmlInputElementGetMaxLength self
+  = ghcjs_dom_html_input_element_get_max_length
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"min\"] = $2;"
+        ghcjs_dom_html_input_element_set_min ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_min ::
+                                       JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_min = undefined
+#endif
+ 
+htmlInputElementSetMin ::
+                       (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetMin self val
+  = ghcjs_dom_html_input_element_set_min
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"min\"]"
+        ghcjs_dom_html_input_element_get_min ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_min ::
+                                       JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_min = undefined
+#endif
+ 
+htmlInputElementGetMin ::
+                       (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetMin self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_min
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"multiple\"] = $2;"
+        ghcjs_dom_html_input_element_set_multiple ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_multiple ::
+                                            JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_multiple = undefined
+#endif
+ 
+htmlInputElementSetMultiple ::
+                            (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetMultiple self val
+  = ghcjs_dom_html_input_element_set_multiple
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"multiple\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_multiple ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_multiple ::
+                                            JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_multiple = undefined
+#endif
+ 
+htmlInputElementGetMultiple ::
+                            (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetMultiple self
+  = ghcjs_dom_html_input_element_get_multiple
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_input_element_set_name ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_name ::
+                                        JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_name = undefined
+#endif
+ 
+htmlInputElementSetName ::
+                        (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetName self val
+  = ghcjs_dom_html_input_element_set_name
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_input_element_get_name ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_name ::
+                                        JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_name = undefined
+#endif
+ 
+htmlInputElementGetName ::
+                        (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_name
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pattern\"] = $2;"
+        ghcjs_dom_html_input_element_set_pattern ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_pattern ::
+                                           JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_pattern = undefined
+#endif
+ 
+htmlInputElementSetPattern ::
+                           (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetPattern self val
+  = ghcjs_dom_html_input_element_set_pattern
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pattern\"]"
+        ghcjs_dom_html_input_element_get_pattern ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_pattern ::
+                                           JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_pattern = undefined
+#endif
+ 
+htmlInputElementGetPattern ::
+                           (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetPattern self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_pattern
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"placeholder\"] = $2;"
+        ghcjs_dom_html_input_element_set_placeholder ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_placeholder ::
+                                               JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_placeholder = undefined
+#endif
+ 
+htmlInputElementSetPlaceholder ::
+                               (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetPlaceholder self val
+  = ghcjs_dom_html_input_element_set_placeholder
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"placeholder\"]"
+        ghcjs_dom_html_input_element_get_placeholder ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_placeholder ::
+                                               JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_placeholder = undefined
+#endif
+ 
+htmlInputElementGetPlaceholder ::
+                               (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetPlaceholder self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_placeholder
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"readOnly\"] = $2;"
+        ghcjs_dom_html_input_element_set_read_only ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_read_only ::
+                                             JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_read_only = undefined
+#endif
+ 
+htmlInputElementSetReadOnly ::
+                            (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetReadOnly self val
+  = ghcjs_dom_html_input_element_set_read_only
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"readOnly\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_read_only ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_read_only ::
+                                             JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_read_only = undefined
+#endif
+ 
+htmlInputElementGetReadOnly ::
+                            (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetReadOnly self
+  = ghcjs_dom_html_input_element_get_read_only
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"required\"] = $2;"
+        ghcjs_dom_html_input_element_set_required ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_required ::
+                                            JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_required = undefined
+#endif
+ 
+htmlInputElementSetRequired ::
+                            (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetRequired self val
+  = ghcjs_dom_html_input_element_set_required
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"required\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_required ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_required ::
+                                            JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_required = undefined
+#endif
+ 
+htmlInputElementGetRequired ::
+                            (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetRequired self
+  = ghcjs_dom_html_input_element_get_required
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"size\"] = $2;"
+        ghcjs_dom_html_input_element_set_size ::
+        JSRef HTMLInputElement -> Word -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_size ::
+                                        JSRef HTMLInputElement -> Word -> IO ()
+ghcjs_dom_html_input_element_set_size = undefined
+#endif
+ 
+htmlInputElementSetSize ::
+                        (IsHTMLInputElement self) => self -> Word -> IO ()
+htmlInputElementSetSize self val
+  = ghcjs_dom_html_input_element_set_size
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"size\"]"
+        ghcjs_dom_html_input_element_get_size ::
+        JSRef HTMLInputElement -> IO Word
+#else 
+ghcjs_dom_html_input_element_get_size ::
+                                        JSRef HTMLInputElement -> IO Word
+ghcjs_dom_html_input_element_get_size = undefined
+#endif
+ 
+htmlInputElementGetSize ::
+                        (IsHTMLInputElement self) => self -> IO Word
+htmlInputElementGetSize self
+  = ghcjs_dom_html_input_element_get_size
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"] = $2;"
+        ghcjs_dom_html_input_element_set_src ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_src ::
+                                       JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_src = undefined
+#endif
+ 
+htmlInputElementSetSrc ::
+                       (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetSrc self val
+  = ghcjs_dom_html_input_element_set_src
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"]"
+        ghcjs_dom_html_input_element_get_src ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_src ::
+                                       JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_src = undefined
+#endif
+ 
+htmlInputElementGetSrc ::
+                       (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetSrc self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_src
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"step\"] = $2;"
+        ghcjs_dom_html_input_element_set_step ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_step ::
+                                        JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_step = undefined
+#endif
+ 
+htmlInputElementSetStep ::
+                        (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetStep self val
+  = ghcjs_dom_html_input_element_set_step
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"step\"]"
+        ghcjs_dom_html_input_element_get_step ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_step ::
+                                        JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_step = undefined
+#endif
+ 
+htmlInputElementGetStep ::
+                        (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetStep self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_step
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultValue\"] = $2;"
+        ghcjs_dom_html_input_element_set_default_value ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_default_value ::
+                                                 JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_default_value = undefined
+#endif
+ 
+htmlInputElementSetDefaultValue ::
+                                (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetDefaultValue self val
+  = ghcjs_dom_html_input_element_set_default_value
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultValue\"]"
+        ghcjs_dom_html_input_element_get_default_value ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_default_value ::
+                                                 JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_default_value = undefined
+#endif
+ 
+htmlInputElementGetDefaultValue ::
+                                (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetDefaultValue self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_default_value
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"] = $2;"
+        ghcjs_dom_html_input_element_set_value ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_value ::
+                                         JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_value = undefined
+#endif
+ 
+htmlInputElementSetValue ::
+                         (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetValue self val
+  = ghcjs_dom_html_input_element_set_value
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"]"
+        ghcjs_dom_html_input_element_get_value ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_value ::
+                                         JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_value = undefined
+#endif
+ 
+htmlInputElementGetValue ::
+                         (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetValue self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_value
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"valueAsNumber\"] = $2;"
+        ghcjs_dom_html_input_element_set_value_as_number ::
+        JSRef HTMLInputElement -> Double -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_value_as_number ::
+                                                   JSRef HTMLInputElement -> Double -> IO ()
+ghcjs_dom_html_input_element_set_value_as_number = undefined
+#endif
+ 
+htmlInputElementSetValueAsNumber ::
+                                 (IsHTMLInputElement self) => self -> Double -> IO ()
+htmlInputElementSetValueAsNumber self val
+  = ghcjs_dom_html_input_element_set_value_as_number
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"valueAsNumber\"]"
+        ghcjs_dom_html_input_element_get_value_as_number ::
+        JSRef HTMLInputElement -> IO Double
+#else 
+ghcjs_dom_html_input_element_get_value_as_number ::
+                                                   JSRef HTMLInputElement -> IO Double
+ghcjs_dom_html_input_element_get_value_as_number = undefined
+#endif
+ 
+htmlInputElementGetValueAsNumber ::
+                                 (IsHTMLInputElement self) => self -> IO Double
+htmlInputElementGetValueAsNumber self
+  = ghcjs_dom_html_input_element_get_value_as_number
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_input_element_set_width ::
+        JSRef HTMLInputElement -> Word -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_width ::
+                                         JSRef HTMLInputElement -> Word -> IO ()
+ghcjs_dom_html_input_element_set_width = undefined
+#endif
+ 
+htmlInputElementSetWidth ::
+                         (IsHTMLInputElement self) => self -> Word -> IO ()
+htmlInputElementSetWidth self val
+  = ghcjs_dom_html_input_element_set_width
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_input_element_get_width ::
+        JSRef HTMLInputElement -> IO Word
+#else 
+ghcjs_dom_html_input_element_get_width ::
+                                         JSRef HTMLInputElement -> IO Word
+ghcjs_dom_html_input_element_get_width = undefined
+#endif
+ 
+htmlInputElementGetWidth ::
+                         (IsHTMLInputElement self) => self -> IO Word
+htmlInputElementGetWidth self
+  = ghcjs_dom_html_input_element_get_width
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"willValidate\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_will_validate ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_will_validate ::
+                                                 JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_will_validate = undefined
+#endif
+ 
+htmlInputElementGetWillValidate ::
+                                (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetWillValidate self
+  = ghcjs_dom_html_input_element_get_will_validate
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validity\"]"
+        ghcjs_dom_html_input_element_get_validity ::
+        JSRef HTMLInputElement -> IO (JSRef ValidityState)
+#else 
+ghcjs_dom_html_input_element_get_validity ::
+                                            JSRef HTMLInputElement -> IO (JSRef ValidityState)
+ghcjs_dom_html_input_element_get_validity = undefined
+#endif
+ 
+htmlInputElementGetValidity ::
+                            (IsHTMLInputElement self) => self -> IO (Maybe ValidityState)
+htmlInputElementGetValidity self
+  = fmap ValidityState . maybeJSNull <$>
+      (ghcjs_dom_html_input_element_get_validity
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validationMessage\"]"
+        ghcjs_dom_html_input_element_get_validation_message ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_validation_message ::
+                                                      JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_validation_message = undefined
+#endif
+ 
+htmlInputElementGetValidationMessage ::
+                                     (IsHTMLInputElement self, FromJSString result) =>
+                                       self -> IO result
+htmlInputElementGetValidationMessage self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_validation_message
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"labels\"]"
+        ghcjs_dom_html_input_element_get_labels ::
+        JSRef HTMLInputElement -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_html_input_element_get_labels ::
+                                          JSRef HTMLInputElement -> IO (JSRef NodeList)
+ghcjs_dom_html_input_element_get_labels = undefined
+#endif
+ 
+htmlInputElementGetLabels ::
+                          (IsHTMLInputElement self) => self -> IO (Maybe NodeList)
+htmlInputElementGetLabels self
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_html_input_element_get_labels
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"] = $2;"
+        ghcjs_dom_html_input_element_set_align ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_align ::
+                                         JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_align = undefined
+#endif
+ 
+htmlInputElementSetAlign ::
+                         (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetAlign self val
+  = ghcjs_dom_html_input_element_set_align
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_input_element_get_align ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_align ::
+                                         JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_align = undefined
+#endif
+ 
+htmlInputElementGetAlign ::
+                         (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_align
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitdirectory\"] = $2;"
+        ghcjs_dom_html_input_element_set_webkitdirectory ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_webkitdirectory ::
+                                                   JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_webkitdirectory = undefined
+#endif
+ 
+htmlInputElementSetWebkitdirectory ::
+                                   (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetWebkitdirectory self val
+  = ghcjs_dom_html_input_element_set_webkitdirectory
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"webkitdirectory\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_webkitdirectory ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_webkitdirectory ::
+                                                   JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_webkitdirectory = undefined
+#endif
+ 
+htmlInputElementGetWebkitdirectory ::
+                                   (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetWebkitdirectory self
+  = ghcjs_dom_html_input_element_get_webkitdirectory
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"useMap\"] = $2;"
+        ghcjs_dom_html_input_element_set_use_map ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_use_map ::
+                                           JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_use_map = undefined
+#endif
+ 
+htmlInputElementSetUseMap ::
+                          (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetUseMap self val
+  = ghcjs_dom_html_input_element_set_use_map
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"useMap\"]"
+        ghcjs_dom_html_input_element_get_use_map ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_use_map ::
+                                           JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_use_map = undefined
+#endif
+ 
+htmlInputElementGetUseMap ::
+                          (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetUseMap self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_use_map
+         (unHTMLInputElement (toHTMLInputElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"incremental\"] = $2;"
+        ghcjs_dom_html_input_element_set_incremental ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_incremental ::
+                                               JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_incremental = undefined
+#endif
+ 
+htmlInputElementSetIncremental ::
+                               (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetIncremental self val
+  = ghcjs_dom_html_input_element_set_incremental
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"incremental\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_incremental ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_incremental ::
+                                               JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_incremental = undefined
+#endif
+ 
+htmlInputElementGetIncremental ::
+                               (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetIncremental self
+  = ghcjs_dom_html_input_element_get_incremental
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitSpeech\"] = $2;"
+        ghcjs_dom_html_input_element_set_webkit_speech ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_webkit_speech ::
+                                                 JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_webkit_speech = undefined
+#endif
+ 
+htmlInputElementSetWebkitSpeech ::
+                                (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetWebkitSpeech self val
+  = ghcjs_dom_html_input_element_set_webkit_speech
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"webkitSpeech\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_webkit_speech ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_webkit_speech ::
+                                                 JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_webkit_speech = undefined
+#endif
+ 
+htmlInputElementGetWebkitSpeech ::
+                                (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetWebkitSpeech self
+  = ghcjs_dom_html_input_element_get_webkit_speech
+      (unHTMLInputElement (toHTMLInputElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitGrammar\"] = $2;"
+        ghcjs_dom_html_input_element_set_webkit_grammar ::
+        JSRef HTMLInputElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_webkit_grammar ::
+                                                  JSRef HTMLInputElement -> Bool -> IO ()
+ghcjs_dom_html_input_element_set_webkit_grammar = undefined
+#endif
+ 
+htmlInputElementSetWebkitGrammar ::
+                                 (IsHTMLInputElement self) => self -> Bool -> IO ()
+htmlInputElementSetWebkitGrammar self val
+  = ghcjs_dom_html_input_element_set_webkit_grammar
+      (unHTMLInputElement (toHTMLInputElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"webkitGrammar\"] ? 1 : 0)"
+        ghcjs_dom_html_input_element_get_webkit_grammar ::
+        JSRef HTMLInputElement -> IO Bool
+#else 
+ghcjs_dom_html_input_element_get_webkit_grammar ::
+                                                  JSRef HTMLInputElement -> IO Bool
+ghcjs_dom_html_input_element_get_webkit_grammar = undefined
+#endif
+ 
+htmlInputElementGetWebkitGrammar ::
+                                 (IsHTMLInputElement self) => self -> IO Bool
+htmlInputElementGetWebkitGrammar self
+  = ghcjs_dom_html_input_element_get_webkit_grammar
+      (unHTMLInputElement (toHTMLInputElement self))
+ 
+htmlInputElementOnwebkitspeechchange ::
+                                     (IsHTMLInputElement self) =>
+                                       Signal self (EventM UIEvent self ())
+htmlInputElementOnwebkitspeechchange
+  = (connect "webkitspeechchange")
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"capture\"] = $2;"
+        ghcjs_dom_html_input_element_set_capture ::
+        JSRef HTMLInputElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_input_element_set_capture ::
+                                           JSRef HTMLInputElement -> JSString -> IO ()
+ghcjs_dom_html_input_element_set_capture = undefined
+#endif
+ 
+htmlInputElementSetCapture ::
+                           (IsHTMLInputElement self, ToJSString val) => self -> val -> IO ()
+htmlInputElementSetCapture self val
+  = ghcjs_dom_html_input_element_set_capture
+      (unHTMLInputElement (toHTMLInputElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"capture\"]"
+        ghcjs_dom_html_input_element_get_capture ::
+        JSRef HTMLInputElement -> IO JSString
+#else 
+ghcjs_dom_html_input_element_get_capture ::
+                                           JSRef HTMLInputElement -> IO JSString
+ghcjs_dom_html_input_element_get_capture = undefined
+#endif
+ 
+htmlInputElementGetCapture ::
+                           (IsHTMLInputElement self, FromJSString result) => self -> IO result
+htmlInputElementGetCapture self
+  = fromJSString <$>
+      (ghcjs_dom_html_input_element_get_capture
+         (unHTMLInputElement (toHTMLInputElement self)))
+#else
+module GHCJS.DOM.HTMLInputElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLInputElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLInputElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLKeygenElement.hs b/src/GHCJS/DOM/HTMLKeygenElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLKeygenElement.hs
@@ -0,0 +1,363 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLKeygenElement
+       (ghcjs_dom_html_keygen_element_check_validity,
+        htmlKeygenElementCheckValidity,
+        ghcjs_dom_html_keygen_element_set_custom_validity,
+        htmlKeygenElementSetCustomValidity,
+        ghcjs_dom_html_keygen_element_set_autofocus,
+        htmlKeygenElementSetAutofocus,
+        ghcjs_dom_html_keygen_element_get_autofocus,
+        htmlKeygenElementGetAutofocus,
+        ghcjs_dom_html_keygen_element_set_challenge,
+        htmlKeygenElementSetChallenge,
+        ghcjs_dom_html_keygen_element_get_challenge,
+        htmlKeygenElementGetChallenge,
+        ghcjs_dom_html_keygen_element_set_disabled,
+        htmlKeygenElementSetDisabled,
+        ghcjs_dom_html_keygen_element_get_disabled,
+        htmlKeygenElementGetDisabled,
+        ghcjs_dom_html_keygen_element_get_form, htmlKeygenElementGetForm,
+        ghcjs_dom_html_keygen_element_set_keytype,
+        htmlKeygenElementSetKeytype,
+        ghcjs_dom_html_keygen_element_get_keytype,
+        htmlKeygenElementGetKeytype,
+        ghcjs_dom_html_keygen_element_set_name, htmlKeygenElementSetName,
+        ghcjs_dom_html_keygen_element_get_name, htmlKeygenElementGetName,
+        ghcjs_dom_html_keygen_element_get_will_validate,
+        htmlKeygenElementGetWillValidate,
+        ghcjs_dom_html_keygen_element_get_validity,
+        htmlKeygenElementGetValidity,
+        ghcjs_dom_html_keygen_element_get_validation_message,
+        htmlKeygenElementGetValidationMessage,
+        ghcjs_dom_html_keygen_element_get_labels,
+        htmlKeygenElementGetLabels)
+       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[\"checkValidity\"]() ? 1 : 0)"
+        ghcjs_dom_html_keygen_element_check_validity ::
+        JSRef HTMLKeygenElement -> IO Bool
+#else 
+ghcjs_dom_html_keygen_element_check_validity ::
+                                               JSRef HTMLKeygenElement -> IO Bool
+ghcjs_dom_html_keygen_element_check_validity = undefined
+#endif
+ 
+htmlKeygenElementCheckValidity ::
+                               (IsHTMLKeygenElement self) => self -> IO Bool
+htmlKeygenElementCheckValidity self
+  = ghcjs_dom_html_keygen_element_check_validity
+      (unHTMLKeygenElement (toHTMLKeygenElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setCustomValidity\"]($2)"
+        ghcjs_dom_html_keygen_element_set_custom_validity ::
+        JSRef HTMLKeygenElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_keygen_element_set_custom_validity ::
+                                                    JSRef HTMLKeygenElement -> JSString -> IO ()
+ghcjs_dom_html_keygen_element_set_custom_validity = undefined
+#endif
+ 
+htmlKeygenElementSetCustomValidity ::
+                                   (IsHTMLKeygenElement self, ToJSString error) =>
+                                     self -> error -> IO ()
+htmlKeygenElementSetCustomValidity self error
+  = ghcjs_dom_html_keygen_element_set_custom_validity
+      (unHTMLKeygenElement (toHTMLKeygenElement self))
+      (toJSString error)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"autofocus\"] = $2;"
+        ghcjs_dom_html_keygen_element_set_autofocus ::
+        JSRef HTMLKeygenElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_keygen_element_set_autofocus ::
+                                              JSRef HTMLKeygenElement -> Bool -> IO ()
+ghcjs_dom_html_keygen_element_set_autofocus = undefined
+#endif
+ 
+htmlKeygenElementSetAutofocus ::
+                              (IsHTMLKeygenElement self) => self -> Bool -> IO ()
+htmlKeygenElementSetAutofocus self val
+  = ghcjs_dom_html_keygen_element_set_autofocus
+      (unHTMLKeygenElement (toHTMLKeygenElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"autofocus\"] ? 1 : 0)"
+        ghcjs_dom_html_keygen_element_get_autofocus ::
+        JSRef HTMLKeygenElement -> IO Bool
+#else 
+ghcjs_dom_html_keygen_element_get_autofocus ::
+                                              JSRef HTMLKeygenElement -> IO Bool
+ghcjs_dom_html_keygen_element_get_autofocus = undefined
+#endif
+ 
+htmlKeygenElementGetAutofocus ::
+                              (IsHTMLKeygenElement self) => self -> IO Bool
+htmlKeygenElementGetAutofocus self
+  = ghcjs_dom_html_keygen_element_get_autofocus
+      (unHTMLKeygenElement (toHTMLKeygenElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"challenge\"] = $2;"
+        ghcjs_dom_html_keygen_element_set_challenge ::
+        JSRef HTMLKeygenElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_keygen_element_set_challenge ::
+                                              JSRef HTMLKeygenElement -> JSString -> IO ()
+ghcjs_dom_html_keygen_element_set_challenge = undefined
+#endif
+ 
+htmlKeygenElementSetChallenge ::
+                              (IsHTMLKeygenElement self, ToJSString val) => self -> val -> IO ()
+htmlKeygenElementSetChallenge self val
+  = ghcjs_dom_html_keygen_element_set_challenge
+      (unHTMLKeygenElement (toHTMLKeygenElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"challenge\"]"
+        ghcjs_dom_html_keygen_element_get_challenge ::
+        JSRef HTMLKeygenElement -> IO JSString
+#else 
+ghcjs_dom_html_keygen_element_get_challenge ::
+                                              JSRef HTMLKeygenElement -> IO JSString
+ghcjs_dom_html_keygen_element_get_challenge = undefined
+#endif
+ 
+htmlKeygenElementGetChallenge ::
+                              (IsHTMLKeygenElement self, FromJSString result) =>
+                                self -> IO result
+htmlKeygenElementGetChallenge self
+  = fromJSString <$>
+      (ghcjs_dom_html_keygen_element_get_challenge
+         (unHTMLKeygenElement (toHTMLKeygenElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"disabled\"] = $2;"
+        ghcjs_dom_html_keygen_element_set_disabled ::
+        JSRef HTMLKeygenElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_keygen_element_set_disabled ::
+                                             JSRef HTMLKeygenElement -> Bool -> IO ()
+ghcjs_dom_html_keygen_element_set_disabled = undefined
+#endif
+ 
+htmlKeygenElementSetDisabled ::
+                             (IsHTMLKeygenElement self) => self -> Bool -> IO ()
+htmlKeygenElementSetDisabled self val
+  = ghcjs_dom_html_keygen_element_set_disabled
+      (unHTMLKeygenElement (toHTMLKeygenElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_html_keygen_element_get_disabled ::
+        JSRef HTMLKeygenElement -> IO Bool
+#else 
+ghcjs_dom_html_keygen_element_get_disabled ::
+                                             JSRef HTMLKeygenElement -> IO Bool
+ghcjs_dom_html_keygen_element_get_disabled = undefined
+#endif
+ 
+htmlKeygenElementGetDisabled ::
+                             (IsHTMLKeygenElement self) => self -> IO Bool
+htmlKeygenElementGetDisabled self
+  = ghcjs_dom_html_keygen_element_get_disabled
+      (unHTMLKeygenElement (toHTMLKeygenElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"form\"]"
+        ghcjs_dom_html_keygen_element_get_form ::
+        JSRef HTMLKeygenElement -> IO (JSRef HTMLFormElement)
+#else 
+ghcjs_dom_html_keygen_element_get_form ::
+                                         JSRef HTMLKeygenElement -> IO (JSRef HTMLFormElement)
+ghcjs_dom_html_keygen_element_get_form = undefined
+#endif
+ 
+htmlKeygenElementGetForm ::
+                         (IsHTMLKeygenElement self) => self -> IO (Maybe HTMLFormElement)
+htmlKeygenElementGetForm self
+  = fmap HTMLFormElement . maybeJSNull <$>
+      (ghcjs_dom_html_keygen_element_get_form
+         (unHTMLKeygenElement (toHTMLKeygenElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"keytype\"] = $2;"
+        ghcjs_dom_html_keygen_element_set_keytype ::
+        JSRef HTMLKeygenElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_keygen_element_set_keytype ::
+                                            JSRef HTMLKeygenElement -> JSString -> IO ()
+ghcjs_dom_html_keygen_element_set_keytype = undefined
+#endif
+ 
+htmlKeygenElementSetKeytype ::
+                            (IsHTMLKeygenElement self, ToJSString val) => self -> val -> IO ()
+htmlKeygenElementSetKeytype self val
+  = ghcjs_dom_html_keygen_element_set_keytype
+      (unHTMLKeygenElement (toHTMLKeygenElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"keytype\"]"
+        ghcjs_dom_html_keygen_element_get_keytype ::
+        JSRef HTMLKeygenElement -> IO JSString
+#else 
+ghcjs_dom_html_keygen_element_get_keytype ::
+                                            JSRef HTMLKeygenElement -> IO JSString
+ghcjs_dom_html_keygen_element_get_keytype = undefined
+#endif
+ 
+htmlKeygenElementGetKeytype ::
+                            (IsHTMLKeygenElement self, FromJSString result) =>
+                              self -> IO result
+htmlKeygenElementGetKeytype self
+  = fromJSString <$>
+      (ghcjs_dom_html_keygen_element_get_keytype
+         (unHTMLKeygenElement (toHTMLKeygenElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_keygen_element_set_name ::
+        JSRef HTMLKeygenElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_keygen_element_set_name ::
+                                         JSRef HTMLKeygenElement -> JSString -> IO ()
+ghcjs_dom_html_keygen_element_set_name = undefined
+#endif
+ 
+htmlKeygenElementSetName ::
+                         (IsHTMLKeygenElement self, ToJSString val) => self -> val -> IO ()
+htmlKeygenElementSetName self val
+  = ghcjs_dom_html_keygen_element_set_name
+      (unHTMLKeygenElement (toHTMLKeygenElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_keygen_element_get_name ::
+        JSRef HTMLKeygenElement -> IO JSString
+#else 
+ghcjs_dom_html_keygen_element_get_name ::
+                                         JSRef HTMLKeygenElement -> IO JSString
+ghcjs_dom_html_keygen_element_get_name = undefined
+#endif
+ 
+htmlKeygenElementGetName ::
+                         (IsHTMLKeygenElement self, FromJSString result) =>
+                           self -> IO result
+htmlKeygenElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_keygen_element_get_name
+         (unHTMLKeygenElement (toHTMLKeygenElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"willValidate\"] ? 1 : 0)"
+        ghcjs_dom_html_keygen_element_get_will_validate ::
+        JSRef HTMLKeygenElement -> IO Bool
+#else 
+ghcjs_dom_html_keygen_element_get_will_validate ::
+                                                  JSRef HTMLKeygenElement -> IO Bool
+ghcjs_dom_html_keygen_element_get_will_validate = undefined
+#endif
+ 
+htmlKeygenElementGetWillValidate ::
+                                 (IsHTMLKeygenElement self) => self -> IO Bool
+htmlKeygenElementGetWillValidate self
+  = ghcjs_dom_html_keygen_element_get_will_validate
+      (unHTMLKeygenElement (toHTMLKeygenElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validity\"]"
+        ghcjs_dom_html_keygen_element_get_validity ::
+        JSRef HTMLKeygenElement -> IO (JSRef ValidityState)
+#else 
+ghcjs_dom_html_keygen_element_get_validity ::
+                                             JSRef HTMLKeygenElement -> IO (JSRef ValidityState)
+ghcjs_dom_html_keygen_element_get_validity = undefined
+#endif
+ 
+htmlKeygenElementGetValidity ::
+                             (IsHTMLKeygenElement self) => self -> IO (Maybe ValidityState)
+htmlKeygenElementGetValidity self
+  = fmap ValidityState . maybeJSNull <$>
+      (ghcjs_dom_html_keygen_element_get_validity
+         (unHTMLKeygenElement (toHTMLKeygenElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validationMessage\"]"
+        ghcjs_dom_html_keygen_element_get_validation_message ::
+        JSRef HTMLKeygenElement -> IO JSString
+#else 
+ghcjs_dom_html_keygen_element_get_validation_message ::
+                                                       JSRef HTMLKeygenElement -> IO JSString
+ghcjs_dom_html_keygen_element_get_validation_message = undefined
+#endif
+ 
+htmlKeygenElementGetValidationMessage ::
+                                      (IsHTMLKeygenElement self, FromJSString result) =>
+                                        self -> IO result
+htmlKeygenElementGetValidationMessage self
+  = fromJSString <$>
+      (ghcjs_dom_html_keygen_element_get_validation_message
+         (unHTMLKeygenElement (toHTMLKeygenElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"labels\"]"
+        ghcjs_dom_html_keygen_element_get_labels ::
+        JSRef HTMLKeygenElement -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_html_keygen_element_get_labels ::
+                                           JSRef HTMLKeygenElement -> IO (JSRef NodeList)
+ghcjs_dom_html_keygen_element_get_labels = undefined
+#endif
+ 
+htmlKeygenElementGetLabels ::
+                           (IsHTMLKeygenElement self) => self -> IO (Maybe NodeList)
+htmlKeygenElementGetLabels self
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_html_keygen_element_get_labels
+         (unHTMLKeygenElement (toHTMLKeygenElement self)))
+#else
+module GHCJS.DOM.HTMLKeygenElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLKeygenElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLKeygenElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLLIElement.hs b/src/GHCJS/DOM/HTMLLIElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLLIElement.hs
@@ -0,0 +1,58 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLLIElement
+       (ghcjs_dom_htmlli_element_set_value, htmlliElementSetValue,
+        ghcjs_dom_htmlli_element_get_value, htmlliElementGetValue)
+       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[\"value\"] = $2;"
+        ghcjs_dom_htmlli_element_set_value ::
+        JSRef HTMLLIElement -> Int -> IO ()
+#else 
+ghcjs_dom_htmlli_element_set_value ::
+                                     JSRef HTMLLIElement -> Int -> IO ()
+ghcjs_dom_htmlli_element_set_value = undefined
+#endif
+ 
+htmlliElementSetValue ::
+                      (IsHTMLLIElement self) => self -> Int -> IO ()
+htmlliElementSetValue self val
+  = ghcjs_dom_htmlli_element_set_value
+      (unHTMLLIElement (toHTMLLIElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"]"
+        ghcjs_dom_htmlli_element_get_value :: JSRef HTMLLIElement -> IO Int
+#else 
+ghcjs_dom_htmlli_element_get_value :: JSRef HTMLLIElement -> IO Int
+ghcjs_dom_htmlli_element_get_value = undefined
+#endif
+ 
+htmlliElementGetValue :: (IsHTMLLIElement self) => self -> IO Int
+htmlliElementGetValue self
+  = ghcjs_dom_htmlli_element_get_value
+      (unHTMLLIElement (toHTMLLIElement self))
+#else
+module GHCJS.DOM.HTMLLIElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLLIElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLLIElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLLabelElement.hs b/src/GHCJS/DOM/HTMLLabelElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLLabelElement.hs
@@ -0,0 +1,103 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLLabelElement
+       (ghcjs_dom_html_label_element_get_form, htmlLabelElementGetForm,
+        ghcjs_dom_html_label_element_set_html_for,
+        htmlLabelElementSetHtmlFor,
+        ghcjs_dom_html_label_element_get_html_for,
+        htmlLabelElementGetHtmlFor,
+        ghcjs_dom_html_label_element_get_control,
+        htmlLabelElementGetControl)
+       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[\"form\"]"
+        ghcjs_dom_html_label_element_get_form ::
+        JSRef HTMLLabelElement -> IO (JSRef HTMLFormElement)
+#else 
+ghcjs_dom_html_label_element_get_form ::
+                                        JSRef HTMLLabelElement -> IO (JSRef HTMLFormElement)
+ghcjs_dom_html_label_element_get_form = undefined
+#endif
+ 
+htmlLabelElementGetForm ::
+                        (IsHTMLLabelElement self) => self -> IO (Maybe HTMLFormElement)
+htmlLabelElementGetForm self
+  = fmap HTMLFormElement . maybeJSNull <$>
+      (ghcjs_dom_html_label_element_get_form
+         (unHTMLLabelElement (toHTMLLabelElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"htmlFor\"] = $2;"
+        ghcjs_dom_html_label_element_set_html_for ::
+        JSRef HTMLLabelElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_label_element_set_html_for ::
+                                            JSRef HTMLLabelElement -> JSString -> IO ()
+ghcjs_dom_html_label_element_set_html_for = undefined
+#endif
+ 
+htmlLabelElementSetHtmlFor ::
+                           (IsHTMLLabelElement self, ToJSString val) => self -> val -> IO ()
+htmlLabelElementSetHtmlFor self val
+  = ghcjs_dom_html_label_element_set_html_for
+      (unHTMLLabelElement (toHTMLLabelElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"htmlFor\"]"
+        ghcjs_dom_html_label_element_get_html_for ::
+        JSRef HTMLLabelElement -> IO JSString
+#else 
+ghcjs_dom_html_label_element_get_html_for ::
+                                            JSRef HTMLLabelElement -> IO JSString
+ghcjs_dom_html_label_element_get_html_for = undefined
+#endif
+ 
+htmlLabelElementGetHtmlFor ::
+                           (IsHTMLLabelElement self, FromJSString result) => self -> IO result
+htmlLabelElementGetHtmlFor self
+  = fromJSString <$>
+      (ghcjs_dom_html_label_element_get_html_for
+         (unHTMLLabelElement (toHTMLLabelElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"control\"]"
+        ghcjs_dom_html_label_element_get_control ::
+        JSRef HTMLLabelElement -> IO (JSRef HTMLElement)
+#else 
+ghcjs_dom_html_label_element_get_control ::
+                                           JSRef HTMLLabelElement -> IO (JSRef HTMLElement)
+ghcjs_dom_html_label_element_get_control = undefined
+#endif
+ 
+htmlLabelElementGetControl ::
+                           (IsHTMLLabelElement self) => self -> IO (Maybe HTMLElement)
+htmlLabelElementGetControl self
+  = fmap HTMLElement . maybeJSNull <$>
+      (ghcjs_dom_html_label_element_get_control
+         (unHTMLLabelElement (toHTMLLabelElement self)))
+#else
+module GHCJS.DOM.HTMLLabelElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLLabelElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLLabelElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLLegendElement.hs b/src/GHCJS/DOM/HTMLLegendElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLLegendElement.hs
@@ -0,0 +1,82 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLLegendElement
+       (ghcjs_dom_html_legend_element_get_form, htmlLegendElementGetForm,
+        ghcjs_dom_html_legend_element_set_align, htmlLegendElementSetAlign,
+        ghcjs_dom_html_legend_element_get_align, htmlLegendElementGetAlign)
+       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[\"form\"]"
+        ghcjs_dom_html_legend_element_get_form ::
+        JSRef HTMLLegendElement -> IO (JSRef HTMLFormElement)
+#else 
+ghcjs_dom_html_legend_element_get_form ::
+                                         JSRef HTMLLegendElement -> IO (JSRef HTMLFormElement)
+ghcjs_dom_html_legend_element_get_form = undefined
+#endif
+ 
+htmlLegendElementGetForm ::
+                         (IsHTMLLegendElement self) => self -> IO (Maybe HTMLFormElement)
+htmlLegendElementGetForm self
+  = fmap HTMLFormElement . maybeJSNull <$>
+      (ghcjs_dom_html_legend_element_get_form
+         (unHTMLLegendElement (toHTMLLegendElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"] = $2;"
+        ghcjs_dom_html_legend_element_set_align ::
+        JSRef HTMLLegendElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_legend_element_set_align ::
+                                          JSRef HTMLLegendElement -> JSString -> IO ()
+ghcjs_dom_html_legend_element_set_align = undefined
+#endif
+ 
+htmlLegendElementSetAlign ::
+                          (IsHTMLLegendElement self, ToJSString val) => self -> val -> IO ()
+htmlLegendElementSetAlign self val
+  = ghcjs_dom_html_legend_element_set_align
+      (unHTMLLegendElement (toHTMLLegendElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_legend_element_get_align ::
+        JSRef HTMLLegendElement -> IO JSString
+#else 
+ghcjs_dom_html_legend_element_get_align ::
+                                          JSRef HTMLLegendElement -> IO JSString
+ghcjs_dom_html_legend_element_get_align = undefined
+#endif
+ 
+htmlLegendElementGetAlign ::
+                          (IsHTMLLegendElement self, FromJSString result) =>
+                            self -> IO result
+htmlLegendElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_legend_element_get_align
+         (unHTMLLegendElement (toHTMLLegendElement self)))
+#else
+module GHCJS.DOM.HTMLLegendElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLLegendElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLLegendElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLLinkElement.hs b/src/GHCJS/DOM/HTMLLinkElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLLinkElement.hs
@@ -0,0 +1,350 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLLinkElement
+       (ghcjs_dom_html_link_element_set_disabled,
+        htmlLinkElementSetDisabled,
+        ghcjs_dom_html_link_element_get_disabled,
+        htmlLinkElementGetDisabled,
+        ghcjs_dom_html_link_element_set_charset, htmlLinkElementSetCharset,
+        ghcjs_dom_html_link_element_get_charset, htmlLinkElementGetCharset,
+        ghcjs_dom_html_link_element_set_href, htmlLinkElementSetHref,
+        ghcjs_dom_html_link_element_get_href, htmlLinkElementGetHref,
+        ghcjs_dom_html_link_element_set_hreflang,
+        htmlLinkElementSetHreflang,
+        ghcjs_dom_html_link_element_get_hreflang,
+        htmlLinkElementGetHreflang, ghcjs_dom_html_link_element_set_media,
+        htmlLinkElementSetMedia, ghcjs_dom_html_link_element_get_media,
+        htmlLinkElementGetMedia, ghcjs_dom_html_link_element_set_rel,
+        htmlLinkElementSetRel, ghcjs_dom_html_link_element_get_rel,
+        htmlLinkElementGetRel, ghcjs_dom_html_link_element_set_rev,
+        htmlLinkElementSetRev, ghcjs_dom_html_link_element_get_rev,
+        htmlLinkElementGetRev, ghcjs_dom_html_link_element_set_target,
+        htmlLinkElementSetTarget, ghcjs_dom_html_link_element_get_target,
+        htmlLinkElementGetTarget, ghcjs_dom_html_link_element_get_sheet,
+        htmlLinkElementGetSheet)
+       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[\"disabled\"] = $2;"
+        ghcjs_dom_html_link_element_set_disabled ::
+        JSRef HTMLLinkElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_link_element_set_disabled ::
+                                           JSRef HTMLLinkElement -> Bool -> IO ()
+ghcjs_dom_html_link_element_set_disabled = undefined
+#endif
+ 
+htmlLinkElementSetDisabled ::
+                           (IsHTMLLinkElement self) => self -> Bool -> IO ()
+htmlLinkElementSetDisabled self val
+  = ghcjs_dom_html_link_element_set_disabled
+      (unHTMLLinkElement (toHTMLLinkElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_html_link_element_get_disabled ::
+        JSRef HTMLLinkElement -> IO Bool
+#else 
+ghcjs_dom_html_link_element_get_disabled ::
+                                           JSRef HTMLLinkElement -> IO Bool
+ghcjs_dom_html_link_element_get_disabled = undefined
+#endif
+ 
+htmlLinkElementGetDisabled ::
+                           (IsHTMLLinkElement self) => self -> IO Bool
+htmlLinkElementGetDisabled self
+  = ghcjs_dom_html_link_element_get_disabled
+      (unHTMLLinkElement (toHTMLLinkElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"charset\"] = $2;"
+        ghcjs_dom_html_link_element_set_charset ::
+        JSRef HTMLLinkElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_link_element_set_charset ::
+                                          JSRef HTMLLinkElement -> JSString -> IO ()
+ghcjs_dom_html_link_element_set_charset = undefined
+#endif
+ 
+htmlLinkElementSetCharset ::
+                          (IsHTMLLinkElement self, ToJSString val) => self -> val -> IO ()
+htmlLinkElementSetCharset self val
+  = ghcjs_dom_html_link_element_set_charset
+      (unHTMLLinkElement (toHTMLLinkElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"charset\"]"
+        ghcjs_dom_html_link_element_get_charset ::
+        JSRef HTMLLinkElement -> IO JSString
+#else 
+ghcjs_dom_html_link_element_get_charset ::
+                                          JSRef HTMLLinkElement -> IO JSString
+ghcjs_dom_html_link_element_get_charset = undefined
+#endif
+ 
+htmlLinkElementGetCharset ::
+                          (IsHTMLLinkElement self, FromJSString result) => self -> IO result
+htmlLinkElementGetCharset self
+  = fromJSString <$>
+      (ghcjs_dom_html_link_element_get_charset
+         (unHTMLLinkElement (toHTMLLinkElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"href\"] = $2;"
+        ghcjs_dom_html_link_element_set_href ::
+        JSRef HTMLLinkElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_link_element_set_href ::
+                                       JSRef HTMLLinkElement -> JSString -> IO ()
+ghcjs_dom_html_link_element_set_href = undefined
+#endif
+ 
+htmlLinkElementSetHref ::
+                       (IsHTMLLinkElement self, ToJSString val) => self -> val -> IO ()
+htmlLinkElementSetHref self val
+  = ghcjs_dom_html_link_element_set_href
+      (unHTMLLinkElement (toHTMLLinkElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"href\"]"
+        ghcjs_dom_html_link_element_get_href ::
+        JSRef HTMLLinkElement -> IO JSString
+#else 
+ghcjs_dom_html_link_element_get_href ::
+                                       JSRef HTMLLinkElement -> IO JSString
+ghcjs_dom_html_link_element_get_href = undefined
+#endif
+ 
+htmlLinkElementGetHref ::
+                       (IsHTMLLinkElement self, FromJSString result) => self -> IO result
+htmlLinkElementGetHref self
+  = fromJSString <$>
+      (ghcjs_dom_html_link_element_get_href
+         (unHTMLLinkElement (toHTMLLinkElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hreflang\"] = $2;"
+        ghcjs_dom_html_link_element_set_hreflang ::
+        JSRef HTMLLinkElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_link_element_set_hreflang ::
+                                           JSRef HTMLLinkElement -> JSString -> IO ()
+ghcjs_dom_html_link_element_set_hreflang = undefined
+#endif
+ 
+htmlLinkElementSetHreflang ::
+                           (IsHTMLLinkElement self, ToJSString val) => self -> val -> IO ()
+htmlLinkElementSetHreflang self val
+  = ghcjs_dom_html_link_element_set_hreflang
+      (unHTMLLinkElement (toHTMLLinkElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hreflang\"]"
+        ghcjs_dom_html_link_element_get_hreflang ::
+        JSRef HTMLLinkElement -> IO JSString
+#else 
+ghcjs_dom_html_link_element_get_hreflang ::
+                                           JSRef HTMLLinkElement -> IO JSString
+ghcjs_dom_html_link_element_get_hreflang = undefined
+#endif
+ 
+htmlLinkElementGetHreflang ::
+                           (IsHTMLLinkElement self, FromJSString result) => self -> IO result
+htmlLinkElementGetHreflang self
+  = fromJSString <$>
+      (ghcjs_dom_html_link_element_get_hreflang
+         (unHTMLLinkElement (toHTMLLinkElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"media\"] = $2;"
+        ghcjs_dom_html_link_element_set_media ::
+        JSRef HTMLLinkElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_link_element_set_media ::
+                                        JSRef HTMLLinkElement -> JSString -> IO ()
+ghcjs_dom_html_link_element_set_media = undefined
+#endif
+ 
+htmlLinkElementSetMedia ::
+                        (IsHTMLLinkElement self, ToJSString val) => self -> val -> IO ()
+htmlLinkElementSetMedia self val
+  = ghcjs_dom_html_link_element_set_media
+      (unHTMLLinkElement (toHTMLLinkElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"media\"]"
+        ghcjs_dom_html_link_element_get_media ::
+        JSRef HTMLLinkElement -> IO JSString
+#else 
+ghcjs_dom_html_link_element_get_media ::
+                                        JSRef HTMLLinkElement -> IO JSString
+ghcjs_dom_html_link_element_get_media = undefined
+#endif
+ 
+htmlLinkElementGetMedia ::
+                        (IsHTMLLinkElement self, FromJSString result) => self -> IO result
+htmlLinkElementGetMedia self
+  = fromJSString <$>
+      (ghcjs_dom_html_link_element_get_media
+         (unHTMLLinkElement (toHTMLLinkElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rel\"] = $2;"
+        ghcjs_dom_html_link_element_set_rel ::
+        JSRef HTMLLinkElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_link_element_set_rel ::
+                                      JSRef HTMLLinkElement -> JSString -> IO ()
+ghcjs_dom_html_link_element_set_rel = undefined
+#endif
+ 
+htmlLinkElementSetRel ::
+                      (IsHTMLLinkElement self, ToJSString val) => self -> val -> IO ()
+htmlLinkElementSetRel self val
+  = ghcjs_dom_html_link_element_set_rel
+      (unHTMLLinkElement (toHTMLLinkElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rel\"]"
+        ghcjs_dom_html_link_element_get_rel ::
+        JSRef HTMLLinkElement -> IO JSString
+#else 
+ghcjs_dom_html_link_element_get_rel ::
+                                      JSRef HTMLLinkElement -> IO JSString
+ghcjs_dom_html_link_element_get_rel = undefined
+#endif
+ 
+htmlLinkElementGetRel ::
+                      (IsHTMLLinkElement self, FromJSString result) => self -> IO result
+htmlLinkElementGetRel self
+  = fromJSString <$>
+      (ghcjs_dom_html_link_element_get_rel
+         (unHTMLLinkElement (toHTMLLinkElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rev\"] = $2;"
+        ghcjs_dom_html_link_element_set_rev ::
+        JSRef HTMLLinkElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_link_element_set_rev ::
+                                      JSRef HTMLLinkElement -> JSString -> IO ()
+ghcjs_dom_html_link_element_set_rev = undefined
+#endif
+ 
+htmlLinkElementSetRev ::
+                      (IsHTMLLinkElement self, ToJSString val) => self -> val -> IO ()
+htmlLinkElementSetRev self val
+  = ghcjs_dom_html_link_element_set_rev
+      (unHTMLLinkElement (toHTMLLinkElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rev\"]"
+        ghcjs_dom_html_link_element_get_rev ::
+        JSRef HTMLLinkElement -> IO JSString
+#else 
+ghcjs_dom_html_link_element_get_rev ::
+                                      JSRef HTMLLinkElement -> IO JSString
+ghcjs_dom_html_link_element_get_rev = undefined
+#endif
+ 
+htmlLinkElementGetRev ::
+                      (IsHTMLLinkElement self, FromJSString result) => self -> IO result
+htmlLinkElementGetRev self
+  = fromJSString <$>
+      (ghcjs_dom_html_link_element_get_rev
+         (unHTMLLinkElement (toHTMLLinkElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"] = $2;"
+        ghcjs_dom_html_link_element_set_target ::
+        JSRef HTMLLinkElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_link_element_set_target ::
+                                         JSRef HTMLLinkElement -> JSString -> IO ()
+ghcjs_dom_html_link_element_set_target = undefined
+#endif
+ 
+htmlLinkElementSetTarget ::
+                         (IsHTMLLinkElement self, ToJSString val) => self -> val -> IO ()
+htmlLinkElementSetTarget self val
+  = ghcjs_dom_html_link_element_set_target
+      (unHTMLLinkElement (toHTMLLinkElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"target\"]"
+        ghcjs_dom_html_link_element_get_target ::
+        JSRef HTMLLinkElement -> IO JSString
+#else 
+ghcjs_dom_html_link_element_get_target ::
+                                         JSRef HTMLLinkElement -> IO JSString
+ghcjs_dom_html_link_element_get_target = undefined
+#endif
+ 
+htmlLinkElementGetTarget ::
+                         (IsHTMLLinkElement self, FromJSString result) => self -> IO result
+htmlLinkElementGetTarget self
+  = fromJSString <$>
+      (ghcjs_dom_html_link_element_get_target
+         (unHTMLLinkElement (toHTMLLinkElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"sheet\"]"
+        ghcjs_dom_html_link_element_get_sheet ::
+        JSRef HTMLLinkElement -> IO (JSRef StyleSheet)
+#else 
+ghcjs_dom_html_link_element_get_sheet ::
+                                        JSRef HTMLLinkElement -> IO (JSRef StyleSheet)
+ghcjs_dom_html_link_element_get_sheet = undefined
+#endif
+ 
+htmlLinkElementGetSheet ::
+                        (IsHTMLLinkElement self) => self -> IO (Maybe StyleSheet)
+htmlLinkElementGetSheet self
+  = fmap StyleSheet . maybeJSNull <$>
+      (ghcjs_dom_html_link_element_get_sheet
+         (unHTMLLinkElement (toHTMLLinkElement self)))
+#else
+module GHCJS.DOM.HTMLLinkElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLLinkElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLLinkElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLMapElement.hs b/src/GHCJS/DOM/HTMLMapElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLMapElement.hs
@@ -0,0 +1,81 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLMapElement
+       (ghcjs_dom_html_map_element_get_areas, htmlMapElementGetAreas,
+        ghcjs_dom_html_map_element_set_name, htmlMapElementSetName,
+        ghcjs_dom_html_map_element_get_name, htmlMapElementGetName)
+       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[\"areas\"]"
+        ghcjs_dom_html_map_element_get_areas ::
+        JSRef HTMLMapElement -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_map_element_get_areas ::
+                                       JSRef HTMLMapElement -> IO (JSRef HTMLCollection)
+ghcjs_dom_html_map_element_get_areas = undefined
+#endif
+ 
+htmlMapElementGetAreas ::
+                       (IsHTMLMapElement self) => self -> IO (Maybe HTMLCollection)
+htmlMapElementGetAreas self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_map_element_get_areas
+         (unHTMLMapElement (toHTMLMapElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_map_element_set_name ::
+        JSRef HTMLMapElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_map_element_set_name ::
+                                      JSRef HTMLMapElement -> JSString -> IO ()
+ghcjs_dom_html_map_element_set_name = undefined
+#endif
+ 
+htmlMapElementSetName ::
+                      (IsHTMLMapElement self, ToJSString val) => self -> val -> IO ()
+htmlMapElementSetName self val
+  = ghcjs_dom_html_map_element_set_name
+      (unHTMLMapElement (toHTMLMapElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_map_element_get_name ::
+        JSRef HTMLMapElement -> IO JSString
+#else 
+ghcjs_dom_html_map_element_get_name ::
+                                      JSRef HTMLMapElement -> IO JSString
+ghcjs_dom_html_map_element_get_name = undefined
+#endif
+ 
+htmlMapElementGetName ::
+                      (IsHTMLMapElement self, FromJSString result) => self -> IO result
+htmlMapElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_map_element_get_name
+         (unHTMLMapElement (toHTMLMapElement self)))
+#else
+module GHCJS.DOM.HTMLMapElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLMapElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLMapElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLMarqueeElement.hs b/src/GHCJS/DOM/HTMLMarqueeElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLMarqueeElement.hs
@@ -0,0 +1,497 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLMarqueeElement
+       (ghcjs_dom_html_marquee_element_start, htmlMarqueeElementStart,
+        ghcjs_dom_html_marquee_element_stop, htmlMarqueeElementStop,
+        ghcjs_dom_html_marquee_element_set_behavior,
+        htmlMarqueeElementSetBehavior,
+        ghcjs_dom_html_marquee_element_get_behavior,
+        htmlMarqueeElementGetBehavior,
+        ghcjs_dom_html_marquee_element_set_bg_color,
+        htmlMarqueeElementSetBgColor,
+        ghcjs_dom_html_marquee_element_get_bg_color,
+        htmlMarqueeElementGetBgColor,
+        ghcjs_dom_html_marquee_element_set_direction,
+        htmlMarqueeElementSetDirection,
+        ghcjs_dom_html_marquee_element_get_direction,
+        htmlMarqueeElementGetDirection,
+        ghcjs_dom_html_marquee_element_set_height,
+        htmlMarqueeElementSetHeight,
+        ghcjs_dom_html_marquee_element_get_height,
+        htmlMarqueeElementGetHeight,
+        ghcjs_dom_html_marquee_element_set_hspace,
+        htmlMarqueeElementSetHspace,
+        ghcjs_dom_html_marquee_element_get_hspace,
+        htmlMarqueeElementGetHspace,
+        ghcjs_dom_html_marquee_element_set_loop, htmlMarqueeElementSetLoop,
+        ghcjs_dom_html_marquee_element_get_loop, htmlMarqueeElementGetLoop,
+        ghcjs_dom_html_marquee_element_set_scroll_amount,
+        htmlMarqueeElementSetScrollAmount,
+        ghcjs_dom_html_marquee_element_get_scroll_amount,
+        htmlMarqueeElementGetScrollAmount,
+        ghcjs_dom_html_marquee_element_set_scroll_delay,
+        htmlMarqueeElementSetScrollDelay,
+        ghcjs_dom_html_marquee_element_get_scroll_delay,
+        htmlMarqueeElementGetScrollDelay,
+        ghcjs_dom_html_marquee_element_set_true_speed,
+        htmlMarqueeElementSetTrueSpeed,
+        ghcjs_dom_html_marquee_element_get_true_speed,
+        htmlMarqueeElementGetTrueSpeed,
+        ghcjs_dom_html_marquee_element_set_vspace,
+        htmlMarqueeElementSetVspace,
+        ghcjs_dom_html_marquee_element_get_vspace,
+        htmlMarqueeElementGetVspace,
+        ghcjs_dom_html_marquee_element_set_width,
+        htmlMarqueeElementSetWidth,
+        ghcjs_dom_html_marquee_element_get_width,
+        htmlMarqueeElementGetWidth)
+       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[\"start\"]()"
+        ghcjs_dom_html_marquee_element_start ::
+        JSRef HTMLMarqueeElement -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_start ::
+                                       JSRef HTMLMarqueeElement -> IO ()
+ghcjs_dom_html_marquee_element_start = undefined
+#endif
+ 
+htmlMarqueeElementStart ::
+                        (IsHTMLMarqueeElement self) => self -> IO ()
+htmlMarqueeElementStart self
+  = ghcjs_dom_html_marquee_element_start
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"stop\"]()"
+        ghcjs_dom_html_marquee_element_stop ::
+        JSRef HTMLMarqueeElement -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_stop ::
+                                      JSRef HTMLMarqueeElement -> IO ()
+ghcjs_dom_html_marquee_element_stop = undefined
+#endif
+ 
+htmlMarqueeElementStop ::
+                       (IsHTMLMarqueeElement self) => self -> IO ()
+htmlMarqueeElementStop self
+  = ghcjs_dom_html_marquee_element_stop
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"behavior\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_behavior ::
+        JSRef HTMLMarqueeElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_behavior ::
+                                              JSRef HTMLMarqueeElement -> JSString -> IO ()
+ghcjs_dom_html_marquee_element_set_behavior = undefined
+#endif
+ 
+htmlMarqueeElementSetBehavior ::
+                              (IsHTMLMarqueeElement self, ToJSString val) => self -> val -> IO ()
+htmlMarqueeElementSetBehavior self val
+  = ghcjs_dom_html_marquee_element_set_behavior
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"behavior\"]"
+        ghcjs_dom_html_marquee_element_get_behavior ::
+        JSRef HTMLMarqueeElement -> IO JSString
+#else 
+ghcjs_dom_html_marquee_element_get_behavior ::
+                                              JSRef HTMLMarqueeElement -> IO JSString
+ghcjs_dom_html_marquee_element_get_behavior = undefined
+#endif
+ 
+htmlMarqueeElementGetBehavior ::
+                              (IsHTMLMarqueeElement self, FromJSString result) =>
+                                self -> IO result
+htmlMarqueeElementGetBehavior self
+  = fromJSString <$>
+      (ghcjs_dom_html_marquee_element_get_behavior
+         (unHTMLMarqueeElement (toHTMLMarqueeElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_bg_color ::
+        JSRef HTMLMarqueeElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_bg_color ::
+                                              JSRef HTMLMarqueeElement -> JSString -> IO ()
+ghcjs_dom_html_marquee_element_set_bg_color = undefined
+#endif
+ 
+htmlMarqueeElementSetBgColor ::
+                             (IsHTMLMarqueeElement self, ToJSString val) => self -> val -> IO ()
+htmlMarqueeElementSetBgColor self val
+  = ghcjs_dom_html_marquee_element_set_bg_color
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"]"
+        ghcjs_dom_html_marquee_element_get_bg_color ::
+        JSRef HTMLMarqueeElement -> IO JSString
+#else 
+ghcjs_dom_html_marquee_element_get_bg_color ::
+                                              JSRef HTMLMarqueeElement -> IO JSString
+ghcjs_dom_html_marquee_element_get_bg_color = undefined
+#endif
+ 
+htmlMarqueeElementGetBgColor ::
+                             (IsHTMLMarqueeElement self, FromJSString result) =>
+                               self -> IO result
+htmlMarqueeElementGetBgColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_marquee_element_get_bg_color
+         (unHTMLMarqueeElement (toHTMLMarqueeElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"direction\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_direction ::
+        JSRef HTMLMarqueeElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_direction ::
+                                               JSRef HTMLMarqueeElement -> JSString -> IO ()
+ghcjs_dom_html_marquee_element_set_direction = undefined
+#endif
+ 
+htmlMarqueeElementSetDirection ::
+                               (IsHTMLMarqueeElement self, ToJSString val) => self -> val -> IO ()
+htmlMarqueeElementSetDirection self val
+  = ghcjs_dom_html_marquee_element_set_direction
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"direction\"]"
+        ghcjs_dom_html_marquee_element_get_direction ::
+        JSRef HTMLMarqueeElement -> IO JSString
+#else 
+ghcjs_dom_html_marquee_element_get_direction ::
+                                               JSRef HTMLMarqueeElement -> IO JSString
+ghcjs_dom_html_marquee_element_get_direction = undefined
+#endif
+ 
+htmlMarqueeElementGetDirection ::
+                               (IsHTMLMarqueeElement self, FromJSString result) =>
+                                 self -> IO result
+htmlMarqueeElementGetDirection self
+  = fromJSString <$>
+      (ghcjs_dom_html_marquee_element_get_direction
+         (unHTMLMarqueeElement (toHTMLMarqueeElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_height ::
+        JSRef HTMLMarqueeElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_height ::
+                                            JSRef HTMLMarqueeElement -> JSString -> IO ()
+ghcjs_dom_html_marquee_element_set_height = undefined
+#endif
+ 
+htmlMarqueeElementSetHeight ::
+                            (IsHTMLMarqueeElement self, ToJSString val) => self -> val -> IO ()
+htmlMarqueeElementSetHeight self val
+  = ghcjs_dom_html_marquee_element_set_height
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_marquee_element_get_height ::
+        JSRef HTMLMarqueeElement -> IO JSString
+#else 
+ghcjs_dom_html_marquee_element_get_height ::
+                                            JSRef HTMLMarqueeElement -> IO JSString
+ghcjs_dom_html_marquee_element_get_height = undefined
+#endif
+ 
+htmlMarqueeElementGetHeight ::
+                            (IsHTMLMarqueeElement self, FromJSString result) =>
+                              self -> IO result
+htmlMarqueeElementGetHeight self
+  = fromJSString <$>
+      (ghcjs_dom_html_marquee_element_get_height
+         (unHTMLMarqueeElement (toHTMLMarqueeElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hspace\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_hspace ::
+        JSRef HTMLMarqueeElement -> Word -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_hspace ::
+                                            JSRef HTMLMarqueeElement -> Word -> IO ()
+ghcjs_dom_html_marquee_element_set_hspace = undefined
+#endif
+ 
+htmlMarqueeElementSetHspace ::
+                            (IsHTMLMarqueeElement self) => self -> Word -> IO ()
+htmlMarqueeElementSetHspace self val
+  = ghcjs_dom_html_marquee_element_set_hspace
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hspace\"]"
+        ghcjs_dom_html_marquee_element_get_hspace ::
+        JSRef HTMLMarqueeElement -> IO Word
+#else 
+ghcjs_dom_html_marquee_element_get_hspace ::
+                                            JSRef HTMLMarqueeElement -> IO Word
+ghcjs_dom_html_marquee_element_get_hspace = undefined
+#endif
+ 
+htmlMarqueeElementGetHspace ::
+                            (IsHTMLMarqueeElement self) => self -> IO Word
+htmlMarqueeElementGetHspace self
+  = ghcjs_dom_html_marquee_element_get_hspace
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"loop\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_loop ::
+        JSRef HTMLMarqueeElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_loop ::
+                                          JSRef HTMLMarqueeElement -> Int -> IO ()
+ghcjs_dom_html_marquee_element_set_loop = undefined
+#endif
+ 
+htmlMarqueeElementSetLoop ::
+                          (IsHTMLMarqueeElement self) => self -> Int -> IO ()
+htmlMarqueeElementSetLoop self val
+  = ghcjs_dom_html_marquee_element_set_loop
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"loop\"]"
+        ghcjs_dom_html_marquee_element_get_loop ::
+        JSRef HTMLMarqueeElement -> IO Int
+#else 
+ghcjs_dom_html_marquee_element_get_loop ::
+                                          JSRef HTMLMarqueeElement -> IO Int
+ghcjs_dom_html_marquee_element_get_loop = undefined
+#endif
+ 
+htmlMarqueeElementGetLoop ::
+                          (IsHTMLMarqueeElement self) => self -> IO Int
+htmlMarqueeElementGetLoop self
+  = ghcjs_dom_html_marquee_element_get_loop
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollAmount\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_scroll_amount ::
+        JSRef HTMLMarqueeElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_scroll_amount ::
+                                                   JSRef HTMLMarqueeElement -> Int -> IO ()
+ghcjs_dom_html_marquee_element_set_scroll_amount = undefined
+#endif
+ 
+htmlMarqueeElementSetScrollAmount ::
+                                  (IsHTMLMarqueeElement self) => self -> Int -> IO ()
+htmlMarqueeElementSetScrollAmount self val
+  = ghcjs_dom_html_marquee_element_set_scroll_amount
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollAmount\"]"
+        ghcjs_dom_html_marquee_element_get_scroll_amount ::
+        JSRef HTMLMarqueeElement -> IO Int
+#else 
+ghcjs_dom_html_marquee_element_get_scroll_amount ::
+                                                   JSRef HTMLMarqueeElement -> IO Int
+ghcjs_dom_html_marquee_element_get_scroll_amount = undefined
+#endif
+ 
+htmlMarqueeElementGetScrollAmount ::
+                                  (IsHTMLMarqueeElement self) => self -> IO Int
+htmlMarqueeElementGetScrollAmount self
+  = ghcjs_dom_html_marquee_element_get_scroll_amount
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollDelay\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_scroll_delay ::
+        JSRef HTMLMarqueeElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_scroll_delay ::
+                                                  JSRef HTMLMarqueeElement -> Int -> IO ()
+ghcjs_dom_html_marquee_element_set_scroll_delay = undefined
+#endif
+ 
+htmlMarqueeElementSetScrollDelay ::
+                                 (IsHTMLMarqueeElement self) => self -> Int -> IO ()
+htmlMarqueeElementSetScrollDelay self val
+  = ghcjs_dom_html_marquee_element_set_scroll_delay
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scrollDelay\"]"
+        ghcjs_dom_html_marquee_element_get_scroll_delay ::
+        JSRef HTMLMarqueeElement -> IO Int
+#else 
+ghcjs_dom_html_marquee_element_get_scroll_delay ::
+                                                  JSRef HTMLMarqueeElement -> IO Int
+ghcjs_dom_html_marquee_element_get_scroll_delay = undefined
+#endif
+ 
+htmlMarqueeElementGetScrollDelay ::
+                                 (IsHTMLMarqueeElement self) => self -> IO Int
+htmlMarqueeElementGetScrollDelay self
+  = ghcjs_dom_html_marquee_element_get_scroll_delay
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"trueSpeed\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_true_speed ::
+        JSRef HTMLMarqueeElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_true_speed ::
+                                                JSRef HTMLMarqueeElement -> Bool -> IO ()
+ghcjs_dom_html_marquee_element_set_true_speed = undefined
+#endif
+ 
+htmlMarqueeElementSetTrueSpeed ::
+                               (IsHTMLMarqueeElement self) => self -> Bool -> IO ()
+htmlMarqueeElementSetTrueSpeed self val
+  = ghcjs_dom_html_marquee_element_set_true_speed
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"trueSpeed\"] ? 1 : 0)"
+        ghcjs_dom_html_marquee_element_get_true_speed ::
+        JSRef HTMLMarqueeElement -> IO Bool
+#else 
+ghcjs_dom_html_marquee_element_get_true_speed ::
+                                                JSRef HTMLMarqueeElement -> IO Bool
+ghcjs_dom_html_marquee_element_get_true_speed = undefined
+#endif
+ 
+htmlMarqueeElementGetTrueSpeed ::
+                               (IsHTMLMarqueeElement self) => self -> IO Bool
+htmlMarqueeElementGetTrueSpeed self
+  = ghcjs_dom_html_marquee_element_get_true_speed
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vspace\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_vspace ::
+        JSRef HTMLMarqueeElement -> Word -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_vspace ::
+                                            JSRef HTMLMarqueeElement -> Word -> IO ()
+ghcjs_dom_html_marquee_element_set_vspace = undefined
+#endif
+ 
+htmlMarqueeElementSetVspace ::
+                            (IsHTMLMarqueeElement self) => self -> Word -> IO ()
+htmlMarqueeElementSetVspace self val
+  = ghcjs_dom_html_marquee_element_set_vspace
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vspace\"]"
+        ghcjs_dom_html_marquee_element_get_vspace ::
+        JSRef HTMLMarqueeElement -> IO Word
+#else 
+ghcjs_dom_html_marquee_element_get_vspace ::
+                                            JSRef HTMLMarqueeElement -> IO Word
+ghcjs_dom_html_marquee_element_get_vspace = undefined
+#endif
+ 
+htmlMarqueeElementGetVspace ::
+                            (IsHTMLMarqueeElement self) => self -> IO Word
+htmlMarqueeElementGetVspace self
+  = ghcjs_dom_html_marquee_element_get_vspace
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_marquee_element_set_width ::
+        JSRef HTMLMarqueeElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_marquee_element_set_width ::
+                                           JSRef HTMLMarqueeElement -> JSString -> IO ()
+ghcjs_dom_html_marquee_element_set_width = undefined
+#endif
+ 
+htmlMarqueeElementSetWidth ::
+                           (IsHTMLMarqueeElement self, ToJSString val) => self -> val -> IO ()
+htmlMarqueeElementSetWidth self val
+  = ghcjs_dom_html_marquee_element_set_width
+      (unHTMLMarqueeElement (toHTMLMarqueeElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_marquee_element_get_width ::
+        JSRef HTMLMarqueeElement -> IO JSString
+#else 
+ghcjs_dom_html_marquee_element_get_width ::
+                                           JSRef HTMLMarqueeElement -> IO JSString
+ghcjs_dom_html_marquee_element_get_width = undefined
+#endif
+ 
+htmlMarqueeElementGetWidth ::
+                           (IsHTMLMarqueeElement self, FromJSString result) =>
+                             self -> IO result
+htmlMarqueeElementGetWidth self
+  = fromJSString <$>
+      (ghcjs_dom_html_marquee_element_get_width
+         (unHTMLMarqueeElement (toHTMLMarqueeElement self)))
+#else
+module GHCJS.DOM.HTMLMarqueeElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLMarqueeElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLMarqueeElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLMediaElement.hs b/src/GHCJS/DOM/HTMLMediaElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLMediaElement.hs
@@ -0,0 +1,968 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLMediaElement
+       (ghcjs_dom_html_media_element_load, htmlMediaElementLoad,
+        ghcjs_dom_html_media_element_can_play_type,
+        htmlMediaElementCanPlayType, ghcjs_dom_html_media_element_play,
+        htmlMediaElementPlay, ghcjs_dom_html_media_element_pause,
+        htmlMediaElementPause, cNETWORK_EMPTY, cNETWORK_IDLE,
+        cNETWORK_LOADING, cNETWORK_NO_SOURCE, cHAVE_NOTHING,
+        cHAVE_METADATA, cHAVE_CURRENT_DATA, cHAVE_FUTURE_DATA,
+        cHAVE_ENOUGH_DATA, ghcjs_dom_html_media_element_get_error,
+        htmlMediaElementGetError, ghcjs_dom_html_media_element_set_src,
+        htmlMediaElementSetSrc, ghcjs_dom_html_media_element_get_src,
+        htmlMediaElementGetSrc,
+        ghcjs_dom_html_media_element_get_current_src,
+        htmlMediaElementGetCurrentSrc,
+        ghcjs_dom_html_media_element_get_network_state,
+        htmlMediaElementGetNetworkState,
+        ghcjs_dom_html_media_element_set_preload,
+        htmlMediaElementSetPreload,
+        ghcjs_dom_html_media_element_get_preload,
+        htmlMediaElementGetPreload,
+        ghcjs_dom_html_media_element_get_buffered,
+        htmlMediaElementGetBuffered,
+        ghcjs_dom_html_media_element_get_ready_state,
+        htmlMediaElementGetReadyState,
+        ghcjs_dom_html_media_element_get_seeking,
+        htmlMediaElementGetSeeking,
+        ghcjs_dom_html_media_element_set_current_time,
+        htmlMediaElementSetCurrentTime,
+        ghcjs_dom_html_media_element_get_current_time,
+        htmlMediaElementGetCurrentTime,
+        ghcjs_dom_html_media_element_get_initial_time,
+        htmlMediaElementGetInitialTime,
+        ghcjs_dom_html_media_element_get_start_time,
+        htmlMediaElementGetStartTime,
+        ghcjs_dom_html_media_element_get_duration,
+        htmlMediaElementGetDuration,
+        ghcjs_dom_html_media_element_get_paused, htmlMediaElementGetPaused,
+        ghcjs_dom_html_media_element_set_default_playback_rate,
+        htmlMediaElementSetDefaultPlaybackRate,
+        ghcjs_dom_html_media_element_get_default_playback_rate,
+        htmlMediaElementGetDefaultPlaybackRate,
+        ghcjs_dom_html_media_element_set_playback_rate,
+        htmlMediaElementSetPlaybackRate,
+        ghcjs_dom_html_media_element_get_playback_rate,
+        htmlMediaElementGetPlaybackRate,
+        ghcjs_dom_html_media_element_get_played, htmlMediaElementGetPlayed,
+        ghcjs_dom_html_media_element_get_seekable,
+        htmlMediaElementGetSeekable,
+        ghcjs_dom_html_media_element_get_ended, htmlMediaElementGetEnded,
+        ghcjs_dom_html_media_element_set_autoplay,
+        htmlMediaElementSetAutoplay,
+        ghcjs_dom_html_media_element_get_autoplay,
+        htmlMediaElementGetAutoplay, ghcjs_dom_html_media_element_set_loop,
+        htmlMediaElementSetLoop, ghcjs_dom_html_media_element_get_loop,
+        htmlMediaElementGetLoop, ghcjs_dom_html_media_element_set_controls,
+        htmlMediaElementSetControls,
+        ghcjs_dom_html_media_element_get_controls,
+        htmlMediaElementGetControls,
+        ghcjs_dom_html_media_element_set_volume, htmlMediaElementSetVolume,
+        ghcjs_dom_html_media_element_get_volume, htmlMediaElementGetVolume,
+        ghcjs_dom_html_media_element_set_muted, htmlMediaElementSetMuted,
+        ghcjs_dom_html_media_element_get_muted, htmlMediaElementGetMuted,
+        ghcjs_dom_html_media_element_set_default_muted,
+        htmlMediaElementSetDefaultMuted,
+        ghcjs_dom_html_media_element_get_default_muted,
+        htmlMediaElementGetDefaultMuted,
+        ghcjs_dom_html_media_element_set_webkit_preserves_pitch,
+        htmlMediaElementSetWebkitPreservesPitch,
+        ghcjs_dom_html_media_element_get_webkit_preserves_pitch,
+        htmlMediaElementGetWebkitPreservesPitch,
+        ghcjs_dom_html_media_element_get_webkit_has_closed_captions,
+        htmlMediaElementGetWebkitHasClosedCaptions,
+        ghcjs_dom_html_media_element_set_webkit_closed_captions_visible,
+        htmlMediaElementSetWebkitClosedCaptionsVisible,
+        ghcjs_dom_html_media_element_get_webkit_closed_captions_visible,
+        htmlMediaElementGetWebkitClosedCaptionsVisible,
+        ghcjs_dom_html_media_element_get_webkit_audio_decoded_byte_count,
+        htmlMediaElementGetWebkitAudioDecodedByteCount,
+        ghcjs_dom_html_media_element_get_webkit_video_decoded_byte_count,
+        htmlMediaElementGetWebkitVideoDecodedByteCount,
+        ghcjs_dom_html_media_element_set_media_group,
+        htmlMediaElementSetMediaGroup,
+        ghcjs_dom_html_media_element_get_media_group,
+        htmlMediaElementGetMediaGroup)
+       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[\"load\"]()"
+        ghcjs_dom_html_media_element_load ::
+        JSRef HTMLMediaElement -> IO ()
+#else 
+ghcjs_dom_html_media_element_load ::
+                                    JSRef HTMLMediaElement -> IO ()
+ghcjs_dom_html_media_element_load = undefined
+#endif
+ 
+htmlMediaElementLoad :: (IsHTMLMediaElement self) => self -> IO ()
+htmlMediaElementLoad self
+  = ghcjs_dom_html_media_element_load
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"canPlayType\"]($2)"
+        ghcjs_dom_html_media_element_can_play_type ::
+        JSRef HTMLMediaElement -> JSString -> IO JSString
+#else 
+ghcjs_dom_html_media_element_can_play_type ::
+                                             JSRef HTMLMediaElement -> JSString -> IO JSString
+ghcjs_dom_html_media_element_can_play_type = undefined
+#endif
+ 
+htmlMediaElementCanPlayType ::
+                            (IsHTMLMediaElement self, ToJSString type', FromJSString result) =>
+                              self -> type' -> IO result
+htmlMediaElementCanPlayType self type'
+  = fromJSString <$>
+      (ghcjs_dom_html_media_element_can_play_type
+         (unHTMLMediaElement (toHTMLMediaElement self))
+         (toJSString type'))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"play\"]()"
+        ghcjs_dom_html_media_element_play ::
+        JSRef HTMLMediaElement -> IO ()
+#else 
+ghcjs_dom_html_media_element_play ::
+                                    JSRef HTMLMediaElement -> IO ()
+ghcjs_dom_html_media_element_play = undefined
+#endif
+ 
+htmlMediaElementPlay :: (IsHTMLMediaElement self) => self -> IO ()
+htmlMediaElementPlay self
+  = ghcjs_dom_html_media_element_play
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pause\"]()"
+        ghcjs_dom_html_media_element_pause ::
+        JSRef HTMLMediaElement -> IO ()
+#else 
+ghcjs_dom_html_media_element_pause ::
+                                     JSRef HTMLMediaElement -> IO ()
+ghcjs_dom_html_media_element_pause = undefined
+#endif
+ 
+htmlMediaElementPause :: (IsHTMLMediaElement self) => self -> IO ()
+htmlMediaElementPause self
+  = ghcjs_dom_html_media_element_pause
+      (unHTMLMediaElement (toHTMLMediaElement self))
+cNETWORK_EMPTY = 0
+cNETWORK_IDLE = 1
+cNETWORK_LOADING = 2
+cNETWORK_NO_SOURCE = 3
+cHAVE_NOTHING = 0
+cHAVE_METADATA = 1
+cHAVE_CURRENT_DATA = 2
+cHAVE_FUTURE_DATA = 3
+cHAVE_ENOUGH_DATA = 4
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"error\"]"
+        ghcjs_dom_html_media_element_get_error ::
+        JSRef HTMLMediaElement -> IO (JSRef MediaError)
+#else 
+ghcjs_dom_html_media_element_get_error ::
+                                         JSRef HTMLMediaElement -> IO (JSRef MediaError)
+ghcjs_dom_html_media_element_get_error = undefined
+#endif
+ 
+htmlMediaElementGetError ::
+                         (IsHTMLMediaElement self) => self -> IO (Maybe MediaError)
+htmlMediaElementGetError self
+  = fmap MediaError . maybeJSNull <$>
+      (ghcjs_dom_html_media_element_get_error
+         (unHTMLMediaElement (toHTMLMediaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"] = $2;"
+        ghcjs_dom_html_media_element_set_src ::
+        JSRef HTMLMediaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_src ::
+                                       JSRef HTMLMediaElement -> JSString -> IO ()
+ghcjs_dom_html_media_element_set_src = undefined
+#endif
+ 
+htmlMediaElementSetSrc ::
+                       (IsHTMLMediaElement self, ToJSString val) => self -> val -> IO ()
+htmlMediaElementSetSrc self val
+  = ghcjs_dom_html_media_element_set_src
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"]"
+        ghcjs_dom_html_media_element_get_src ::
+        JSRef HTMLMediaElement -> IO JSString
+#else 
+ghcjs_dom_html_media_element_get_src ::
+                                       JSRef HTMLMediaElement -> IO JSString
+ghcjs_dom_html_media_element_get_src = undefined
+#endif
+ 
+htmlMediaElementGetSrc ::
+                       (IsHTMLMediaElement self, FromJSString result) => self -> IO result
+htmlMediaElementGetSrc self
+  = fromJSString <$>
+      (ghcjs_dom_html_media_element_get_src
+         (unHTMLMediaElement (toHTMLMediaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"currentSrc\"]"
+        ghcjs_dom_html_media_element_get_current_src ::
+        JSRef HTMLMediaElement -> IO JSString
+#else 
+ghcjs_dom_html_media_element_get_current_src ::
+                                               JSRef HTMLMediaElement -> IO JSString
+ghcjs_dom_html_media_element_get_current_src = undefined
+#endif
+ 
+htmlMediaElementGetCurrentSrc ::
+                              (IsHTMLMediaElement self, FromJSString result) => self -> IO result
+htmlMediaElementGetCurrentSrc self
+  = fromJSString <$>
+      (ghcjs_dom_html_media_element_get_current_src
+         (unHTMLMediaElement (toHTMLMediaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"networkState\"]"
+        ghcjs_dom_html_media_element_get_network_state ::
+        JSRef HTMLMediaElement -> IO Word
+#else 
+ghcjs_dom_html_media_element_get_network_state ::
+                                                 JSRef HTMLMediaElement -> IO Word
+ghcjs_dom_html_media_element_get_network_state = undefined
+#endif
+ 
+htmlMediaElementGetNetworkState ::
+                                (IsHTMLMediaElement self) => self -> IO Word
+htmlMediaElementGetNetworkState self
+  = ghcjs_dom_html_media_element_get_network_state
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"preload\"] = $2;"
+        ghcjs_dom_html_media_element_set_preload ::
+        JSRef HTMLMediaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_preload ::
+                                           JSRef HTMLMediaElement -> JSString -> IO ()
+ghcjs_dom_html_media_element_set_preload = undefined
+#endif
+ 
+htmlMediaElementSetPreload ::
+                           (IsHTMLMediaElement self, ToJSString val) => self -> val -> IO ()
+htmlMediaElementSetPreload self val
+  = ghcjs_dom_html_media_element_set_preload
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"preload\"]"
+        ghcjs_dom_html_media_element_get_preload ::
+        JSRef HTMLMediaElement -> IO JSString
+#else 
+ghcjs_dom_html_media_element_get_preload ::
+                                           JSRef HTMLMediaElement -> IO JSString
+ghcjs_dom_html_media_element_get_preload = undefined
+#endif
+ 
+htmlMediaElementGetPreload ::
+                           (IsHTMLMediaElement self, FromJSString result) => self -> IO result
+htmlMediaElementGetPreload self
+  = fromJSString <$>
+      (ghcjs_dom_html_media_element_get_preload
+         (unHTMLMediaElement (toHTMLMediaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"buffered\"]"
+        ghcjs_dom_html_media_element_get_buffered ::
+        JSRef HTMLMediaElement -> IO (JSRef TimeRanges)
+#else 
+ghcjs_dom_html_media_element_get_buffered ::
+                                            JSRef HTMLMediaElement -> IO (JSRef TimeRanges)
+ghcjs_dom_html_media_element_get_buffered = undefined
+#endif
+ 
+htmlMediaElementGetBuffered ::
+                            (IsHTMLMediaElement self) => self -> IO (Maybe TimeRanges)
+htmlMediaElementGetBuffered self
+  = fmap TimeRanges . maybeJSNull <$>
+      (ghcjs_dom_html_media_element_get_buffered
+         (unHTMLMediaElement (toHTMLMediaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"readyState\"]"
+        ghcjs_dom_html_media_element_get_ready_state ::
+        JSRef HTMLMediaElement -> IO Word
+#else 
+ghcjs_dom_html_media_element_get_ready_state ::
+                                               JSRef HTMLMediaElement -> IO Word
+ghcjs_dom_html_media_element_get_ready_state = undefined
+#endif
+ 
+htmlMediaElementGetReadyState ::
+                              (IsHTMLMediaElement self) => self -> IO Word
+htmlMediaElementGetReadyState self
+  = ghcjs_dom_html_media_element_get_ready_state
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"seeking\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_seeking ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_seeking ::
+                                           JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_seeking = undefined
+#endif
+ 
+htmlMediaElementGetSeeking ::
+                           (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetSeeking self
+  = ghcjs_dom_html_media_element_get_seeking
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"currentTime\"] = $2;"
+        ghcjs_dom_html_media_element_set_current_time ::
+        JSRef HTMLMediaElement -> Float -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_current_time ::
+                                                JSRef HTMLMediaElement -> Float -> IO ()
+ghcjs_dom_html_media_element_set_current_time = undefined
+#endif
+ 
+htmlMediaElementSetCurrentTime ::
+                               (IsHTMLMediaElement self) => self -> Float -> IO ()
+htmlMediaElementSetCurrentTime self val
+  = ghcjs_dom_html_media_element_set_current_time
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"currentTime\"]"
+        ghcjs_dom_html_media_element_get_current_time ::
+        JSRef HTMLMediaElement -> IO Float
+#else 
+ghcjs_dom_html_media_element_get_current_time ::
+                                                JSRef HTMLMediaElement -> IO Float
+ghcjs_dom_html_media_element_get_current_time = undefined
+#endif
+ 
+htmlMediaElementGetCurrentTime ::
+                               (IsHTMLMediaElement self) => self -> IO Float
+htmlMediaElementGetCurrentTime self
+  = ghcjs_dom_html_media_element_get_current_time
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"initialTime\"]"
+        ghcjs_dom_html_media_element_get_initial_time ::
+        JSRef HTMLMediaElement -> IO Double
+#else 
+ghcjs_dom_html_media_element_get_initial_time ::
+                                                JSRef HTMLMediaElement -> IO Double
+ghcjs_dom_html_media_element_get_initial_time = undefined
+#endif
+ 
+htmlMediaElementGetInitialTime ::
+                               (IsHTMLMediaElement self) => self -> IO Double
+htmlMediaElementGetInitialTime self
+  = ghcjs_dom_html_media_element_get_initial_time
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"startTime\"]"
+        ghcjs_dom_html_media_element_get_start_time ::
+        JSRef HTMLMediaElement -> IO Float
+#else 
+ghcjs_dom_html_media_element_get_start_time ::
+                                              JSRef HTMLMediaElement -> IO Float
+ghcjs_dom_html_media_element_get_start_time = undefined
+#endif
+ 
+htmlMediaElementGetStartTime ::
+                             (IsHTMLMediaElement self) => self -> IO Float
+htmlMediaElementGetStartTime self
+  = ghcjs_dom_html_media_element_get_start_time
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"duration\"]"
+        ghcjs_dom_html_media_element_get_duration ::
+        JSRef HTMLMediaElement -> IO Float
+#else 
+ghcjs_dom_html_media_element_get_duration ::
+                                            JSRef HTMLMediaElement -> IO Float
+ghcjs_dom_html_media_element_get_duration = undefined
+#endif
+ 
+htmlMediaElementGetDuration ::
+                            (IsHTMLMediaElement self) => self -> IO Float
+htmlMediaElementGetDuration self
+  = ghcjs_dom_html_media_element_get_duration
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"paused\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_paused ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_paused ::
+                                          JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_paused = undefined
+#endif
+ 
+htmlMediaElementGetPaused ::
+                          (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetPaused self
+  = ghcjs_dom_html_media_element_get_paused
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"defaultPlaybackRate\"] = $2;"
+        ghcjs_dom_html_media_element_set_default_playback_rate ::
+        JSRef HTMLMediaElement -> Float -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_default_playback_rate ::
+                                                         JSRef HTMLMediaElement -> Float -> IO ()
+ghcjs_dom_html_media_element_set_default_playback_rate = undefined
+#endif
+ 
+htmlMediaElementSetDefaultPlaybackRate ::
+                                       (IsHTMLMediaElement self) => self -> Float -> IO ()
+htmlMediaElementSetDefaultPlaybackRate self val
+  = ghcjs_dom_html_media_element_set_default_playback_rate
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultPlaybackRate\"]"
+        ghcjs_dom_html_media_element_get_default_playback_rate ::
+        JSRef HTMLMediaElement -> IO Float
+#else 
+ghcjs_dom_html_media_element_get_default_playback_rate ::
+                                                         JSRef HTMLMediaElement -> IO Float
+ghcjs_dom_html_media_element_get_default_playback_rate = undefined
+#endif
+ 
+htmlMediaElementGetDefaultPlaybackRate ::
+                                       (IsHTMLMediaElement self) => self -> IO Float
+htmlMediaElementGetDefaultPlaybackRate self
+  = ghcjs_dom_html_media_element_get_default_playback_rate
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"playbackRate\"] = $2;"
+        ghcjs_dom_html_media_element_set_playback_rate ::
+        JSRef HTMLMediaElement -> Float -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_playback_rate ::
+                                                 JSRef HTMLMediaElement -> Float -> IO ()
+ghcjs_dom_html_media_element_set_playback_rate = undefined
+#endif
+ 
+htmlMediaElementSetPlaybackRate ::
+                                (IsHTMLMediaElement self) => self -> Float -> IO ()
+htmlMediaElementSetPlaybackRate self val
+  = ghcjs_dom_html_media_element_set_playback_rate
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"playbackRate\"]"
+        ghcjs_dom_html_media_element_get_playback_rate ::
+        JSRef HTMLMediaElement -> IO Float
+#else 
+ghcjs_dom_html_media_element_get_playback_rate ::
+                                                 JSRef HTMLMediaElement -> IO Float
+ghcjs_dom_html_media_element_get_playback_rate = undefined
+#endif
+ 
+htmlMediaElementGetPlaybackRate ::
+                                (IsHTMLMediaElement self) => self -> IO Float
+htmlMediaElementGetPlaybackRate self
+  = ghcjs_dom_html_media_element_get_playback_rate
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"played\"]"
+        ghcjs_dom_html_media_element_get_played ::
+        JSRef HTMLMediaElement -> IO (JSRef TimeRanges)
+#else 
+ghcjs_dom_html_media_element_get_played ::
+                                          JSRef HTMLMediaElement -> IO (JSRef TimeRanges)
+ghcjs_dom_html_media_element_get_played = undefined
+#endif
+ 
+htmlMediaElementGetPlayed ::
+                          (IsHTMLMediaElement self) => self -> IO (Maybe TimeRanges)
+htmlMediaElementGetPlayed self
+  = fmap TimeRanges . maybeJSNull <$>
+      (ghcjs_dom_html_media_element_get_played
+         (unHTMLMediaElement (toHTMLMediaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"seekable\"]"
+        ghcjs_dom_html_media_element_get_seekable ::
+        JSRef HTMLMediaElement -> IO (JSRef TimeRanges)
+#else 
+ghcjs_dom_html_media_element_get_seekable ::
+                                            JSRef HTMLMediaElement -> IO (JSRef TimeRanges)
+ghcjs_dom_html_media_element_get_seekable = undefined
+#endif
+ 
+htmlMediaElementGetSeekable ::
+                            (IsHTMLMediaElement self) => self -> IO (Maybe TimeRanges)
+htmlMediaElementGetSeekable self
+  = fmap TimeRanges . maybeJSNull <$>
+      (ghcjs_dom_html_media_element_get_seekable
+         (unHTMLMediaElement (toHTMLMediaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"ended\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_ended ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_ended ::
+                                         JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_ended = undefined
+#endif
+ 
+htmlMediaElementGetEnded ::
+                         (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetEnded self
+  = ghcjs_dom_html_media_element_get_ended
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"autoplay\"] = $2;"
+        ghcjs_dom_html_media_element_set_autoplay ::
+        JSRef HTMLMediaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_autoplay ::
+                                            JSRef HTMLMediaElement -> Bool -> IO ()
+ghcjs_dom_html_media_element_set_autoplay = undefined
+#endif
+ 
+htmlMediaElementSetAutoplay ::
+                            (IsHTMLMediaElement self) => self -> Bool -> IO ()
+htmlMediaElementSetAutoplay self val
+  = ghcjs_dom_html_media_element_set_autoplay
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"autoplay\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_autoplay ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_autoplay ::
+                                            JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_autoplay = undefined
+#endif
+ 
+htmlMediaElementGetAutoplay ::
+                            (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetAutoplay self
+  = ghcjs_dom_html_media_element_get_autoplay
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"loop\"] = $2;"
+        ghcjs_dom_html_media_element_set_loop ::
+        JSRef HTMLMediaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_loop ::
+                                        JSRef HTMLMediaElement -> Bool -> IO ()
+ghcjs_dom_html_media_element_set_loop = undefined
+#endif
+ 
+htmlMediaElementSetLoop ::
+                        (IsHTMLMediaElement self) => self -> Bool -> IO ()
+htmlMediaElementSetLoop self val
+  = ghcjs_dom_html_media_element_set_loop
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"loop\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_loop ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_loop ::
+                                        JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_loop = undefined
+#endif
+ 
+htmlMediaElementGetLoop ::
+                        (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetLoop self
+  = ghcjs_dom_html_media_element_get_loop
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"controls\"] = $2;"
+        ghcjs_dom_html_media_element_set_controls ::
+        JSRef HTMLMediaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_controls ::
+                                            JSRef HTMLMediaElement -> Bool -> IO ()
+ghcjs_dom_html_media_element_set_controls = undefined
+#endif
+ 
+htmlMediaElementSetControls ::
+                            (IsHTMLMediaElement self) => self -> Bool -> IO ()
+htmlMediaElementSetControls self val
+  = ghcjs_dom_html_media_element_set_controls
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"controls\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_controls ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_controls ::
+                                            JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_controls = undefined
+#endif
+ 
+htmlMediaElementGetControls ::
+                            (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetControls self
+  = ghcjs_dom_html_media_element_get_controls
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"volume\"] = $2;"
+        ghcjs_dom_html_media_element_set_volume ::
+        JSRef HTMLMediaElement -> Float -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_volume ::
+                                          JSRef HTMLMediaElement -> Float -> IO ()
+ghcjs_dom_html_media_element_set_volume = undefined
+#endif
+ 
+htmlMediaElementSetVolume ::
+                          (IsHTMLMediaElement self) => self -> Float -> IO ()
+htmlMediaElementSetVolume self val
+  = ghcjs_dom_html_media_element_set_volume
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"volume\"]"
+        ghcjs_dom_html_media_element_get_volume ::
+        JSRef HTMLMediaElement -> IO Float
+#else 
+ghcjs_dom_html_media_element_get_volume ::
+                                          JSRef HTMLMediaElement -> IO Float
+ghcjs_dom_html_media_element_get_volume = undefined
+#endif
+ 
+htmlMediaElementGetVolume ::
+                          (IsHTMLMediaElement self) => self -> IO Float
+htmlMediaElementGetVolume self
+  = ghcjs_dom_html_media_element_get_volume
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"muted\"] = $2;"
+        ghcjs_dom_html_media_element_set_muted ::
+        JSRef HTMLMediaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_muted ::
+                                         JSRef HTMLMediaElement -> Bool -> IO ()
+ghcjs_dom_html_media_element_set_muted = undefined
+#endif
+ 
+htmlMediaElementSetMuted ::
+                         (IsHTMLMediaElement self) => self -> Bool -> IO ()
+htmlMediaElementSetMuted self val
+  = ghcjs_dom_html_media_element_set_muted
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"muted\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_muted ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_muted ::
+                                         JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_muted = undefined
+#endif
+ 
+htmlMediaElementGetMuted ::
+                         (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetMuted self
+  = ghcjs_dom_html_media_element_get_muted
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultMuted\"] = $2;"
+        ghcjs_dom_html_media_element_set_default_muted ::
+        JSRef HTMLMediaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_default_muted ::
+                                                 JSRef HTMLMediaElement -> Bool -> IO ()
+ghcjs_dom_html_media_element_set_default_muted = undefined
+#endif
+ 
+htmlMediaElementSetDefaultMuted ::
+                                (IsHTMLMediaElement self) => self -> Bool -> IO ()
+htmlMediaElementSetDefaultMuted self val
+  = ghcjs_dom_html_media_element_set_default_muted
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"defaultMuted\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_default_muted ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_default_muted ::
+                                                 JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_default_muted = undefined
+#endif
+ 
+htmlMediaElementGetDefaultMuted ::
+                                (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetDefaultMuted self
+  = ghcjs_dom_html_media_element_get_default_muted
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"webkitPreservesPitch\"] = $2;"
+        ghcjs_dom_html_media_element_set_webkit_preserves_pitch ::
+        JSRef HTMLMediaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_webkit_preserves_pitch ::
+                                                          JSRef HTMLMediaElement -> Bool -> IO ()
+ghcjs_dom_html_media_element_set_webkit_preserves_pitch = undefined
+#endif
+ 
+htmlMediaElementSetWebkitPreservesPitch ::
+                                        (IsHTMLMediaElement self) => self -> Bool -> IO ()
+htmlMediaElementSetWebkitPreservesPitch self val
+  = ghcjs_dom_html_media_element_set_webkit_preserves_pitch
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"webkitPreservesPitch\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_webkit_preserves_pitch ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_webkit_preserves_pitch ::
+                                                          JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_webkit_preserves_pitch = undefined
+#endif
+ 
+htmlMediaElementGetWebkitPreservesPitch ::
+                                        (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetWebkitPreservesPitch self
+  = ghcjs_dom_html_media_element_get_webkit_preserves_pitch
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"webkitHasClosedCaptions\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_webkit_has_closed_captions ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_webkit_has_closed_captions ::
+                                                              JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_webkit_has_closed_captions
+  = undefined
+#endif
+ 
+htmlMediaElementGetWebkitHasClosedCaptions ::
+                                           (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetWebkitHasClosedCaptions self
+  = ghcjs_dom_html_media_element_get_webkit_has_closed_captions
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"webkitClosedCaptionsVisible\"] = $2;"
+        ghcjs_dom_html_media_element_set_webkit_closed_captions_visible ::
+        JSRef HTMLMediaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_webkit_closed_captions_visible ::
+                                                                  JSRef HTMLMediaElement ->
+                                                                    Bool -> IO ()
+ghcjs_dom_html_media_element_set_webkit_closed_captions_visible
+  = undefined
+#endif
+ 
+htmlMediaElementSetWebkitClosedCaptionsVisible ::
+                                               (IsHTMLMediaElement self) => self -> Bool -> IO ()
+htmlMediaElementSetWebkitClosedCaptionsVisible self val
+  = ghcjs_dom_html_media_element_set_webkit_closed_captions_visible
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"webkitClosedCaptionsVisible\"] ? 1 : 0)"
+        ghcjs_dom_html_media_element_get_webkit_closed_captions_visible ::
+        JSRef HTMLMediaElement -> IO Bool
+#else 
+ghcjs_dom_html_media_element_get_webkit_closed_captions_visible ::
+                                                                  JSRef HTMLMediaElement -> IO Bool
+ghcjs_dom_html_media_element_get_webkit_closed_captions_visible
+  = undefined
+#endif
+ 
+htmlMediaElementGetWebkitClosedCaptionsVisible ::
+                                               (IsHTMLMediaElement self) => self -> IO Bool
+htmlMediaElementGetWebkitClosedCaptionsVisible self
+  = ghcjs_dom_html_media_element_get_webkit_closed_captions_visible
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"webkitAudioDecodedByteCount\"]"
+        ghcjs_dom_html_media_element_get_webkit_audio_decoded_byte_count ::
+        JSRef HTMLMediaElement -> IO Word
+#else 
+ghcjs_dom_html_media_element_get_webkit_audio_decoded_byte_count ::
+                                                                   JSRef HTMLMediaElement -> IO Word
+ghcjs_dom_html_media_element_get_webkit_audio_decoded_byte_count
+  = undefined
+#endif
+ 
+htmlMediaElementGetWebkitAudioDecodedByteCount ::
+                                               (IsHTMLMediaElement self) => self -> IO Word
+htmlMediaElementGetWebkitAudioDecodedByteCount self
+  = ghcjs_dom_html_media_element_get_webkit_audio_decoded_byte_count
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"webkitVideoDecodedByteCount\"]"
+        ghcjs_dom_html_media_element_get_webkit_video_decoded_byte_count ::
+        JSRef HTMLMediaElement -> IO Word
+#else 
+ghcjs_dom_html_media_element_get_webkit_video_decoded_byte_count ::
+                                                                   JSRef HTMLMediaElement -> IO Word
+ghcjs_dom_html_media_element_get_webkit_video_decoded_byte_count
+  = undefined
+#endif
+ 
+htmlMediaElementGetWebkitVideoDecodedByteCount ::
+                                               (IsHTMLMediaElement self) => self -> IO Word
+htmlMediaElementGetWebkitVideoDecodedByteCount self
+  = ghcjs_dom_html_media_element_get_webkit_video_decoded_byte_count
+      (unHTMLMediaElement (toHTMLMediaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"mediaGroup\"] = $2;"
+        ghcjs_dom_html_media_element_set_media_group ::
+        JSRef HTMLMediaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_media_element_set_media_group ::
+                                               JSRef HTMLMediaElement -> JSString -> IO ()
+ghcjs_dom_html_media_element_set_media_group = undefined
+#endif
+ 
+htmlMediaElementSetMediaGroup ::
+                              (IsHTMLMediaElement self, ToJSString val) => self -> val -> IO ()
+htmlMediaElementSetMediaGroup self val
+  = ghcjs_dom_html_media_element_set_media_group
+      (unHTMLMediaElement (toHTMLMediaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"mediaGroup\"]"
+        ghcjs_dom_html_media_element_get_media_group ::
+        JSRef HTMLMediaElement -> IO JSString
+#else 
+ghcjs_dom_html_media_element_get_media_group ::
+                                               JSRef HTMLMediaElement -> IO JSString
+ghcjs_dom_html_media_element_get_media_group = undefined
+#endif
+ 
+htmlMediaElementGetMediaGroup ::
+                              (IsHTMLMediaElement self, FromJSString result) => self -> IO result
+htmlMediaElementGetMediaGroup self
+  = fromJSString <$>
+      (ghcjs_dom_html_media_element_get_media_group
+         (unHTMLMediaElement (toHTMLMediaElement self)))
+#else
+module GHCJS.DOM.HTMLMediaElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLMediaElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLMediaElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLMenuElement.hs b/src/GHCJS/DOM/HTMLMenuElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLMenuElement.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLMenuElement
+       (ghcjs_dom_html_menu_element_set_compact,
+        htmlMenuElementSetCompact, ghcjs_dom_html_menu_element_get_compact,
+        htmlMenuElementGetCompact)
+       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[\"compact\"] = $2;"
+        ghcjs_dom_html_menu_element_set_compact ::
+        JSRef HTMLMenuElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_menu_element_set_compact ::
+                                          JSRef HTMLMenuElement -> Bool -> IO ()
+ghcjs_dom_html_menu_element_set_compact = undefined
+#endif
+ 
+htmlMenuElementSetCompact ::
+                          (IsHTMLMenuElement self) => self -> Bool -> IO ()
+htmlMenuElementSetCompact self val
+  = ghcjs_dom_html_menu_element_set_compact
+      (unHTMLMenuElement (toHTMLMenuElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"compact\"] ? 1 : 0)"
+        ghcjs_dom_html_menu_element_get_compact ::
+        JSRef HTMLMenuElement -> IO Bool
+#else 
+ghcjs_dom_html_menu_element_get_compact ::
+                                          JSRef HTMLMenuElement -> IO Bool
+ghcjs_dom_html_menu_element_get_compact = undefined
+#endif
+ 
+htmlMenuElementGetCompact ::
+                          (IsHTMLMenuElement self) => self -> IO Bool
+htmlMenuElementGetCompact self
+  = ghcjs_dom_html_menu_element_get_compact
+      (unHTMLMenuElement (toHTMLMenuElement self))
+#else
+module GHCJS.DOM.HTMLMenuElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLMenuElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLMenuElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLMetaElement.hs b/src/GHCJS/DOM/HTMLMetaElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLMetaElement.hs
@@ -0,0 +1,179 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLMetaElement
+       (ghcjs_dom_html_meta_element_set_content,
+        htmlMetaElementSetContent, ghcjs_dom_html_meta_element_get_content,
+        htmlMetaElementGetContent,
+        ghcjs_dom_html_meta_element_set_http_equiv,
+        htmlMetaElementSetHttpEquiv,
+        ghcjs_dom_html_meta_element_get_http_equiv,
+        htmlMetaElementGetHttpEquiv, ghcjs_dom_html_meta_element_set_name,
+        htmlMetaElementSetName, ghcjs_dom_html_meta_element_get_name,
+        htmlMetaElementGetName, ghcjs_dom_html_meta_element_set_scheme,
+        htmlMetaElementSetScheme, ghcjs_dom_html_meta_element_get_scheme,
+        htmlMetaElementGetScheme)
+       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[\"content\"] = $2;"
+        ghcjs_dom_html_meta_element_set_content ::
+        JSRef HTMLMetaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_meta_element_set_content ::
+                                          JSRef HTMLMetaElement -> JSString -> IO ()
+ghcjs_dom_html_meta_element_set_content = undefined
+#endif
+ 
+htmlMetaElementSetContent ::
+                          (IsHTMLMetaElement self, ToJSString val) => self -> val -> IO ()
+htmlMetaElementSetContent self val
+  = ghcjs_dom_html_meta_element_set_content
+      (unHTMLMetaElement (toHTMLMetaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"content\"]"
+        ghcjs_dom_html_meta_element_get_content ::
+        JSRef HTMLMetaElement -> IO JSString
+#else 
+ghcjs_dom_html_meta_element_get_content ::
+                                          JSRef HTMLMetaElement -> IO JSString
+ghcjs_dom_html_meta_element_get_content = undefined
+#endif
+ 
+htmlMetaElementGetContent ::
+                          (IsHTMLMetaElement self, FromJSString result) => self -> IO result
+htmlMetaElementGetContent self
+  = fromJSString <$>
+      (ghcjs_dom_html_meta_element_get_content
+         (unHTMLMetaElement (toHTMLMetaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"httpEquiv\"] = $2;"
+        ghcjs_dom_html_meta_element_set_http_equiv ::
+        JSRef HTMLMetaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_meta_element_set_http_equiv ::
+                                             JSRef HTMLMetaElement -> JSString -> IO ()
+ghcjs_dom_html_meta_element_set_http_equiv = undefined
+#endif
+ 
+htmlMetaElementSetHttpEquiv ::
+                            (IsHTMLMetaElement self, ToJSString val) => self -> val -> IO ()
+htmlMetaElementSetHttpEquiv self val
+  = ghcjs_dom_html_meta_element_set_http_equiv
+      (unHTMLMetaElement (toHTMLMetaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"httpEquiv\"]"
+        ghcjs_dom_html_meta_element_get_http_equiv ::
+        JSRef HTMLMetaElement -> IO JSString
+#else 
+ghcjs_dom_html_meta_element_get_http_equiv ::
+                                             JSRef HTMLMetaElement -> IO JSString
+ghcjs_dom_html_meta_element_get_http_equiv = undefined
+#endif
+ 
+htmlMetaElementGetHttpEquiv ::
+                            (IsHTMLMetaElement self, FromJSString result) => self -> IO result
+htmlMetaElementGetHttpEquiv self
+  = fromJSString <$>
+      (ghcjs_dom_html_meta_element_get_http_equiv
+         (unHTMLMetaElement (toHTMLMetaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_meta_element_set_name ::
+        JSRef HTMLMetaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_meta_element_set_name ::
+                                       JSRef HTMLMetaElement -> JSString -> IO ()
+ghcjs_dom_html_meta_element_set_name = undefined
+#endif
+ 
+htmlMetaElementSetName ::
+                       (IsHTMLMetaElement self, ToJSString val) => self -> val -> IO ()
+htmlMetaElementSetName self val
+  = ghcjs_dom_html_meta_element_set_name
+      (unHTMLMetaElement (toHTMLMetaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_meta_element_get_name ::
+        JSRef HTMLMetaElement -> IO JSString
+#else 
+ghcjs_dom_html_meta_element_get_name ::
+                                       JSRef HTMLMetaElement -> IO JSString
+ghcjs_dom_html_meta_element_get_name = undefined
+#endif
+ 
+htmlMetaElementGetName ::
+                       (IsHTMLMetaElement self, FromJSString result) => self -> IO result
+htmlMetaElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_meta_element_get_name
+         (unHTMLMetaElement (toHTMLMetaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scheme\"] = $2;"
+        ghcjs_dom_html_meta_element_set_scheme ::
+        JSRef HTMLMetaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_meta_element_set_scheme ::
+                                         JSRef HTMLMetaElement -> JSString -> IO ()
+ghcjs_dom_html_meta_element_set_scheme = undefined
+#endif
+ 
+htmlMetaElementSetScheme ::
+                         (IsHTMLMetaElement self, ToJSString val) => self -> val -> IO ()
+htmlMetaElementSetScheme self val
+  = ghcjs_dom_html_meta_element_set_scheme
+      (unHTMLMetaElement (toHTMLMetaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scheme\"]"
+        ghcjs_dom_html_meta_element_get_scheme ::
+        JSRef HTMLMetaElement -> IO JSString
+#else 
+ghcjs_dom_html_meta_element_get_scheme ::
+                                         JSRef HTMLMetaElement -> IO JSString
+ghcjs_dom_html_meta_element_get_scheme = undefined
+#endif
+ 
+htmlMetaElementGetScheme ::
+                         (IsHTMLMetaElement self, FromJSString result) => self -> IO result
+htmlMetaElementGetScheme self
+  = fromJSString <$>
+      (ghcjs_dom_html_meta_element_get_scheme
+         (unHTMLMetaElement (toHTMLMetaElement self)))
+#else
+module GHCJS.DOM.HTMLMetaElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLMetaElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLMetaElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLModElement.hs b/src/GHCJS/DOM/HTMLModElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLModElement.hs
@@ -0,0 +1,102 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLModElement
+       (ghcjs_dom_html_mod_element_set_cite, htmlModElementSetCite,
+        ghcjs_dom_html_mod_element_get_cite, htmlModElementGetCite,
+        ghcjs_dom_html_mod_element_set_date_time,
+        htmlModElementSetDateTime,
+        ghcjs_dom_html_mod_element_get_date_time,
+        htmlModElementGetDateTime)
+       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[\"cite\"] = $2;"
+        ghcjs_dom_html_mod_element_set_cite ::
+        JSRef HTMLModElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_mod_element_set_cite ::
+                                      JSRef HTMLModElement -> JSString -> IO ()
+ghcjs_dom_html_mod_element_set_cite = undefined
+#endif
+ 
+htmlModElementSetCite ::
+                      (IsHTMLModElement self, ToJSString val) => self -> val -> IO ()
+htmlModElementSetCite self val
+  = ghcjs_dom_html_mod_element_set_cite
+      (unHTMLModElement (toHTMLModElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cite\"]"
+        ghcjs_dom_html_mod_element_get_cite ::
+        JSRef HTMLModElement -> IO JSString
+#else 
+ghcjs_dom_html_mod_element_get_cite ::
+                                      JSRef HTMLModElement -> IO JSString
+ghcjs_dom_html_mod_element_get_cite = undefined
+#endif
+ 
+htmlModElementGetCite ::
+                      (IsHTMLModElement self, FromJSString result) => self -> IO result
+htmlModElementGetCite self
+  = fromJSString <$>
+      (ghcjs_dom_html_mod_element_get_cite
+         (unHTMLModElement (toHTMLModElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"dateTime\"] = $2;"
+        ghcjs_dom_html_mod_element_set_date_time ::
+        JSRef HTMLModElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_mod_element_set_date_time ::
+                                           JSRef HTMLModElement -> JSString -> IO ()
+ghcjs_dom_html_mod_element_set_date_time = undefined
+#endif
+ 
+htmlModElementSetDateTime ::
+                          (IsHTMLModElement self, ToJSString val) => self -> val -> IO ()
+htmlModElementSetDateTime self val
+  = ghcjs_dom_html_mod_element_set_date_time
+      (unHTMLModElement (toHTMLModElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"dateTime\"]"
+        ghcjs_dom_html_mod_element_get_date_time ::
+        JSRef HTMLModElement -> IO JSString
+#else 
+ghcjs_dom_html_mod_element_get_date_time ::
+                                           JSRef HTMLModElement -> IO JSString
+ghcjs_dom_html_mod_element_get_date_time = undefined
+#endif
+ 
+htmlModElementGetDateTime ::
+                          (IsHTMLModElement self, FromJSString result) => self -> IO result
+htmlModElementGetDateTime self
+  = fromJSString <$>
+      (ghcjs_dom_html_mod_element_get_date_time
+         (unHTMLModElement (toHTMLModElement self)))
+#else
+module GHCJS.DOM.HTMLModElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLModElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLModElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLOListElement.hs b/src/GHCJS/DOM/HTMLOListElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLOListElement.hs
@@ -0,0 +1,139 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLOListElement
+       (ghcjs_dom_htmlo_list_element_set_compact,
+        htmloListElementSetCompact,
+        ghcjs_dom_htmlo_list_element_get_compact,
+        htmloListElementGetCompact, ghcjs_dom_htmlo_list_element_set_start,
+        htmloListElementSetStart, ghcjs_dom_htmlo_list_element_get_start,
+        htmloListElementGetStart,
+        ghcjs_dom_htmlo_list_element_set_reversed,
+        htmloListElementSetReversed,
+        ghcjs_dom_htmlo_list_element_get_reversed,
+        htmloListElementGetReversed)
+       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[\"compact\"] = $2;"
+        ghcjs_dom_htmlo_list_element_set_compact ::
+        JSRef HTMLOListElement -> Bool -> IO ()
+#else 
+ghcjs_dom_htmlo_list_element_set_compact ::
+                                           JSRef HTMLOListElement -> Bool -> IO ()
+ghcjs_dom_htmlo_list_element_set_compact = undefined
+#endif
+ 
+htmloListElementSetCompact ::
+                           (IsHTMLOListElement self) => self -> Bool -> IO ()
+htmloListElementSetCompact self val
+  = ghcjs_dom_htmlo_list_element_set_compact
+      (unHTMLOListElement (toHTMLOListElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"compact\"] ? 1 : 0)"
+        ghcjs_dom_htmlo_list_element_get_compact ::
+        JSRef HTMLOListElement -> IO Bool
+#else 
+ghcjs_dom_htmlo_list_element_get_compact ::
+                                           JSRef HTMLOListElement -> IO Bool
+ghcjs_dom_htmlo_list_element_get_compact = undefined
+#endif
+ 
+htmloListElementGetCompact ::
+                           (IsHTMLOListElement self) => self -> IO Bool
+htmloListElementGetCompact self
+  = ghcjs_dom_htmlo_list_element_get_compact
+      (unHTMLOListElement (toHTMLOListElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"start\"] = $2;"
+        ghcjs_dom_htmlo_list_element_set_start ::
+        JSRef HTMLOListElement -> Int -> IO ()
+#else 
+ghcjs_dom_htmlo_list_element_set_start ::
+                                         JSRef HTMLOListElement -> Int -> IO ()
+ghcjs_dom_htmlo_list_element_set_start = undefined
+#endif
+ 
+htmloListElementSetStart ::
+                         (IsHTMLOListElement self) => self -> Int -> IO ()
+htmloListElementSetStart self val
+  = ghcjs_dom_htmlo_list_element_set_start
+      (unHTMLOListElement (toHTMLOListElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"start\"]"
+        ghcjs_dom_htmlo_list_element_get_start ::
+        JSRef HTMLOListElement -> IO Int
+#else 
+ghcjs_dom_htmlo_list_element_get_start ::
+                                         JSRef HTMLOListElement -> IO Int
+ghcjs_dom_htmlo_list_element_get_start = undefined
+#endif
+ 
+htmloListElementGetStart ::
+                         (IsHTMLOListElement self) => self -> IO Int
+htmloListElementGetStart self
+  = ghcjs_dom_htmlo_list_element_get_start
+      (unHTMLOListElement (toHTMLOListElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"reversed\"] = $2;"
+        ghcjs_dom_htmlo_list_element_set_reversed ::
+        JSRef HTMLOListElement -> Bool -> IO ()
+#else 
+ghcjs_dom_htmlo_list_element_set_reversed ::
+                                            JSRef HTMLOListElement -> Bool -> IO ()
+ghcjs_dom_htmlo_list_element_set_reversed = undefined
+#endif
+ 
+htmloListElementSetReversed ::
+                            (IsHTMLOListElement self) => self -> Bool -> IO ()
+htmloListElementSetReversed self val
+  = ghcjs_dom_htmlo_list_element_set_reversed
+      (unHTMLOListElement (toHTMLOListElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"reversed\"] ? 1 : 0)"
+        ghcjs_dom_htmlo_list_element_get_reversed ::
+        JSRef HTMLOListElement -> IO Bool
+#else 
+ghcjs_dom_htmlo_list_element_get_reversed ::
+                                            JSRef HTMLOListElement -> IO Bool
+ghcjs_dom_htmlo_list_element_get_reversed = undefined
+#endif
+ 
+htmloListElementGetReversed ::
+                            (IsHTMLOListElement self) => self -> IO Bool
+htmloListElementGetReversed self
+  = ghcjs_dom_htmlo_list_element_get_reversed
+      (unHTMLOListElement (toHTMLOListElement self))
+#else
+module GHCJS.DOM.HTMLOListElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLOListElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLOListElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLObjectElement.hs b/src/GHCJS/DOM/HTMLObjectElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLObjectElement.hs
@@ -0,0 +1,763 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLObjectElement
+       (ghcjs_dom_html_object_element_check_validity,
+        htmlObjectElementCheckValidity,
+        ghcjs_dom_html_object_element_set_custom_validity,
+        htmlObjectElementSetCustomValidity,
+        ghcjs_dom_html_object_element_get_form, htmlObjectElementGetForm,
+        ghcjs_dom_html_object_element_set_code, htmlObjectElementSetCode,
+        ghcjs_dom_html_object_element_get_code, htmlObjectElementGetCode,
+        ghcjs_dom_html_object_element_set_align, htmlObjectElementSetAlign,
+        ghcjs_dom_html_object_element_get_align, htmlObjectElementGetAlign,
+        ghcjs_dom_html_object_element_set_archive,
+        htmlObjectElementSetArchive,
+        ghcjs_dom_html_object_element_get_archive,
+        htmlObjectElementGetArchive,
+        ghcjs_dom_html_object_element_set_border,
+        htmlObjectElementSetBorder,
+        ghcjs_dom_html_object_element_get_border,
+        htmlObjectElementGetBorder,
+        ghcjs_dom_html_object_element_set_code_base,
+        htmlObjectElementSetCodeBase,
+        ghcjs_dom_html_object_element_get_code_base,
+        htmlObjectElementGetCodeBase,
+        ghcjs_dom_html_object_element_set_code_type,
+        htmlObjectElementSetCodeType,
+        ghcjs_dom_html_object_element_get_code_type,
+        htmlObjectElementGetCodeType,
+        ghcjs_dom_html_object_element_set_data, htmlObjectElementSetData,
+        ghcjs_dom_html_object_element_get_data, htmlObjectElementGetData,
+        ghcjs_dom_html_object_element_set_declare,
+        htmlObjectElementSetDeclare,
+        ghcjs_dom_html_object_element_get_declare,
+        htmlObjectElementGetDeclare,
+        ghcjs_dom_html_object_element_set_height,
+        htmlObjectElementSetHeight,
+        ghcjs_dom_html_object_element_get_height,
+        htmlObjectElementGetHeight,
+        ghcjs_dom_html_object_element_set_hspace,
+        htmlObjectElementSetHspace,
+        ghcjs_dom_html_object_element_get_hspace,
+        htmlObjectElementGetHspace, ghcjs_dom_html_object_element_set_name,
+        htmlObjectElementSetName, ghcjs_dom_html_object_element_get_name,
+        htmlObjectElementGetName,
+        ghcjs_dom_html_object_element_set_standby,
+        htmlObjectElementSetStandby,
+        ghcjs_dom_html_object_element_get_standby,
+        htmlObjectElementGetStandby,
+        ghcjs_dom_html_object_element_set_use_map,
+        htmlObjectElementSetUseMap,
+        ghcjs_dom_html_object_element_get_use_map,
+        htmlObjectElementGetUseMap,
+        ghcjs_dom_html_object_element_set_vspace,
+        htmlObjectElementSetVspace,
+        ghcjs_dom_html_object_element_get_vspace,
+        htmlObjectElementGetVspace,
+        ghcjs_dom_html_object_element_set_width, htmlObjectElementSetWidth,
+        ghcjs_dom_html_object_element_get_width, htmlObjectElementGetWidth,
+        ghcjs_dom_html_object_element_get_will_validate,
+        htmlObjectElementGetWillValidate,
+        ghcjs_dom_html_object_element_get_validity,
+        htmlObjectElementGetValidity,
+        ghcjs_dom_html_object_element_get_validation_message,
+        htmlObjectElementGetValidationMessage,
+        ghcjs_dom_html_object_element_get_content_document,
+        htmlObjectElementGetContentDocument)
+       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[\"checkValidity\"]() ? 1 : 0)"
+        ghcjs_dom_html_object_element_check_validity ::
+        JSRef HTMLObjectElement -> IO Bool
+#else 
+ghcjs_dom_html_object_element_check_validity ::
+                                               JSRef HTMLObjectElement -> IO Bool
+ghcjs_dom_html_object_element_check_validity = undefined
+#endif
+ 
+htmlObjectElementCheckValidity ::
+                               (IsHTMLObjectElement self) => self -> IO Bool
+htmlObjectElementCheckValidity self
+  = ghcjs_dom_html_object_element_check_validity
+      (unHTMLObjectElement (toHTMLObjectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setCustomValidity\"]($2)"
+        ghcjs_dom_html_object_element_set_custom_validity ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_custom_validity ::
+                                                    JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_custom_validity = undefined
+#endif
+ 
+htmlObjectElementSetCustomValidity ::
+                                   (IsHTMLObjectElement self, ToJSString error) =>
+                                     self -> error -> IO ()
+htmlObjectElementSetCustomValidity self error
+  = ghcjs_dom_html_object_element_set_custom_validity
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString error)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"form\"]"
+        ghcjs_dom_html_object_element_get_form ::
+        JSRef HTMLObjectElement -> IO (JSRef HTMLFormElement)
+#else 
+ghcjs_dom_html_object_element_get_form ::
+                                         JSRef HTMLObjectElement -> IO (JSRef HTMLFormElement)
+ghcjs_dom_html_object_element_get_form = undefined
+#endif
+ 
+htmlObjectElementGetForm ::
+                         (IsHTMLObjectElement self) => self -> IO (Maybe HTMLFormElement)
+htmlObjectElementGetForm self
+  = fmap HTMLFormElement . maybeJSNull <$>
+      (ghcjs_dom_html_object_element_get_form
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"code\"] = $2;"
+        ghcjs_dom_html_object_element_set_code ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_code ::
+                                         JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_code = undefined
+#endif
+ 
+htmlObjectElementSetCode ::
+                         (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetCode self val
+  = ghcjs_dom_html_object_element_set_code
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"code\"]"
+        ghcjs_dom_html_object_element_get_code ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_code ::
+                                         JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_code = undefined
+#endif
+ 
+htmlObjectElementGetCode ::
+                         (IsHTMLObjectElement self, FromJSString result) =>
+                           self -> IO result
+htmlObjectElementGetCode self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_code
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"] = $2;"
+        ghcjs_dom_html_object_element_set_align ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_align ::
+                                          JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_align = undefined
+#endif
+ 
+htmlObjectElementSetAlign ::
+                          (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetAlign self val
+  = ghcjs_dom_html_object_element_set_align
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_object_element_get_align ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_align ::
+                                          JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_align = undefined
+#endif
+ 
+htmlObjectElementGetAlign ::
+                          (IsHTMLObjectElement self, FromJSString result) =>
+                            self -> IO result
+htmlObjectElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_align
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"archive\"] = $2;"
+        ghcjs_dom_html_object_element_set_archive ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_archive ::
+                                            JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_archive = undefined
+#endif
+ 
+htmlObjectElementSetArchive ::
+                            (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetArchive self val
+  = ghcjs_dom_html_object_element_set_archive
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"archive\"]"
+        ghcjs_dom_html_object_element_get_archive ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_archive ::
+                                            JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_archive = undefined
+#endif
+ 
+htmlObjectElementGetArchive ::
+                            (IsHTMLObjectElement self, FromJSString result) =>
+                              self -> IO result
+htmlObjectElementGetArchive self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_archive
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"border\"] = $2;"
+        ghcjs_dom_html_object_element_set_border ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_border ::
+                                           JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_border = undefined
+#endif
+ 
+htmlObjectElementSetBorder ::
+                           (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetBorder self val
+  = ghcjs_dom_html_object_element_set_border
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"border\"]"
+        ghcjs_dom_html_object_element_get_border ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_border ::
+                                           JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_border = undefined
+#endif
+ 
+htmlObjectElementGetBorder ::
+                           (IsHTMLObjectElement self, FromJSString result) =>
+                             self -> IO result
+htmlObjectElementGetBorder self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_border
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"codeBase\"] = $2;"
+        ghcjs_dom_html_object_element_set_code_base ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_code_base ::
+                                              JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_code_base = undefined
+#endif
+ 
+htmlObjectElementSetCodeBase ::
+                             (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetCodeBase self val
+  = ghcjs_dom_html_object_element_set_code_base
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"codeBase\"]"
+        ghcjs_dom_html_object_element_get_code_base ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_code_base ::
+                                              JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_code_base = undefined
+#endif
+ 
+htmlObjectElementGetCodeBase ::
+                             (IsHTMLObjectElement self, FromJSString result) =>
+                               self -> IO result
+htmlObjectElementGetCodeBase self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_code_base
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"codeType\"] = $2;"
+        ghcjs_dom_html_object_element_set_code_type ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_code_type ::
+                                              JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_code_type = undefined
+#endif
+ 
+htmlObjectElementSetCodeType ::
+                             (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetCodeType self val
+  = ghcjs_dom_html_object_element_set_code_type
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"codeType\"]"
+        ghcjs_dom_html_object_element_get_code_type ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_code_type ::
+                                              JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_code_type = undefined
+#endif
+ 
+htmlObjectElementGetCodeType ::
+                             (IsHTMLObjectElement self, FromJSString result) =>
+                               self -> IO result
+htmlObjectElementGetCodeType self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_code_type
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"data\"] = $2;"
+        ghcjs_dom_html_object_element_set_data ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_data ::
+                                         JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_data = undefined
+#endif
+ 
+htmlObjectElementSetData ::
+                         (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetData self val
+  = ghcjs_dom_html_object_element_set_data
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"data\"]"
+        ghcjs_dom_html_object_element_get_data ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_data ::
+                                         JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_data = undefined
+#endif
+ 
+htmlObjectElementGetData ::
+                         (IsHTMLObjectElement self, FromJSString result) =>
+                           self -> IO result
+htmlObjectElementGetData self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_data
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"declare\"] = $2;"
+        ghcjs_dom_html_object_element_set_declare ::
+        JSRef HTMLObjectElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_declare ::
+                                            JSRef HTMLObjectElement -> Bool -> IO ()
+ghcjs_dom_html_object_element_set_declare = undefined
+#endif
+ 
+htmlObjectElementSetDeclare ::
+                            (IsHTMLObjectElement self) => self -> Bool -> IO ()
+htmlObjectElementSetDeclare self val
+  = ghcjs_dom_html_object_element_set_declare
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"declare\"] ? 1 : 0)"
+        ghcjs_dom_html_object_element_get_declare ::
+        JSRef HTMLObjectElement -> IO Bool
+#else 
+ghcjs_dom_html_object_element_get_declare ::
+                                            JSRef HTMLObjectElement -> IO Bool
+ghcjs_dom_html_object_element_get_declare = undefined
+#endif
+ 
+htmlObjectElementGetDeclare ::
+                            (IsHTMLObjectElement self) => self -> IO Bool
+htmlObjectElementGetDeclare self
+  = ghcjs_dom_html_object_element_get_declare
+      (unHTMLObjectElement (toHTMLObjectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"] = $2;"
+        ghcjs_dom_html_object_element_set_height ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_height ::
+                                           JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_height = undefined
+#endif
+ 
+htmlObjectElementSetHeight ::
+                           (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetHeight self val
+  = ghcjs_dom_html_object_element_set_height
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_object_element_get_height ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_height ::
+                                           JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_height = undefined
+#endif
+ 
+htmlObjectElementGetHeight ::
+                           (IsHTMLObjectElement self, FromJSString result) =>
+                             self -> IO result
+htmlObjectElementGetHeight self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_height
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hspace\"] = $2;"
+        ghcjs_dom_html_object_element_set_hspace ::
+        JSRef HTMLObjectElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_hspace ::
+                                           JSRef HTMLObjectElement -> Int -> IO ()
+ghcjs_dom_html_object_element_set_hspace = undefined
+#endif
+ 
+htmlObjectElementSetHspace ::
+                           (IsHTMLObjectElement self) => self -> Int -> IO ()
+htmlObjectElementSetHspace self val
+  = ghcjs_dom_html_object_element_set_hspace
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"hspace\"]"
+        ghcjs_dom_html_object_element_get_hspace ::
+        JSRef HTMLObjectElement -> IO Int
+#else 
+ghcjs_dom_html_object_element_get_hspace ::
+                                           JSRef HTMLObjectElement -> IO Int
+ghcjs_dom_html_object_element_get_hspace = undefined
+#endif
+ 
+htmlObjectElementGetHspace ::
+                           (IsHTMLObjectElement self) => self -> IO Int
+htmlObjectElementGetHspace self
+  = ghcjs_dom_html_object_element_get_hspace
+      (unHTMLObjectElement (toHTMLObjectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_object_element_set_name ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_name ::
+                                         JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_name = undefined
+#endif
+ 
+htmlObjectElementSetName ::
+                         (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetName self val
+  = ghcjs_dom_html_object_element_set_name
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_object_element_get_name ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_name ::
+                                         JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_name = undefined
+#endif
+ 
+htmlObjectElementGetName ::
+                         (IsHTMLObjectElement self, FromJSString result) =>
+                           self -> IO result
+htmlObjectElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_name
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"standby\"] = $2;"
+        ghcjs_dom_html_object_element_set_standby ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_standby ::
+                                            JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_standby = undefined
+#endif
+ 
+htmlObjectElementSetStandby ::
+                            (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetStandby self val
+  = ghcjs_dom_html_object_element_set_standby
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"standby\"]"
+        ghcjs_dom_html_object_element_get_standby ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_standby ::
+                                            JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_standby = undefined
+#endif
+ 
+htmlObjectElementGetStandby ::
+                            (IsHTMLObjectElement self, FromJSString result) =>
+                              self -> IO result
+htmlObjectElementGetStandby self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_standby
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"useMap\"] = $2;"
+        ghcjs_dom_html_object_element_set_use_map ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_use_map ::
+                                            JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_use_map = undefined
+#endif
+ 
+htmlObjectElementSetUseMap ::
+                           (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetUseMap self val
+  = ghcjs_dom_html_object_element_set_use_map
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"useMap\"]"
+        ghcjs_dom_html_object_element_get_use_map ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_use_map ::
+                                            JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_use_map = undefined
+#endif
+ 
+htmlObjectElementGetUseMap ::
+                           (IsHTMLObjectElement self, FromJSString result) =>
+                             self -> IO result
+htmlObjectElementGetUseMap self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_use_map
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vspace\"] = $2;"
+        ghcjs_dom_html_object_element_set_vspace ::
+        JSRef HTMLObjectElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_vspace ::
+                                           JSRef HTMLObjectElement -> Int -> IO ()
+ghcjs_dom_html_object_element_set_vspace = undefined
+#endif
+ 
+htmlObjectElementSetVspace ::
+                           (IsHTMLObjectElement self) => self -> Int -> IO ()
+htmlObjectElementSetVspace self val
+  = ghcjs_dom_html_object_element_set_vspace
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vspace\"]"
+        ghcjs_dom_html_object_element_get_vspace ::
+        JSRef HTMLObjectElement -> IO Int
+#else 
+ghcjs_dom_html_object_element_get_vspace ::
+                                           JSRef HTMLObjectElement -> IO Int
+ghcjs_dom_html_object_element_get_vspace = undefined
+#endif
+ 
+htmlObjectElementGetVspace ::
+                           (IsHTMLObjectElement self) => self -> IO Int
+htmlObjectElementGetVspace self
+  = ghcjs_dom_html_object_element_get_vspace
+      (unHTMLObjectElement (toHTMLObjectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_object_element_set_width ::
+        JSRef HTMLObjectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_object_element_set_width ::
+                                          JSRef HTMLObjectElement -> JSString -> IO ()
+ghcjs_dom_html_object_element_set_width = undefined
+#endif
+ 
+htmlObjectElementSetWidth ::
+                          (IsHTMLObjectElement self, ToJSString val) => self -> val -> IO ()
+htmlObjectElementSetWidth self val
+  = ghcjs_dom_html_object_element_set_width
+      (unHTMLObjectElement (toHTMLObjectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_object_element_get_width ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_width ::
+                                          JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_width = undefined
+#endif
+ 
+htmlObjectElementGetWidth ::
+                          (IsHTMLObjectElement self, FromJSString result) =>
+                            self -> IO result
+htmlObjectElementGetWidth self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_width
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"willValidate\"] ? 1 : 0)"
+        ghcjs_dom_html_object_element_get_will_validate ::
+        JSRef HTMLObjectElement -> IO Bool
+#else 
+ghcjs_dom_html_object_element_get_will_validate ::
+                                                  JSRef HTMLObjectElement -> IO Bool
+ghcjs_dom_html_object_element_get_will_validate = undefined
+#endif
+ 
+htmlObjectElementGetWillValidate ::
+                                 (IsHTMLObjectElement self) => self -> IO Bool
+htmlObjectElementGetWillValidate self
+  = ghcjs_dom_html_object_element_get_will_validate
+      (unHTMLObjectElement (toHTMLObjectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validity\"]"
+        ghcjs_dom_html_object_element_get_validity ::
+        JSRef HTMLObjectElement -> IO (JSRef ValidityState)
+#else 
+ghcjs_dom_html_object_element_get_validity ::
+                                             JSRef HTMLObjectElement -> IO (JSRef ValidityState)
+ghcjs_dom_html_object_element_get_validity = undefined
+#endif
+ 
+htmlObjectElementGetValidity ::
+                             (IsHTMLObjectElement self) => self -> IO (Maybe ValidityState)
+htmlObjectElementGetValidity self
+  = fmap ValidityState . maybeJSNull <$>
+      (ghcjs_dom_html_object_element_get_validity
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validationMessage\"]"
+        ghcjs_dom_html_object_element_get_validation_message ::
+        JSRef HTMLObjectElement -> IO JSString
+#else 
+ghcjs_dom_html_object_element_get_validation_message ::
+                                                       JSRef HTMLObjectElement -> IO JSString
+ghcjs_dom_html_object_element_get_validation_message = undefined
+#endif
+ 
+htmlObjectElementGetValidationMessage ::
+                                      (IsHTMLObjectElement self, FromJSString result) =>
+                                        self -> IO result
+htmlObjectElementGetValidationMessage self
+  = fromJSString <$>
+      (ghcjs_dom_html_object_element_get_validation_message
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"contentDocument\"]"
+        ghcjs_dom_html_object_element_get_content_document ::
+        JSRef HTMLObjectElement -> IO (JSRef Document)
+#else 
+ghcjs_dom_html_object_element_get_content_document ::
+                                                     JSRef HTMLObjectElement -> IO (JSRef Document)
+ghcjs_dom_html_object_element_get_content_document = undefined
+#endif
+ 
+htmlObjectElementGetContentDocument ::
+                                    (IsHTMLObjectElement self) => self -> IO (Maybe Document)
+htmlObjectElementGetContentDocument self
+  = fmap Document . maybeJSNull <$>
+      (ghcjs_dom_html_object_element_get_content_document
+         (unHTMLObjectElement (toHTMLObjectElement self)))
+#else
+module GHCJS.DOM.HTMLObjectElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLObjectElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLObjectElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLOptGroupElement.hs b/src/GHCJS/DOM/HTMLOptGroupElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLOptGroupElement.hs
@@ -0,0 +1,105 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLOptGroupElement
+       (ghcjs_dom_html_opt_group_element_set_disabled,
+        htmlOptGroupElementSetDisabled,
+        ghcjs_dom_html_opt_group_element_get_disabled,
+        htmlOptGroupElementGetDisabled,
+        ghcjs_dom_html_opt_group_element_set_label,
+        htmlOptGroupElementSetLabel,
+        ghcjs_dom_html_opt_group_element_get_label,
+        htmlOptGroupElementGetLabel)
+       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[\"disabled\"] = $2;"
+        ghcjs_dom_html_opt_group_element_set_disabled ::
+        JSRef HTMLOptGroupElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_opt_group_element_set_disabled ::
+                                                JSRef HTMLOptGroupElement -> Bool -> IO ()
+ghcjs_dom_html_opt_group_element_set_disabled = undefined
+#endif
+ 
+htmlOptGroupElementSetDisabled ::
+                               (IsHTMLOptGroupElement self) => self -> Bool -> IO ()
+htmlOptGroupElementSetDisabled self val
+  = ghcjs_dom_html_opt_group_element_set_disabled
+      (unHTMLOptGroupElement (toHTMLOptGroupElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_html_opt_group_element_get_disabled ::
+        JSRef HTMLOptGroupElement -> IO Bool
+#else 
+ghcjs_dom_html_opt_group_element_get_disabled ::
+                                                JSRef HTMLOptGroupElement -> IO Bool
+ghcjs_dom_html_opt_group_element_get_disabled = undefined
+#endif
+ 
+htmlOptGroupElementGetDisabled ::
+                               (IsHTMLOptGroupElement self) => self -> IO Bool
+htmlOptGroupElementGetDisabled self
+  = ghcjs_dom_html_opt_group_element_get_disabled
+      (unHTMLOptGroupElement (toHTMLOptGroupElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"label\"] = $2;"
+        ghcjs_dom_html_opt_group_element_set_label ::
+        JSRef HTMLOptGroupElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_opt_group_element_set_label ::
+                                             JSRef HTMLOptGroupElement -> JSString -> IO ()
+ghcjs_dom_html_opt_group_element_set_label = undefined
+#endif
+ 
+htmlOptGroupElementSetLabel ::
+                            (IsHTMLOptGroupElement self, ToJSString val) =>
+                              self -> val -> IO ()
+htmlOptGroupElementSetLabel self val
+  = ghcjs_dom_html_opt_group_element_set_label
+      (unHTMLOptGroupElement (toHTMLOptGroupElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"label\"]"
+        ghcjs_dom_html_opt_group_element_get_label ::
+        JSRef HTMLOptGroupElement -> IO JSString
+#else 
+ghcjs_dom_html_opt_group_element_get_label ::
+                                             JSRef HTMLOptGroupElement -> IO JSString
+ghcjs_dom_html_opt_group_element_get_label = undefined
+#endif
+ 
+htmlOptGroupElementGetLabel ::
+                            (IsHTMLOptGroupElement self, FromJSString result) =>
+                              self -> IO result
+htmlOptGroupElementGetLabel self
+  = fromJSString <$>
+      (ghcjs_dom_html_opt_group_element_get_label
+         (unHTMLOptGroupElement (toHTMLOptGroupElement self)))
+#else
+module GHCJS.DOM.HTMLOptGroupElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLOptGroupElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLOptGroupElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLOptionElement.hs b/src/GHCJS/DOM/HTMLOptionElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLOptionElement.hs
@@ -0,0 +1,277 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLOptionElement
+       (ghcjs_dom_html_option_element_set_disabled,
+        htmlOptionElementSetDisabled,
+        ghcjs_dom_html_option_element_get_disabled,
+        htmlOptionElementGetDisabled,
+        ghcjs_dom_html_option_element_get_form, htmlOptionElementGetForm,
+        ghcjs_dom_html_option_element_set_label, htmlOptionElementSetLabel,
+        ghcjs_dom_html_option_element_get_label, htmlOptionElementGetLabel,
+        ghcjs_dom_html_option_element_set_default_selected,
+        htmlOptionElementSetDefaultSelected,
+        ghcjs_dom_html_option_element_get_default_selected,
+        htmlOptionElementGetDefaultSelected,
+        ghcjs_dom_html_option_element_set_selected,
+        htmlOptionElementSetSelected,
+        ghcjs_dom_html_option_element_get_selected,
+        htmlOptionElementGetSelected,
+        ghcjs_dom_html_option_element_set_value, htmlOptionElementSetValue,
+        ghcjs_dom_html_option_element_get_value, htmlOptionElementGetValue,
+        ghcjs_dom_html_option_element_get_text, htmlOptionElementGetText,
+        ghcjs_dom_html_option_element_get_index, htmlOptionElementGetIndex)
+       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[\"disabled\"] = $2;"
+        ghcjs_dom_html_option_element_set_disabled ::
+        JSRef HTMLOptionElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_option_element_set_disabled ::
+                                             JSRef HTMLOptionElement -> Bool -> IO ()
+ghcjs_dom_html_option_element_set_disabled = undefined
+#endif
+ 
+htmlOptionElementSetDisabled ::
+                             (IsHTMLOptionElement self) => self -> Bool -> IO ()
+htmlOptionElementSetDisabled self val
+  = ghcjs_dom_html_option_element_set_disabled
+      (unHTMLOptionElement (toHTMLOptionElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_html_option_element_get_disabled ::
+        JSRef HTMLOptionElement -> IO Bool
+#else 
+ghcjs_dom_html_option_element_get_disabled ::
+                                             JSRef HTMLOptionElement -> IO Bool
+ghcjs_dom_html_option_element_get_disabled = undefined
+#endif
+ 
+htmlOptionElementGetDisabled ::
+                             (IsHTMLOptionElement self) => self -> IO Bool
+htmlOptionElementGetDisabled self
+  = ghcjs_dom_html_option_element_get_disabled
+      (unHTMLOptionElement (toHTMLOptionElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"form\"]"
+        ghcjs_dom_html_option_element_get_form ::
+        JSRef HTMLOptionElement -> IO (JSRef HTMLFormElement)
+#else 
+ghcjs_dom_html_option_element_get_form ::
+                                         JSRef HTMLOptionElement -> IO (JSRef HTMLFormElement)
+ghcjs_dom_html_option_element_get_form = undefined
+#endif
+ 
+htmlOptionElementGetForm ::
+                         (IsHTMLOptionElement self) => self -> IO (Maybe HTMLFormElement)
+htmlOptionElementGetForm self
+  = fmap HTMLFormElement . maybeJSNull <$>
+      (ghcjs_dom_html_option_element_get_form
+         (unHTMLOptionElement (toHTMLOptionElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"label\"] = $2;"
+        ghcjs_dom_html_option_element_set_label ::
+        JSRef HTMLOptionElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_option_element_set_label ::
+                                          JSRef HTMLOptionElement -> JSString -> IO ()
+ghcjs_dom_html_option_element_set_label = undefined
+#endif
+ 
+htmlOptionElementSetLabel ::
+                          (IsHTMLOptionElement self, ToJSString val) => self -> val -> IO ()
+htmlOptionElementSetLabel self val
+  = ghcjs_dom_html_option_element_set_label
+      (unHTMLOptionElement (toHTMLOptionElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"label\"]"
+        ghcjs_dom_html_option_element_get_label ::
+        JSRef HTMLOptionElement -> IO JSString
+#else 
+ghcjs_dom_html_option_element_get_label ::
+                                          JSRef HTMLOptionElement -> IO JSString
+ghcjs_dom_html_option_element_get_label = undefined
+#endif
+ 
+htmlOptionElementGetLabel ::
+                          (IsHTMLOptionElement self, FromJSString result) =>
+                            self -> IO result
+htmlOptionElementGetLabel self
+  = fromJSString <$>
+      (ghcjs_dom_html_option_element_get_label
+         (unHTMLOptionElement (toHTMLOptionElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultSelected\"] = $2;"
+        ghcjs_dom_html_option_element_set_default_selected ::
+        JSRef HTMLOptionElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_option_element_set_default_selected ::
+                                                     JSRef HTMLOptionElement -> Bool -> IO ()
+ghcjs_dom_html_option_element_set_default_selected = undefined
+#endif
+ 
+htmlOptionElementSetDefaultSelected ::
+                                    (IsHTMLOptionElement self) => self -> Bool -> IO ()
+htmlOptionElementSetDefaultSelected self val
+  = ghcjs_dom_html_option_element_set_default_selected
+      (unHTMLOptionElement (toHTMLOptionElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"defaultSelected\"] ? 1 : 0)"
+        ghcjs_dom_html_option_element_get_default_selected ::
+        JSRef HTMLOptionElement -> IO Bool
+#else 
+ghcjs_dom_html_option_element_get_default_selected ::
+                                                     JSRef HTMLOptionElement -> IO Bool
+ghcjs_dom_html_option_element_get_default_selected = undefined
+#endif
+ 
+htmlOptionElementGetDefaultSelected ::
+                                    (IsHTMLOptionElement self) => self -> IO Bool
+htmlOptionElementGetDefaultSelected self
+  = ghcjs_dom_html_option_element_get_default_selected
+      (unHTMLOptionElement (toHTMLOptionElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selected\"] = $2;"
+        ghcjs_dom_html_option_element_set_selected ::
+        JSRef HTMLOptionElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_option_element_set_selected ::
+                                             JSRef HTMLOptionElement -> Bool -> IO ()
+ghcjs_dom_html_option_element_set_selected = undefined
+#endif
+ 
+htmlOptionElementSetSelected ::
+                             (IsHTMLOptionElement self) => self -> Bool -> IO ()
+htmlOptionElementSetSelected self val
+  = ghcjs_dom_html_option_element_set_selected
+      (unHTMLOptionElement (toHTMLOptionElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"selected\"] ? 1 : 0)"
+        ghcjs_dom_html_option_element_get_selected ::
+        JSRef HTMLOptionElement -> IO Bool
+#else 
+ghcjs_dom_html_option_element_get_selected ::
+                                             JSRef HTMLOptionElement -> IO Bool
+ghcjs_dom_html_option_element_get_selected = undefined
+#endif
+ 
+htmlOptionElementGetSelected ::
+                             (IsHTMLOptionElement self) => self -> IO Bool
+htmlOptionElementGetSelected self
+  = ghcjs_dom_html_option_element_get_selected
+      (unHTMLOptionElement (toHTMLOptionElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"] = $2;"
+        ghcjs_dom_html_option_element_set_value ::
+        JSRef HTMLOptionElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_option_element_set_value ::
+                                          JSRef HTMLOptionElement -> JSString -> IO ()
+ghcjs_dom_html_option_element_set_value = undefined
+#endif
+ 
+htmlOptionElementSetValue ::
+                          (IsHTMLOptionElement self, ToJSString val) => self -> val -> IO ()
+htmlOptionElementSetValue self val
+  = ghcjs_dom_html_option_element_set_value
+      (unHTMLOptionElement (toHTMLOptionElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"]"
+        ghcjs_dom_html_option_element_get_value ::
+        JSRef HTMLOptionElement -> IO JSString
+#else 
+ghcjs_dom_html_option_element_get_value ::
+                                          JSRef HTMLOptionElement -> IO JSString
+ghcjs_dom_html_option_element_get_value = undefined
+#endif
+ 
+htmlOptionElementGetValue ::
+                          (IsHTMLOptionElement self, FromJSString result) =>
+                            self -> IO result
+htmlOptionElementGetValue self
+  = fromJSString <$>
+      (ghcjs_dom_html_option_element_get_value
+         (unHTMLOptionElement (toHTMLOptionElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"text\"]"
+        ghcjs_dom_html_option_element_get_text ::
+        JSRef HTMLOptionElement -> IO JSString
+#else 
+ghcjs_dom_html_option_element_get_text ::
+                                         JSRef HTMLOptionElement -> IO JSString
+ghcjs_dom_html_option_element_get_text = undefined
+#endif
+ 
+htmlOptionElementGetText ::
+                         (IsHTMLOptionElement self, FromJSString result) =>
+                           self -> IO result
+htmlOptionElementGetText self
+  = fromJSString <$>
+      (ghcjs_dom_html_option_element_get_text
+         (unHTMLOptionElement (toHTMLOptionElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"index\"]"
+        ghcjs_dom_html_option_element_get_index ::
+        JSRef HTMLOptionElement -> IO Int
+#else 
+ghcjs_dom_html_option_element_get_index ::
+                                          JSRef HTMLOptionElement -> IO Int
+ghcjs_dom_html_option_element_get_index = undefined
+#endif
+ 
+htmlOptionElementGetIndex ::
+                          (IsHTMLOptionElement self) => self -> IO Int
+htmlOptionElementGetIndex self
+  = ghcjs_dom_html_option_element_get_index
+      (unHTMLOptionElement (toHTMLOptionElement self))
+#else
+module GHCJS.DOM.HTMLOptionElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLOptionElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLOptionElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLOptionsCollection.hs b/src/GHCJS/DOM/HTMLOptionsCollection.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLOptionsCollection.hs
@@ -0,0 +1,63 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLOptionsCollection
+       (ghcjs_dom_html_options_collection_set_selected_index,
+        htmlOptionsCollectionSetSelectedIndex,
+        ghcjs_dom_html_options_collection_get_selected_index,
+        htmlOptionsCollectionGetSelectedIndex)
+       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[\"selectedIndex\"] = $2;"
+        ghcjs_dom_html_options_collection_set_selected_index ::
+        JSRef HTMLOptionsCollection -> Int -> IO ()
+#else 
+ghcjs_dom_html_options_collection_set_selected_index ::
+                                                       JSRef HTMLOptionsCollection -> Int -> IO ()
+ghcjs_dom_html_options_collection_set_selected_index = undefined
+#endif
+ 
+htmlOptionsCollectionSetSelectedIndex ::
+                                      (IsHTMLOptionsCollection self) => self -> Int -> IO ()
+htmlOptionsCollectionSetSelectedIndex self val
+  = ghcjs_dom_html_options_collection_set_selected_index
+      (unHTMLOptionsCollection (toHTMLOptionsCollection self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectedIndex\"]"
+        ghcjs_dom_html_options_collection_get_selected_index ::
+        JSRef HTMLOptionsCollection -> IO Int
+#else 
+ghcjs_dom_html_options_collection_get_selected_index ::
+                                                       JSRef HTMLOptionsCollection -> IO Int
+ghcjs_dom_html_options_collection_get_selected_index = undefined
+#endif
+ 
+htmlOptionsCollectionGetSelectedIndex ::
+                                      (IsHTMLOptionsCollection self) => self -> IO Int
+htmlOptionsCollectionGetSelectedIndex self
+  = ghcjs_dom_html_options_collection_get_selected_index
+      (unHTMLOptionsCollection (toHTMLOptionsCollection self))
+#else
+module GHCJS.DOM.HTMLOptionsCollection (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLOptionsCollection
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLOptionsCollection
+#endif
diff --git a/src/GHCJS/DOM/HTMLParagraphElement.hs b/src/GHCJS/DOM/HTMLParagraphElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLParagraphElement.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLParagraphElement
+       (ghcjs_dom_html_paragraph_element_set_align,
+        htmlParagraphElementSetAlign,
+        ghcjs_dom_html_paragraph_element_get_align,
+        htmlParagraphElementGetAlign)
+       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[\"align\"] = $2;"
+        ghcjs_dom_html_paragraph_element_set_align ::
+        JSRef HTMLParagraphElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_paragraph_element_set_align ::
+                                             JSRef HTMLParagraphElement -> JSString -> IO ()
+ghcjs_dom_html_paragraph_element_set_align = undefined
+#endif
+ 
+htmlParagraphElementSetAlign ::
+                             (IsHTMLParagraphElement self, ToJSString val) =>
+                               self -> val -> IO ()
+htmlParagraphElementSetAlign self val
+  = ghcjs_dom_html_paragraph_element_set_align
+      (unHTMLParagraphElement (toHTMLParagraphElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_paragraph_element_get_align ::
+        JSRef HTMLParagraphElement -> IO JSString
+#else 
+ghcjs_dom_html_paragraph_element_get_align ::
+                                             JSRef HTMLParagraphElement -> IO JSString
+ghcjs_dom_html_paragraph_element_get_align = undefined
+#endif
+ 
+htmlParagraphElementGetAlign ::
+                             (IsHTMLParagraphElement self, FromJSString result) =>
+                               self -> IO result
+htmlParagraphElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_paragraph_element_get_align
+         (unHTMLParagraphElement (toHTMLParagraphElement self)))
+#else
+module GHCJS.DOM.HTMLParagraphElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLParagraphElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLParagraphElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLParamElement.hs b/src/GHCJS/DOM/HTMLParamElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLParamElement.hs
@@ -0,0 +1,140 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLParamElement
+       (ghcjs_dom_html_param_element_set_name, htmlParamElementSetName,
+        ghcjs_dom_html_param_element_get_name, htmlParamElementGetName,
+        ghcjs_dom_html_param_element_set_value, htmlParamElementSetValue,
+        ghcjs_dom_html_param_element_get_value, htmlParamElementGetValue,
+        ghcjs_dom_html_param_element_set_value_type,
+        htmlParamElementSetValueType,
+        ghcjs_dom_html_param_element_get_value_type,
+        htmlParamElementGetValueType)
+       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[\"name\"] = $2;"
+        ghcjs_dom_html_param_element_set_name ::
+        JSRef HTMLParamElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_param_element_set_name ::
+                                        JSRef HTMLParamElement -> JSString -> IO ()
+ghcjs_dom_html_param_element_set_name = undefined
+#endif
+ 
+htmlParamElementSetName ::
+                        (IsHTMLParamElement self, ToJSString val) => self -> val -> IO ()
+htmlParamElementSetName self val
+  = ghcjs_dom_html_param_element_set_name
+      (unHTMLParamElement (toHTMLParamElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_param_element_get_name ::
+        JSRef HTMLParamElement -> IO JSString
+#else 
+ghcjs_dom_html_param_element_get_name ::
+                                        JSRef HTMLParamElement -> IO JSString
+ghcjs_dom_html_param_element_get_name = undefined
+#endif
+ 
+htmlParamElementGetName ::
+                        (IsHTMLParamElement self, FromJSString result) => self -> IO result
+htmlParamElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_param_element_get_name
+         (unHTMLParamElement (toHTMLParamElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"] = $2;"
+        ghcjs_dom_html_param_element_set_value ::
+        JSRef HTMLParamElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_param_element_set_value ::
+                                         JSRef HTMLParamElement -> JSString -> IO ()
+ghcjs_dom_html_param_element_set_value = undefined
+#endif
+ 
+htmlParamElementSetValue ::
+                         (IsHTMLParamElement self, ToJSString val) => self -> val -> IO ()
+htmlParamElementSetValue self val
+  = ghcjs_dom_html_param_element_set_value
+      (unHTMLParamElement (toHTMLParamElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"]"
+        ghcjs_dom_html_param_element_get_value ::
+        JSRef HTMLParamElement -> IO JSString
+#else 
+ghcjs_dom_html_param_element_get_value ::
+                                         JSRef HTMLParamElement -> IO JSString
+ghcjs_dom_html_param_element_get_value = undefined
+#endif
+ 
+htmlParamElementGetValue ::
+                         (IsHTMLParamElement self, FromJSString result) => self -> IO result
+htmlParamElementGetValue self
+  = fromJSString <$>
+      (ghcjs_dom_html_param_element_get_value
+         (unHTMLParamElement (toHTMLParamElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"valueType\"] = $2;"
+        ghcjs_dom_html_param_element_set_value_type ::
+        JSRef HTMLParamElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_param_element_set_value_type ::
+                                              JSRef HTMLParamElement -> JSString -> IO ()
+ghcjs_dom_html_param_element_set_value_type = undefined
+#endif
+ 
+htmlParamElementSetValueType ::
+                             (IsHTMLParamElement self, ToJSString val) => self -> val -> IO ()
+htmlParamElementSetValueType self val
+  = ghcjs_dom_html_param_element_set_value_type
+      (unHTMLParamElement (toHTMLParamElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"valueType\"]"
+        ghcjs_dom_html_param_element_get_value_type ::
+        JSRef HTMLParamElement -> IO JSString
+#else 
+ghcjs_dom_html_param_element_get_value_type ::
+                                              JSRef HTMLParamElement -> IO JSString
+ghcjs_dom_html_param_element_get_value_type = undefined
+#endif
+ 
+htmlParamElementGetValueType ::
+                             (IsHTMLParamElement self, FromJSString result) => self -> IO result
+htmlParamElementGetValueType self
+  = fromJSString <$>
+      (ghcjs_dom_html_param_element_get_value_type
+         (unHTMLParamElement (toHTMLParamElement self)))
+#else
+module GHCJS.DOM.HTMLParamElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLParamElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLParamElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLPreElement.hs b/src/GHCJS/DOM/HTMLPreElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLPreElement.hs
@@ -0,0 +1,96 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLPreElement
+       (ghcjs_dom_html_pre_element_set_width, htmlPreElementSetWidth,
+        ghcjs_dom_html_pre_element_get_width, htmlPreElementGetWidth,
+        ghcjs_dom_html_pre_element_set_wrap, htmlPreElementSetWrap,
+        ghcjs_dom_html_pre_element_get_wrap, htmlPreElementGetWrap)
+       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[\"width\"] = $2;"
+        ghcjs_dom_html_pre_element_set_width ::
+        JSRef HTMLPreElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_pre_element_set_width ::
+                                       JSRef HTMLPreElement -> Int -> IO ()
+ghcjs_dom_html_pre_element_set_width = undefined
+#endif
+ 
+htmlPreElementSetWidth ::
+                       (IsHTMLPreElement self) => self -> Int -> IO ()
+htmlPreElementSetWidth self val
+  = ghcjs_dom_html_pre_element_set_width
+      (unHTMLPreElement (toHTMLPreElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_pre_element_get_width ::
+        JSRef HTMLPreElement -> IO Int
+#else 
+ghcjs_dom_html_pre_element_get_width ::
+                                       JSRef HTMLPreElement -> IO Int
+ghcjs_dom_html_pre_element_get_width = undefined
+#endif
+ 
+htmlPreElementGetWidth :: (IsHTMLPreElement self) => self -> IO Int
+htmlPreElementGetWidth self
+  = ghcjs_dom_html_pre_element_get_width
+      (unHTMLPreElement (toHTMLPreElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"wrap\"] = $2;"
+        ghcjs_dom_html_pre_element_set_wrap ::
+        JSRef HTMLPreElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_pre_element_set_wrap ::
+                                      JSRef HTMLPreElement -> Bool -> IO ()
+ghcjs_dom_html_pre_element_set_wrap = undefined
+#endif
+ 
+htmlPreElementSetWrap ::
+                      (IsHTMLPreElement self) => self -> Bool -> IO ()
+htmlPreElementSetWrap self val
+  = ghcjs_dom_html_pre_element_set_wrap
+      (unHTMLPreElement (toHTMLPreElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"wrap\"] ? 1 : 0)"
+        ghcjs_dom_html_pre_element_get_wrap ::
+        JSRef HTMLPreElement -> IO Bool
+#else 
+ghcjs_dom_html_pre_element_get_wrap ::
+                                      JSRef HTMLPreElement -> IO Bool
+ghcjs_dom_html_pre_element_get_wrap = undefined
+#endif
+ 
+htmlPreElementGetWrap :: (IsHTMLPreElement self) => self -> IO Bool
+htmlPreElementGetWrap self
+  = ghcjs_dom_html_pre_element_get_wrap
+      (unHTMLPreElement (toHTMLPreElement self))
+#else
+module GHCJS.DOM.HTMLPreElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLPreElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLPreElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLQuoteElement.hs b/src/GHCJS/DOM/HTMLQuoteElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLQuoteElement.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLQuoteElement
+       (ghcjs_dom_html_quote_element_set_cite, htmlQuoteElementSetCite,
+        ghcjs_dom_html_quote_element_get_cite, htmlQuoteElementGetCite)
+       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[\"cite\"] = $2;"
+        ghcjs_dom_html_quote_element_set_cite ::
+        JSRef HTMLQuoteElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_quote_element_set_cite ::
+                                        JSRef HTMLQuoteElement -> JSString -> IO ()
+ghcjs_dom_html_quote_element_set_cite = undefined
+#endif
+ 
+htmlQuoteElementSetCite ::
+                        (IsHTMLQuoteElement self, ToJSString val) => self -> val -> IO ()
+htmlQuoteElementSetCite self val
+  = ghcjs_dom_html_quote_element_set_cite
+      (unHTMLQuoteElement (toHTMLQuoteElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cite\"]"
+        ghcjs_dom_html_quote_element_get_cite ::
+        JSRef HTMLQuoteElement -> IO JSString
+#else 
+ghcjs_dom_html_quote_element_get_cite ::
+                                        JSRef HTMLQuoteElement -> IO JSString
+ghcjs_dom_html_quote_element_get_cite = undefined
+#endif
+ 
+htmlQuoteElementGetCite ::
+                        (IsHTMLQuoteElement self, FromJSString result) => self -> IO result
+htmlQuoteElementGetCite self
+  = fromJSString <$>
+      (ghcjs_dom_html_quote_element_get_cite
+         (unHTMLQuoteElement (toHTMLQuoteElement self)))
+#else
+module GHCJS.DOM.HTMLQuoteElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLQuoteElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLQuoteElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLScriptElement.hs b/src/GHCJS/DOM/HTMLScriptElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLScriptElement.hs
@@ -0,0 +1,377 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLScriptElement
+       (ghcjs_dom_html_script_element_set_text, htmlScriptElementSetText,
+        ghcjs_dom_html_script_element_get_text, htmlScriptElementGetText,
+        ghcjs_dom_html_script_element_set_html_for,
+        htmlScriptElementSetHtmlFor,
+        ghcjs_dom_html_script_element_get_html_for,
+        htmlScriptElementGetHtmlFor,
+        ghcjs_dom_html_script_element_set_event, htmlScriptElementSetEvent,
+        ghcjs_dom_html_script_element_get_event, htmlScriptElementGetEvent,
+        ghcjs_dom_html_script_element_set_charset,
+        htmlScriptElementSetCharset,
+        ghcjs_dom_html_script_element_get_charset,
+        htmlScriptElementGetCharset,
+        ghcjs_dom_html_script_element_set_async, htmlScriptElementSetAsync,
+        ghcjs_dom_html_script_element_get_async, htmlScriptElementGetAsync,
+        ghcjs_dom_html_script_element_set_defer, htmlScriptElementSetDefer,
+        ghcjs_dom_html_script_element_get_defer, htmlScriptElementGetDefer,
+        ghcjs_dom_html_script_element_set_src, htmlScriptElementSetSrc,
+        ghcjs_dom_html_script_element_get_src, htmlScriptElementGetSrc,
+        ghcjs_dom_html_script_element_set_cross_origin,
+        htmlScriptElementSetCrossOrigin,
+        ghcjs_dom_html_script_element_get_cross_origin,
+        htmlScriptElementGetCrossOrigin,
+        ghcjs_dom_html_script_element_set_nonce, htmlScriptElementSetNonce,
+        ghcjs_dom_html_script_element_get_nonce, htmlScriptElementGetNonce)
+       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[\"text\"] = $2;"
+        ghcjs_dom_html_script_element_set_text ::
+        JSRef HTMLScriptElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_script_element_set_text ::
+                                         JSRef HTMLScriptElement -> JSString -> IO ()
+ghcjs_dom_html_script_element_set_text = undefined
+#endif
+ 
+htmlScriptElementSetText ::
+                         (IsHTMLScriptElement self, ToJSString val) => self -> val -> IO ()
+htmlScriptElementSetText self val
+  = ghcjs_dom_html_script_element_set_text
+      (unHTMLScriptElement (toHTMLScriptElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"text\"]"
+        ghcjs_dom_html_script_element_get_text ::
+        JSRef HTMLScriptElement -> IO JSString
+#else 
+ghcjs_dom_html_script_element_get_text ::
+                                         JSRef HTMLScriptElement -> IO JSString
+ghcjs_dom_html_script_element_get_text = undefined
+#endif
+ 
+htmlScriptElementGetText ::
+                         (IsHTMLScriptElement self, FromJSString result) =>
+                           self -> IO result
+htmlScriptElementGetText self
+  = fromJSString <$>
+      (ghcjs_dom_html_script_element_get_text
+         (unHTMLScriptElement (toHTMLScriptElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"htmlFor\"] = $2;"
+        ghcjs_dom_html_script_element_set_html_for ::
+        JSRef HTMLScriptElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_script_element_set_html_for ::
+                                             JSRef HTMLScriptElement -> JSString -> IO ()
+ghcjs_dom_html_script_element_set_html_for = undefined
+#endif
+ 
+htmlScriptElementSetHtmlFor ::
+                            (IsHTMLScriptElement self, ToJSString val) => self -> val -> IO ()
+htmlScriptElementSetHtmlFor self val
+  = ghcjs_dom_html_script_element_set_html_for
+      (unHTMLScriptElement (toHTMLScriptElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"htmlFor\"]"
+        ghcjs_dom_html_script_element_get_html_for ::
+        JSRef HTMLScriptElement -> IO JSString
+#else 
+ghcjs_dom_html_script_element_get_html_for ::
+                                             JSRef HTMLScriptElement -> IO JSString
+ghcjs_dom_html_script_element_get_html_for = undefined
+#endif
+ 
+htmlScriptElementGetHtmlFor ::
+                            (IsHTMLScriptElement self, FromJSString result) =>
+                              self -> IO result
+htmlScriptElementGetHtmlFor self
+  = fromJSString <$>
+      (ghcjs_dom_html_script_element_get_html_for
+         (unHTMLScriptElement (toHTMLScriptElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"event\"] = $2;"
+        ghcjs_dom_html_script_element_set_event ::
+        JSRef HTMLScriptElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_script_element_set_event ::
+                                          JSRef HTMLScriptElement -> JSString -> IO ()
+ghcjs_dom_html_script_element_set_event = undefined
+#endif
+ 
+htmlScriptElementSetEvent ::
+                          (IsHTMLScriptElement self, ToJSString val) => self -> val -> IO ()
+htmlScriptElementSetEvent self val
+  = ghcjs_dom_html_script_element_set_event
+      (unHTMLScriptElement (toHTMLScriptElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"event\"]"
+        ghcjs_dom_html_script_element_get_event ::
+        JSRef HTMLScriptElement -> IO JSString
+#else 
+ghcjs_dom_html_script_element_get_event ::
+                                          JSRef HTMLScriptElement -> IO JSString
+ghcjs_dom_html_script_element_get_event = undefined
+#endif
+ 
+htmlScriptElementGetEvent ::
+                          (IsHTMLScriptElement self, FromJSString result) =>
+                            self -> IO result
+htmlScriptElementGetEvent self
+  = fromJSString <$>
+      (ghcjs_dom_html_script_element_get_event
+         (unHTMLScriptElement (toHTMLScriptElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"charset\"] = $2;"
+        ghcjs_dom_html_script_element_set_charset ::
+        JSRef HTMLScriptElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_script_element_set_charset ::
+                                            JSRef HTMLScriptElement -> JSString -> IO ()
+ghcjs_dom_html_script_element_set_charset = undefined
+#endif
+ 
+htmlScriptElementSetCharset ::
+                            (IsHTMLScriptElement self, ToJSString val) => self -> val -> IO ()
+htmlScriptElementSetCharset self val
+  = ghcjs_dom_html_script_element_set_charset
+      (unHTMLScriptElement (toHTMLScriptElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"charset\"]"
+        ghcjs_dom_html_script_element_get_charset ::
+        JSRef HTMLScriptElement -> IO JSString
+#else 
+ghcjs_dom_html_script_element_get_charset ::
+                                            JSRef HTMLScriptElement -> IO JSString
+ghcjs_dom_html_script_element_get_charset = undefined
+#endif
+ 
+htmlScriptElementGetCharset ::
+                            (IsHTMLScriptElement self, FromJSString result) =>
+                              self -> IO result
+htmlScriptElementGetCharset self
+  = fromJSString <$>
+      (ghcjs_dom_html_script_element_get_charset
+         (unHTMLScriptElement (toHTMLScriptElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"async\"] = $2;"
+        ghcjs_dom_html_script_element_set_async ::
+        JSRef HTMLScriptElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_script_element_set_async ::
+                                          JSRef HTMLScriptElement -> Bool -> IO ()
+ghcjs_dom_html_script_element_set_async = undefined
+#endif
+ 
+htmlScriptElementSetAsync ::
+                          (IsHTMLScriptElement self) => self -> Bool -> IO ()
+htmlScriptElementSetAsync self val
+  = ghcjs_dom_html_script_element_set_async
+      (unHTMLScriptElement (toHTMLScriptElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"async\"] ? 1 : 0)"
+        ghcjs_dom_html_script_element_get_async ::
+        JSRef HTMLScriptElement -> IO Bool
+#else 
+ghcjs_dom_html_script_element_get_async ::
+                                          JSRef HTMLScriptElement -> IO Bool
+ghcjs_dom_html_script_element_get_async = undefined
+#endif
+ 
+htmlScriptElementGetAsync ::
+                          (IsHTMLScriptElement self) => self -> IO Bool
+htmlScriptElementGetAsync self
+  = ghcjs_dom_html_script_element_get_async
+      (unHTMLScriptElement (toHTMLScriptElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defer\"] = $2;"
+        ghcjs_dom_html_script_element_set_defer ::
+        JSRef HTMLScriptElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_script_element_set_defer ::
+                                          JSRef HTMLScriptElement -> Bool -> IO ()
+ghcjs_dom_html_script_element_set_defer = undefined
+#endif
+ 
+htmlScriptElementSetDefer ::
+                          (IsHTMLScriptElement self) => self -> Bool -> IO ()
+htmlScriptElementSetDefer self val
+  = ghcjs_dom_html_script_element_set_defer
+      (unHTMLScriptElement (toHTMLScriptElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"defer\"] ? 1 : 0)"
+        ghcjs_dom_html_script_element_get_defer ::
+        JSRef HTMLScriptElement -> IO Bool
+#else 
+ghcjs_dom_html_script_element_get_defer ::
+                                          JSRef HTMLScriptElement -> IO Bool
+ghcjs_dom_html_script_element_get_defer = undefined
+#endif
+ 
+htmlScriptElementGetDefer ::
+                          (IsHTMLScriptElement self) => self -> IO Bool
+htmlScriptElementGetDefer self
+  = ghcjs_dom_html_script_element_get_defer
+      (unHTMLScriptElement (toHTMLScriptElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"] = $2;"
+        ghcjs_dom_html_script_element_set_src ::
+        JSRef HTMLScriptElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_script_element_set_src ::
+                                        JSRef HTMLScriptElement -> JSString -> IO ()
+ghcjs_dom_html_script_element_set_src = undefined
+#endif
+ 
+htmlScriptElementSetSrc ::
+                        (IsHTMLScriptElement self, ToJSString val) => self -> val -> IO ()
+htmlScriptElementSetSrc self val
+  = ghcjs_dom_html_script_element_set_src
+      (unHTMLScriptElement (toHTMLScriptElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"src\"]"
+        ghcjs_dom_html_script_element_get_src ::
+        JSRef HTMLScriptElement -> IO JSString
+#else 
+ghcjs_dom_html_script_element_get_src ::
+                                        JSRef HTMLScriptElement -> IO JSString
+ghcjs_dom_html_script_element_get_src = undefined
+#endif
+ 
+htmlScriptElementGetSrc ::
+                        (IsHTMLScriptElement self, FromJSString result) =>
+                          self -> IO result
+htmlScriptElementGetSrc self
+  = fromJSString <$>
+      (ghcjs_dom_html_script_element_get_src
+         (unHTMLScriptElement (toHTMLScriptElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"crossOrigin\"] = $2;"
+        ghcjs_dom_html_script_element_set_cross_origin ::
+        JSRef HTMLScriptElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_script_element_set_cross_origin ::
+                                                 JSRef HTMLScriptElement -> JSString -> IO ()
+ghcjs_dom_html_script_element_set_cross_origin = undefined
+#endif
+ 
+htmlScriptElementSetCrossOrigin ::
+                                (IsHTMLScriptElement self, ToJSString val) => self -> val -> IO ()
+htmlScriptElementSetCrossOrigin self val
+  = ghcjs_dom_html_script_element_set_cross_origin
+      (unHTMLScriptElement (toHTMLScriptElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"crossOrigin\"]"
+        ghcjs_dom_html_script_element_get_cross_origin ::
+        JSRef HTMLScriptElement -> IO JSString
+#else 
+ghcjs_dom_html_script_element_get_cross_origin ::
+                                                 JSRef HTMLScriptElement -> IO JSString
+ghcjs_dom_html_script_element_get_cross_origin = undefined
+#endif
+ 
+htmlScriptElementGetCrossOrigin ::
+                                (IsHTMLScriptElement self, FromJSString result) =>
+                                  self -> IO result
+htmlScriptElementGetCrossOrigin self
+  = fromJSString <$>
+      (ghcjs_dom_html_script_element_get_cross_origin
+         (unHTMLScriptElement (toHTMLScriptElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"nonce\"] = $2;"
+        ghcjs_dom_html_script_element_set_nonce ::
+        JSRef HTMLScriptElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_script_element_set_nonce ::
+                                          JSRef HTMLScriptElement -> JSString -> IO ()
+ghcjs_dom_html_script_element_set_nonce = undefined
+#endif
+ 
+htmlScriptElementSetNonce ::
+                          (IsHTMLScriptElement self, ToJSString val) => self -> val -> IO ()
+htmlScriptElementSetNonce self val
+  = ghcjs_dom_html_script_element_set_nonce
+      (unHTMLScriptElement (toHTMLScriptElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"nonce\"]"
+        ghcjs_dom_html_script_element_get_nonce ::
+        JSRef HTMLScriptElement -> IO JSString
+#else 
+ghcjs_dom_html_script_element_get_nonce ::
+                                          JSRef HTMLScriptElement -> IO JSString
+ghcjs_dom_html_script_element_get_nonce = undefined
+#endif
+ 
+htmlScriptElementGetNonce ::
+                          (IsHTMLScriptElement self, FromJSString result) =>
+                            self -> IO result
+htmlScriptElementGetNonce self
+  = fromJSString <$>
+      (ghcjs_dom_html_script_element_get_nonce
+         (unHTMLScriptElement (toHTMLScriptElement self)))
+#else
+module GHCJS.DOM.HTMLScriptElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLScriptElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLScriptElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLSelectElement.hs b/src/GHCJS/DOM/HTMLSelectElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLSelectElement.hs
@@ -0,0 +1,641 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLSelectElement
+       (ghcjs_dom_html_select_element_item, htmlSelectElementItem,
+        ghcjs_dom_html_select_element_named_item,
+        htmlSelectElementNamedItem, ghcjs_dom_html_select_element_add,
+        htmlSelectElementAdd, ghcjs_dom_html_select_element_remove,
+        htmlSelectElementRemove,
+        ghcjs_dom_html_select_element_check_validity,
+        htmlSelectElementCheckValidity,
+        ghcjs_dom_html_select_element_set_custom_validity,
+        htmlSelectElementSetCustomValidity,
+        ghcjs_dom_html_select_element_set_autofocus,
+        htmlSelectElementSetAutofocus,
+        ghcjs_dom_html_select_element_get_autofocus,
+        htmlSelectElementGetAutofocus,
+        ghcjs_dom_html_select_element_set_disabled,
+        htmlSelectElementSetDisabled,
+        ghcjs_dom_html_select_element_get_disabled,
+        htmlSelectElementGetDisabled,
+        ghcjs_dom_html_select_element_get_form, htmlSelectElementGetForm,
+        ghcjs_dom_html_select_element_set_multiple,
+        htmlSelectElementSetMultiple,
+        ghcjs_dom_html_select_element_get_multiple,
+        htmlSelectElementGetMultiple,
+        ghcjs_dom_html_select_element_set_name, htmlSelectElementSetName,
+        ghcjs_dom_html_select_element_get_name, htmlSelectElementGetName,
+        ghcjs_dom_html_select_element_set_required,
+        htmlSelectElementSetRequired,
+        ghcjs_dom_html_select_element_get_required,
+        htmlSelectElementGetRequired,
+        ghcjs_dom_html_select_element_set_size, htmlSelectElementSetSize,
+        ghcjs_dom_html_select_element_get_size, htmlSelectElementGetSize,
+        ghcjs_dom_html_select_element_get_options,
+        htmlSelectElementGetOptions,
+        ghcjs_dom_html_select_element_set_length,
+        htmlSelectElementSetLength,
+        ghcjs_dom_html_select_element_get_length,
+        htmlSelectElementGetLength,
+        ghcjs_dom_html_select_element_get_selected_options,
+        htmlSelectElementGetSelectedOptions,
+        ghcjs_dom_html_select_element_set_selected_index,
+        htmlSelectElementSetSelectedIndex,
+        ghcjs_dom_html_select_element_get_selected_index,
+        htmlSelectElementGetSelectedIndex,
+        ghcjs_dom_html_select_element_set_value, htmlSelectElementSetValue,
+        ghcjs_dom_html_select_element_get_value, htmlSelectElementGetValue,
+        ghcjs_dom_html_select_element_get_will_validate,
+        htmlSelectElementGetWillValidate,
+        ghcjs_dom_html_select_element_get_validity,
+        htmlSelectElementGetValidity,
+        ghcjs_dom_html_select_element_get_validation_message,
+        htmlSelectElementGetValidationMessage,
+        ghcjs_dom_html_select_element_get_labels,
+        htmlSelectElementGetLabels)
+       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_html_select_element_item ::
+        JSRef HTMLSelectElement -> Word -> IO (JSRef Node)
+#else 
+ghcjs_dom_html_select_element_item ::
+                                     JSRef HTMLSelectElement -> Word -> IO (JSRef Node)
+ghcjs_dom_html_select_element_item = undefined
+#endif
+ 
+htmlSelectElementItem ::
+                      (IsHTMLSelectElement self) => self -> Word -> IO (Maybe Node)
+htmlSelectElementItem self index
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_html_select_element_item
+         (unHTMLSelectElement (toHTMLSelectElement self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"namedItem\"]($2)"
+        ghcjs_dom_html_select_element_named_item ::
+        JSRef HTMLSelectElement -> JSString -> IO (JSRef Node)
+#else 
+ghcjs_dom_html_select_element_named_item ::
+                                           JSRef HTMLSelectElement -> JSString -> IO (JSRef Node)
+ghcjs_dom_html_select_element_named_item = undefined
+#endif
+ 
+htmlSelectElementNamedItem ::
+                           (IsHTMLSelectElement self, ToJSString name) =>
+                             self -> name -> IO (Maybe Node)
+htmlSelectElementNamedItem self name
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_html_select_element_named_item
+         (unHTMLSelectElement (toHTMLSelectElement self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"add\"]($2, $3)"
+        ghcjs_dom_html_select_element_add ::
+        JSRef HTMLSelectElement ->
+          JSRef HTMLElement -> JSRef HTMLElement -> IO ()
+#else 
+ghcjs_dom_html_select_element_add ::
+                                    JSRef HTMLSelectElement ->
+                                      JSRef HTMLElement -> JSRef HTMLElement -> IO ()
+ghcjs_dom_html_select_element_add = undefined
+#endif
+ 
+htmlSelectElementAdd ::
+                     (IsHTMLSelectElement self, IsHTMLElement element,
+                      IsHTMLElement before) =>
+                       self -> Maybe element -> Maybe before -> IO ()
+htmlSelectElementAdd self element before
+  = ghcjs_dom_html_select_element_add
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      (maybe jsNull (unHTMLElement . toHTMLElement) element)
+      (maybe jsNull (unHTMLElement . toHTMLElement) before)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"remove\"]($2)"
+        ghcjs_dom_html_select_element_remove ::
+        JSRef HTMLSelectElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_select_element_remove ::
+                                       JSRef HTMLSelectElement -> Int -> IO ()
+ghcjs_dom_html_select_element_remove = undefined
+#endif
+ 
+htmlSelectElementRemove ::
+                        (IsHTMLSelectElement self) => self -> Int -> IO ()
+htmlSelectElementRemove self index
+  = ghcjs_dom_html_select_element_remove
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"checkValidity\"]() ? 1 : 0)"
+        ghcjs_dom_html_select_element_check_validity ::
+        JSRef HTMLSelectElement -> IO Bool
+#else 
+ghcjs_dom_html_select_element_check_validity ::
+                                               JSRef HTMLSelectElement -> IO Bool
+ghcjs_dom_html_select_element_check_validity = undefined
+#endif
+ 
+htmlSelectElementCheckValidity ::
+                               (IsHTMLSelectElement self) => self -> IO Bool
+htmlSelectElementCheckValidity self
+  = ghcjs_dom_html_select_element_check_validity
+      (unHTMLSelectElement (toHTMLSelectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setCustomValidity\"]($2)"
+        ghcjs_dom_html_select_element_set_custom_validity ::
+        JSRef HTMLSelectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_select_element_set_custom_validity ::
+                                                    JSRef HTMLSelectElement -> JSString -> IO ()
+ghcjs_dom_html_select_element_set_custom_validity = undefined
+#endif
+ 
+htmlSelectElementSetCustomValidity ::
+                                   (IsHTMLSelectElement self, ToJSString error) =>
+                                     self -> error -> IO ()
+htmlSelectElementSetCustomValidity self error
+  = ghcjs_dom_html_select_element_set_custom_validity
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      (toJSString error)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"autofocus\"] = $2;"
+        ghcjs_dom_html_select_element_set_autofocus ::
+        JSRef HTMLSelectElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_select_element_set_autofocus ::
+                                              JSRef HTMLSelectElement -> Bool -> IO ()
+ghcjs_dom_html_select_element_set_autofocus = undefined
+#endif
+ 
+htmlSelectElementSetAutofocus ::
+                              (IsHTMLSelectElement self) => self -> Bool -> IO ()
+htmlSelectElementSetAutofocus self val
+  = ghcjs_dom_html_select_element_set_autofocus
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"autofocus\"] ? 1 : 0)"
+        ghcjs_dom_html_select_element_get_autofocus ::
+        JSRef HTMLSelectElement -> IO Bool
+#else 
+ghcjs_dom_html_select_element_get_autofocus ::
+                                              JSRef HTMLSelectElement -> IO Bool
+ghcjs_dom_html_select_element_get_autofocus = undefined
+#endif
+ 
+htmlSelectElementGetAutofocus ::
+                              (IsHTMLSelectElement self) => self -> IO Bool
+htmlSelectElementGetAutofocus self
+  = ghcjs_dom_html_select_element_get_autofocus
+      (unHTMLSelectElement (toHTMLSelectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"disabled\"] = $2;"
+        ghcjs_dom_html_select_element_set_disabled ::
+        JSRef HTMLSelectElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_select_element_set_disabled ::
+                                             JSRef HTMLSelectElement -> Bool -> IO ()
+ghcjs_dom_html_select_element_set_disabled = undefined
+#endif
+ 
+htmlSelectElementSetDisabled ::
+                             (IsHTMLSelectElement self) => self -> Bool -> IO ()
+htmlSelectElementSetDisabled self val
+  = ghcjs_dom_html_select_element_set_disabled
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_html_select_element_get_disabled ::
+        JSRef HTMLSelectElement -> IO Bool
+#else 
+ghcjs_dom_html_select_element_get_disabled ::
+                                             JSRef HTMLSelectElement -> IO Bool
+ghcjs_dom_html_select_element_get_disabled = undefined
+#endif
+ 
+htmlSelectElementGetDisabled ::
+                             (IsHTMLSelectElement self) => self -> IO Bool
+htmlSelectElementGetDisabled self
+  = ghcjs_dom_html_select_element_get_disabled
+      (unHTMLSelectElement (toHTMLSelectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"form\"]"
+        ghcjs_dom_html_select_element_get_form ::
+        JSRef HTMLSelectElement -> IO (JSRef HTMLFormElement)
+#else 
+ghcjs_dom_html_select_element_get_form ::
+                                         JSRef HTMLSelectElement -> IO (JSRef HTMLFormElement)
+ghcjs_dom_html_select_element_get_form = undefined
+#endif
+ 
+htmlSelectElementGetForm ::
+                         (IsHTMLSelectElement self) => self -> IO (Maybe HTMLFormElement)
+htmlSelectElementGetForm self
+  = fmap HTMLFormElement . maybeJSNull <$>
+      (ghcjs_dom_html_select_element_get_form
+         (unHTMLSelectElement (toHTMLSelectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"multiple\"] = $2;"
+        ghcjs_dom_html_select_element_set_multiple ::
+        JSRef HTMLSelectElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_select_element_set_multiple ::
+                                             JSRef HTMLSelectElement -> Bool -> IO ()
+ghcjs_dom_html_select_element_set_multiple = undefined
+#endif
+ 
+htmlSelectElementSetMultiple ::
+                             (IsHTMLSelectElement self) => self -> Bool -> IO ()
+htmlSelectElementSetMultiple self val
+  = ghcjs_dom_html_select_element_set_multiple
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"multiple\"] ? 1 : 0)"
+        ghcjs_dom_html_select_element_get_multiple ::
+        JSRef HTMLSelectElement -> IO Bool
+#else 
+ghcjs_dom_html_select_element_get_multiple ::
+                                             JSRef HTMLSelectElement -> IO Bool
+ghcjs_dom_html_select_element_get_multiple = undefined
+#endif
+ 
+htmlSelectElementGetMultiple ::
+                             (IsHTMLSelectElement self) => self -> IO Bool
+htmlSelectElementGetMultiple self
+  = ghcjs_dom_html_select_element_get_multiple
+      (unHTMLSelectElement (toHTMLSelectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_select_element_set_name ::
+        JSRef HTMLSelectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_select_element_set_name ::
+                                         JSRef HTMLSelectElement -> JSString -> IO ()
+ghcjs_dom_html_select_element_set_name = undefined
+#endif
+ 
+htmlSelectElementSetName ::
+                         (IsHTMLSelectElement self, ToJSString val) => self -> val -> IO ()
+htmlSelectElementSetName self val
+  = ghcjs_dom_html_select_element_set_name
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_select_element_get_name ::
+        JSRef HTMLSelectElement -> IO JSString
+#else 
+ghcjs_dom_html_select_element_get_name ::
+                                         JSRef HTMLSelectElement -> IO JSString
+ghcjs_dom_html_select_element_get_name = undefined
+#endif
+ 
+htmlSelectElementGetName ::
+                         (IsHTMLSelectElement self, FromJSString result) =>
+                           self -> IO result
+htmlSelectElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_select_element_get_name
+         (unHTMLSelectElement (toHTMLSelectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"required\"] = $2;"
+        ghcjs_dom_html_select_element_set_required ::
+        JSRef HTMLSelectElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_select_element_set_required ::
+                                             JSRef HTMLSelectElement -> Bool -> IO ()
+ghcjs_dom_html_select_element_set_required = undefined
+#endif
+ 
+htmlSelectElementSetRequired ::
+                             (IsHTMLSelectElement self) => self -> Bool -> IO ()
+htmlSelectElementSetRequired self val
+  = ghcjs_dom_html_select_element_set_required
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"required\"] ? 1 : 0)"
+        ghcjs_dom_html_select_element_get_required ::
+        JSRef HTMLSelectElement -> IO Bool
+#else 
+ghcjs_dom_html_select_element_get_required ::
+                                             JSRef HTMLSelectElement -> IO Bool
+ghcjs_dom_html_select_element_get_required = undefined
+#endif
+ 
+htmlSelectElementGetRequired ::
+                             (IsHTMLSelectElement self) => self -> IO Bool
+htmlSelectElementGetRequired self
+  = ghcjs_dom_html_select_element_get_required
+      (unHTMLSelectElement (toHTMLSelectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"size\"] = $2;"
+        ghcjs_dom_html_select_element_set_size ::
+        JSRef HTMLSelectElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_select_element_set_size ::
+                                         JSRef HTMLSelectElement -> Int -> IO ()
+ghcjs_dom_html_select_element_set_size = undefined
+#endif
+ 
+htmlSelectElementSetSize ::
+                         (IsHTMLSelectElement self) => self -> Int -> IO ()
+htmlSelectElementSetSize self val
+  = ghcjs_dom_html_select_element_set_size
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"size\"]"
+        ghcjs_dom_html_select_element_get_size ::
+        JSRef HTMLSelectElement -> IO Int
+#else 
+ghcjs_dom_html_select_element_get_size ::
+                                         JSRef HTMLSelectElement -> IO Int
+ghcjs_dom_html_select_element_get_size = undefined
+#endif
+ 
+htmlSelectElementGetSize ::
+                         (IsHTMLSelectElement self) => self -> IO Int
+htmlSelectElementGetSize self
+  = ghcjs_dom_html_select_element_get_size
+      (unHTMLSelectElement (toHTMLSelectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"options\"]"
+        ghcjs_dom_html_select_element_get_options ::
+        JSRef HTMLSelectElement -> IO (JSRef HTMLOptionsCollection)
+#else 
+ghcjs_dom_html_select_element_get_options ::
+                                            JSRef HTMLSelectElement ->
+                                              IO (JSRef HTMLOptionsCollection)
+ghcjs_dom_html_select_element_get_options = undefined
+#endif
+ 
+htmlSelectElementGetOptions ::
+                            (IsHTMLSelectElement self) =>
+                              self -> IO (Maybe HTMLOptionsCollection)
+htmlSelectElementGetOptions self
+  = fmap HTMLOptionsCollection . maybeJSNull <$>
+      (ghcjs_dom_html_select_element_get_options
+         (unHTMLSelectElement (toHTMLSelectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"] = $2;"
+        ghcjs_dom_html_select_element_set_length ::
+        JSRef HTMLSelectElement -> Word -> IO ()
+#else 
+ghcjs_dom_html_select_element_set_length ::
+                                           JSRef HTMLSelectElement -> Word -> IO ()
+ghcjs_dom_html_select_element_set_length = undefined
+#endif
+ 
+htmlSelectElementSetLength ::
+                           (IsHTMLSelectElement self) => self -> Word -> IO ()
+htmlSelectElementSetLength self val
+  = ghcjs_dom_html_select_element_set_length
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_html_select_element_get_length ::
+        JSRef HTMLSelectElement -> IO Word
+#else 
+ghcjs_dom_html_select_element_get_length ::
+                                           JSRef HTMLSelectElement -> IO Word
+ghcjs_dom_html_select_element_get_length = undefined
+#endif
+ 
+htmlSelectElementGetLength ::
+                           (IsHTMLSelectElement self) => self -> IO Word
+htmlSelectElementGetLength self
+  = ghcjs_dom_html_select_element_get_length
+      (unHTMLSelectElement (toHTMLSelectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectedOptions\"]"
+        ghcjs_dom_html_select_element_get_selected_options ::
+        JSRef HTMLSelectElement -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_select_element_get_selected_options ::
+                                                     JSRef HTMLSelectElement ->
+                                                       IO (JSRef HTMLCollection)
+ghcjs_dom_html_select_element_get_selected_options = undefined
+#endif
+ 
+htmlSelectElementGetSelectedOptions ::
+                                    (IsHTMLSelectElement self) => self -> IO (Maybe HTMLCollection)
+htmlSelectElementGetSelectedOptions self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_select_element_get_selected_options
+         (unHTMLSelectElement (toHTMLSelectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectedIndex\"] = $2;"
+        ghcjs_dom_html_select_element_set_selected_index ::
+        JSRef HTMLSelectElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_select_element_set_selected_index ::
+                                                   JSRef HTMLSelectElement -> Int -> IO ()
+ghcjs_dom_html_select_element_set_selected_index = undefined
+#endif
+ 
+htmlSelectElementSetSelectedIndex ::
+                                  (IsHTMLSelectElement self) => self -> Int -> IO ()
+htmlSelectElementSetSelectedIndex self val
+  = ghcjs_dom_html_select_element_set_selected_index
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectedIndex\"]"
+        ghcjs_dom_html_select_element_get_selected_index ::
+        JSRef HTMLSelectElement -> IO Int
+#else 
+ghcjs_dom_html_select_element_get_selected_index ::
+                                                   JSRef HTMLSelectElement -> IO Int
+ghcjs_dom_html_select_element_get_selected_index = undefined
+#endif
+ 
+htmlSelectElementGetSelectedIndex ::
+                                  (IsHTMLSelectElement self) => self -> IO Int
+htmlSelectElementGetSelectedIndex self
+  = ghcjs_dom_html_select_element_get_selected_index
+      (unHTMLSelectElement (toHTMLSelectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"] = $2;"
+        ghcjs_dom_html_select_element_set_value ::
+        JSRef HTMLSelectElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_select_element_set_value ::
+                                          JSRef HTMLSelectElement -> JSString -> IO ()
+ghcjs_dom_html_select_element_set_value = undefined
+#endif
+ 
+htmlSelectElementSetValue ::
+                          (IsHTMLSelectElement self, ToJSString val) => self -> val -> IO ()
+htmlSelectElementSetValue self val
+  = ghcjs_dom_html_select_element_set_value
+      (unHTMLSelectElement (toHTMLSelectElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"]"
+        ghcjs_dom_html_select_element_get_value ::
+        JSRef HTMLSelectElement -> IO JSString
+#else 
+ghcjs_dom_html_select_element_get_value ::
+                                          JSRef HTMLSelectElement -> IO JSString
+ghcjs_dom_html_select_element_get_value = undefined
+#endif
+ 
+htmlSelectElementGetValue ::
+                          (IsHTMLSelectElement self, FromJSString result) =>
+                            self -> IO result
+htmlSelectElementGetValue self
+  = fromJSString <$>
+      (ghcjs_dom_html_select_element_get_value
+         (unHTMLSelectElement (toHTMLSelectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"willValidate\"] ? 1 : 0)"
+        ghcjs_dom_html_select_element_get_will_validate ::
+        JSRef HTMLSelectElement -> IO Bool
+#else 
+ghcjs_dom_html_select_element_get_will_validate ::
+                                                  JSRef HTMLSelectElement -> IO Bool
+ghcjs_dom_html_select_element_get_will_validate = undefined
+#endif
+ 
+htmlSelectElementGetWillValidate ::
+                                 (IsHTMLSelectElement self) => self -> IO Bool
+htmlSelectElementGetWillValidate self
+  = ghcjs_dom_html_select_element_get_will_validate
+      (unHTMLSelectElement (toHTMLSelectElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validity\"]"
+        ghcjs_dom_html_select_element_get_validity ::
+        JSRef HTMLSelectElement -> IO (JSRef ValidityState)
+#else 
+ghcjs_dom_html_select_element_get_validity ::
+                                             JSRef HTMLSelectElement -> IO (JSRef ValidityState)
+ghcjs_dom_html_select_element_get_validity = undefined
+#endif
+ 
+htmlSelectElementGetValidity ::
+                             (IsHTMLSelectElement self) => self -> IO (Maybe ValidityState)
+htmlSelectElementGetValidity self
+  = fmap ValidityState . maybeJSNull <$>
+      (ghcjs_dom_html_select_element_get_validity
+         (unHTMLSelectElement (toHTMLSelectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validationMessage\"]"
+        ghcjs_dom_html_select_element_get_validation_message ::
+        JSRef HTMLSelectElement -> IO JSString
+#else 
+ghcjs_dom_html_select_element_get_validation_message ::
+                                                       JSRef HTMLSelectElement -> IO JSString
+ghcjs_dom_html_select_element_get_validation_message = undefined
+#endif
+ 
+htmlSelectElementGetValidationMessage ::
+                                      (IsHTMLSelectElement self, FromJSString result) =>
+                                        self -> IO result
+htmlSelectElementGetValidationMessage self
+  = fromJSString <$>
+      (ghcjs_dom_html_select_element_get_validation_message
+         (unHTMLSelectElement (toHTMLSelectElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"labels\"]"
+        ghcjs_dom_html_select_element_get_labels ::
+        JSRef HTMLSelectElement -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_html_select_element_get_labels ::
+                                           JSRef HTMLSelectElement -> IO (JSRef NodeList)
+ghcjs_dom_html_select_element_get_labels = undefined
+#endif
+ 
+htmlSelectElementGetLabels ::
+                           (IsHTMLSelectElement self) => self -> IO (Maybe NodeList)
+htmlSelectElementGetLabels self
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_html_select_element_get_labels
+         (unHTMLSelectElement (toHTMLSelectElement self)))
+#else
+module GHCJS.DOM.HTMLSelectElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLSelectElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLSelectElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLStyleElement.hs b/src/GHCJS/DOM/HTMLStyleElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLStyleElement.hs
@@ -0,0 +1,157 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLStyleElement
+       (ghcjs_dom_html_style_element_set_disabled,
+        htmlStyleElementSetDisabled,
+        ghcjs_dom_html_style_element_get_disabled,
+        htmlStyleElementGetDisabled,
+        ghcjs_dom_html_style_element_set_scoped, htmlStyleElementSetScoped,
+        ghcjs_dom_html_style_element_get_scoped, htmlStyleElementGetScoped,
+        ghcjs_dom_html_style_element_set_media, htmlStyleElementSetMedia,
+        ghcjs_dom_html_style_element_get_media, htmlStyleElementGetMedia,
+        ghcjs_dom_html_style_element_get_sheet, htmlStyleElementGetSheet)
+       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[\"disabled\"] = $2;"
+        ghcjs_dom_html_style_element_set_disabled ::
+        JSRef HTMLStyleElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_style_element_set_disabled ::
+                                            JSRef HTMLStyleElement -> Bool -> IO ()
+ghcjs_dom_html_style_element_set_disabled = undefined
+#endif
+ 
+htmlStyleElementSetDisabled ::
+                            (IsHTMLStyleElement self) => self -> Bool -> IO ()
+htmlStyleElementSetDisabled self val
+  = ghcjs_dom_html_style_element_set_disabled
+      (unHTMLStyleElement (toHTMLStyleElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_html_style_element_get_disabled ::
+        JSRef HTMLStyleElement -> IO Bool
+#else 
+ghcjs_dom_html_style_element_get_disabled ::
+                                            JSRef HTMLStyleElement -> IO Bool
+ghcjs_dom_html_style_element_get_disabled = undefined
+#endif
+ 
+htmlStyleElementGetDisabled ::
+                            (IsHTMLStyleElement self) => self -> IO Bool
+htmlStyleElementGetDisabled self
+  = ghcjs_dom_html_style_element_get_disabled
+      (unHTMLStyleElement (toHTMLStyleElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scoped\"] = $2;"
+        ghcjs_dom_html_style_element_set_scoped ::
+        JSRef HTMLStyleElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_style_element_set_scoped ::
+                                          JSRef HTMLStyleElement -> Bool -> IO ()
+ghcjs_dom_html_style_element_set_scoped = undefined
+#endif
+ 
+htmlStyleElementSetScoped ::
+                          (IsHTMLStyleElement self) => self -> Bool -> IO ()
+htmlStyleElementSetScoped self val
+  = ghcjs_dom_html_style_element_set_scoped
+      (unHTMLStyleElement (toHTMLStyleElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"scoped\"] ? 1 : 0)"
+        ghcjs_dom_html_style_element_get_scoped ::
+        JSRef HTMLStyleElement -> IO Bool
+#else 
+ghcjs_dom_html_style_element_get_scoped ::
+                                          JSRef HTMLStyleElement -> IO Bool
+ghcjs_dom_html_style_element_get_scoped = undefined
+#endif
+ 
+htmlStyleElementGetScoped ::
+                          (IsHTMLStyleElement self) => self -> IO Bool
+htmlStyleElementGetScoped self
+  = ghcjs_dom_html_style_element_get_scoped
+      (unHTMLStyleElement (toHTMLStyleElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"media\"] = $2;"
+        ghcjs_dom_html_style_element_set_media ::
+        JSRef HTMLStyleElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_style_element_set_media ::
+                                         JSRef HTMLStyleElement -> JSString -> IO ()
+ghcjs_dom_html_style_element_set_media = undefined
+#endif
+ 
+htmlStyleElementSetMedia ::
+                         (IsHTMLStyleElement self, ToJSString val) => self -> val -> IO ()
+htmlStyleElementSetMedia self val
+  = ghcjs_dom_html_style_element_set_media
+      (unHTMLStyleElement (toHTMLStyleElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"media\"]"
+        ghcjs_dom_html_style_element_get_media ::
+        JSRef HTMLStyleElement -> IO JSString
+#else 
+ghcjs_dom_html_style_element_get_media ::
+                                         JSRef HTMLStyleElement -> IO JSString
+ghcjs_dom_html_style_element_get_media = undefined
+#endif
+ 
+htmlStyleElementGetMedia ::
+                         (IsHTMLStyleElement self, FromJSString result) => self -> IO result
+htmlStyleElementGetMedia self
+  = fromJSString <$>
+      (ghcjs_dom_html_style_element_get_media
+         (unHTMLStyleElement (toHTMLStyleElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"sheet\"]"
+        ghcjs_dom_html_style_element_get_sheet ::
+        JSRef HTMLStyleElement -> IO (JSRef StyleSheet)
+#else 
+ghcjs_dom_html_style_element_get_sheet ::
+                                         JSRef HTMLStyleElement -> IO (JSRef StyleSheet)
+ghcjs_dom_html_style_element_get_sheet = undefined
+#endif
+ 
+htmlStyleElementGetSheet ::
+                         (IsHTMLStyleElement self) => self -> IO (Maybe StyleSheet)
+htmlStyleElementGetSheet self
+  = fmap StyleSheet . maybeJSNull <$>
+      (ghcjs_dom_html_style_element_get_sheet
+         (unHTMLStyleElement (toHTMLStyleElement self)))
+#else
+module GHCJS.DOM.HTMLStyleElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLStyleElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLStyleElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLTableCaptionElement.hs b/src/GHCJS/DOM/HTMLTableCaptionElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLTableCaptionElement.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLTableCaptionElement
+       (ghcjs_dom_html_table_caption_element_set_align,
+        htmlTableCaptionElementSetAlign,
+        ghcjs_dom_html_table_caption_element_get_align,
+        htmlTableCaptionElementGetAlign)
+       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[\"align\"] = $2;"
+        ghcjs_dom_html_table_caption_element_set_align ::
+        JSRef HTMLTableCaptionElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_caption_element_set_align ::
+                                                 JSRef HTMLTableCaptionElement -> JSString -> IO ()
+ghcjs_dom_html_table_caption_element_set_align = undefined
+#endif
+ 
+htmlTableCaptionElementSetAlign ::
+                                (IsHTMLTableCaptionElement self, ToJSString val) =>
+                                  self -> val -> IO ()
+htmlTableCaptionElementSetAlign self val
+  = ghcjs_dom_html_table_caption_element_set_align
+      (unHTMLTableCaptionElement (toHTMLTableCaptionElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_table_caption_element_get_align ::
+        JSRef HTMLTableCaptionElement -> IO JSString
+#else 
+ghcjs_dom_html_table_caption_element_get_align ::
+                                                 JSRef HTMLTableCaptionElement -> IO JSString
+ghcjs_dom_html_table_caption_element_get_align = undefined
+#endif
+ 
+htmlTableCaptionElementGetAlign ::
+                                (IsHTMLTableCaptionElement self, FromJSString result) =>
+                                  self -> IO result
+htmlTableCaptionElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_caption_element_get_align
+         (unHTMLTableCaptionElement (toHTMLTableCaptionElement self)))
+#else
+module GHCJS.DOM.HTMLTableCaptionElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLTableCaptionElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLTableCaptionElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLTableCellElement.hs b/src/GHCJS/DOM/HTMLTableCellElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLTableCellElement.hs
@@ -0,0 +1,622 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLTableCellElement
+       (ghcjs_dom_html_table_cell_element_get_cell_index,
+        htmlTableCellElementGetCellIndex,
+        ghcjs_dom_html_table_cell_element_set_abbr,
+        htmlTableCellElementSetAbbr,
+        ghcjs_dom_html_table_cell_element_get_abbr,
+        htmlTableCellElementGetAbbr,
+        ghcjs_dom_html_table_cell_element_set_align,
+        htmlTableCellElementSetAlign,
+        ghcjs_dom_html_table_cell_element_get_align,
+        htmlTableCellElementGetAlign,
+        ghcjs_dom_html_table_cell_element_set_axis,
+        htmlTableCellElementSetAxis,
+        ghcjs_dom_html_table_cell_element_get_axis,
+        htmlTableCellElementGetAxis,
+        ghcjs_dom_html_table_cell_element_set_bg_color,
+        htmlTableCellElementSetBgColor,
+        ghcjs_dom_html_table_cell_element_get_bg_color,
+        htmlTableCellElementGetBgColor,
+        ghcjs_dom_html_table_cell_element_set_ch,
+        htmlTableCellElementSetCh,
+        ghcjs_dom_html_table_cell_element_get_ch,
+        htmlTableCellElementGetCh,
+        ghcjs_dom_html_table_cell_element_set_ch_off,
+        htmlTableCellElementSetChOff,
+        ghcjs_dom_html_table_cell_element_get_ch_off,
+        htmlTableCellElementGetChOff,
+        ghcjs_dom_html_table_cell_element_set_col_span,
+        htmlTableCellElementSetColSpan,
+        ghcjs_dom_html_table_cell_element_get_col_span,
+        htmlTableCellElementGetColSpan,
+        ghcjs_dom_html_table_cell_element_set_headers,
+        htmlTableCellElementSetHeaders,
+        ghcjs_dom_html_table_cell_element_get_headers,
+        htmlTableCellElementGetHeaders,
+        ghcjs_dom_html_table_cell_element_set_height,
+        htmlTableCellElementSetHeight,
+        ghcjs_dom_html_table_cell_element_get_height,
+        htmlTableCellElementGetHeight,
+        ghcjs_dom_html_table_cell_element_set_no_wrap,
+        htmlTableCellElementSetNoWrap,
+        ghcjs_dom_html_table_cell_element_get_no_wrap,
+        htmlTableCellElementGetNoWrap,
+        ghcjs_dom_html_table_cell_element_set_row_span,
+        htmlTableCellElementSetRowSpan,
+        ghcjs_dom_html_table_cell_element_get_row_span,
+        htmlTableCellElementGetRowSpan,
+        ghcjs_dom_html_table_cell_element_set_scope,
+        htmlTableCellElementSetScope,
+        ghcjs_dom_html_table_cell_element_get_scope,
+        htmlTableCellElementGetScope,
+        ghcjs_dom_html_table_cell_element_set_v_align,
+        htmlTableCellElementSetVAlign,
+        ghcjs_dom_html_table_cell_element_get_v_align,
+        htmlTableCellElementGetVAlign,
+        ghcjs_dom_html_table_cell_element_set_width,
+        htmlTableCellElementSetWidth,
+        ghcjs_dom_html_table_cell_element_get_width,
+        htmlTableCellElementGetWidth)
+       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[\"cellIndex\"]"
+        ghcjs_dom_html_table_cell_element_get_cell_index ::
+        JSRef HTMLTableCellElement -> IO Int
+#else 
+ghcjs_dom_html_table_cell_element_get_cell_index ::
+                                                   JSRef HTMLTableCellElement -> IO Int
+ghcjs_dom_html_table_cell_element_get_cell_index = undefined
+#endif
+ 
+htmlTableCellElementGetCellIndex ::
+                                 (IsHTMLTableCellElement self) => self -> IO Int
+htmlTableCellElementGetCellIndex self
+  = ghcjs_dom_html_table_cell_element_get_cell_index
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"abbr\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_abbr ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_abbr ::
+                                             JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_abbr = undefined
+#endif
+ 
+htmlTableCellElementSetAbbr ::
+                            (IsHTMLTableCellElement self, ToJSString val) =>
+                              self -> val -> IO ()
+htmlTableCellElementSetAbbr self val
+  = ghcjs_dom_html_table_cell_element_set_abbr
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"abbr\"]"
+        ghcjs_dom_html_table_cell_element_get_abbr ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_abbr ::
+                                             JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_abbr = undefined
+#endif
+ 
+htmlTableCellElementGetAbbr ::
+                            (IsHTMLTableCellElement self, FromJSString result) =>
+                              self -> IO result
+htmlTableCellElementGetAbbr self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_abbr
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_align ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_align ::
+                                              JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_align = undefined
+#endif
+ 
+htmlTableCellElementSetAlign ::
+                             (IsHTMLTableCellElement self, ToJSString val) =>
+                               self -> val -> IO ()
+htmlTableCellElementSetAlign self val
+  = ghcjs_dom_html_table_cell_element_set_align
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_table_cell_element_get_align ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_align ::
+                                              JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_align = undefined
+#endif
+ 
+htmlTableCellElementGetAlign ::
+                             (IsHTMLTableCellElement self, FromJSString result) =>
+                               self -> IO result
+htmlTableCellElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_align
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"axis\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_axis ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_axis ::
+                                             JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_axis = undefined
+#endif
+ 
+htmlTableCellElementSetAxis ::
+                            (IsHTMLTableCellElement self, ToJSString val) =>
+                              self -> val -> IO ()
+htmlTableCellElementSetAxis self val
+  = ghcjs_dom_html_table_cell_element_set_axis
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"axis\"]"
+        ghcjs_dom_html_table_cell_element_get_axis ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_axis ::
+                                             JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_axis = undefined
+#endif
+ 
+htmlTableCellElementGetAxis ::
+                            (IsHTMLTableCellElement self, FromJSString result) =>
+                              self -> IO result
+htmlTableCellElementGetAxis self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_axis
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_bg_color ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_bg_color ::
+                                                 JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_bg_color = undefined
+#endif
+ 
+htmlTableCellElementSetBgColor ::
+                               (IsHTMLTableCellElement self, ToJSString val) =>
+                                 self -> val -> IO ()
+htmlTableCellElementSetBgColor self val
+  = ghcjs_dom_html_table_cell_element_set_bg_color
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"]"
+        ghcjs_dom_html_table_cell_element_get_bg_color ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_bg_color ::
+                                                 JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_bg_color = undefined
+#endif
+ 
+htmlTableCellElementGetBgColor ::
+                               (IsHTMLTableCellElement self, FromJSString result) =>
+                                 self -> IO result
+htmlTableCellElementGetBgColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_bg_color
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ch\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_ch ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_ch ::
+                                           JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_ch = undefined
+#endif
+ 
+htmlTableCellElementSetCh ::
+                          (IsHTMLTableCellElement self, ToJSString val) =>
+                            self -> val -> IO ()
+htmlTableCellElementSetCh self val
+  = ghcjs_dom_html_table_cell_element_set_ch
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ch\"]"
+        ghcjs_dom_html_table_cell_element_get_ch ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_ch ::
+                                           JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_ch = undefined
+#endif
+ 
+htmlTableCellElementGetCh ::
+                          (IsHTMLTableCellElement self, FromJSString result) =>
+                            self -> IO result
+htmlTableCellElementGetCh self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_ch
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"chOff\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_ch_off ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_ch_off ::
+                                               JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_ch_off = undefined
+#endif
+ 
+htmlTableCellElementSetChOff ::
+                             (IsHTMLTableCellElement self, ToJSString val) =>
+                               self -> val -> IO ()
+htmlTableCellElementSetChOff self val
+  = ghcjs_dom_html_table_cell_element_set_ch_off
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"chOff\"]"
+        ghcjs_dom_html_table_cell_element_get_ch_off ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_ch_off ::
+                                               JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_ch_off = undefined
+#endif
+ 
+htmlTableCellElementGetChOff ::
+                             (IsHTMLTableCellElement self, FromJSString result) =>
+                               self -> IO result
+htmlTableCellElementGetChOff self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_ch_off
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"colSpan\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_col_span ::
+        JSRef HTMLTableCellElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_col_span ::
+                                                 JSRef HTMLTableCellElement -> Int -> IO ()
+ghcjs_dom_html_table_cell_element_set_col_span = undefined
+#endif
+ 
+htmlTableCellElementSetColSpan ::
+                               (IsHTMLTableCellElement self) => self -> Int -> IO ()
+htmlTableCellElementSetColSpan self val
+  = ghcjs_dom_html_table_cell_element_set_col_span
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"colSpan\"]"
+        ghcjs_dom_html_table_cell_element_get_col_span ::
+        JSRef HTMLTableCellElement -> IO Int
+#else 
+ghcjs_dom_html_table_cell_element_get_col_span ::
+                                                 JSRef HTMLTableCellElement -> IO Int
+ghcjs_dom_html_table_cell_element_get_col_span = undefined
+#endif
+ 
+htmlTableCellElementGetColSpan ::
+                               (IsHTMLTableCellElement self) => self -> IO Int
+htmlTableCellElementGetColSpan self
+  = ghcjs_dom_html_table_cell_element_get_col_span
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"headers\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_headers ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_headers ::
+                                                JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_headers = undefined
+#endif
+ 
+htmlTableCellElementSetHeaders ::
+                               (IsHTMLTableCellElement self, ToJSString val) =>
+                                 self -> val -> IO ()
+htmlTableCellElementSetHeaders self val
+  = ghcjs_dom_html_table_cell_element_set_headers
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"headers\"]"
+        ghcjs_dom_html_table_cell_element_get_headers ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_headers ::
+                                                JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_headers = undefined
+#endif
+ 
+htmlTableCellElementGetHeaders ::
+                               (IsHTMLTableCellElement self, FromJSString result) =>
+                                 self -> IO result
+htmlTableCellElementGetHeaders self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_headers
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_height ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_height ::
+                                               JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_height = undefined
+#endif
+ 
+htmlTableCellElementSetHeight ::
+                              (IsHTMLTableCellElement self, ToJSString val) =>
+                                self -> val -> IO ()
+htmlTableCellElementSetHeight self val
+  = ghcjs_dom_html_table_cell_element_set_height
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_table_cell_element_get_height ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_height ::
+                                               JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_height = undefined
+#endif
+ 
+htmlTableCellElementGetHeight ::
+                              (IsHTMLTableCellElement self, FromJSString result) =>
+                                self -> IO result
+htmlTableCellElementGetHeight self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_height
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"noWrap\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_no_wrap ::
+        JSRef HTMLTableCellElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_no_wrap ::
+                                                JSRef HTMLTableCellElement -> Bool -> IO ()
+ghcjs_dom_html_table_cell_element_set_no_wrap = undefined
+#endif
+ 
+htmlTableCellElementSetNoWrap ::
+                              (IsHTMLTableCellElement self) => self -> Bool -> IO ()
+htmlTableCellElementSetNoWrap self val
+  = ghcjs_dom_html_table_cell_element_set_no_wrap
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"noWrap\"] ? 1 : 0)"
+        ghcjs_dom_html_table_cell_element_get_no_wrap ::
+        JSRef HTMLTableCellElement -> IO Bool
+#else 
+ghcjs_dom_html_table_cell_element_get_no_wrap ::
+                                                JSRef HTMLTableCellElement -> IO Bool
+ghcjs_dom_html_table_cell_element_get_no_wrap = undefined
+#endif
+ 
+htmlTableCellElementGetNoWrap ::
+                              (IsHTMLTableCellElement self) => self -> IO Bool
+htmlTableCellElementGetNoWrap self
+  = ghcjs_dom_html_table_cell_element_get_no_wrap
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rowSpan\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_row_span ::
+        JSRef HTMLTableCellElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_row_span ::
+                                                 JSRef HTMLTableCellElement -> Int -> IO ()
+ghcjs_dom_html_table_cell_element_set_row_span = undefined
+#endif
+ 
+htmlTableCellElementSetRowSpan ::
+                               (IsHTMLTableCellElement self) => self -> Int -> IO ()
+htmlTableCellElementSetRowSpan self val
+  = ghcjs_dom_html_table_cell_element_set_row_span
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rowSpan\"]"
+        ghcjs_dom_html_table_cell_element_get_row_span ::
+        JSRef HTMLTableCellElement -> IO Int
+#else 
+ghcjs_dom_html_table_cell_element_get_row_span ::
+                                                 JSRef HTMLTableCellElement -> IO Int
+ghcjs_dom_html_table_cell_element_get_row_span = undefined
+#endif
+ 
+htmlTableCellElementGetRowSpan ::
+                               (IsHTMLTableCellElement self) => self -> IO Int
+htmlTableCellElementGetRowSpan self
+  = ghcjs_dom_html_table_cell_element_get_row_span
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scope\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_scope ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_scope ::
+                                              JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_scope = undefined
+#endif
+ 
+htmlTableCellElementSetScope ::
+                             (IsHTMLTableCellElement self, ToJSString val) =>
+                               self -> val -> IO ()
+htmlTableCellElementSetScope self val
+  = ghcjs_dom_html_table_cell_element_set_scope
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"scope\"]"
+        ghcjs_dom_html_table_cell_element_get_scope ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_scope ::
+                                              JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_scope = undefined
+#endif
+ 
+htmlTableCellElementGetScope ::
+                             (IsHTMLTableCellElement self, FromJSString result) =>
+                               self -> IO result
+htmlTableCellElementGetScope self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_scope
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vAlign\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_v_align ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_v_align ::
+                                                JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_v_align = undefined
+#endif
+ 
+htmlTableCellElementSetVAlign ::
+                              (IsHTMLTableCellElement self, ToJSString val) =>
+                                self -> val -> IO ()
+htmlTableCellElementSetVAlign self val
+  = ghcjs_dom_html_table_cell_element_set_v_align
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vAlign\"]"
+        ghcjs_dom_html_table_cell_element_get_v_align ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_v_align ::
+                                                JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_v_align = undefined
+#endif
+ 
+htmlTableCellElementGetVAlign ::
+                              (IsHTMLTableCellElement self, FromJSString result) =>
+                                self -> IO result
+htmlTableCellElementGetVAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_v_align
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_table_cell_element_set_width ::
+        JSRef HTMLTableCellElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_cell_element_set_width ::
+                                              JSRef HTMLTableCellElement -> JSString -> IO ()
+ghcjs_dom_html_table_cell_element_set_width = undefined
+#endif
+ 
+htmlTableCellElementSetWidth ::
+                             (IsHTMLTableCellElement self, ToJSString val) =>
+                               self -> val -> IO ()
+htmlTableCellElementSetWidth self val
+  = ghcjs_dom_html_table_cell_element_set_width
+      (unHTMLTableCellElement (toHTMLTableCellElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_table_cell_element_get_width ::
+        JSRef HTMLTableCellElement -> IO JSString
+#else 
+ghcjs_dom_html_table_cell_element_get_width ::
+                                              JSRef HTMLTableCellElement -> IO JSString
+ghcjs_dom_html_table_cell_element_get_width = undefined
+#endif
+ 
+htmlTableCellElementGetWidth ::
+                             (IsHTMLTableCellElement self, FromJSString result) =>
+                               self -> IO result
+htmlTableCellElementGetWidth self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_cell_element_get_width
+         (unHTMLTableCellElement (toHTMLTableCellElement self)))
+#else
+module GHCJS.DOM.HTMLTableCellElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLTableCellElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLTableCellElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLTableColElement.hs b/src/GHCJS/DOM/HTMLTableColElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLTableColElement.hs
@@ -0,0 +1,271 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLTableColElement
+       (ghcjs_dom_html_table_col_element_set_align,
+        htmlTableColElementSetAlign,
+        ghcjs_dom_html_table_col_element_get_align,
+        htmlTableColElementGetAlign,
+        ghcjs_dom_html_table_col_element_set_ch, htmlTableColElementSetCh,
+        ghcjs_dom_html_table_col_element_get_ch, htmlTableColElementGetCh,
+        ghcjs_dom_html_table_col_element_set_ch_off,
+        htmlTableColElementSetChOff,
+        ghcjs_dom_html_table_col_element_get_ch_off,
+        htmlTableColElementGetChOff,
+        ghcjs_dom_html_table_col_element_set_span,
+        htmlTableColElementSetSpan,
+        ghcjs_dom_html_table_col_element_get_span,
+        htmlTableColElementGetSpan,
+        ghcjs_dom_html_table_col_element_set_v_align,
+        htmlTableColElementSetVAlign,
+        ghcjs_dom_html_table_col_element_get_v_align,
+        htmlTableColElementGetVAlign,
+        ghcjs_dom_html_table_col_element_set_width,
+        htmlTableColElementSetWidth,
+        ghcjs_dom_html_table_col_element_get_width,
+        htmlTableColElementGetWidth)
+       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[\"align\"] = $2;"
+        ghcjs_dom_html_table_col_element_set_align ::
+        JSRef HTMLTableColElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_col_element_set_align ::
+                                             JSRef HTMLTableColElement -> JSString -> IO ()
+ghcjs_dom_html_table_col_element_set_align = undefined
+#endif
+ 
+htmlTableColElementSetAlign ::
+                            (IsHTMLTableColElement self, ToJSString val) =>
+                              self -> val -> IO ()
+htmlTableColElementSetAlign self val
+  = ghcjs_dom_html_table_col_element_set_align
+      (unHTMLTableColElement (toHTMLTableColElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_table_col_element_get_align ::
+        JSRef HTMLTableColElement -> IO JSString
+#else 
+ghcjs_dom_html_table_col_element_get_align ::
+                                             JSRef HTMLTableColElement -> IO JSString
+ghcjs_dom_html_table_col_element_get_align = undefined
+#endif
+ 
+htmlTableColElementGetAlign ::
+                            (IsHTMLTableColElement self, FromJSString result) =>
+                              self -> IO result
+htmlTableColElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_col_element_get_align
+         (unHTMLTableColElement (toHTMLTableColElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ch\"] = $2;"
+        ghcjs_dom_html_table_col_element_set_ch ::
+        JSRef HTMLTableColElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_col_element_set_ch ::
+                                          JSRef HTMLTableColElement -> JSString -> IO ()
+ghcjs_dom_html_table_col_element_set_ch = undefined
+#endif
+ 
+htmlTableColElementSetCh ::
+                         (IsHTMLTableColElement self, ToJSString val) =>
+                           self -> val -> IO ()
+htmlTableColElementSetCh self val
+  = ghcjs_dom_html_table_col_element_set_ch
+      (unHTMLTableColElement (toHTMLTableColElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ch\"]"
+        ghcjs_dom_html_table_col_element_get_ch ::
+        JSRef HTMLTableColElement -> IO JSString
+#else 
+ghcjs_dom_html_table_col_element_get_ch ::
+                                          JSRef HTMLTableColElement -> IO JSString
+ghcjs_dom_html_table_col_element_get_ch = undefined
+#endif
+ 
+htmlTableColElementGetCh ::
+                         (IsHTMLTableColElement self, FromJSString result) =>
+                           self -> IO result
+htmlTableColElementGetCh self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_col_element_get_ch
+         (unHTMLTableColElement (toHTMLTableColElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"chOff\"] = $2;"
+        ghcjs_dom_html_table_col_element_set_ch_off ::
+        JSRef HTMLTableColElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_col_element_set_ch_off ::
+                                              JSRef HTMLTableColElement -> JSString -> IO ()
+ghcjs_dom_html_table_col_element_set_ch_off = undefined
+#endif
+ 
+htmlTableColElementSetChOff ::
+                            (IsHTMLTableColElement self, ToJSString val) =>
+                              self -> val -> IO ()
+htmlTableColElementSetChOff self val
+  = ghcjs_dom_html_table_col_element_set_ch_off
+      (unHTMLTableColElement (toHTMLTableColElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"chOff\"]"
+        ghcjs_dom_html_table_col_element_get_ch_off ::
+        JSRef HTMLTableColElement -> IO JSString
+#else 
+ghcjs_dom_html_table_col_element_get_ch_off ::
+                                              JSRef HTMLTableColElement -> IO JSString
+ghcjs_dom_html_table_col_element_get_ch_off = undefined
+#endif
+ 
+htmlTableColElementGetChOff ::
+                            (IsHTMLTableColElement self, FromJSString result) =>
+                              self -> IO result
+htmlTableColElementGetChOff self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_col_element_get_ch_off
+         (unHTMLTableColElement (toHTMLTableColElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"span\"] = $2;"
+        ghcjs_dom_html_table_col_element_set_span ::
+        JSRef HTMLTableColElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_table_col_element_set_span ::
+                                            JSRef HTMLTableColElement -> Int -> IO ()
+ghcjs_dom_html_table_col_element_set_span = undefined
+#endif
+ 
+htmlTableColElementSetSpan ::
+                           (IsHTMLTableColElement self) => self -> Int -> IO ()
+htmlTableColElementSetSpan self val
+  = ghcjs_dom_html_table_col_element_set_span
+      (unHTMLTableColElement (toHTMLTableColElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"span\"]"
+        ghcjs_dom_html_table_col_element_get_span ::
+        JSRef HTMLTableColElement -> IO Int
+#else 
+ghcjs_dom_html_table_col_element_get_span ::
+                                            JSRef HTMLTableColElement -> IO Int
+ghcjs_dom_html_table_col_element_get_span = undefined
+#endif
+ 
+htmlTableColElementGetSpan ::
+                           (IsHTMLTableColElement self) => self -> IO Int
+htmlTableColElementGetSpan self
+  = ghcjs_dom_html_table_col_element_get_span
+      (unHTMLTableColElement (toHTMLTableColElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vAlign\"] = $2;"
+        ghcjs_dom_html_table_col_element_set_v_align ::
+        JSRef HTMLTableColElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_col_element_set_v_align ::
+                                               JSRef HTMLTableColElement -> JSString -> IO ()
+ghcjs_dom_html_table_col_element_set_v_align = undefined
+#endif
+ 
+htmlTableColElementSetVAlign ::
+                             (IsHTMLTableColElement self, ToJSString val) =>
+                               self -> val -> IO ()
+htmlTableColElementSetVAlign self val
+  = ghcjs_dom_html_table_col_element_set_v_align
+      (unHTMLTableColElement (toHTMLTableColElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vAlign\"]"
+        ghcjs_dom_html_table_col_element_get_v_align ::
+        JSRef HTMLTableColElement -> IO JSString
+#else 
+ghcjs_dom_html_table_col_element_get_v_align ::
+                                               JSRef HTMLTableColElement -> IO JSString
+ghcjs_dom_html_table_col_element_get_v_align = undefined
+#endif
+ 
+htmlTableColElementGetVAlign ::
+                             (IsHTMLTableColElement self, FromJSString result) =>
+                               self -> IO result
+htmlTableColElementGetVAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_col_element_get_v_align
+         (unHTMLTableColElement (toHTMLTableColElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_table_col_element_set_width ::
+        JSRef HTMLTableColElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_col_element_set_width ::
+                                             JSRef HTMLTableColElement -> JSString -> IO ()
+ghcjs_dom_html_table_col_element_set_width = undefined
+#endif
+ 
+htmlTableColElementSetWidth ::
+                            (IsHTMLTableColElement self, ToJSString val) =>
+                              self -> val -> IO ()
+htmlTableColElementSetWidth self val
+  = ghcjs_dom_html_table_col_element_set_width
+      (unHTMLTableColElement (toHTMLTableColElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_table_col_element_get_width ::
+        JSRef HTMLTableColElement -> IO JSString
+#else 
+ghcjs_dom_html_table_col_element_get_width ::
+                                             JSRef HTMLTableColElement -> IO JSString
+ghcjs_dom_html_table_col_element_get_width = undefined
+#endif
+ 
+htmlTableColElementGetWidth ::
+                            (IsHTMLTableColElement self, FromJSString result) =>
+                              self -> IO result
+htmlTableColElementGetWidth self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_col_element_get_width
+         (unHTMLTableColElement (toHTMLTableColElement self)))
+#else
+module GHCJS.DOM.HTMLTableColElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLTableColElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLTableColElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLTableElement.hs b/src/GHCJS/DOM/HTMLTableElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLTableElement.hs
@@ -0,0 +1,723 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLTableElement
+       (ghcjs_dom_html_table_element_create_t_head,
+        htmlTableElementCreateTHead,
+        ghcjs_dom_html_table_element_delete_t_head,
+        htmlTableElementDeleteTHead,
+        ghcjs_dom_html_table_element_create_t_foot,
+        htmlTableElementCreateTFoot,
+        ghcjs_dom_html_table_element_delete_t_foot,
+        htmlTableElementDeleteTFoot,
+        ghcjs_dom_html_table_element_create_t_body,
+        htmlTableElementCreateTBody,
+        ghcjs_dom_html_table_element_create_caption,
+        htmlTableElementCreateCaption,
+        ghcjs_dom_html_table_element_delete_caption,
+        htmlTableElementDeleteCaption,
+        ghcjs_dom_html_table_element_insert_row, htmlTableElementInsertRow,
+        ghcjs_dom_html_table_element_delete_row, htmlTableElementDeleteRow,
+        ghcjs_dom_html_table_element_set_caption,
+        htmlTableElementSetCaption,
+        ghcjs_dom_html_table_element_get_caption,
+        htmlTableElementGetCaption,
+        ghcjs_dom_html_table_element_set_t_head, htmlTableElementSetTHead,
+        ghcjs_dom_html_table_element_get_t_head, htmlTableElementGetTHead,
+        ghcjs_dom_html_table_element_set_t_foot, htmlTableElementSetTFoot,
+        ghcjs_dom_html_table_element_get_t_foot, htmlTableElementGetTFoot,
+        ghcjs_dom_html_table_element_get_rows, htmlTableElementGetRows,
+        ghcjs_dom_html_table_element_get_t_bodies,
+        htmlTableElementGetTBodies, ghcjs_dom_html_table_element_set_align,
+        htmlTableElementSetAlign, ghcjs_dom_html_table_element_get_align,
+        htmlTableElementGetAlign,
+        ghcjs_dom_html_table_element_set_bg_color,
+        htmlTableElementSetBgColor,
+        ghcjs_dom_html_table_element_get_bg_color,
+        htmlTableElementGetBgColor,
+        ghcjs_dom_html_table_element_set_border, htmlTableElementSetBorder,
+        ghcjs_dom_html_table_element_get_border, htmlTableElementGetBorder,
+        ghcjs_dom_html_table_element_set_cell_padding,
+        htmlTableElementSetCellPadding,
+        ghcjs_dom_html_table_element_get_cell_padding,
+        htmlTableElementGetCellPadding,
+        ghcjs_dom_html_table_element_set_cell_spacing,
+        htmlTableElementSetCellSpacing,
+        ghcjs_dom_html_table_element_get_cell_spacing,
+        htmlTableElementGetCellSpacing,
+        ghcjs_dom_html_table_element_set_frame, htmlTableElementSetFrame,
+        ghcjs_dom_html_table_element_get_frame, htmlTableElementGetFrame,
+        ghcjs_dom_html_table_element_set_rules, htmlTableElementSetRules,
+        ghcjs_dom_html_table_element_get_rules, htmlTableElementGetRules,
+        ghcjs_dom_html_table_element_set_summary,
+        htmlTableElementSetSummary,
+        ghcjs_dom_html_table_element_get_summary,
+        htmlTableElementGetSummary, ghcjs_dom_html_table_element_set_width,
+        htmlTableElementSetWidth, ghcjs_dom_html_table_element_get_width,
+        htmlTableElementGetWidth)
+       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[\"createTHead\"]()"
+        ghcjs_dom_html_table_element_create_t_head ::
+        JSRef HTMLTableElement -> IO (JSRef HTMLElement)
+#else 
+ghcjs_dom_html_table_element_create_t_head ::
+                                             JSRef HTMLTableElement -> IO (JSRef HTMLElement)
+ghcjs_dom_html_table_element_create_t_head = undefined
+#endif
+ 
+htmlTableElementCreateTHead ::
+                            (IsHTMLTableElement self) => self -> IO (Maybe HTMLElement)
+htmlTableElementCreateTHead self
+  = fmap HTMLElement . maybeJSNull <$>
+      (ghcjs_dom_html_table_element_create_t_head
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteTHead\"]()"
+        ghcjs_dom_html_table_element_delete_t_head ::
+        JSRef HTMLTableElement -> IO ()
+#else 
+ghcjs_dom_html_table_element_delete_t_head ::
+                                             JSRef HTMLTableElement -> IO ()
+ghcjs_dom_html_table_element_delete_t_head = undefined
+#endif
+ 
+htmlTableElementDeleteTHead ::
+                            (IsHTMLTableElement self) => self -> IO ()
+htmlTableElementDeleteTHead self
+  = ghcjs_dom_html_table_element_delete_t_head
+      (unHTMLTableElement (toHTMLTableElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createTFoot\"]()"
+        ghcjs_dom_html_table_element_create_t_foot ::
+        JSRef HTMLTableElement -> IO (JSRef HTMLElement)
+#else 
+ghcjs_dom_html_table_element_create_t_foot ::
+                                             JSRef HTMLTableElement -> IO (JSRef HTMLElement)
+ghcjs_dom_html_table_element_create_t_foot = undefined
+#endif
+ 
+htmlTableElementCreateTFoot ::
+                            (IsHTMLTableElement self) => self -> IO (Maybe HTMLElement)
+htmlTableElementCreateTFoot self
+  = fmap HTMLElement . maybeJSNull <$>
+      (ghcjs_dom_html_table_element_create_t_foot
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteTFoot\"]()"
+        ghcjs_dom_html_table_element_delete_t_foot ::
+        JSRef HTMLTableElement -> IO ()
+#else 
+ghcjs_dom_html_table_element_delete_t_foot ::
+                                             JSRef HTMLTableElement -> IO ()
+ghcjs_dom_html_table_element_delete_t_foot = undefined
+#endif
+ 
+htmlTableElementDeleteTFoot ::
+                            (IsHTMLTableElement self) => self -> IO ()
+htmlTableElementDeleteTFoot self
+  = ghcjs_dom_html_table_element_delete_t_foot
+      (unHTMLTableElement (toHTMLTableElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createTBody\"]()"
+        ghcjs_dom_html_table_element_create_t_body ::
+        JSRef HTMLTableElement -> IO (JSRef HTMLElement)
+#else 
+ghcjs_dom_html_table_element_create_t_body ::
+                                             JSRef HTMLTableElement -> IO (JSRef HTMLElement)
+ghcjs_dom_html_table_element_create_t_body = undefined
+#endif
+ 
+htmlTableElementCreateTBody ::
+                            (IsHTMLTableElement self) => self -> IO (Maybe HTMLElement)
+htmlTableElementCreateTBody self
+  = fmap HTMLElement . maybeJSNull <$>
+      (ghcjs_dom_html_table_element_create_t_body
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"createCaption\"]()"
+        ghcjs_dom_html_table_element_create_caption ::
+        JSRef HTMLTableElement -> IO (JSRef HTMLElement)
+#else 
+ghcjs_dom_html_table_element_create_caption ::
+                                              JSRef HTMLTableElement -> IO (JSRef HTMLElement)
+ghcjs_dom_html_table_element_create_caption = undefined
+#endif
+ 
+htmlTableElementCreateCaption ::
+                              (IsHTMLTableElement self) => self -> IO (Maybe HTMLElement)
+htmlTableElementCreateCaption self
+  = fmap HTMLElement . maybeJSNull <$>
+      (ghcjs_dom_html_table_element_create_caption
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteCaption\"]()"
+        ghcjs_dom_html_table_element_delete_caption ::
+        JSRef HTMLTableElement -> IO ()
+#else 
+ghcjs_dom_html_table_element_delete_caption ::
+                                              JSRef HTMLTableElement -> IO ()
+ghcjs_dom_html_table_element_delete_caption = undefined
+#endif
+ 
+htmlTableElementDeleteCaption ::
+                              (IsHTMLTableElement self) => self -> IO ()
+htmlTableElementDeleteCaption self
+  = ghcjs_dom_html_table_element_delete_caption
+      (unHTMLTableElement (toHTMLTableElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"insertRow\"]($2)"
+        ghcjs_dom_html_table_element_insert_row ::
+        JSRef HTMLTableElement -> Int -> IO (JSRef HTMLElement)
+#else 
+ghcjs_dom_html_table_element_insert_row ::
+                                          JSRef HTMLTableElement -> Int -> IO (JSRef HTMLElement)
+ghcjs_dom_html_table_element_insert_row = undefined
+#endif
+ 
+htmlTableElementInsertRow ::
+                          (IsHTMLTableElement self) => self -> Int -> IO (Maybe HTMLElement)
+htmlTableElementInsertRow self index
+  = fmap HTMLElement . maybeJSNull <$>
+      (ghcjs_dom_html_table_element_insert_row
+         (unHTMLTableElement (toHTMLTableElement self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteRow\"]($2)"
+        ghcjs_dom_html_table_element_delete_row ::
+        JSRef HTMLTableElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_table_element_delete_row ::
+                                          JSRef HTMLTableElement -> Int -> IO ()
+ghcjs_dom_html_table_element_delete_row = undefined
+#endif
+ 
+htmlTableElementDeleteRow ::
+                          (IsHTMLTableElement self) => self -> Int -> IO ()
+htmlTableElementDeleteRow self index
+  = ghcjs_dom_html_table_element_delete_row
+      (unHTMLTableElement (toHTMLTableElement self))
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"caption\"] = $2;"
+        ghcjs_dom_html_table_element_set_caption ::
+        JSRef HTMLTableElement -> JSRef HTMLTableCaptionElement -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_caption ::
+                                           JSRef HTMLTableElement ->
+                                             JSRef HTMLTableCaptionElement -> IO ()
+ghcjs_dom_html_table_element_set_caption = undefined
+#endif
+ 
+htmlTableElementSetCaption ::
+                           (IsHTMLTableElement self, IsHTMLTableCaptionElement val) =>
+                             self -> Maybe val -> IO ()
+htmlTableElementSetCaption self val
+  = ghcjs_dom_html_table_element_set_caption
+      (unHTMLTableElement (toHTMLTableElement self))
+      (maybe jsNull
+         (unHTMLTableCaptionElement . toHTMLTableCaptionElement)
+         val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"caption\"]"
+        ghcjs_dom_html_table_element_get_caption ::
+        JSRef HTMLTableElement -> IO (JSRef HTMLTableCaptionElement)
+#else 
+ghcjs_dom_html_table_element_get_caption ::
+                                           JSRef HTMLTableElement ->
+                                             IO (JSRef HTMLTableCaptionElement)
+ghcjs_dom_html_table_element_get_caption = undefined
+#endif
+ 
+htmlTableElementGetCaption ::
+                           (IsHTMLTableElement self) =>
+                             self -> IO (Maybe HTMLTableCaptionElement)
+htmlTableElementGetCaption self
+  = fmap HTMLTableCaptionElement . maybeJSNull <$>
+      (ghcjs_dom_html_table_element_get_caption
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"tHead\"] = $2;"
+        ghcjs_dom_html_table_element_set_t_head ::
+        JSRef HTMLTableElement -> JSRef HTMLTableSectionElement -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_t_head ::
+                                          JSRef HTMLTableElement ->
+                                            JSRef HTMLTableSectionElement -> IO ()
+ghcjs_dom_html_table_element_set_t_head = undefined
+#endif
+ 
+htmlTableElementSetTHead ::
+                         (IsHTMLTableElement self, IsHTMLTableSectionElement val) =>
+                           self -> Maybe val -> IO ()
+htmlTableElementSetTHead self val
+  = ghcjs_dom_html_table_element_set_t_head
+      (unHTMLTableElement (toHTMLTableElement self))
+      (maybe jsNull
+         (unHTMLTableSectionElement . toHTMLTableSectionElement)
+         val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"tHead\"]"
+        ghcjs_dom_html_table_element_get_t_head ::
+        JSRef HTMLTableElement -> IO (JSRef HTMLTableSectionElement)
+#else 
+ghcjs_dom_html_table_element_get_t_head ::
+                                          JSRef HTMLTableElement ->
+                                            IO (JSRef HTMLTableSectionElement)
+ghcjs_dom_html_table_element_get_t_head = undefined
+#endif
+ 
+htmlTableElementGetTHead ::
+                         (IsHTMLTableElement self) =>
+                           self -> IO (Maybe HTMLTableSectionElement)
+htmlTableElementGetTHead self
+  = fmap HTMLTableSectionElement . maybeJSNull <$>
+      (ghcjs_dom_html_table_element_get_t_head
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"tFoot\"] = $2;"
+        ghcjs_dom_html_table_element_set_t_foot ::
+        JSRef HTMLTableElement -> JSRef HTMLTableSectionElement -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_t_foot ::
+                                          JSRef HTMLTableElement ->
+                                            JSRef HTMLTableSectionElement -> IO ()
+ghcjs_dom_html_table_element_set_t_foot = undefined
+#endif
+ 
+htmlTableElementSetTFoot ::
+                         (IsHTMLTableElement self, IsHTMLTableSectionElement val) =>
+                           self -> Maybe val -> IO ()
+htmlTableElementSetTFoot self val
+  = ghcjs_dom_html_table_element_set_t_foot
+      (unHTMLTableElement (toHTMLTableElement self))
+      (maybe jsNull
+         (unHTMLTableSectionElement . toHTMLTableSectionElement)
+         val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"tFoot\"]"
+        ghcjs_dom_html_table_element_get_t_foot ::
+        JSRef HTMLTableElement -> IO (JSRef HTMLTableSectionElement)
+#else 
+ghcjs_dom_html_table_element_get_t_foot ::
+                                          JSRef HTMLTableElement ->
+                                            IO (JSRef HTMLTableSectionElement)
+ghcjs_dom_html_table_element_get_t_foot = undefined
+#endif
+ 
+htmlTableElementGetTFoot ::
+                         (IsHTMLTableElement self) =>
+                           self -> IO (Maybe HTMLTableSectionElement)
+htmlTableElementGetTFoot self
+  = fmap HTMLTableSectionElement . maybeJSNull <$>
+      (ghcjs_dom_html_table_element_get_t_foot
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rows\"]"
+        ghcjs_dom_html_table_element_get_rows ::
+        JSRef HTMLTableElement -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_table_element_get_rows ::
+                                        JSRef HTMLTableElement -> IO (JSRef HTMLCollection)
+ghcjs_dom_html_table_element_get_rows = undefined
+#endif
+ 
+htmlTableElementGetRows ::
+                        (IsHTMLTableElement self) => self -> IO (Maybe HTMLCollection)
+htmlTableElementGetRows self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_table_element_get_rows
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"tBodies\"]"
+        ghcjs_dom_html_table_element_get_t_bodies ::
+        JSRef HTMLTableElement -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_table_element_get_t_bodies ::
+                                            JSRef HTMLTableElement -> IO (JSRef HTMLCollection)
+ghcjs_dom_html_table_element_get_t_bodies = undefined
+#endif
+ 
+htmlTableElementGetTBodies ::
+                           (IsHTMLTableElement self) => self -> IO (Maybe HTMLCollection)
+htmlTableElementGetTBodies self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_table_element_get_t_bodies
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"] = $2;"
+        ghcjs_dom_html_table_element_set_align ::
+        JSRef HTMLTableElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_align ::
+                                         JSRef HTMLTableElement -> JSString -> IO ()
+ghcjs_dom_html_table_element_set_align = undefined
+#endif
+ 
+htmlTableElementSetAlign ::
+                         (IsHTMLTableElement self, ToJSString val) => self -> val -> IO ()
+htmlTableElementSetAlign self val
+  = ghcjs_dom_html_table_element_set_align
+      (unHTMLTableElement (toHTMLTableElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_table_element_get_align ::
+        JSRef HTMLTableElement -> IO JSString
+#else 
+ghcjs_dom_html_table_element_get_align ::
+                                         JSRef HTMLTableElement -> IO JSString
+ghcjs_dom_html_table_element_get_align = undefined
+#endif
+ 
+htmlTableElementGetAlign ::
+                         (IsHTMLTableElement self, FromJSString result) => self -> IO result
+htmlTableElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_element_get_align
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"] = $2;"
+        ghcjs_dom_html_table_element_set_bg_color ::
+        JSRef HTMLTableElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_bg_color ::
+                                            JSRef HTMLTableElement -> JSString -> IO ()
+ghcjs_dom_html_table_element_set_bg_color = undefined
+#endif
+ 
+htmlTableElementSetBgColor ::
+                           (IsHTMLTableElement self, ToJSString val) => self -> val -> IO ()
+htmlTableElementSetBgColor self val
+  = ghcjs_dom_html_table_element_set_bg_color
+      (unHTMLTableElement (toHTMLTableElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"]"
+        ghcjs_dom_html_table_element_get_bg_color ::
+        JSRef HTMLTableElement -> IO JSString
+#else 
+ghcjs_dom_html_table_element_get_bg_color ::
+                                            JSRef HTMLTableElement -> IO JSString
+ghcjs_dom_html_table_element_get_bg_color = undefined
+#endif
+ 
+htmlTableElementGetBgColor ::
+                           (IsHTMLTableElement self, FromJSString result) => self -> IO result
+htmlTableElementGetBgColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_element_get_bg_color
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"border\"] = $2;"
+        ghcjs_dom_html_table_element_set_border ::
+        JSRef HTMLTableElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_border ::
+                                          JSRef HTMLTableElement -> JSString -> IO ()
+ghcjs_dom_html_table_element_set_border = undefined
+#endif
+ 
+htmlTableElementSetBorder ::
+                          (IsHTMLTableElement self, ToJSString val) => self -> val -> IO ()
+htmlTableElementSetBorder self val
+  = ghcjs_dom_html_table_element_set_border
+      (unHTMLTableElement (toHTMLTableElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"border\"]"
+        ghcjs_dom_html_table_element_get_border ::
+        JSRef HTMLTableElement -> IO JSString
+#else 
+ghcjs_dom_html_table_element_get_border ::
+                                          JSRef HTMLTableElement -> IO JSString
+ghcjs_dom_html_table_element_get_border = undefined
+#endif
+ 
+htmlTableElementGetBorder ::
+                          (IsHTMLTableElement self, FromJSString result) => self -> IO result
+htmlTableElementGetBorder self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_element_get_border
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cellPadding\"] = $2;"
+        ghcjs_dom_html_table_element_set_cell_padding ::
+        JSRef HTMLTableElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_cell_padding ::
+                                                JSRef HTMLTableElement -> JSString -> IO ()
+ghcjs_dom_html_table_element_set_cell_padding = undefined
+#endif
+ 
+htmlTableElementSetCellPadding ::
+                               (IsHTMLTableElement self, ToJSString val) => self -> val -> IO ()
+htmlTableElementSetCellPadding self val
+  = ghcjs_dom_html_table_element_set_cell_padding
+      (unHTMLTableElement (toHTMLTableElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cellPadding\"]"
+        ghcjs_dom_html_table_element_get_cell_padding ::
+        JSRef HTMLTableElement -> IO JSString
+#else 
+ghcjs_dom_html_table_element_get_cell_padding ::
+                                                JSRef HTMLTableElement -> IO JSString
+ghcjs_dom_html_table_element_get_cell_padding = undefined
+#endif
+ 
+htmlTableElementGetCellPadding ::
+                               (IsHTMLTableElement self, FromJSString result) => self -> IO result
+htmlTableElementGetCellPadding self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_element_get_cell_padding
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cellSpacing\"] = $2;"
+        ghcjs_dom_html_table_element_set_cell_spacing ::
+        JSRef HTMLTableElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_cell_spacing ::
+                                                JSRef HTMLTableElement -> JSString -> IO ()
+ghcjs_dom_html_table_element_set_cell_spacing = undefined
+#endif
+ 
+htmlTableElementSetCellSpacing ::
+                               (IsHTMLTableElement self, ToJSString val) => self -> val -> IO ()
+htmlTableElementSetCellSpacing self val
+  = ghcjs_dom_html_table_element_set_cell_spacing
+      (unHTMLTableElement (toHTMLTableElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cellSpacing\"]"
+        ghcjs_dom_html_table_element_get_cell_spacing ::
+        JSRef HTMLTableElement -> IO JSString
+#else 
+ghcjs_dom_html_table_element_get_cell_spacing ::
+                                                JSRef HTMLTableElement -> IO JSString
+ghcjs_dom_html_table_element_get_cell_spacing = undefined
+#endif
+ 
+htmlTableElementGetCellSpacing ::
+                               (IsHTMLTableElement self, FromJSString result) => self -> IO result
+htmlTableElementGetCellSpacing self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_element_get_cell_spacing
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"frame\"] = $2;"
+        ghcjs_dom_html_table_element_set_frame ::
+        JSRef HTMLTableElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_frame ::
+                                         JSRef HTMLTableElement -> JSString -> IO ()
+ghcjs_dom_html_table_element_set_frame = undefined
+#endif
+ 
+htmlTableElementSetFrame ::
+                         (IsHTMLTableElement self, ToJSString val) => self -> val -> IO ()
+htmlTableElementSetFrame self val
+  = ghcjs_dom_html_table_element_set_frame
+      (unHTMLTableElement (toHTMLTableElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"frame\"]"
+        ghcjs_dom_html_table_element_get_frame ::
+        JSRef HTMLTableElement -> IO JSString
+#else 
+ghcjs_dom_html_table_element_get_frame ::
+                                         JSRef HTMLTableElement -> IO JSString
+ghcjs_dom_html_table_element_get_frame = undefined
+#endif
+ 
+htmlTableElementGetFrame ::
+                         (IsHTMLTableElement self, FromJSString result) => self -> IO result
+htmlTableElementGetFrame self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_element_get_frame
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rules\"] = $2;"
+        ghcjs_dom_html_table_element_set_rules ::
+        JSRef HTMLTableElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_rules ::
+                                         JSRef HTMLTableElement -> JSString -> IO ()
+ghcjs_dom_html_table_element_set_rules = undefined
+#endif
+ 
+htmlTableElementSetRules ::
+                         (IsHTMLTableElement self, ToJSString val) => self -> val -> IO ()
+htmlTableElementSetRules self val
+  = ghcjs_dom_html_table_element_set_rules
+      (unHTMLTableElement (toHTMLTableElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rules\"]"
+        ghcjs_dom_html_table_element_get_rules ::
+        JSRef HTMLTableElement -> IO JSString
+#else 
+ghcjs_dom_html_table_element_get_rules ::
+                                         JSRef HTMLTableElement -> IO JSString
+ghcjs_dom_html_table_element_get_rules = undefined
+#endif
+ 
+htmlTableElementGetRules ::
+                         (IsHTMLTableElement self, FromJSString result) => self -> IO result
+htmlTableElementGetRules self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_element_get_rules
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"summary\"] = $2;"
+        ghcjs_dom_html_table_element_set_summary ::
+        JSRef HTMLTableElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_summary ::
+                                           JSRef HTMLTableElement -> JSString -> IO ()
+ghcjs_dom_html_table_element_set_summary = undefined
+#endif
+ 
+htmlTableElementSetSummary ::
+                           (IsHTMLTableElement self, ToJSString val) => self -> val -> IO ()
+htmlTableElementSetSummary self val
+  = ghcjs_dom_html_table_element_set_summary
+      (unHTMLTableElement (toHTMLTableElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"summary\"]"
+        ghcjs_dom_html_table_element_get_summary ::
+        JSRef HTMLTableElement -> IO JSString
+#else 
+ghcjs_dom_html_table_element_get_summary ::
+                                           JSRef HTMLTableElement -> IO JSString
+ghcjs_dom_html_table_element_get_summary = undefined
+#endif
+ 
+htmlTableElementGetSummary ::
+                           (IsHTMLTableElement self, FromJSString result) => self -> IO result
+htmlTableElementGetSummary self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_element_get_summary
+         (unHTMLTableElement (toHTMLTableElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_table_element_set_width ::
+        JSRef HTMLTableElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_element_set_width ::
+                                         JSRef HTMLTableElement -> JSString -> IO ()
+ghcjs_dom_html_table_element_set_width = undefined
+#endif
+ 
+htmlTableElementSetWidth ::
+                         (IsHTMLTableElement self, ToJSString val) => self -> val -> IO ()
+htmlTableElementSetWidth self val
+  = ghcjs_dom_html_table_element_set_width
+      (unHTMLTableElement (toHTMLTableElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_table_element_get_width ::
+        JSRef HTMLTableElement -> IO JSString
+#else 
+ghcjs_dom_html_table_element_get_width ::
+                                         JSRef HTMLTableElement -> IO JSString
+ghcjs_dom_html_table_element_get_width = undefined
+#endif
+ 
+htmlTableElementGetWidth ::
+                         (IsHTMLTableElement self, FromJSString result) => self -> IO result
+htmlTableElementGetWidth self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_element_get_width
+         (unHTMLTableElement (toHTMLTableElement self)))
+#else
+module GHCJS.DOM.HTMLTableElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLTableElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLTableElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLTableRowElement.hs b/src/GHCJS/DOM/HTMLTableRowElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLTableRowElement.hs
@@ -0,0 +1,333 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLTableRowElement
+       (ghcjs_dom_html_table_row_element_insert_cell,
+        htmlTableRowElementInsertCell,
+        ghcjs_dom_html_table_row_element_delete_cell,
+        htmlTableRowElementDeleteCell,
+        ghcjs_dom_html_table_row_element_get_row_index,
+        htmlTableRowElementGetRowIndex,
+        ghcjs_dom_html_table_row_element_get_section_row_index,
+        htmlTableRowElementGetSectionRowIndex,
+        ghcjs_dom_html_table_row_element_get_cells,
+        htmlTableRowElementGetCells,
+        ghcjs_dom_html_table_row_element_set_align,
+        htmlTableRowElementSetAlign,
+        ghcjs_dom_html_table_row_element_get_align,
+        htmlTableRowElementGetAlign,
+        ghcjs_dom_html_table_row_element_set_bg_color,
+        htmlTableRowElementSetBgColor,
+        ghcjs_dom_html_table_row_element_get_bg_color,
+        htmlTableRowElementGetBgColor,
+        ghcjs_dom_html_table_row_element_set_ch, htmlTableRowElementSetCh,
+        ghcjs_dom_html_table_row_element_get_ch, htmlTableRowElementGetCh,
+        ghcjs_dom_html_table_row_element_set_ch_off,
+        htmlTableRowElementSetChOff,
+        ghcjs_dom_html_table_row_element_get_ch_off,
+        htmlTableRowElementGetChOff,
+        ghcjs_dom_html_table_row_element_set_v_align,
+        htmlTableRowElementSetVAlign,
+        ghcjs_dom_html_table_row_element_get_v_align,
+        htmlTableRowElementGetVAlign)
+       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[\"insertCell\"]($2)"
+        ghcjs_dom_html_table_row_element_insert_cell ::
+        JSRef HTMLTableRowElement -> Int -> IO (JSRef HTMLElement)
+#else 
+ghcjs_dom_html_table_row_element_insert_cell ::
+                                               JSRef HTMLTableRowElement ->
+                                                 Int -> IO (JSRef HTMLElement)
+ghcjs_dom_html_table_row_element_insert_cell = undefined
+#endif
+ 
+htmlTableRowElementInsertCell ::
+                              (IsHTMLTableRowElement self) =>
+                                self -> Int -> IO (Maybe HTMLElement)
+htmlTableRowElementInsertCell self index
+  = fmap HTMLElement . maybeJSNull <$>
+      (ghcjs_dom_html_table_row_element_insert_cell
+         (unHTMLTableRowElement (toHTMLTableRowElement self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteCell\"]($2)"
+        ghcjs_dom_html_table_row_element_delete_cell ::
+        JSRef HTMLTableRowElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_table_row_element_delete_cell ::
+                                               JSRef HTMLTableRowElement -> Int -> IO ()
+ghcjs_dom_html_table_row_element_delete_cell = undefined
+#endif
+ 
+htmlTableRowElementDeleteCell ::
+                              (IsHTMLTableRowElement self) => self -> Int -> IO ()
+htmlTableRowElementDeleteCell self index
+  = ghcjs_dom_html_table_row_element_delete_cell
+      (unHTMLTableRowElement (toHTMLTableRowElement self))
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rowIndex\"]"
+        ghcjs_dom_html_table_row_element_get_row_index ::
+        JSRef HTMLTableRowElement -> IO Int
+#else 
+ghcjs_dom_html_table_row_element_get_row_index ::
+                                                 JSRef HTMLTableRowElement -> IO Int
+ghcjs_dom_html_table_row_element_get_row_index = undefined
+#endif
+ 
+htmlTableRowElementGetRowIndex ::
+                               (IsHTMLTableRowElement self) => self -> IO Int
+htmlTableRowElementGetRowIndex self
+  = ghcjs_dom_html_table_row_element_get_row_index
+      (unHTMLTableRowElement (toHTMLTableRowElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"sectionRowIndex\"]"
+        ghcjs_dom_html_table_row_element_get_section_row_index ::
+        JSRef HTMLTableRowElement -> IO Int
+#else 
+ghcjs_dom_html_table_row_element_get_section_row_index ::
+                                                         JSRef HTMLTableRowElement -> IO Int
+ghcjs_dom_html_table_row_element_get_section_row_index = undefined
+#endif
+ 
+htmlTableRowElementGetSectionRowIndex ::
+                                      (IsHTMLTableRowElement self) => self -> IO Int
+htmlTableRowElementGetSectionRowIndex self
+  = ghcjs_dom_html_table_row_element_get_section_row_index
+      (unHTMLTableRowElement (toHTMLTableRowElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cells\"]"
+        ghcjs_dom_html_table_row_element_get_cells ::
+        JSRef HTMLTableRowElement -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_table_row_element_get_cells ::
+                                             JSRef HTMLTableRowElement -> IO (JSRef HTMLCollection)
+ghcjs_dom_html_table_row_element_get_cells = undefined
+#endif
+ 
+htmlTableRowElementGetCells ::
+                            (IsHTMLTableRowElement self) => self -> IO (Maybe HTMLCollection)
+htmlTableRowElementGetCells self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_table_row_element_get_cells
+         (unHTMLTableRowElement (toHTMLTableRowElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"] = $2;"
+        ghcjs_dom_html_table_row_element_set_align ::
+        JSRef HTMLTableRowElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_row_element_set_align ::
+                                             JSRef HTMLTableRowElement -> JSString -> IO ()
+ghcjs_dom_html_table_row_element_set_align = undefined
+#endif
+ 
+htmlTableRowElementSetAlign ::
+                            (IsHTMLTableRowElement self, ToJSString val) =>
+                              self -> val -> IO ()
+htmlTableRowElementSetAlign self val
+  = ghcjs_dom_html_table_row_element_set_align
+      (unHTMLTableRowElement (toHTMLTableRowElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_table_row_element_get_align ::
+        JSRef HTMLTableRowElement -> IO JSString
+#else 
+ghcjs_dom_html_table_row_element_get_align ::
+                                             JSRef HTMLTableRowElement -> IO JSString
+ghcjs_dom_html_table_row_element_get_align = undefined
+#endif
+ 
+htmlTableRowElementGetAlign ::
+                            (IsHTMLTableRowElement self, FromJSString result) =>
+                              self -> IO result
+htmlTableRowElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_row_element_get_align
+         (unHTMLTableRowElement (toHTMLTableRowElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"] = $2;"
+        ghcjs_dom_html_table_row_element_set_bg_color ::
+        JSRef HTMLTableRowElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_row_element_set_bg_color ::
+                                                JSRef HTMLTableRowElement -> JSString -> IO ()
+ghcjs_dom_html_table_row_element_set_bg_color = undefined
+#endif
+ 
+htmlTableRowElementSetBgColor ::
+                              (IsHTMLTableRowElement self, ToJSString val) =>
+                                self -> val -> IO ()
+htmlTableRowElementSetBgColor self val
+  = ghcjs_dom_html_table_row_element_set_bg_color
+      (unHTMLTableRowElement (toHTMLTableRowElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"bgColor\"]"
+        ghcjs_dom_html_table_row_element_get_bg_color ::
+        JSRef HTMLTableRowElement -> IO JSString
+#else 
+ghcjs_dom_html_table_row_element_get_bg_color ::
+                                                JSRef HTMLTableRowElement -> IO JSString
+ghcjs_dom_html_table_row_element_get_bg_color = undefined
+#endif
+ 
+htmlTableRowElementGetBgColor ::
+                              (IsHTMLTableRowElement self, FromJSString result) =>
+                                self -> IO result
+htmlTableRowElementGetBgColor self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_row_element_get_bg_color
+         (unHTMLTableRowElement (toHTMLTableRowElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ch\"] = $2;"
+        ghcjs_dom_html_table_row_element_set_ch ::
+        JSRef HTMLTableRowElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_row_element_set_ch ::
+                                          JSRef HTMLTableRowElement -> JSString -> IO ()
+ghcjs_dom_html_table_row_element_set_ch = undefined
+#endif
+ 
+htmlTableRowElementSetCh ::
+                         (IsHTMLTableRowElement self, ToJSString val) =>
+                           self -> val -> IO ()
+htmlTableRowElementSetCh self val
+  = ghcjs_dom_html_table_row_element_set_ch
+      (unHTMLTableRowElement (toHTMLTableRowElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ch\"]"
+        ghcjs_dom_html_table_row_element_get_ch ::
+        JSRef HTMLTableRowElement -> IO JSString
+#else 
+ghcjs_dom_html_table_row_element_get_ch ::
+                                          JSRef HTMLTableRowElement -> IO JSString
+ghcjs_dom_html_table_row_element_get_ch = undefined
+#endif
+ 
+htmlTableRowElementGetCh ::
+                         (IsHTMLTableRowElement self, FromJSString result) =>
+                           self -> IO result
+htmlTableRowElementGetCh self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_row_element_get_ch
+         (unHTMLTableRowElement (toHTMLTableRowElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"chOff\"] = $2;"
+        ghcjs_dom_html_table_row_element_set_ch_off ::
+        JSRef HTMLTableRowElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_row_element_set_ch_off ::
+                                              JSRef HTMLTableRowElement -> JSString -> IO ()
+ghcjs_dom_html_table_row_element_set_ch_off = undefined
+#endif
+ 
+htmlTableRowElementSetChOff ::
+                            (IsHTMLTableRowElement self, ToJSString val) =>
+                              self -> val -> IO ()
+htmlTableRowElementSetChOff self val
+  = ghcjs_dom_html_table_row_element_set_ch_off
+      (unHTMLTableRowElement (toHTMLTableRowElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"chOff\"]"
+        ghcjs_dom_html_table_row_element_get_ch_off ::
+        JSRef HTMLTableRowElement -> IO JSString
+#else 
+ghcjs_dom_html_table_row_element_get_ch_off ::
+                                              JSRef HTMLTableRowElement -> IO JSString
+ghcjs_dom_html_table_row_element_get_ch_off = undefined
+#endif
+ 
+htmlTableRowElementGetChOff ::
+                            (IsHTMLTableRowElement self, FromJSString result) =>
+                              self -> IO result
+htmlTableRowElementGetChOff self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_row_element_get_ch_off
+         (unHTMLTableRowElement (toHTMLTableRowElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vAlign\"] = $2;"
+        ghcjs_dom_html_table_row_element_set_v_align ::
+        JSRef HTMLTableRowElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_row_element_set_v_align ::
+                                               JSRef HTMLTableRowElement -> JSString -> IO ()
+ghcjs_dom_html_table_row_element_set_v_align = undefined
+#endif
+ 
+htmlTableRowElementSetVAlign ::
+                             (IsHTMLTableRowElement self, ToJSString val) =>
+                               self -> val -> IO ()
+htmlTableRowElementSetVAlign self val
+  = ghcjs_dom_html_table_row_element_set_v_align
+      (unHTMLTableRowElement (toHTMLTableRowElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vAlign\"]"
+        ghcjs_dom_html_table_row_element_get_v_align ::
+        JSRef HTMLTableRowElement -> IO JSString
+#else 
+ghcjs_dom_html_table_row_element_get_v_align ::
+                                               JSRef HTMLTableRowElement -> IO JSString
+ghcjs_dom_html_table_row_element_get_v_align = undefined
+#endif
+ 
+htmlTableRowElementGetVAlign ::
+                             (IsHTMLTableRowElement self, FromJSString result) =>
+                               self -> IO result
+htmlTableRowElementGetVAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_row_element_get_v_align
+         (unHTMLTableRowElement (toHTMLTableRowElement self)))
+#else
+module GHCJS.DOM.HTMLTableRowElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLTableRowElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLTableRowElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLTableSectionElement.hs b/src/GHCJS/DOM/HTMLTableSectionElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLTableSectionElement.hs
@@ -0,0 +1,258 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLTableSectionElement
+       (ghcjs_dom_html_table_section_element_insert_row,
+        htmlTableSectionElementInsertRow,
+        ghcjs_dom_html_table_section_element_delete_row,
+        htmlTableSectionElementDeleteRow,
+        ghcjs_dom_html_table_section_element_set_align,
+        htmlTableSectionElementSetAlign,
+        ghcjs_dom_html_table_section_element_get_align,
+        htmlTableSectionElementGetAlign,
+        ghcjs_dom_html_table_section_element_set_ch,
+        htmlTableSectionElementSetCh,
+        ghcjs_dom_html_table_section_element_get_ch,
+        htmlTableSectionElementGetCh,
+        ghcjs_dom_html_table_section_element_set_ch_off,
+        htmlTableSectionElementSetChOff,
+        ghcjs_dom_html_table_section_element_get_ch_off,
+        htmlTableSectionElementGetChOff,
+        ghcjs_dom_html_table_section_element_set_v_align,
+        htmlTableSectionElementSetVAlign,
+        ghcjs_dom_html_table_section_element_get_v_align,
+        htmlTableSectionElementGetVAlign,
+        ghcjs_dom_html_table_section_element_get_rows,
+        htmlTableSectionElementGetRows)
+       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[\"insertRow\"]($2)"
+        ghcjs_dom_html_table_section_element_insert_row ::
+        JSRef HTMLTableSectionElement -> Int -> IO (JSRef HTMLElement)
+#else 
+ghcjs_dom_html_table_section_element_insert_row ::
+                                                  JSRef HTMLTableSectionElement ->
+                                                    Int -> IO (JSRef HTMLElement)
+ghcjs_dom_html_table_section_element_insert_row = undefined
+#endif
+ 
+htmlTableSectionElementInsertRow ::
+                                 (IsHTMLTableSectionElement self) =>
+                                   self -> Int -> IO (Maybe HTMLElement)
+htmlTableSectionElementInsertRow self index
+  = fmap HTMLElement . maybeJSNull <$>
+      (ghcjs_dom_html_table_section_element_insert_row
+         (unHTMLTableSectionElement (toHTMLTableSectionElement self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteRow\"]($2)"
+        ghcjs_dom_html_table_section_element_delete_row ::
+        JSRef HTMLTableSectionElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_table_section_element_delete_row ::
+                                                  JSRef HTMLTableSectionElement -> Int -> IO ()
+ghcjs_dom_html_table_section_element_delete_row = undefined
+#endif
+ 
+htmlTableSectionElementDeleteRow ::
+                                 (IsHTMLTableSectionElement self) => self -> Int -> IO ()
+htmlTableSectionElementDeleteRow self index
+  = ghcjs_dom_html_table_section_element_delete_row
+      (unHTMLTableSectionElement (toHTMLTableSectionElement self))
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"] = $2;"
+        ghcjs_dom_html_table_section_element_set_align ::
+        JSRef HTMLTableSectionElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_section_element_set_align ::
+                                                 JSRef HTMLTableSectionElement -> JSString -> IO ()
+ghcjs_dom_html_table_section_element_set_align = undefined
+#endif
+ 
+htmlTableSectionElementSetAlign ::
+                                (IsHTMLTableSectionElement self, ToJSString val) =>
+                                  self -> val -> IO ()
+htmlTableSectionElementSetAlign self val
+  = ghcjs_dom_html_table_section_element_set_align
+      (unHTMLTableSectionElement (toHTMLTableSectionElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"align\"]"
+        ghcjs_dom_html_table_section_element_get_align ::
+        JSRef HTMLTableSectionElement -> IO JSString
+#else 
+ghcjs_dom_html_table_section_element_get_align ::
+                                                 JSRef HTMLTableSectionElement -> IO JSString
+ghcjs_dom_html_table_section_element_get_align = undefined
+#endif
+ 
+htmlTableSectionElementGetAlign ::
+                                (IsHTMLTableSectionElement self, FromJSString result) =>
+                                  self -> IO result
+htmlTableSectionElementGetAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_section_element_get_align
+         (unHTMLTableSectionElement (toHTMLTableSectionElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ch\"] = $2;"
+        ghcjs_dom_html_table_section_element_set_ch ::
+        JSRef HTMLTableSectionElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_section_element_set_ch ::
+                                              JSRef HTMLTableSectionElement -> JSString -> IO ()
+ghcjs_dom_html_table_section_element_set_ch = undefined
+#endif
+ 
+htmlTableSectionElementSetCh ::
+                             (IsHTMLTableSectionElement self, ToJSString val) =>
+                               self -> val -> IO ()
+htmlTableSectionElementSetCh self val
+  = ghcjs_dom_html_table_section_element_set_ch
+      (unHTMLTableSectionElement (toHTMLTableSectionElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ch\"]"
+        ghcjs_dom_html_table_section_element_get_ch ::
+        JSRef HTMLTableSectionElement -> IO JSString
+#else 
+ghcjs_dom_html_table_section_element_get_ch ::
+                                              JSRef HTMLTableSectionElement -> IO JSString
+ghcjs_dom_html_table_section_element_get_ch = undefined
+#endif
+ 
+htmlTableSectionElementGetCh ::
+                             (IsHTMLTableSectionElement self, FromJSString result) =>
+                               self -> IO result
+htmlTableSectionElementGetCh self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_section_element_get_ch
+         (unHTMLTableSectionElement (toHTMLTableSectionElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"chOff\"] = $2;"
+        ghcjs_dom_html_table_section_element_set_ch_off ::
+        JSRef HTMLTableSectionElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_section_element_set_ch_off ::
+                                                  JSRef HTMLTableSectionElement -> JSString -> IO ()
+ghcjs_dom_html_table_section_element_set_ch_off = undefined
+#endif
+ 
+htmlTableSectionElementSetChOff ::
+                                (IsHTMLTableSectionElement self, ToJSString val) =>
+                                  self -> val -> IO ()
+htmlTableSectionElementSetChOff self val
+  = ghcjs_dom_html_table_section_element_set_ch_off
+      (unHTMLTableSectionElement (toHTMLTableSectionElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"chOff\"]"
+        ghcjs_dom_html_table_section_element_get_ch_off ::
+        JSRef HTMLTableSectionElement -> IO JSString
+#else 
+ghcjs_dom_html_table_section_element_get_ch_off ::
+                                                  JSRef HTMLTableSectionElement -> IO JSString
+ghcjs_dom_html_table_section_element_get_ch_off = undefined
+#endif
+ 
+htmlTableSectionElementGetChOff ::
+                                (IsHTMLTableSectionElement self, FromJSString result) =>
+                                  self -> IO result
+htmlTableSectionElementGetChOff self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_section_element_get_ch_off
+         (unHTMLTableSectionElement (toHTMLTableSectionElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vAlign\"] = $2;"
+        ghcjs_dom_html_table_section_element_set_v_align ::
+        JSRef HTMLTableSectionElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_table_section_element_set_v_align ::
+                                                   JSRef HTMLTableSectionElement ->
+                                                     JSString -> IO ()
+ghcjs_dom_html_table_section_element_set_v_align = undefined
+#endif
+ 
+htmlTableSectionElementSetVAlign ::
+                                 (IsHTMLTableSectionElement self, ToJSString val) =>
+                                   self -> val -> IO ()
+htmlTableSectionElementSetVAlign self val
+  = ghcjs_dom_html_table_section_element_set_v_align
+      (unHTMLTableSectionElement (toHTMLTableSectionElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vAlign\"]"
+        ghcjs_dom_html_table_section_element_get_v_align ::
+        JSRef HTMLTableSectionElement -> IO JSString
+#else 
+ghcjs_dom_html_table_section_element_get_v_align ::
+                                                   JSRef HTMLTableSectionElement -> IO JSString
+ghcjs_dom_html_table_section_element_get_v_align = undefined
+#endif
+ 
+htmlTableSectionElementGetVAlign ::
+                                 (IsHTMLTableSectionElement self, FromJSString result) =>
+                                   self -> IO result
+htmlTableSectionElementGetVAlign self
+  = fromJSString <$>
+      (ghcjs_dom_html_table_section_element_get_v_align
+         (unHTMLTableSectionElement (toHTMLTableSectionElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rows\"]"
+        ghcjs_dom_html_table_section_element_get_rows ::
+        JSRef HTMLTableSectionElement -> IO (JSRef HTMLCollection)
+#else 
+ghcjs_dom_html_table_section_element_get_rows ::
+                                                JSRef HTMLTableSectionElement ->
+                                                  IO (JSRef HTMLCollection)
+ghcjs_dom_html_table_section_element_get_rows = undefined
+#endif
+ 
+htmlTableSectionElementGetRows ::
+                               (IsHTMLTableSectionElement self) =>
+                                 self -> IO (Maybe HTMLCollection)
+htmlTableSectionElementGetRows self
+  = fmap HTMLCollection . maybeJSNull <$>
+      (ghcjs_dom_html_table_section_element_get_rows
+         (unHTMLTableSectionElement (toHTMLTableSectionElement self)))
+#else
+module GHCJS.DOM.HTMLTableSectionElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLTableSectionElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLTableSectionElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLTextAreaElement.hs b/src/GHCJS/DOM/HTMLTextAreaElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLTextAreaElement.hs
@@ -0,0 +1,877 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLTextAreaElement
+       (ghcjs_dom_html_text_area_element_check_validity,
+        htmlTextAreaElementCheckValidity,
+        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_selection_range,
+        htmlTextAreaElementSetSelectionRange,
+        ghcjs_dom_html_text_area_element_set_autofocus,
+        htmlTextAreaElementSetAutofocus,
+        ghcjs_dom_html_text_area_element_get_autofocus,
+        htmlTextAreaElementGetAutofocus,
+        ghcjs_dom_html_text_area_element_set_cols,
+        htmlTextAreaElementSetCols,
+        ghcjs_dom_html_text_area_element_get_cols,
+        htmlTextAreaElementGetCols,
+        ghcjs_dom_html_text_area_element_set_dir_name,
+        htmlTextAreaElementSetDirName,
+        ghcjs_dom_html_text_area_element_get_dir_name,
+        htmlTextAreaElementGetDirName,
+        ghcjs_dom_html_text_area_element_set_disabled,
+        htmlTextAreaElementSetDisabled,
+        ghcjs_dom_html_text_area_element_get_disabled,
+        htmlTextAreaElementGetDisabled,
+        ghcjs_dom_html_text_area_element_get_form,
+        htmlTextAreaElementGetForm,
+        ghcjs_dom_html_text_area_element_set_max_length,
+        htmlTextAreaElementSetMaxLength,
+        ghcjs_dom_html_text_area_element_get_max_length,
+        htmlTextAreaElementGetMaxLength,
+        ghcjs_dom_html_text_area_element_set_name,
+        htmlTextAreaElementSetName,
+        ghcjs_dom_html_text_area_element_get_name,
+        htmlTextAreaElementGetName,
+        ghcjs_dom_html_text_area_element_set_placeholder,
+        htmlTextAreaElementSetPlaceholder,
+        ghcjs_dom_html_text_area_element_get_placeholder,
+        htmlTextAreaElementGetPlaceholder,
+        ghcjs_dom_html_text_area_element_set_read_only,
+        htmlTextAreaElementSetReadOnly,
+        ghcjs_dom_html_text_area_element_get_read_only,
+        htmlTextAreaElementGetReadOnly,
+        ghcjs_dom_html_text_area_element_set_required,
+        htmlTextAreaElementSetRequired,
+        ghcjs_dom_html_text_area_element_get_required,
+        htmlTextAreaElementGetRequired,
+        ghcjs_dom_html_text_area_element_set_rows,
+        htmlTextAreaElementSetRows,
+        ghcjs_dom_html_text_area_element_get_rows,
+        htmlTextAreaElementGetRows,
+        ghcjs_dom_html_text_area_element_set_wrap,
+        htmlTextAreaElementSetWrap,
+        ghcjs_dom_html_text_area_element_get_wrap,
+        htmlTextAreaElementGetWrap,
+        ghcjs_dom_html_text_area_element_set_default_value,
+        htmlTextAreaElementSetDefaultValue,
+        ghcjs_dom_html_text_area_element_get_default_value,
+        htmlTextAreaElementGetDefaultValue,
+        ghcjs_dom_html_text_area_element_set_value,
+        htmlTextAreaElementSetValue,
+        ghcjs_dom_html_text_area_element_get_value,
+        htmlTextAreaElementGetValue,
+        ghcjs_dom_html_text_area_element_get_text_length,
+        htmlTextAreaElementGetTextLength,
+        ghcjs_dom_html_text_area_element_get_will_validate,
+        htmlTextAreaElementGetWillValidate,
+        ghcjs_dom_html_text_area_element_get_validity,
+        htmlTextAreaElementGetValidity,
+        ghcjs_dom_html_text_area_element_get_validation_message,
+        htmlTextAreaElementGetValidationMessage,
+        ghcjs_dom_html_text_area_element_get_labels,
+        htmlTextAreaElementGetLabels,
+        ghcjs_dom_html_text_area_element_set_selection_start,
+        htmlTextAreaElementSetSelectionStart,
+        ghcjs_dom_html_text_area_element_get_selection_start,
+        htmlTextAreaElementGetSelectionStart,
+        ghcjs_dom_html_text_area_element_set_selection_end,
+        htmlTextAreaElementSetSelectionEnd,
+        ghcjs_dom_html_text_area_element_get_selection_end,
+        htmlTextAreaElementGetSelectionEnd,
+        ghcjs_dom_html_text_area_element_set_selection_direction,
+        htmlTextAreaElementSetSelectionDirection,
+        ghcjs_dom_html_text_area_element_get_selection_direction,
+        htmlTextAreaElementGetSelectionDirection)
+       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[\"checkValidity\"]() ? 1 : 0)"
+        ghcjs_dom_html_text_area_element_check_validity ::
+        JSRef HTMLTextAreaElement -> IO Bool
+#else 
+ghcjs_dom_html_text_area_element_check_validity ::
+                                                  JSRef HTMLTextAreaElement -> IO Bool
+ghcjs_dom_html_text_area_element_check_validity = undefined
+#endif
+ 
+htmlTextAreaElementCheckValidity ::
+                                 (IsHTMLTextAreaElement self) => self -> IO Bool
+htmlTextAreaElementCheckValidity self
+  = ghcjs_dom_html_text_area_element_check_validity
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setCustomValidity\"]($2)"
+        ghcjs_dom_html_text_area_element_set_custom_validity ::
+        JSRef HTMLTextAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_custom_validity ::
+                                                       JSRef HTMLTextAreaElement ->
+                                                         JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_custom_validity = undefined
+#endif
+ 
+htmlTextAreaElementSetCustomValidity ::
+                                     (IsHTMLTextAreaElement self, ToJSString error) =>
+                                       self -> error -> IO ()
+htmlTextAreaElementSetCustomValidity self error
+  = ghcjs_dom_html_text_area_element_set_custom_validity
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      (toJSString error)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"select\"]()"
+        ghcjs_dom_html_text_area_element_select ::
+        JSRef HTMLTextAreaElement -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_select ::
+                                          JSRef HTMLTextAreaElement -> IO ()
+ghcjs_dom_html_text_area_element_select = undefined
+#endif
+ 
+htmlTextAreaElementSelect ::
+                          (IsHTMLTextAreaElement self) => self -> IO ()
+htmlTextAreaElementSelect self
+  = ghcjs_dom_html_text_area_element_select
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"setSelectionRange\"]($2, $3,\n$4)"
+        ghcjs_dom_html_text_area_element_set_selection_range ::
+        JSRef HTMLTextAreaElement -> Int -> Int -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_selection_range ::
+                                                       JSRef HTMLTextAreaElement ->
+                                                         Int -> Int -> JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_selection_range = undefined
+#endif
+ 
+htmlTextAreaElementSetSelectionRange ::
+                                     (IsHTMLTextAreaElement self, ToJSString direction) =>
+                                       self -> Int -> Int -> direction -> IO ()
+htmlTextAreaElementSetSelectionRange self start end direction
+  = ghcjs_dom_html_text_area_element_set_selection_range
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      start
+      end
+      (toJSString direction)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"autofocus\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_autofocus ::
+        JSRef HTMLTextAreaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_autofocus ::
+                                                 JSRef HTMLTextAreaElement -> Bool -> IO ()
+ghcjs_dom_html_text_area_element_set_autofocus = undefined
+#endif
+ 
+htmlTextAreaElementSetAutofocus ::
+                                (IsHTMLTextAreaElement self) => self -> Bool -> IO ()
+htmlTextAreaElementSetAutofocus self val
+  = ghcjs_dom_html_text_area_element_set_autofocus
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"autofocus\"] ? 1 : 0)"
+        ghcjs_dom_html_text_area_element_get_autofocus ::
+        JSRef HTMLTextAreaElement -> IO Bool
+#else 
+ghcjs_dom_html_text_area_element_get_autofocus ::
+                                                 JSRef HTMLTextAreaElement -> IO Bool
+ghcjs_dom_html_text_area_element_get_autofocus = undefined
+#endif
+ 
+htmlTextAreaElementGetAutofocus ::
+                                (IsHTMLTextAreaElement self) => self -> IO Bool
+htmlTextAreaElementGetAutofocus self
+  = ghcjs_dom_html_text_area_element_get_autofocus
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cols\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_cols ::
+        JSRef HTMLTextAreaElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_cols ::
+                                            JSRef HTMLTextAreaElement -> Int -> IO ()
+ghcjs_dom_html_text_area_element_set_cols = undefined
+#endif
+ 
+htmlTextAreaElementSetCols ::
+                           (IsHTMLTextAreaElement self) => self -> Int -> IO ()
+htmlTextAreaElementSetCols self val
+  = ghcjs_dom_html_text_area_element_set_cols
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cols\"]"
+        ghcjs_dom_html_text_area_element_get_cols ::
+        JSRef HTMLTextAreaElement -> IO Int
+#else 
+ghcjs_dom_html_text_area_element_get_cols ::
+                                            JSRef HTMLTextAreaElement -> IO Int
+ghcjs_dom_html_text_area_element_get_cols = undefined
+#endif
+ 
+htmlTextAreaElementGetCols ::
+                           (IsHTMLTextAreaElement self) => self -> IO Int
+htmlTextAreaElementGetCols self
+  = ghcjs_dom_html_text_area_element_get_cols
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"dirName\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_dir_name ::
+        JSRef HTMLTextAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_dir_name ::
+                                                JSRef HTMLTextAreaElement -> JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_dir_name = undefined
+#endif
+ 
+htmlTextAreaElementSetDirName ::
+                              (IsHTMLTextAreaElement self, ToJSString val) =>
+                                self -> val -> IO ()
+htmlTextAreaElementSetDirName self val
+  = ghcjs_dom_html_text_area_element_set_dir_name
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"dirName\"]"
+        ghcjs_dom_html_text_area_element_get_dir_name ::
+        JSRef HTMLTextAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_text_area_element_get_dir_name ::
+                                                JSRef HTMLTextAreaElement -> IO JSString
+ghcjs_dom_html_text_area_element_get_dir_name = undefined
+#endif
+ 
+htmlTextAreaElementGetDirName ::
+                              (IsHTMLTextAreaElement self, FromJSString result) =>
+                                self -> IO result
+htmlTextAreaElementGetDirName self
+  = fromJSString <$>
+      (ghcjs_dom_html_text_area_element_get_dir_name
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"disabled\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_disabled ::
+        JSRef HTMLTextAreaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_disabled ::
+                                                JSRef HTMLTextAreaElement -> Bool -> IO ()
+ghcjs_dom_html_text_area_element_set_disabled = undefined
+#endif
+ 
+htmlTextAreaElementSetDisabled ::
+                               (IsHTMLTextAreaElement self) => self -> Bool -> IO ()
+htmlTextAreaElementSetDisabled self val
+  = ghcjs_dom_html_text_area_element_set_disabled
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_html_text_area_element_get_disabled ::
+        JSRef HTMLTextAreaElement -> IO Bool
+#else 
+ghcjs_dom_html_text_area_element_get_disabled ::
+                                                JSRef HTMLTextAreaElement -> IO Bool
+ghcjs_dom_html_text_area_element_get_disabled = undefined
+#endif
+ 
+htmlTextAreaElementGetDisabled ::
+                               (IsHTMLTextAreaElement self) => self -> IO Bool
+htmlTextAreaElementGetDisabled self
+  = ghcjs_dom_html_text_area_element_get_disabled
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"form\"]"
+        ghcjs_dom_html_text_area_element_get_form ::
+        JSRef HTMLTextAreaElement -> IO (JSRef HTMLFormElement)
+#else 
+ghcjs_dom_html_text_area_element_get_form ::
+                                            JSRef HTMLTextAreaElement -> IO (JSRef HTMLFormElement)
+ghcjs_dom_html_text_area_element_get_form = undefined
+#endif
+ 
+htmlTextAreaElementGetForm ::
+                           (IsHTMLTextAreaElement self) => self -> IO (Maybe HTMLFormElement)
+htmlTextAreaElementGetForm self
+  = fmap HTMLFormElement . maybeJSNull <$>
+      (ghcjs_dom_html_text_area_element_get_form
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"maxLength\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_max_length ::
+        JSRef HTMLTextAreaElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_max_length ::
+                                                  JSRef HTMLTextAreaElement -> Int -> IO ()
+ghcjs_dom_html_text_area_element_set_max_length = undefined
+#endif
+ 
+htmlTextAreaElementSetMaxLength ::
+                                (IsHTMLTextAreaElement self) => self -> Int -> IO ()
+htmlTextAreaElementSetMaxLength self val
+  = ghcjs_dom_html_text_area_element_set_max_length
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"maxLength\"]"
+        ghcjs_dom_html_text_area_element_get_max_length ::
+        JSRef HTMLTextAreaElement -> IO Int
+#else 
+ghcjs_dom_html_text_area_element_get_max_length ::
+                                                  JSRef HTMLTextAreaElement -> IO Int
+ghcjs_dom_html_text_area_element_get_max_length = undefined
+#endif
+ 
+htmlTextAreaElementGetMaxLength ::
+                                (IsHTMLTextAreaElement self) => self -> IO Int
+htmlTextAreaElementGetMaxLength self
+  = ghcjs_dom_html_text_area_element_get_max_length
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_name ::
+        JSRef HTMLTextAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_name ::
+                                            JSRef HTMLTextAreaElement -> JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_name = undefined
+#endif
+ 
+htmlTextAreaElementSetName ::
+                           (IsHTMLTextAreaElement self, ToJSString val) =>
+                             self -> val -> IO ()
+htmlTextAreaElementSetName self val
+  = ghcjs_dom_html_text_area_element_set_name
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_html_text_area_element_get_name ::
+        JSRef HTMLTextAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_text_area_element_get_name ::
+                                            JSRef HTMLTextAreaElement -> IO JSString
+ghcjs_dom_html_text_area_element_get_name = undefined
+#endif
+ 
+htmlTextAreaElementGetName ::
+                           (IsHTMLTextAreaElement self, FromJSString result) =>
+                             self -> IO result
+htmlTextAreaElementGetName self
+  = fromJSString <$>
+      (ghcjs_dom_html_text_area_element_get_name
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"placeholder\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_placeholder ::
+        JSRef HTMLTextAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_placeholder ::
+                                                   JSRef HTMLTextAreaElement -> JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_placeholder = undefined
+#endif
+ 
+htmlTextAreaElementSetPlaceholder ::
+                                  (IsHTMLTextAreaElement self, ToJSString val) =>
+                                    self -> val -> IO ()
+htmlTextAreaElementSetPlaceholder self val
+  = ghcjs_dom_html_text_area_element_set_placeholder
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"placeholder\"]"
+        ghcjs_dom_html_text_area_element_get_placeholder ::
+        JSRef HTMLTextAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_text_area_element_get_placeholder ::
+                                                   JSRef HTMLTextAreaElement -> IO JSString
+ghcjs_dom_html_text_area_element_get_placeholder = undefined
+#endif
+ 
+htmlTextAreaElementGetPlaceholder ::
+                                  (IsHTMLTextAreaElement self, FromJSString result) =>
+                                    self -> IO result
+htmlTextAreaElementGetPlaceholder self
+  = fromJSString <$>
+      (ghcjs_dom_html_text_area_element_get_placeholder
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"readOnly\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_read_only ::
+        JSRef HTMLTextAreaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_read_only ::
+                                                 JSRef HTMLTextAreaElement -> Bool -> IO ()
+ghcjs_dom_html_text_area_element_set_read_only = undefined
+#endif
+ 
+htmlTextAreaElementSetReadOnly ::
+                               (IsHTMLTextAreaElement self) => self -> Bool -> IO ()
+htmlTextAreaElementSetReadOnly self val
+  = ghcjs_dom_html_text_area_element_set_read_only
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"readOnly\"] ? 1 : 0)"
+        ghcjs_dom_html_text_area_element_get_read_only ::
+        JSRef HTMLTextAreaElement -> IO Bool
+#else 
+ghcjs_dom_html_text_area_element_get_read_only ::
+                                                 JSRef HTMLTextAreaElement -> IO Bool
+ghcjs_dom_html_text_area_element_get_read_only = undefined
+#endif
+ 
+htmlTextAreaElementGetReadOnly ::
+                               (IsHTMLTextAreaElement self) => self -> IO Bool
+htmlTextAreaElementGetReadOnly self
+  = ghcjs_dom_html_text_area_element_get_read_only
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"required\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_required ::
+        JSRef HTMLTextAreaElement -> Bool -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_required ::
+                                                JSRef HTMLTextAreaElement -> Bool -> IO ()
+ghcjs_dom_html_text_area_element_set_required = undefined
+#endif
+ 
+htmlTextAreaElementSetRequired ::
+                               (IsHTMLTextAreaElement self) => self -> Bool -> IO ()
+htmlTextAreaElementSetRequired self val
+  = ghcjs_dom_html_text_area_element_set_required
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"required\"] ? 1 : 0)"
+        ghcjs_dom_html_text_area_element_get_required ::
+        JSRef HTMLTextAreaElement -> IO Bool
+#else 
+ghcjs_dom_html_text_area_element_get_required ::
+                                                JSRef HTMLTextAreaElement -> IO Bool
+ghcjs_dom_html_text_area_element_get_required = undefined
+#endif
+ 
+htmlTextAreaElementGetRequired ::
+                               (IsHTMLTextAreaElement self) => self -> IO Bool
+htmlTextAreaElementGetRequired self
+  = ghcjs_dom_html_text_area_element_get_required
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rows\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_rows ::
+        JSRef HTMLTextAreaElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_rows ::
+                                            JSRef HTMLTextAreaElement -> Int -> IO ()
+ghcjs_dom_html_text_area_element_set_rows = undefined
+#endif
+ 
+htmlTextAreaElementSetRows ::
+                           (IsHTMLTextAreaElement self) => self -> Int -> IO ()
+htmlTextAreaElementSetRows self val
+  = ghcjs_dom_html_text_area_element_set_rows
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"rows\"]"
+        ghcjs_dom_html_text_area_element_get_rows ::
+        JSRef HTMLTextAreaElement -> IO Int
+#else 
+ghcjs_dom_html_text_area_element_get_rows ::
+                                            JSRef HTMLTextAreaElement -> IO Int
+ghcjs_dom_html_text_area_element_get_rows = undefined
+#endif
+ 
+htmlTextAreaElementGetRows ::
+                           (IsHTMLTextAreaElement self) => self -> IO Int
+htmlTextAreaElementGetRows self
+  = ghcjs_dom_html_text_area_element_get_rows
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"wrap\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_wrap ::
+        JSRef HTMLTextAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_wrap ::
+                                            JSRef HTMLTextAreaElement -> JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_wrap = undefined
+#endif
+ 
+htmlTextAreaElementSetWrap ::
+                           (IsHTMLTextAreaElement self, ToJSString val) =>
+                             self -> val -> IO ()
+htmlTextAreaElementSetWrap self val
+  = ghcjs_dom_html_text_area_element_set_wrap
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"wrap\"]"
+        ghcjs_dom_html_text_area_element_get_wrap ::
+        JSRef HTMLTextAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_text_area_element_get_wrap ::
+                                            JSRef HTMLTextAreaElement -> IO JSString
+ghcjs_dom_html_text_area_element_get_wrap = undefined
+#endif
+ 
+htmlTextAreaElementGetWrap ::
+                           (IsHTMLTextAreaElement self, FromJSString result) =>
+                             self -> IO result
+htmlTextAreaElementGetWrap self
+  = fromJSString <$>
+      (ghcjs_dom_html_text_area_element_get_wrap
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultValue\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_default_value ::
+        JSRef HTMLTextAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_default_value ::
+                                                     JSRef HTMLTextAreaElement -> JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_default_value = undefined
+#endif
+ 
+htmlTextAreaElementSetDefaultValue ::
+                                   (IsHTMLTextAreaElement self, ToJSString val) =>
+                                     self -> val -> IO ()
+htmlTextAreaElementSetDefaultValue self val
+  = ghcjs_dom_html_text_area_element_set_default_value
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"defaultValue\"]"
+        ghcjs_dom_html_text_area_element_get_default_value ::
+        JSRef HTMLTextAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_text_area_element_get_default_value ::
+                                                     JSRef HTMLTextAreaElement -> IO JSString
+ghcjs_dom_html_text_area_element_get_default_value = undefined
+#endif
+ 
+htmlTextAreaElementGetDefaultValue ::
+                                   (IsHTMLTextAreaElement self, FromJSString result) =>
+                                     self -> IO result
+htmlTextAreaElementGetDefaultValue self
+  = fromJSString <$>
+      (ghcjs_dom_html_text_area_element_get_default_value
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_value ::
+        JSRef HTMLTextAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_value ::
+                                             JSRef HTMLTextAreaElement -> JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_value = undefined
+#endif
+ 
+htmlTextAreaElementSetValue ::
+                            (IsHTMLTextAreaElement self, ToJSString val) =>
+                              self -> val -> IO ()
+htmlTextAreaElementSetValue self val
+  = ghcjs_dom_html_text_area_element_set_value
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"value\"]"
+        ghcjs_dom_html_text_area_element_get_value ::
+        JSRef HTMLTextAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_text_area_element_get_value ::
+                                             JSRef HTMLTextAreaElement -> IO JSString
+ghcjs_dom_html_text_area_element_get_value = undefined
+#endif
+ 
+htmlTextAreaElementGetValue ::
+                            (IsHTMLTextAreaElement self, FromJSString result) =>
+                              self -> IO result
+htmlTextAreaElementGetValue self
+  = fromJSString <$>
+      (ghcjs_dom_html_text_area_element_get_value
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"textLength\"]"
+        ghcjs_dom_html_text_area_element_get_text_length ::
+        JSRef HTMLTextAreaElement -> IO Word
+#else 
+ghcjs_dom_html_text_area_element_get_text_length ::
+                                                   JSRef HTMLTextAreaElement -> IO Word
+ghcjs_dom_html_text_area_element_get_text_length = undefined
+#endif
+ 
+htmlTextAreaElementGetTextLength ::
+                                 (IsHTMLTextAreaElement self) => self -> IO Word
+htmlTextAreaElementGetTextLength self
+  = ghcjs_dom_html_text_area_element_get_text_length
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"willValidate\"] ? 1 : 0)"
+        ghcjs_dom_html_text_area_element_get_will_validate ::
+        JSRef HTMLTextAreaElement -> IO Bool
+#else 
+ghcjs_dom_html_text_area_element_get_will_validate ::
+                                                     JSRef HTMLTextAreaElement -> IO Bool
+ghcjs_dom_html_text_area_element_get_will_validate = undefined
+#endif
+ 
+htmlTextAreaElementGetWillValidate ::
+                                   (IsHTMLTextAreaElement self) => self -> IO Bool
+htmlTextAreaElementGetWillValidate self
+  = ghcjs_dom_html_text_area_element_get_will_validate
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validity\"]"
+        ghcjs_dom_html_text_area_element_get_validity ::
+        JSRef HTMLTextAreaElement -> IO (JSRef ValidityState)
+#else 
+ghcjs_dom_html_text_area_element_get_validity ::
+                                                JSRef HTMLTextAreaElement ->
+                                                  IO (JSRef ValidityState)
+ghcjs_dom_html_text_area_element_get_validity = undefined
+#endif
+ 
+htmlTextAreaElementGetValidity ::
+                               (IsHTMLTextAreaElement self) => self -> IO (Maybe ValidityState)
+htmlTextAreaElementGetValidity self
+  = fmap ValidityState . maybeJSNull <$>
+      (ghcjs_dom_html_text_area_element_get_validity
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"validationMessage\"]"
+        ghcjs_dom_html_text_area_element_get_validation_message ::
+        JSRef HTMLTextAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_text_area_element_get_validation_message ::
+                                                          JSRef HTMLTextAreaElement -> IO JSString
+ghcjs_dom_html_text_area_element_get_validation_message = undefined
+#endif
+ 
+htmlTextAreaElementGetValidationMessage ::
+                                        (IsHTMLTextAreaElement self, FromJSString result) =>
+                                          self -> IO result
+htmlTextAreaElementGetValidationMessage self
+  = fromJSString <$>
+      (ghcjs_dom_html_text_area_element_get_validation_message
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"labels\"]"
+        ghcjs_dom_html_text_area_element_get_labels ::
+        JSRef HTMLTextAreaElement -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_html_text_area_element_get_labels ::
+                                              JSRef HTMLTextAreaElement -> IO (JSRef NodeList)
+ghcjs_dom_html_text_area_element_get_labels = undefined
+#endif
+ 
+htmlTextAreaElementGetLabels ::
+                             (IsHTMLTextAreaElement self) => self -> IO (Maybe NodeList)
+htmlTextAreaElementGetLabels self
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_html_text_area_element_get_labels
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectionStart\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_selection_start ::
+        JSRef HTMLTextAreaElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_selection_start ::
+                                                       JSRef HTMLTextAreaElement -> Int -> IO ()
+ghcjs_dom_html_text_area_element_set_selection_start = undefined
+#endif
+ 
+htmlTextAreaElementSetSelectionStart ::
+                                     (IsHTMLTextAreaElement self) => self -> Int -> IO ()
+htmlTextAreaElementSetSelectionStart self val
+  = ghcjs_dom_html_text_area_element_set_selection_start
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectionStart\"]"
+        ghcjs_dom_html_text_area_element_get_selection_start ::
+        JSRef HTMLTextAreaElement -> IO Int
+#else 
+ghcjs_dom_html_text_area_element_get_selection_start ::
+                                                       JSRef HTMLTextAreaElement -> IO Int
+ghcjs_dom_html_text_area_element_get_selection_start = undefined
+#endif
+ 
+htmlTextAreaElementGetSelectionStart ::
+                                     (IsHTMLTextAreaElement self) => self -> IO Int
+htmlTextAreaElementGetSelectionStart self
+  = ghcjs_dom_html_text_area_element_get_selection_start
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectionEnd\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_selection_end ::
+        JSRef HTMLTextAreaElement -> Int -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_selection_end ::
+                                                     JSRef HTMLTextAreaElement -> Int -> IO ()
+ghcjs_dom_html_text_area_element_set_selection_end = undefined
+#endif
+ 
+htmlTextAreaElementSetSelectionEnd ::
+                                   (IsHTMLTextAreaElement self) => self -> Int -> IO ()
+htmlTextAreaElementSetSelectionEnd self val
+  = ghcjs_dom_html_text_area_element_set_selection_end
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectionEnd\"]"
+        ghcjs_dom_html_text_area_element_get_selection_end ::
+        JSRef HTMLTextAreaElement -> IO Int
+#else 
+ghcjs_dom_html_text_area_element_get_selection_end ::
+                                                     JSRef HTMLTextAreaElement -> IO Int
+ghcjs_dom_html_text_area_element_get_selection_end = undefined
+#endif
+ 
+htmlTextAreaElementGetSelectionEnd ::
+                                   (IsHTMLTextAreaElement self) => self -> IO Int
+htmlTextAreaElementGetSelectionEnd self
+  = ghcjs_dom_html_text_area_element_get_selection_end
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectionDirection\"] = $2;"
+        ghcjs_dom_html_text_area_element_set_selection_direction ::
+        JSRef HTMLTextAreaElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_text_area_element_set_selection_direction ::
+                                                           JSRef HTMLTextAreaElement ->
+                                                             JSString -> IO ()
+ghcjs_dom_html_text_area_element_set_selection_direction
+  = undefined
+#endif
+ 
+htmlTextAreaElementSetSelectionDirection ::
+                                         (IsHTMLTextAreaElement self, ToJSString val) =>
+                                           self -> val -> IO ()
+htmlTextAreaElementSetSelectionDirection self val
+  = ghcjs_dom_html_text_area_element_set_selection_direction
+      (unHTMLTextAreaElement (toHTMLTextAreaElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectionDirection\"]"
+        ghcjs_dom_html_text_area_element_get_selection_direction ::
+        JSRef HTMLTextAreaElement -> IO JSString
+#else 
+ghcjs_dom_html_text_area_element_get_selection_direction ::
+                                                           JSRef HTMLTextAreaElement -> IO JSString
+ghcjs_dom_html_text_area_element_get_selection_direction
+  = undefined
+#endif
+ 
+htmlTextAreaElementGetSelectionDirection ::
+                                         (IsHTMLTextAreaElement self, FromJSString result) =>
+                                           self -> IO result
+htmlTextAreaElementGetSelectionDirection self
+  = fromJSString <$>
+      (ghcjs_dom_html_text_area_element_get_selection_direction
+         (unHTMLTextAreaElement (toHTMLTextAreaElement self)))
+#else
+module GHCJS.DOM.HTMLTextAreaElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLTextAreaElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLTextAreaElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLTitleElement.hs b/src/GHCJS/DOM/HTMLTitleElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLTitleElement.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLTitleElement
+       (ghcjs_dom_html_title_element_set_text, htmlTitleElementSetText,
+        ghcjs_dom_html_title_element_get_text, htmlTitleElementGetText)
+       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[\"text\"] = $2;"
+        ghcjs_dom_html_title_element_set_text ::
+        JSRef HTMLTitleElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_title_element_set_text ::
+                                        JSRef HTMLTitleElement -> JSString -> IO ()
+ghcjs_dom_html_title_element_set_text = undefined
+#endif
+ 
+htmlTitleElementSetText ::
+                        (IsHTMLTitleElement self, ToJSString val) => self -> val -> IO ()
+htmlTitleElementSetText self val
+  = ghcjs_dom_html_title_element_set_text
+      (unHTMLTitleElement (toHTMLTitleElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"text\"]"
+        ghcjs_dom_html_title_element_get_text ::
+        JSRef HTMLTitleElement -> IO JSString
+#else 
+ghcjs_dom_html_title_element_get_text ::
+                                        JSRef HTMLTitleElement -> IO JSString
+ghcjs_dom_html_title_element_get_text = undefined
+#endif
+ 
+htmlTitleElementGetText ::
+                        (IsHTMLTitleElement self, FromJSString result) => self -> IO result
+htmlTitleElementGetText self
+  = fromJSString <$>
+      (ghcjs_dom_html_title_element_get_text
+         (unHTMLTitleElement (toHTMLTitleElement self)))
+#else
+module GHCJS.DOM.HTMLTitleElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLTitleElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLTitleElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLUListElement.hs b/src/GHCJS/DOM/HTMLUListElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLUListElement.hs
@@ -0,0 +1,63 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLUListElement
+       (ghcjs_dom_htmlu_list_element_set_compact,
+        htmluListElementSetCompact,
+        ghcjs_dom_htmlu_list_element_get_compact,
+        htmluListElementGetCompact)
+       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[\"compact\"] = $2;"
+        ghcjs_dom_htmlu_list_element_set_compact ::
+        JSRef HTMLUListElement -> Bool -> IO ()
+#else 
+ghcjs_dom_htmlu_list_element_set_compact ::
+                                           JSRef HTMLUListElement -> Bool -> IO ()
+ghcjs_dom_htmlu_list_element_set_compact = undefined
+#endif
+ 
+htmluListElementSetCompact ::
+                           (IsHTMLUListElement self) => self -> Bool -> IO ()
+htmluListElementSetCompact self val
+  = ghcjs_dom_htmlu_list_element_set_compact
+      (unHTMLUListElement (toHTMLUListElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"compact\"] ? 1 : 0)"
+        ghcjs_dom_htmlu_list_element_get_compact ::
+        JSRef HTMLUListElement -> IO Bool
+#else 
+ghcjs_dom_htmlu_list_element_get_compact ::
+                                           JSRef HTMLUListElement -> IO Bool
+ghcjs_dom_htmlu_list_element_get_compact = undefined
+#endif
+ 
+htmluListElementGetCompact ::
+                           (IsHTMLUListElement self) => self -> IO Bool
+htmluListElementGetCompact self
+  = ghcjs_dom_htmlu_list_element_get_compact
+      (unHTMLUListElement (toHTMLUListElement self))
+#else
+module GHCJS.DOM.HTMLUListElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLUListElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLUListElement
+#endif
diff --git a/src/GHCJS/DOM/HTMLVideoElement.hs b/src/GHCJS/DOM/HTMLVideoElement.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/HTMLVideoElement.hs
@@ -0,0 +1,332 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.HTMLVideoElement
+       (ghcjs_dom_html_video_element_webkit_enter_fullscreen,
+        htmlVideoElementWebkitEnterFullscreen,
+        ghcjs_dom_html_video_element_webkit_exit_fullscreen,
+        htmlVideoElementWebkitExitFullscreen,
+        ghcjs_dom_html_video_element_webkit_enter_full_screen,
+        htmlVideoElementWebkitEnterFullScreen,
+        ghcjs_dom_html_video_element_webkit_exit_full_screen,
+        htmlVideoElementWebkitExitFullScreen,
+        ghcjs_dom_html_video_element_set_width, htmlVideoElementSetWidth,
+        ghcjs_dom_html_video_element_get_width, htmlVideoElementGetWidth,
+        ghcjs_dom_html_video_element_set_height, htmlVideoElementSetHeight,
+        ghcjs_dom_html_video_element_get_height, htmlVideoElementGetHeight,
+        ghcjs_dom_html_video_element_get_video_width,
+        htmlVideoElementGetVideoWidth,
+        ghcjs_dom_html_video_element_get_video_height,
+        htmlVideoElementGetVideoHeight,
+        ghcjs_dom_html_video_element_set_poster, htmlVideoElementSetPoster,
+        ghcjs_dom_html_video_element_get_poster, htmlVideoElementGetPoster,
+        ghcjs_dom_html_video_element_get_webkit_supports_fullscreen,
+        htmlVideoElementGetWebkitSupportsFullscreen,
+        ghcjs_dom_html_video_element_get_webkit_displaying_fullscreen,
+        htmlVideoElementGetWebkitDisplayingFullscreen,
+        ghcjs_dom_html_video_element_get_webkit_decoded_frame_count,
+        htmlVideoElementGetWebkitDecodedFrameCount,
+        ghcjs_dom_html_video_element_get_webkit_dropped_frame_count,
+        htmlVideoElementGetWebkitDroppedFrameCount)
+       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[\"webkitEnterFullscreen\"]()"
+        ghcjs_dom_html_video_element_webkit_enter_fullscreen ::
+        JSRef HTMLVideoElement -> IO ()
+#else 
+ghcjs_dom_html_video_element_webkit_enter_fullscreen ::
+                                                       JSRef HTMLVideoElement -> IO ()
+ghcjs_dom_html_video_element_webkit_enter_fullscreen = undefined
+#endif
+ 
+htmlVideoElementWebkitEnterFullscreen ::
+                                      (IsHTMLVideoElement self) => self -> IO ()
+htmlVideoElementWebkitEnterFullscreen self
+  = ghcjs_dom_html_video_element_webkit_enter_fullscreen
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitExitFullscreen\"]()"
+        ghcjs_dom_html_video_element_webkit_exit_fullscreen ::
+        JSRef HTMLVideoElement -> IO ()
+#else 
+ghcjs_dom_html_video_element_webkit_exit_fullscreen ::
+                                                      JSRef HTMLVideoElement -> IO ()
+ghcjs_dom_html_video_element_webkit_exit_fullscreen = undefined
+#endif
+ 
+htmlVideoElementWebkitExitFullscreen ::
+                                     (IsHTMLVideoElement self) => self -> IO ()
+htmlVideoElementWebkitExitFullscreen self
+  = ghcjs_dom_html_video_element_webkit_exit_fullscreen
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitEnterFullScreen\"]()"
+        ghcjs_dom_html_video_element_webkit_enter_full_screen ::
+        JSRef HTMLVideoElement -> IO ()
+#else 
+ghcjs_dom_html_video_element_webkit_enter_full_screen ::
+                                                        JSRef HTMLVideoElement -> IO ()
+ghcjs_dom_html_video_element_webkit_enter_full_screen = undefined
+#endif
+ 
+htmlVideoElementWebkitEnterFullScreen ::
+                                      (IsHTMLVideoElement self) => self -> IO ()
+htmlVideoElementWebkitEnterFullScreen self
+  = ghcjs_dom_html_video_element_webkit_enter_full_screen
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitExitFullScreen\"]()"
+        ghcjs_dom_html_video_element_webkit_exit_full_screen ::
+        JSRef HTMLVideoElement -> IO ()
+#else 
+ghcjs_dom_html_video_element_webkit_exit_full_screen ::
+                                                       JSRef HTMLVideoElement -> IO ()
+ghcjs_dom_html_video_element_webkit_exit_full_screen = undefined
+#endif
+ 
+htmlVideoElementWebkitExitFullScreen ::
+                                     (IsHTMLVideoElement self) => self -> IO ()
+htmlVideoElementWebkitExitFullScreen self
+  = ghcjs_dom_html_video_element_webkit_exit_full_screen
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"] = $2;"
+        ghcjs_dom_html_video_element_set_width ::
+        JSRef HTMLVideoElement -> Word -> IO ()
+#else 
+ghcjs_dom_html_video_element_set_width ::
+                                         JSRef HTMLVideoElement -> Word -> IO ()
+ghcjs_dom_html_video_element_set_width = undefined
+#endif
+ 
+htmlVideoElementSetWidth ::
+                         (IsHTMLVideoElement self) => self -> Word -> IO ()
+htmlVideoElementSetWidth self val
+  = ghcjs_dom_html_video_element_set_width
+      (unHTMLVideoElement (toHTMLVideoElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_html_video_element_get_width ::
+        JSRef HTMLVideoElement -> IO Word
+#else 
+ghcjs_dom_html_video_element_get_width ::
+                                         JSRef HTMLVideoElement -> IO Word
+ghcjs_dom_html_video_element_get_width = undefined
+#endif
+ 
+htmlVideoElementGetWidth ::
+                         (IsHTMLVideoElement self) => self -> IO Word
+htmlVideoElementGetWidth self
+  = ghcjs_dom_html_video_element_get_width
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"] = $2;"
+        ghcjs_dom_html_video_element_set_height ::
+        JSRef HTMLVideoElement -> Word -> IO ()
+#else 
+ghcjs_dom_html_video_element_set_height ::
+                                          JSRef HTMLVideoElement -> Word -> IO ()
+ghcjs_dom_html_video_element_set_height = undefined
+#endif
+ 
+htmlVideoElementSetHeight ::
+                          (IsHTMLVideoElement self) => self -> Word -> IO ()
+htmlVideoElementSetHeight self val
+  = ghcjs_dom_html_video_element_set_height
+      (unHTMLVideoElement (toHTMLVideoElement self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"height\"]"
+        ghcjs_dom_html_video_element_get_height ::
+        JSRef HTMLVideoElement -> IO Word
+#else 
+ghcjs_dom_html_video_element_get_height ::
+                                          JSRef HTMLVideoElement -> IO Word
+ghcjs_dom_html_video_element_get_height = undefined
+#endif
+ 
+htmlVideoElementGetHeight ::
+                          (IsHTMLVideoElement self) => self -> IO Word
+htmlVideoElementGetHeight self
+  = ghcjs_dom_html_video_element_get_height
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"videoWidth\"]"
+        ghcjs_dom_html_video_element_get_video_width ::
+        JSRef HTMLVideoElement -> IO Word
+#else 
+ghcjs_dom_html_video_element_get_video_width ::
+                                               JSRef HTMLVideoElement -> IO Word
+ghcjs_dom_html_video_element_get_video_width = undefined
+#endif
+ 
+htmlVideoElementGetVideoWidth ::
+                              (IsHTMLVideoElement self) => self -> IO Word
+htmlVideoElementGetVideoWidth self
+  = ghcjs_dom_html_video_element_get_video_width
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"videoHeight\"]"
+        ghcjs_dom_html_video_element_get_video_height ::
+        JSRef HTMLVideoElement -> IO Word
+#else 
+ghcjs_dom_html_video_element_get_video_height ::
+                                                JSRef HTMLVideoElement -> IO Word
+ghcjs_dom_html_video_element_get_video_height = undefined
+#endif
+ 
+htmlVideoElementGetVideoHeight ::
+                               (IsHTMLVideoElement self) => self -> IO Word
+htmlVideoElementGetVideoHeight self
+  = ghcjs_dom_html_video_element_get_video_height
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"poster\"] = $2;"
+        ghcjs_dom_html_video_element_set_poster ::
+        JSRef HTMLVideoElement -> JSString -> IO ()
+#else 
+ghcjs_dom_html_video_element_set_poster ::
+                                          JSRef HTMLVideoElement -> JSString -> IO ()
+ghcjs_dom_html_video_element_set_poster = undefined
+#endif
+ 
+htmlVideoElementSetPoster ::
+                          (IsHTMLVideoElement self, ToJSString val) => self -> val -> IO ()
+htmlVideoElementSetPoster self val
+  = ghcjs_dom_html_video_element_set_poster
+      (unHTMLVideoElement (toHTMLVideoElement self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"poster\"]"
+        ghcjs_dom_html_video_element_get_poster ::
+        JSRef HTMLVideoElement -> IO JSString
+#else 
+ghcjs_dom_html_video_element_get_poster ::
+                                          JSRef HTMLVideoElement -> IO JSString
+ghcjs_dom_html_video_element_get_poster = undefined
+#endif
+ 
+htmlVideoElementGetPoster ::
+                          (IsHTMLVideoElement self, FromJSString result) => self -> IO result
+htmlVideoElementGetPoster self
+  = fromJSString <$>
+      (ghcjs_dom_html_video_element_get_poster
+         (unHTMLVideoElement (toHTMLVideoElement self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"webkitSupportsFullscreen\"] ? 1 : 0)"
+        ghcjs_dom_html_video_element_get_webkit_supports_fullscreen ::
+        JSRef HTMLVideoElement -> IO Bool
+#else 
+ghcjs_dom_html_video_element_get_webkit_supports_fullscreen ::
+                                                              JSRef HTMLVideoElement -> IO Bool
+ghcjs_dom_html_video_element_get_webkit_supports_fullscreen
+  = undefined
+#endif
+ 
+htmlVideoElementGetWebkitSupportsFullscreen ::
+                                            (IsHTMLVideoElement self) => self -> IO Bool
+htmlVideoElementGetWebkitSupportsFullscreen self
+  = ghcjs_dom_html_video_element_get_webkit_supports_fullscreen
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"webkitDisplayingFullscreen\"] ? 1 : 0)"
+        ghcjs_dom_html_video_element_get_webkit_displaying_fullscreen ::
+        JSRef HTMLVideoElement -> IO Bool
+#else 
+ghcjs_dom_html_video_element_get_webkit_displaying_fullscreen ::
+                                                                JSRef HTMLVideoElement -> IO Bool
+ghcjs_dom_html_video_element_get_webkit_displaying_fullscreen
+  = undefined
+#endif
+ 
+htmlVideoElementGetWebkitDisplayingFullscreen ::
+                                              (IsHTMLVideoElement self) => self -> IO Bool
+htmlVideoElementGetWebkitDisplayingFullscreen self
+  = ghcjs_dom_html_video_element_get_webkit_displaying_fullscreen
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitDecodedFrameCount\"]"
+        ghcjs_dom_html_video_element_get_webkit_decoded_frame_count ::
+        JSRef HTMLVideoElement -> IO Word
+#else 
+ghcjs_dom_html_video_element_get_webkit_decoded_frame_count ::
+                                                              JSRef HTMLVideoElement -> IO Word
+ghcjs_dom_html_video_element_get_webkit_decoded_frame_count
+  = undefined
+#endif
+ 
+htmlVideoElementGetWebkitDecodedFrameCount ::
+                                           (IsHTMLVideoElement self) => self -> IO Word
+htmlVideoElementGetWebkitDecodedFrameCount self
+  = ghcjs_dom_html_video_element_get_webkit_decoded_frame_count
+      (unHTMLVideoElement (toHTMLVideoElement self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"webkitDroppedFrameCount\"]"
+        ghcjs_dom_html_video_element_get_webkit_dropped_frame_count ::
+        JSRef HTMLVideoElement -> IO Word
+#else 
+ghcjs_dom_html_video_element_get_webkit_dropped_frame_count ::
+                                                              JSRef HTMLVideoElement -> IO Word
+ghcjs_dom_html_video_element_get_webkit_dropped_frame_count
+  = undefined
+#endif
+ 
+htmlVideoElementGetWebkitDroppedFrameCount ::
+                                           (IsHTMLVideoElement self) => self -> IO Word
+htmlVideoElementGetWebkitDroppedFrameCount self
+  = ghcjs_dom_html_video_element_get_webkit_dropped_frame_count
+      (unHTMLVideoElement (toHTMLVideoElement self))
+#else
+module GHCJS.DOM.HTMLVideoElement (
+  module Graphics.UI.Gtk.WebKit.DOM.HTMLVideoElement
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.HTMLVideoElement
+#endif
diff --git a/src/GHCJS/DOM/History.hs b/src/GHCJS/DOM/History.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/History.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.History
+       (ghcjs_dom_history_get_length, historyGetLength) 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[\"length\"]"
+        ghcjs_dom_history_get_length :: JSRef History -> IO Word
+#else 
+ghcjs_dom_history_get_length :: JSRef History -> IO Word
+ghcjs_dom_history_get_length = undefined
+#endif
+ 
+historyGetLength :: (IsHistory self) => self -> IO Word
+historyGetLength self
+  = ghcjs_dom_history_get_length (unHistory (toHistory self))
+#else
+module GHCJS.DOM.History (
+  module Graphics.UI.Gtk.WebKit.DOM.History
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.History
+#endif
diff --git a/src/GHCJS/DOM/Location.hs b/src/GHCJS/DOM/Location.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Location.hs
@@ -0,0 +1,60 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Location
+       (ghcjs_dom_location_get_origin, locationGetOrigin,
+        ghcjs_dom_location_get_ancestor_origins,
+        locationGetAncestorOrigins)
+       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[\"origin\"]"
+        ghcjs_dom_location_get_origin :: JSRef Location -> IO JSString
+#else 
+ghcjs_dom_location_get_origin :: JSRef Location -> IO JSString
+ghcjs_dom_location_get_origin = undefined
+#endif
+ 
+locationGetOrigin ::
+                  (IsLocation self, FromJSString result) => self -> IO result
+locationGetOrigin self
+  = fromJSString <$>
+      (ghcjs_dom_location_get_origin (unLocation (toLocation self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ancestorOrigins\"]"
+        ghcjs_dom_location_get_ancestor_origins ::
+        JSRef Location -> IO (JSRef DOMStringList)
+#else 
+ghcjs_dom_location_get_ancestor_origins ::
+                                          JSRef Location -> IO (JSRef DOMStringList)
+ghcjs_dom_location_get_ancestor_origins = undefined
+#endif
+ 
+locationGetAncestorOrigins ::
+                           (IsLocation self) => self -> IO (Maybe DOMStringList)
+locationGetAncestorOrigins self
+  = fmap DOMStringList . maybeJSNull <$>
+      (ghcjs_dom_location_get_ancestor_origins
+         (unLocation (toLocation self)))
+#else
+module GHCJS.DOM.Location (
+  module Graphics.UI.Gtk.WebKit.DOM.Location
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Location
+#endif
diff --git a/src/GHCJS/DOM/MediaError.hs b/src/GHCJS/DOM/MediaError.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/MediaError.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.MediaError
+       (cMEDIA_ERR_ABORTED, cMEDIA_ERR_NETWORK, cMEDIA_ERR_DECODE,
+        cMEDIA_ERR_SRC_NOT_SUPPORTED, ghcjs_dom_media_error_get_code,
+        mediaErrorGetCode)
+       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
+
+cMEDIA_ERR_ABORTED = 1
+cMEDIA_ERR_NETWORK = 2
+cMEDIA_ERR_DECODE = 3
+cMEDIA_ERR_SRC_NOT_SUPPORTED = 4
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"code\"]"
+        ghcjs_dom_media_error_get_code :: JSRef MediaError -> IO Word
+#else 
+ghcjs_dom_media_error_get_code :: JSRef MediaError -> IO Word
+ghcjs_dom_media_error_get_code = undefined
+#endif
+ 
+mediaErrorGetCode :: (IsMediaError self) => self -> IO Word
+mediaErrorGetCode self
+  = ghcjs_dom_media_error_get_code (unMediaError (toMediaError self))
+#else
+module GHCJS.DOM.MediaError (
+  module Graphics.UI.Gtk.WebKit.DOM.MediaError
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.MediaError
+#endif
diff --git a/src/GHCJS/DOM/MediaList.hs b/src/GHCJS/DOM/MediaList.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/MediaList.hs
@@ -0,0 +1,133 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.MediaList
+       (ghcjs_dom_media_list_item, mediaListItem,
+        ghcjs_dom_media_list_delete_medium, mediaListDeleteMedium,
+        ghcjs_dom_media_list_append_medium, mediaListAppendMedium,
+        ghcjs_dom_media_list_set_media_text, mediaListSetMediaText,
+        ghcjs_dom_media_list_get_media_text, mediaListGetMediaText,
+        ghcjs_dom_media_list_get_length, mediaListGetLength)
+       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_media_list_item :: JSRef MediaList -> Word -> IO JSString
+#else 
+ghcjs_dom_media_list_item :: JSRef MediaList -> Word -> IO JSString
+ghcjs_dom_media_list_item = undefined
+#endif
+ 
+mediaListItem ::
+              (IsMediaList self, FromJSString result) =>
+                self -> Word -> IO result
+mediaListItem self index
+  = fromJSString <$>
+      (ghcjs_dom_media_list_item (unMediaList (toMediaList self)) index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteMedium\"]($2)"
+        ghcjs_dom_media_list_delete_medium ::
+        JSRef MediaList -> JSString -> IO ()
+#else 
+ghcjs_dom_media_list_delete_medium ::
+                                     JSRef MediaList -> JSString -> IO ()
+ghcjs_dom_media_list_delete_medium = undefined
+#endif
+ 
+mediaListDeleteMedium ::
+                      (IsMediaList self, ToJSString oldMedium) =>
+                        self -> oldMedium -> IO ()
+mediaListDeleteMedium self oldMedium
+  = ghcjs_dom_media_list_delete_medium
+      (unMediaList (toMediaList self))
+      (toJSString oldMedium)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"appendMedium\"]($2)"
+        ghcjs_dom_media_list_append_medium ::
+        JSRef MediaList -> JSString -> IO ()
+#else 
+ghcjs_dom_media_list_append_medium ::
+                                     JSRef MediaList -> JSString -> IO ()
+ghcjs_dom_media_list_append_medium = undefined
+#endif
+ 
+mediaListAppendMedium ::
+                      (IsMediaList self, ToJSString newMedium) =>
+                        self -> newMedium -> IO ()
+mediaListAppendMedium self newMedium
+  = ghcjs_dom_media_list_append_medium
+      (unMediaList (toMediaList self))
+      (toJSString newMedium)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"mediaText\"] = $2;"
+        ghcjs_dom_media_list_set_media_text ::
+        JSRef MediaList -> JSString -> IO ()
+#else 
+ghcjs_dom_media_list_set_media_text ::
+                                      JSRef MediaList -> JSString -> IO ()
+ghcjs_dom_media_list_set_media_text = undefined
+#endif
+ 
+mediaListSetMediaText ::
+                      (IsMediaList self, ToJSString val) => self -> val -> IO ()
+mediaListSetMediaText self val
+  = ghcjs_dom_media_list_set_media_text
+      (unMediaList (toMediaList self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"mediaText\"]"
+        ghcjs_dom_media_list_get_media_text ::
+        JSRef MediaList -> IO JSString
+#else 
+ghcjs_dom_media_list_get_media_text ::
+                                      JSRef MediaList -> IO JSString
+ghcjs_dom_media_list_get_media_text = undefined
+#endif
+ 
+mediaListGetMediaText ::
+                      (IsMediaList self, FromJSString result) => self -> IO result
+mediaListGetMediaText self
+  = fromJSString <$>
+      (ghcjs_dom_media_list_get_media_text
+         (unMediaList (toMediaList self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_media_list_get_length :: JSRef MediaList -> IO Word
+#else 
+ghcjs_dom_media_list_get_length :: JSRef MediaList -> IO Word
+ghcjs_dom_media_list_get_length = undefined
+#endif
+ 
+mediaListGetLength :: (IsMediaList self) => self -> IO Word
+mediaListGetLength self
+  = ghcjs_dom_media_list_get_length (unMediaList (toMediaList self))
+#else
+module GHCJS.DOM.MediaList (
+  module Graphics.UI.Gtk.WebKit.DOM.MediaList
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.MediaList
+#endif
diff --git a/src/GHCJS/DOM/MediaQueryList.hs b/src/GHCJS/DOM/MediaQueryList.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/MediaQueryList.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.MediaQueryList
+       (ghcjs_dom_media_query_list_get_media, mediaQueryListGetMedia,
+        ghcjs_dom_media_query_list_get_matches, mediaQueryListGetMatches)
+       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[\"media\"]"
+        ghcjs_dom_media_query_list_get_media ::
+        JSRef MediaQueryList -> IO JSString
+#else 
+ghcjs_dom_media_query_list_get_media ::
+                                       JSRef MediaQueryList -> IO JSString
+ghcjs_dom_media_query_list_get_media = undefined
+#endif
+ 
+mediaQueryListGetMedia ::
+                       (IsMediaQueryList self, FromJSString result) => self -> IO result
+mediaQueryListGetMedia self
+  = fromJSString <$>
+      (ghcjs_dom_media_query_list_get_media
+         (unMediaQueryList (toMediaQueryList self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"matches\"] ? 1 : 0)"
+        ghcjs_dom_media_query_list_get_matches ::
+        JSRef MediaQueryList -> IO Bool
+#else 
+ghcjs_dom_media_query_list_get_matches ::
+                                         JSRef MediaQueryList -> IO Bool
+ghcjs_dom_media_query_list_get_matches = undefined
+#endif
+ 
+mediaQueryListGetMatches ::
+                         (IsMediaQueryList self) => self -> IO Bool
+mediaQueryListGetMatches self
+  = ghcjs_dom_media_query_list_get_matches
+      (unMediaQueryList (toMediaQueryList self))
+#else
+module GHCJS.DOM.MediaQueryList (
+  module Graphics.UI.Gtk.WebKit.DOM.MediaQueryList
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.MediaQueryList
+#endif
diff --git a/src/GHCJS/DOM/MemoryInfo.hs b/src/GHCJS/DOM/MemoryInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/MemoryInfo.hs
@@ -0,0 +1,81 @@
+{-# 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
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/MouseEvent.hs
@@ -0,0 +1,385 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.MouseEvent
+       (ghcjs_dom_mouse_event_init_mouse_event, mouseEventInitMouseEvent,
+        ghcjs_dom_mouse_event_get_screen_x, mouseEventGetScreenX,
+        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_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,
+        mouseEventGetOffsetX, ghcjs_dom_mouse_event_get_offset_y,
+        mouseEventGetOffsetY, ghcjs_dom_mouse_event_get_x, mouseEventGetX,
+        ghcjs_dom_mouse_event_get_y, mouseEventGetY,
+        ghcjs_dom_mouse_event_get_from_element, mouseEventGetFromElement,
+        ghcjs_dom_mouse_event_get_to_element, mouseEventGetToElement)
+       where
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"initMouseEvent\"]($2, $3, $4,\n$5, $6, $7, $8, $9, $10, $11,\n$12, $13, $14, $15, $16)"
+        ghcjs_dom_mouse_event_init_mouse_event ::
+        JSRef MouseEvent ->
+          JSString ->
+            Bool ->
+              Bool ->
+                JSRef DOMWindow ->
+                  Int ->
+                    Int ->
+                      Int ->
+                        Int ->
+                          Int ->
+                            Bool -> Bool -> Bool -> Bool -> Word -> JSRef EventTarget -> IO ()
+#else 
+ghcjs_dom_mouse_event_init_mouse_event ::
+                                         JSRef MouseEvent ->
+                                           JSString ->
+                                             Bool ->
+                                               Bool ->
+                                                 JSRef DOMWindow ->
+                                                   Int ->
+                                                     Int ->
+                                                       Int ->
+                                                         Int ->
+                                                           Int ->
+                                                             Bool ->
+                                                               Bool ->
+                                                                 Bool ->
+                                                                   Bool ->
+                                                                     Word ->
+                                                                       JSRef EventTarget -> IO ()
+ghcjs_dom_mouse_event_init_mouse_event = undefined
+#endif
+ 
+mouseEventInitMouseEvent ::
+                         (IsMouseEvent self, ToJSString type', IsDOMWindow view,
+                          IsEventTarget relatedTarget) =>
+                           self ->
+                             type' ->
+                               Bool ->
+                                 Bool ->
+                                   Maybe view ->
+                                     Int ->
+                                       Int ->
+                                         Int ->
+                                           Int ->
+                                             Int ->
+                                               Bool ->
+                                                 Bool ->
+                                                   Bool ->
+                                                     Bool -> Word -> Maybe relatedTarget -> IO ()
+mouseEventInitMouseEvent self type' canBubble cancelable view
+  detail screenX screenY clientX clientY ctrlKey altKey shiftKey
+  metaKey button relatedTarget
+  = ghcjs_dom_mouse_event_init_mouse_event
+      (unMouseEvent (toMouseEvent self))
+      (toJSString type')
+      canBubble
+      cancelable
+      (maybe jsNull (unDOMWindow . toDOMWindow) view)
+      detail
+      screenX
+      screenY
+      clientX
+      clientY
+      ctrlKey
+      altKey
+      shiftKey
+      metaKey
+      button
+      (maybe jsNull (unEventTarget . toEventTarget) relatedTarget)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"screenX\"]"
+        ghcjs_dom_mouse_event_get_screen_x :: JSRef MouseEvent -> IO Int
+#else 
+ghcjs_dom_mouse_event_get_screen_x :: JSRef MouseEvent -> IO Int
+ghcjs_dom_mouse_event_get_screen_x = undefined
+#endif
+ 
+mouseEventGetScreenX :: (IsMouseEvent self) => self -> IO Int
+mouseEventGetScreenX self
+  = ghcjs_dom_mouse_event_get_screen_x
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"screenY\"]"
+        ghcjs_dom_mouse_event_get_screen_y :: JSRef MouseEvent -> IO Int
+#else 
+ghcjs_dom_mouse_event_get_screen_y :: JSRef MouseEvent -> IO Int
+ghcjs_dom_mouse_event_get_screen_y = undefined
+#endif
+ 
+mouseEventGetScreenY :: (IsMouseEvent self) => self -> IO Int
+mouseEventGetScreenY self
+  = ghcjs_dom_mouse_event_get_screen_y
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"clientX\"]"
+        ghcjs_dom_mouse_event_get_client_x :: JSRef MouseEvent -> IO Int
+#else 
+ghcjs_dom_mouse_event_get_client_x :: JSRef MouseEvent -> IO Int
+ghcjs_dom_mouse_event_get_client_x = undefined
+#endif
+ 
+mouseEventGetClientX :: (IsMouseEvent self) => self -> IO Int
+mouseEventGetClientX self
+  = ghcjs_dom_mouse_event_get_client_x
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"clientY\"]"
+        ghcjs_dom_mouse_event_get_client_y :: JSRef MouseEvent -> IO Int
+#else 
+ghcjs_dom_mouse_event_get_client_y :: JSRef MouseEvent -> IO Int
+ghcjs_dom_mouse_event_get_client_y = undefined
+#endif
+ 
+mouseEventGetClientY :: (IsMouseEvent self) => self -> IO Int
+mouseEventGetClientY self
+  = ghcjs_dom_mouse_event_get_client_y
+      (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__ 
+foreign import javascript unsafe "($1[\"ctrlKey\"] ? 1 : 0)"
+        ghcjs_dom_mouse_event_get_ctrl_key :: JSRef MouseEvent -> IO Bool
+#else 
+ghcjs_dom_mouse_event_get_ctrl_key :: JSRef MouseEvent -> IO Bool
+ghcjs_dom_mouse_event_get_ctrl_key = undefined
+#endif
+ 
+mouseEventGetCtrlKey :: (IsMouseEvent self) => self -> IO Bool
+mouseEventGetCtrlKey self
+  = ghcjs_dom_mouse_event_get_ctrl_key
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"shiftKey\"] ? 1 : 0)"
+        ghcjs_dom_mouse_event_get_shift_key :: JSRef MouseEvent -> IO Bool
+#else 
+ghcjs_dom_mouse_event_get_shift_key :: JSRef MouseEvent -> IO Bool
+ghcjs_dom_mouse_event_get_shift_key = undefined
+#endif
+ 
+mouseEventGetShiftKey :: (IsMouseEvent self) => self -> IO Bool
+mouseEventGetShiftKey self
+  = ghcjs_dom_mouse_event_get_shift_key
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"altKey\"] ? 1 : 0)"
+        ghcjs_dom_mouse_event_get_alt_key :: JSRef MouseEvent -> IO Bool
+#else 
+ghcjs_dom_mouse_event_get_alt_key :: JSRef MouseEvent -> IO Bool
+ghcjs_dom_mouse_event_get_alt_key = undefined
+#endif
+ 
+mouseEventGetAltKey :: (IsMouseEvent self) => self -> IO Bool
+mouseEventGetAltKey self
+  = ghcjs_dom_mouse_event_get_alt_key
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"metaKey\"] ? 1 : 0)"
+        ghcjs_dom_mouse_event_get_meta_key :: JSRef MouseEvent -> IO Bool
+#else 
+ghcjs_dom_mouse_event_get_meta_key :: JSRef MouseEvent -> IO Bool
+ghcjs_dom_mouse_event_get_meta_key = undefined
+#endif
+ 
+mouseEventGetMetaKey :: (IsMouseEvent self) => self -> IO Bool
+mouseEventGetMetaKey self
+  = ghcjs_dom_mouse_event_get_meta_key
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"button\"]"
+        ghcjs_dom_mouse_event_get_button :: JSRef MouseEvent -> IO Word
+#else 
+ghcjs_dom_mouse_event_get_button :: JSRef MouseEvent -> IO Word
+ghcjs_dom_mouse_event_get_button = undefined
+#endif
+ 
+mouseEventGetButton :: (IsMouseEvent self) => self -> IO Word
+mouseEventGetButton self
+  = ghcjs_dom_mouse_event_get_button
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"relatedTarget\"]"
+        ghcjs_dom_mouse_event_get_related_target ::
+        JSRef MouseEvent -> IO (JSRef EventTarget)
+#else 
+ghcjs_dom_mouse_event_get_related_target ::
+                                           JSRef MouseEvent -> IO (JSRef EventTarget)
+ghcjs_dom_mouse_event_get_related_target = undefined
+#endif
+ 
+mouseEventGetRelatedTarget ::
+                           (IsMouseEvent self) => self -> IO (Maybe EventTarget)
+mouseEventGetRelatedTarget self
+  = fmap EventTarget . maybeJSNull <$>
+      (ghcjs_dom_mouse_event_get_related_target
+         (unMouseEvent (toMouseEvent self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"offsetX\"]"
+        ghcjs_dom_mouse_event_get_offset_x :: JSRef MouseEvent -> IO Int
+#else 
+ghcjs_dom_mouse_event_get_offset_x :: JSRef MouseEvent -> IO Int
+ghcjs_dom_mouse_event_get_offset_x = undefined
+#endif
+ 
+mouseEventGetOffsetX :: (IsMouseEvent self) => self -> IO Int
+mouseEventGetOffsetX self
+  = ghcjs_dom_mouse_event_get_offset_x
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"offsetY\"]"
+        ghcjs_dom_mouse_event_get_offset_y :: JSRef MouseEvent -> IO Int
+#else 
+ghcjs_dom_mouse_event_get_offset_y :: JSRef MouseEvent -> IO Int
+ghcjs_dom_mouse_event_get_offset_y = undefined
+#endif
+ 
+mouseEventGetOffsetY :: (IsMouseEvent self) => self -> IO Int
+mouseEventGetOffsetY self
+  = ghcjs_dom_mouse_event_get_offset_y
+      (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"x\"]"
+        ghcjs_dom_mouse_event_get_x :: JSRef MouseEvent -> IO Int
+#else 
+ghcjs_dom_mouse_event_get_x :: JSRef MouseEvent -> IO Int
+ghcjs_dom_mouse_event_get_x = undefined
+#endif
+ 
+mouseEventGetX :: (IsMouseEvent self) => self -> IO Int
+mouseEventGetX self
+  = ghcjs_dom_mouse_event_get_x (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"y\"]"
+        ghcjs_dom_mouse_event_get_y :: JSRef MouseEvent -> IO Int
+#else 
+ghcjs_dom_mouse_event_get_y :: JSRef MouseEvent -> IO Int
+ghcjs_dom_mouse_event_get_y = undefined
+#endif
+ 
+mouseEventGetY :: (IsMouseEvent self) => self -> IO Int
+mouseEventGetY self
+  = ghcjs_dom_mouse_event_get_y (unMouseEvent (toMouseEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"fromElement\"]"
+        ghcjs_dom_mouse_event_get_from_element ::
+        JSRef MouseEvent -> IO (JSRef Node)
+#else 
+ghcjs_dom_mouse_event_get_from_element ::
+                                         JSRef MouseEvent -> IO (JSRef Node)
+ghcjs_dom_mouse_event_get_from_element = undefined
+#endif
+ 
+mouseEventGetFromElement ::
+                         (IsMouseEvent self) => self -> IO (Maybe Node)
+mouseEventGetFromElement self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_mouse_event_get_from_element
+         (unMouseEvent (toMouseEvent self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"toElement\"]"
+        ghcjs_dom_mouse_event_get_to_element ::
+        JSRef MouseEvent -> IO (JSRef Node)
+#else 
+ghcjs_dom_mouse_event_get_to_element ::
+                                       JSRef MouseEvent -> IO (JSRef Node)
+ghcjs_dom_mouse_event_get_to_element = undefined
+#endif
+ 
+mouseEventGetToElement ::
+                       (IsMouseEvent self) => self -> IO (Maybe Node)
+mouseEventGetToElement self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_mouse_event_get_to_element
+         (unMouseEvent (toMouseEvent self)))
+#else
+module GHCJS.DOM.MouseEvent (
+  module Graphics.UI.Gtk.WebKit.DOM.MouseEvent
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.MouseEvent
+#endif
diff --git a/src/GHCJS/DOM/NamedNodeMap.hs b/src/GHCJS/DOM/NamedNodeMap.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/NamedNodeMap.hs
@@ -0,0 +1,197 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.NamedNodeMap
+       (ghcjs_dom_named_node_map_get_named_item, namedNodeMapGetNamedItem,
+        ghcjs_dom_named_node_map_set_named_item, namedNodeMapSetNamedItem,
+        ghcjs_dom_named_node_map_remove_named_item,
+        namedNodeMapRemoveNamedItem, ghcjs_dom_named_node_map_item,
+        namedNodeMapItem, ghcjs_dom_named_node_map_get_named_item_ns,
+        namedNodeMapGetNamedItemNS,
+        ghcjs_dom_named_node_map_set_named_item_ns,
+        namedNodeMapSetNamedItemNS,
+        ghcjs_dom_named_node_map_remove_named_item_ns,
+        namedNodeMapRemoveNamedItemNS, ghcjs_dom_named_node_map_get_length,
+        namedNodeMapGetLength)
+       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[\"getNamedItem\"]($2)"
+        ghcjs_dom_named_node_map_get_named_item ::
+        JSRef NamedNodeMap -> JSString -> IO (JSRef Node)
+#else 
+ghcjs_dom_named_node_map_get_named_item ::
+                                          JSRef NamedNodeMap -> JSString -> IO (JSRef Node)
+ghcjs_dom_named_node_map_get_named_item = undefined
+#endif
+ 
+namedNodeMapGetNamedItem ::
+                         (IsNamedNodeMap self, ToJSString name) =>
+                           self -> name -> IO (Maybe Node)
+namedNodeMapGetNamedItem self name
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_named_node_map_get_named_item
+         (unNamedNodeMap (toNamedNodeMap self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setNamedItem\"]($2)"
+        ghcjs_dom_named_node_map_set_named_item ::
+        JSRef NamedNodeMap -> JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_named_node_map_set_named_item ::
+                                          JSRef NamedNodeMap -> JSRef Node -> IO (JSRef Node)
+ghcjs_dom_named_node_map_set_named_item = undefined
+#endif
+ 
+namedNodeMapSetNamedItem ::
+                         (IsNamedNodeMap self, IsNode node) =>
+                           self -> Maybe node -> IO (Maybe Node)
+namedNodeMapSetNamedItem self node
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_named_node_map_set_named_item
+         (unNamedNodeMap (toNamedNodeMap self))
+         (maybe jsNull (unNode . toNode) node))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"removeNamedItem\"]($2)"
+        ghcjs_dom_named_node_map_remove_named_item ::
+        JSRef NamedNodeMap -> JSString -> IO (JSRef Node)
+#else 
+ghcjs_dom_named_node_map_remove_named_item ::
+                                             JSRef NamedNodeMap -> JSString -> IO (JSRef Node)
+ghcjs_dom_named_node_map_remove_named_item = undefined
+#endif
+ 
+namedNodeMapRemoveNamedItem ::
+                            (IsNamedNodeMap self, ToJSString name) =>
+                              self -> name -> IO (Maybe Node)
+namedNodeMapRemoveNamedItem self name
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_named_node_map_remove_named_item
+         (unNamedNodeMap (toNamedNodeMap self))
+         (toJSString name))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"item\"]($2)"
+        ghcjs_dom_named_node_map_item ::
+        JSRef NamedNodeMap -> Word -> IO (JSRef Node)
+#else 
+ghcjs_dom_named_node_map_item ::
+                                JSRef NamedNodeMap -> Word -> IO (JSRef Node)
+ghcjs_dom_named_node_map_item = undefined
+#endif
+ 
+namedNodeMapItem ::
+                 (IsNamedNodeMap self) => self -> Word -> IO (Maybe Node)
+namedNodeMapItem self index
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_named_node_map_item
+         (unNamedNodeMap (toNamedNodeMap self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getNamedItemNS\"]($2, $3)"
+        ghcjs_dom_named_node_map_get_named_item_ns ::
+        JSRef NamedNodeMap -> JSString -> JSString -> IO (JSRef Node)
+#else 
+ghcjs_dom_named_node_map_get_named_item_ns ::
+                                             JSRef NamedNodeMap ->
+                                               JSString -> JSString -> IO (JSRef Node)
+ghcjs_dom_named_node_map_get_named_item_ns = undefined
+#endif
+ 
+namedNodeMapGetNamedItemNS ::
+                           (IsNamedNodeMap self, ToJSString namespaceURI,
+                            ToJSString localName) =>
+                             self -> namespaceURI -> localName -> IO (Maybe Node)
+namedNodeMapGetNamedItemNS self namespaceURI localName
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_named_node_map_get_named_item_ns
+         (unNamedNodeMap (toNamedNodeMap self))
+         (toJSString namespaceURI)
+         (toJSString localName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setNamedItemNS\"]($2)"
+        ghcjs_dom_named_node_map_set_named_item_ns ::
+        JSRef NamedNodeMap -> JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_named_node_map_set_named_item_ns ::
+                                             JSRef NamedNodeMap -> JSRef Node -> IO (JSRef Node)
+ghcjs_dom_named_node_map_set_named_item_ns = undefined
+#endif
+ 
+namedNodeMapSetNamedItemNS ::
+                           (IsNamedNodeMap self, IsNode node) =>
+                             self -> Maybe node -> IO (Maybe Node)
+namedNodeMapSetNamedItemNS self node
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_named_node_map_set_named_item_ns
+         (unNamedNodeMap (toNamedNodeMap self))
+         (maybe jsNull (unNode . toNode) node))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"removeNamedItemNS\"]($2, $3)"
+        ghcjs_dom_named_node_map_remove_named_item_ns ::
+        JSRef NamedNodeMap -> JSString -> JSString -> IO (JSRef Node)
+#else 
+ghcjs_dom_named_node_map_remove_named_item_ns ::
+                                                JSRef NamedNodeMap ->
+                                                  JSString -> JSString -> IO (JSRef Node)
+ghcjs_dom_named_node_map_remove_named_item_ns = undefined
+#endif
+ 
+namedNodeMapRemoveNamedItemNS ::
+                              (IsNamedNodeMap self, ToJSString namespaceURI,
+                               ToJSString localName) =>
+                                self -> namespaceURI -> localName -> IO (Maybe Node)
+namedNodeMapRemoveNamedItemNS self namespaceURI localName
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_named_node_map_remove_named_item_ns
+         (unNamedNodeMap (toNamedNodeMap self))
+         (toJSString namespaceURI)
+         (toJSString localName))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_named_node_map_get_length ::
+        JSRef NamedNodeMap -> IO Word
+#else 
+ghcjs_dom_named_node_map_get_length ::
+                                      JSRef NamedNodeMap -> IO Word
+ghcjs_dom_named_node_map_get_length = undefined
+#endif
+ 
+namedNodeMapGetLength :: (IsNamedNodeMap self) => self -> IO Word
+namedNodeMapGetLength self
+  = ghcjs_dom_named_node_map_get_length
+      (unNamedNodeMap (toNamedNodeMap self))
+#else
+module GHCJS.DOM.NamedNodeMap (
+  module Graphics.UI.Gtk.WebKit.DOM.NamedNodeMap
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.NamedNodeMap
+#endif
diff --git a/src/GHCJS/DOM/Navigator.hs b/src/GHCJS/DOM/Navigator.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Navigator.hs
@@ -0,0 +1,297 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Navigator
+       (ghcjs_dom_navigator_java_enabled, navigatorJavaEnabled,
+        ghcjs_dom_navigator_get_storage_updates,
+        navigatorGetStorageUpdates, ghcjs_dom_navigator_get_app_code_name,
+        navigatorGetAppCodeName, ghcjs_dom_navigator_get_app_name,
+        navigatorGetAppName, ghcjs_dom_navigator_get_app_version,
+        navigatorGetAppVersion, ghcjs_dom_navigator_get_language,
+        navigatorGetLanguage, ghcjs_dom_navigator_get_user_agent,
+        navigatorGetUserAgent, ghcjs_dom_navigator_get_platform,
+        navigatorGetPlatform, ghcjs_dom_navigator_get_plugins,
+        navigatorGetPlugins, ghcjs_dom_navigator_get_mime_types,
+        navigatorGetMimeTypes, ghcjs_dom_navigator_get_product,
+        navigatorGetProduct, ghcjs_dom_navigator_get_product_sub,
+        navigatorGetProductSub, ghcjs_dom_navigator_get_vendor,
+        navigatorGetVendor, ghcjs_dom_navigator_get_vendor_sub,
+        navigatorGetVendorSub, ghcjs_dom_navigator_get_cookie_enabled,
+        navigatorGetCookieEnabled, ghcjs_dom_navigator_get_on_line,
+        navigatorGetOnLine)
+       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[\"javaEnabled\"]() ? 1 : 0)"
+        ghcjs_dom_navigator_java_enabled :: JSRef Navigator -> IO Bool
+#else 
+ghcjs_dom_navigator_java_enabled :: JSRef Navigator -> IO Bool
+ghcjs_dom_navigator_java_enabled = undefined
+#endif
+ 
+navigatorJavaEnabled :: (IsNavigator self) => self -> IO Bool
+navigatorJavaEnabled self
+  = ghcjs_dom_navigator_java_enabled (unNavigator (toNavigator self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getStorageUpdates\"]()"
+        ghcjs_dom_navigator_get_storage_updates :: JSRef Navigator -> IO ()
+#else 
+ghcjs_dom_navigator_get_storage_updates :: JSRef Navigator -> IO ()
+ghcjs_dom_navigator_get_storage_updates = undefined
+#endif
+ 
+navigatorGetStorageUpdates :: (IsNavigator self) => self -> IO ()
+navigatorGetStorageUpdates self
+  = ghcjs_dom_navigator_get_storage_updates
+      (unNavigator (toNavigator self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"appCodeName\"]"
+        ghcjs_dom_navigator_get_app_code_name ::
+        JSRef Navigator -> IO JSString
+#else 
+ghcjs_dom_navigator_get_app_code_name ::
+                                        JSRef Navigator -> IO JSString
+ghcjs_dom_navigator_get_app_code_name = undefined
+#endif
+ 
+navigatorGetAppCodeName ::
+                        (IsNavigator self, FromJSString result) => self -> IO result
+navigatorGetAppCodeName self
+  = fromJSString <$>
+      (ghcjs_dom_navigator_get_app_code_name
+         (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"appName\"]"
+        ghcjs_dom_navigator_get_app_name :: JSRef Navigator -> IO JSString
+#else 
+ghcjs_dom_navigator_get_app_name :: JSRef Navigator -> IO JSString
+ghcjs_dom_navigator_get_app_name = undefined
+#endif
+ 
+navigatorGetAppName ::
+                    (IsNavigator self, FromJSString result) => self -> IO result
+navigatorGetAppName self
+  = fromJSString <$>
+      (ghcjs_dom_navigator_get_app_name (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"appVersion\"]"
+        ghcjs_dom_navigator_get_app_version ::
+        JSRef Navigator -> IO JSString
+#else 
+ghcjs_dom_navigator_get_app_version ::
+                                      JSRef Navigator -> IO JSString
+ghcjs_dom_navigator_get_app_version = undefined
+#endif
+ 
+navigatorGetAppVersion ::
+                       (IsNavigator self, FromJSString result) => self -> IO result
+navigatorGetAppVersion self
+  = fromJSString <$>
+      (ghcjs_dom_navigator_get_app_version
+         (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"language\"]"
+        ghcjs_dom_navigator_get_language :: JSRef Navigator -> IO JSString
+#else 
+ghcjs_dom_navigator_get_language :: JSRef Navigator -> IO JSString
+ghcjs_dom_navigator_get_language = undefined
+#endif
+ 
+navigatorGetLanguage ::
+                     (IsNavigator self, FromJSString result) => self -> IO result
+navigatorGetLanguage self
+  = fromJSString <$>
+      (ghcjs_dom_navigator_get_language (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"userAgent\"]"
+        ghcjs_dom_navigator_get_user_agent ::
+        JSRef Navigator -> IO JSString
+#else 
+ghcjs_dom_navigator_get_user_agent ::
+                                     JSRef Navigator -> IO JSString
+ghcjs_dom_navigator_get_user_agent = undefined
+#endif
+ 
+navigatorGetUserAgent ::
+                      (IsNavigator self, FromJSString result) => self -> IO result
+navigatorGetUserAgent self
+  = fromJSString <$>
+      (ghcjs_dom_navigator_get_user_agent
+         (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"platform\"]"
+        ghcjs_dom_navigator_get_platform :: JSRef Navigator -> IO JSString
+#else 
+ghcjs_dom_navigator_get_platform :: JSRef Navigator -> IO JSString
+ghcjs_dom_navigator_get_platform = undefined
+#endif
+ 
+navigatorGetPlatform ::
+                     (IsNavigator self, FromJSString result) => self -> IO result
+navigatorGetPlatform self
+  = fromJSString <$>
+      (ghcjs_dom_navigator_get_platform (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"plugins\"]"
+        ghcjs_dom_navigator_get_plugins ::
+        JSRef Navigator -> IO (JSRef DOMPluginArray)
+#else 
+ghcjs_dom_navigator_get_plugins ::
+                                  JSRef Navigator -> IO (JSRef DOMPluginArray)
+ghcjs_dom_navigator_get_plugins = undefined
+#endif
+ 
+navigatorGetPlugins ::
+                    (IsNavigator self) => self -> IO (Maybe DOMPluginArray)
+navigatorGetPlugins self
+  = fmap DOMPluginArray . maybeJSNull <$>
+      (ghcjs_dom_navigator_get_plugins (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"mimeTypes\"]"
+        ghcjs_dom_navigator_get_mime_types ::
+        JSRef Navigator -> IO (JSRef DOMMimeTypeArray)
+#else 
+ghcjs_dom_navigator_get_mime_types ::
+                                     JSRef Navigator -> IO (JSRef DOMMimeTypeArray)
+ghcjs_dom_navigator_get_mime_types = undefined
+#endif
+ 
+navigatorGetMimeTypes ::
+                      (IsNavigator self) => self -> IO (Maybe DOMMimeTypeArray)
+navigatorGetMimeTypes self
+  = fmap DOMMimeTypeArray . maybeJSNull <$>
+      (ghcjs_dom_navigator_get_mime_types
+         (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"product\"]"
+        ghcjs_dom_navigator_get_product :: JSRef Navigator -> IO JSString
+#else 
+ghcjs_dom_navigator_get_product :: JSRef Navigator -> IO JSString
+ghcjs_dom_navigator_get_product = undefined
+#endif
+ 
+navigatorGetProduct ::
+                    (IsNavigator self, FromJSString result) => self -> IO result
+navigatorGetProduct self
+  = fromJSString <$>
+      (ghcjs_dom_navigator_get_product (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"productSub\"]"
+        ghcjs_dom_navigator_get_product_sub ::
+        JSRef Navigator -> IO JSString
+#else 
+ghcjs_dom_navigator_get_product_sub ::
+                                      JSRef Navigator -> IO JSString
+ghcjs_dom_navigator_get_product_sub = undefined
+#endif
+ 
+navigatorGetProductSub ::
+                       (IsNavigator self, FromJSString result) => self -> IO result
+navigatorGetProductSub self
+  = fromJSString <$>
+      (ghcjs_dom_navigator_get_product_sub
+         (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vendor\"]"
+        ghcjs_dom_navigator_get_vendor :: JSRef Navigator -> IO JSString
+#else 
+ghcjs_dom_navigator_get_vendor :: JSRef Navigator -> IO JSString
+ghcjs_dom_navigator_get_vendor = undefined
+#endif
+ 
+navigatorGetVendor ::
+                   (IsNavigator self, FromJSString result) => self -> IO result
+navigatorGetVendor self
+  = fromJSString <$>
+      (ghcjs_dom_navigator_get_vendor (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"vendorSub\"]"
+        ghcjs_dom_navigator_get_vendor_sub ::
+        JSRef Navigator -> IO JSString
+#else 
+ghcjs_dom_navigator_get_vendor_sub ::
+                                     JSRef Navigator -> IO JSString
+ghcjs_dom_navigator_get_vendor_sub = undefined
+#endif
+ 
+navigatorGetVendorSub ::
+                      (IsNavigator self, FromJSString result) => self -> IO result
+navigatorGetVendorSub self
+  = fromJSString <$>
+      (ghcjs_dom_navigator_get_vendor_sub
+         (unNavigator (toNavigator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"cookieEnabled\"] ? 1 : 0)"
+        ghcjs_dom_navigator_get_cookie_enabled ::
+        JSRef Navigator -> IO Bool
+#else 
+ghcjs_dom_navigator_get_cookie_enabled ::
+                                         JSRef Navigator -> IO Bool
+ghcjs_dom_navigator_get_cookie_enabled = undefined
+#endif
+ 
+navigatorGetCookieEnabled :: (IsNavigator self) => self -> IO Bool
+navigatorGetCookieEnabled self
+  = ghcjs_dom_navigator_get_cookie_enabled
+      (unNavigator (toNavigator self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"onLine\"] ? 1 : 0)"
+        ghcjs_dom_navigator_get_on_line :: JSRef Navigator -> IO Bool
+#else 
+ghcjs_dom_navigator_get_on_line :: JSRef Navigator -> IO Bool
+ghcjs_dom_navigator_get_on_line = undefined
+#endif
+ 
+navigatorGetOnLine :: (IsNavigator self) => self -> IO Bool
+navigatorGetOnLine self
+  = ghcjs_dom_navigator_get_on_line (unNavigator (toNavigator self))
+#else
+module GHCJS.DOM.Navigator (
+  module Graphics.UI.Gtk.WebKit.DOM.Navigator
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Navigator
+#endif
diff --git a/src/GHCJS/DOM/Node.hs b/src/GHCJS/DOM/Node.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Node.hs
@@ -0,0 +1,675 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Node
+       (ghcjs_dom_node_insert_before, nodeInsertBefore,
+        ghcjs_dom_node_replace_child, nodeReplaceChild,
+        ghcjs_dom_node_remove_child, nodeRemoveChild,
+        ghcjs_dom_node_append_child, nodeAppendChild,
+        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,
+        ghcjs_dom_node_is_default_namespace, nodeIsDefaultNamespace,
+        ghcjs_dom_node_lookup_namespace_uri, nodeLookupNamespaceURI,
+        ghcjs_dom_node_compare_document_position,
+        nodeCompareDocumentPosition, ghcjs_dom_node_contains, nodeContains,
+        ghcjs_dom_node_dispatch_event, nodeDispatchEvent, cELEMENT_NODE,
+        cATTRIBUTE_NODE, cTEXT_NODE, cCDATA_SECTION_NODE,
+        cENTITY_REFERENCE_NODE, cENTITY_NODE, cPROCESSING_INSTRUCTION_NODE,
+        cCOMMENT_NODE, cDOCUMENT_NODE, cDOCUMENT_TYPE_NODE,
+        cDOCUMENT_FRAGMENT_NODE, cNOTATION_NODE,
+        cDOCUMENT_POSITION_DISCONNECTED, cDOCUMENT_POSITION_PRECEDING,
+        cDOCUMENT_POSITION_FOLLOWING, cDOCUMENT_POSITION_CONTAINS,
+        cDOCUMENT_POSITION_CONTAINED_BY,
+        cDOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC,
+        ghcjs_dom_node_get_node_name, nodeGetNodeName,
+        ghcjs_dom_node_set_node_value, nodeSetNodeValue,
+        ghcjs_dom_node_get_node_value, nodeGetNodeValue,
+        ghcjs_dom_node_get_node_type, nodeGetNodeType,
+        ghcjs_dom_node_get_parent_node, nodeGetParentNode,
+        ghcjs_dom_node_get_child_nodes, nodeGetChildNodes,
+        ghcjs_dom_node_get_first_child, nodeGetFirstChild,
+        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,
+        ghcjs_dom_node_get_prefix, nodeGetPrefix,
+        ghcjs_dom_node_get_local_name, nodeGetLocalName,
+        ghcjs_dom_node_get_base_uri, nodeGetBaseURI,
+        ghcjs_dom_node_set_text_content, nodeSetTextContent,
+        ghcjs_dom_node_get_text_content, nodeGetTextContent,
+        ghcjs_dom_node_get_parent_element, nodeGetParentElement)
+       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[\"insertBefore\"]($2, $3)"
+        ghcjs_dom_node_insert_before ::
+        JSRef Node -> JSRef Node -> JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_insert_before ::
+                               JSRef Node -> JSRef Node -> JSRef Node -> IO (JSRef Node)
+ghcjs_dom_node_insert_before = undefined
+#endif
+ 
+nodeInsertBefore ::
+                 (IsNode self, IsNode newChild, IsNode refChild) =>
+                   self -> Maybe newChild -> Maybe refChild -> IO (Maybe Node)
+nodeInsertBefore self newChild refChild
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_insert_before (unNode (toNode self))
+         (maybe jsNull (unNode . toNode) newChild)
+         (maybe jsNull (unNode . toNode) refChild))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"replaceChild\"]($2, $3)"
+        ghcjs_dom_node_replace_child ::
+        JSRef Node -> JSRef Node -> JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_replace_child ::
+                               JSRef Node -> JSRef Node -> JSRef Node -> IO (JSRef Node)
+ghcjs_dom_node_replace_child = undefined
+#endif
+ 
+nodeReplaceChild ::
+                 (IsNode self, IsNode newChild, IsNode oldChild) =>
+                   self -> Maybe newChild -> Maybe oldChild -> IO (Maybe Node)
+nodeReplaceChild self newChild oldChild
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_replace_child (unNode (toNode self))
+         (maybe jsNull (unNode . toNode) newChild)
+         (maybe jsNull (unNode . toNode) oldChild))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"removeChild\"]($2)"
+        ghcjs_dom_node_remove_child ::
+        JSRef Node -> JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_remove_child ::
+                              JSRef Node -> JSRef Node -> IO (JSRef Node)
+ghcjs_dom_node_remove_child = undefined
+#endif
+ 
+nodeRemoveChild ::
+                (IsNode self, IsNode oldChild) =>
+                  self -> Maybe oldChild -> IO (Maybe Node)
+nodeRemoveChild self oldChild
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_remove_child (unNode (toNode self))
+         (maybe jsNull (unNode . toNode) oldChild))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"appendChild\"]($2)"
+        ghcjs_dom_node_append_child ::
+        JSRef Node -> JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_append_child ::
+                              JSRef Node -> JSRef Node -> IO (JSRef Node)
+ghcjs_dom_node_append_child = undefined
+#endif
+ 
+nodeAppendChild ::
+                (IsNode self, IsNode newChild) =>
+                  self -> Maybe newChild -> IO (Maybe Node)
+nodeAppendChild self newChild
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_append_child (unNode (toNode self))
+         (maybe jsNull (unNode . toNode) newChild))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"hasChildNodes\"]() ? 1 : 0)" ghcjs_dom_node_has_child_nodes
+        :: JSRef Node -> IO Bool
+#else 
+ghcjs_dom_node_has_child_nodes :: JSRef Node -> IO Bool
+ghcjs_dom_node_has_child_nodes = undefined
+#endif
+ 
+nodeHasChildNodes :: (IsNode self) => self -> IO Bool
+nodeHasChildNodes self
+  = ghcjs_dom_node_has_child_nodes (unNode (toNode self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cloneNode\"]($2)"
+        ghcjs_dom_node_clone_node :: JSRef Node -> Bool -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_clone_node :: JSRef Node -> Bool -> IO (JSRef Node)
+ghcjs_dom_node_clone_node = undefined
+#endif
+ 
+nodeCloneNode :: (IsNode self) => self -> Bool -> IO (Maybe Node)
+nodeCloneNode self deep
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_clone_node (unNode (toNode self)) deep)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"normalize\"]()"
+        ghcjs_dom_node_normalize :: JSRef Node -> IO ()
+#else 
+ghcjs_dom_node_normalize :: JSRef Node -> IO ()
+ghcjs_dom_node_normalize = undefined
+#endif
+ 
+nodeNormalize :: (IsNode self) => self -> IO ()
+nodeNormalize self
+  = ghcjs_dom_node_normalize (unNode (toNode self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"isSupported\"]($2,\n$3) ? 1 : 0)"
+        ghcjs_dom_node_is_supported ::
+        JSRef Node -> JSString -> JSString -> IO Bool
+#else 
+ghcjs_dom_node_is_supported ::
+                              JSRef Node -> JSString -> JSString -> IO Bool
+ghcjs_dom_node_is_supported = undefined
+#endif
+ 
+nodeIsSupported ::
+                (IsNode self, ToJSString feature, ToJSString version) =>
+                  self -> feature -> version -> IO Bool
+nodeIsSupported self feature version
+  = ghcjs_dom_node_is_supported (unNode (toNode self))
+      (toJSString feature)
+      (toJSString version)
+
+
+#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 
+ghcjs_dom_node_is_same_node :: JSRef Node -> JSRef Node -> IO Bool
+ghcjs_dom_node_is_same_node = undefined
+#endif
+ 
+nodeIsSameNode ::
+               (IsNode self, IsNode other) => self -> Maybe other -> IO Bool
+nodeIsSameNode self other
+  = ghcjs_dom_node_is_same_node (unNode (toNode self))
+      (maybe jsNull (unNode . toNode) other)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"isEqualNode\"]($2) ? 1 : 0)" ghcjs_dom_node_is_equal_node ::
+        JSRef Node -> JSRef Node -> IO Bool
+#else 
+ghcjs_dom_node_is_equal_node :: JSRef Node -> JSRef Node -> IO Bool
+ghcjs_dom_node_is_equal_node = undefined
+#endif
+ 
+nodeIsEqualNode ::
+                (IsNode self, IsNode other) => self -> Maybe other -> IO Bool
+nodeIsEqualNode self other
+  = ghcjs_dom_node_is_equal_node (unNode (toNode self))
+      (maybe jsNull (unNode . toNode) other)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"lookupPrefix\"]($2)"
+        ghcjs_dom_node_lookup_prefix ::
+        JSRef Node -> JSString -> IO JSString
+#else 
+ghcjs_dom_node_lookup_prefix ::
+                               JSRef Node -> JSString -> IO JSString
+ghcjs_dom_node_lookup_prefix = undefined
+#endif
+ 
+nodeLookupPrefix ::
+                 (IsNode self, ToJSString namespaceURI, FromJSString result) =>
+                   self -> namespaceURI -> IO result
+nodeLookupPrefix self namespaceURI
+  = fromJSString <$>
+      (ghcjs_dom_node_lookup_prefix (unNode (toNode self))
+         (toJSString namespaceURI))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"isDefaultNamespace\"]($2) ? 1 : 0)"
+        ghcjs_dom_node_is_default_namespace ::
+        JSRef Node -> JSString -> IO Bool
+#else 
+ghcjs_dom_node_is_default_namespace ::
+                                      JSRef Node -> JSString -> IO Bool
+ghcjs_dom_node_is_default_namespace = undefined
+#endif
+ 
+nodeIsDefaultNamespace ::
+                       (IsNode self, ToJSString namespaceURI) =>
+                         self -> namespaceURI -> IO Bool
+nodeIsDefaultNamespace self namespaceURI
+  = ghcjs_dom_node_is_default_namespace (unNode (toNode self))
+      (toJSString namespaceURI)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"lookupNamespaceURI\"]($2)"
+        ghcjs_dom_node_lookup_namespace_uri ::
+        JSRef Node -> JSString -> IO JSString
+#else 
+ghcjs_dom_node_lookup_namespace_uri ::
+                                      JSRef Node -> JSString -> IO JSString
+ghcjs_dom_node_lookup_namespace_uri = undefined
+#endif
+ 
+nodeLookupNamespaceURI ::
+                       (IsNode self, ToJSString prefix, FromJSString result) =>
+                         self -> prefix -> IO result
+nodeLookupNamespaceURI self prefix
+  = fromJSString <$>
+      (ghcjs_dom_node_lookup_namespace_uri (unNode (toNode self))
+         (toJSString prefix))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"compareDocumentPosition\"]($2)"
+        ghcjs_dom_node_compare_document_position ::
+        JSRef Node -> JSRef Node -> IO Word
+#else 
+ghcjs_dom_node_compare_document_position ::
+                                           JSRef Node -> JSRef Node -> IO Word
+ghcjs_dom_node_compare_document_position = undefined
+#endif
+ 
+nodeCompareDocumentPosition ::
+                            (IsNode self, IsNode other) => self -> Maybe other -> IO Word
+nodeCompareDocumentPosition self other
+  = ghcjs_dom_node_compare_document_position (unNode (toNode self))
+      (maybe jsNull (unNode . toNode) other)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"contains\"]($2) ? 1 : 0)"
+        ghcjs_dom_node_contains :: JSRef Node -> JSRef Node -> IO Bool
+#else 
+ghcjs_dom_node_contains :: JSRef Node -> JSRef Node -> IO Bool
+ghcjs_dom_node_contains = undefined
+#endif
+ 
+nodeContains ::
+             (IsNode self, IsNode other) => self -> Maybe other -> IO Bool
+nodeContains self other
+  = ghcjs_dom_node_contains (unNode (toNode self))
+      (maybe jsNull (unNode . toNode) other)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"dispatchEvent\"]($2) ? 1 : 0)" ghcjs_dom_node_dispatch_event
+        :: JSRef Node -> JSRef Event -> IO Bool
+#else 
+ghcjs_dom_node_dispatch_event ::
+                                JSRef Node -> JSRef Event -> IO Bool
+ghcjs_dom_node_dispatch_event = undefined
+#endif
+ 
+nodeDispatchEvent ::
+                  (IsNode self, IsEvent event) => self -> Maybe event -> IO Bool
+nodeDispatchEvent self event
+  = ghcjs_dom_node_dispatch_event (unNode (toNode self))
+      (maybe jsNull (unEvent . toEvent) event)
+cELEMENT_NODE = 1
+cATTRIBUTE_NODE = 2
+cTEXT_NODE = 3
+cCDATA_SECTION_NODE = 4
+cENTITY_REFERENCE_NODE = 5
+cENTITY_NODE = 6
+cPROCESSING_INSTRUCTION_NODE = 7
+cCOMMENT_NODE = 8
+cDOCUMENT_NODE = 9
+cDOCUMENT_TYPE_NODE = 10
+cDOCUMENT_FRAGMENT_NODE = 11
+cNOTATION_NODE = 12
+cDOCUMENT_POSITION_DISCONNECTED = 1
+cDOCUMENT_POSITION_PRECEDING = 2
+cDOCUMENT_POSITION_FOLLOWING = 4
+cDOCUMENT_POSITION_CONTAINS = 8
+cDOCUMENT_POSITION_CONTAINED_BY = 16
+cDOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"nodeName\"]"
+        ghcjs_dom_node_get_node_name :: JSRef Node -> IO JSString
+#else 
+ghcjs_dom_node_get_node_name :: JSRef Node -> IO JSString
+ghcjs_dom_node_get_node_name = undefined
+#endif
+ 
+nodeGetNodeName ::
+                (IsNode self, FromJSString result) => self -> IO result
+nodeGetNodeName self
+  = fromJSString <$>
+      (ghcjs_dom_node_get_node_name (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"nodeValue\"] = $2;"
+        ghcjs_dom_node_set_node_value :: JSRef Node -> JSString -> IO ()
+#else 
+ghcjs_dom_node_set_node_value :: JSRef Node -> JSString -> IO ()
+ghcjs_dom_node_set_node_value = undefined
+#endif
+ 
+nodeSetNodeValue ::
+                 (IsNode self, ToJSString val) => self -> val -> IO ()
+nodeSetNodeValue self val
+  = ghcjs_dom_node_set_node_value (unNode (toNode self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"nodeValue\"]"
+        ghcjs_dom_node_get_node_value :: JSRef Node -> IO JSString
+#else 
+ghcjs_dom_node_get_node_value :: JSRef Node -> IO JSString
+ghcjs_dom_node_get_node_value = undefined
+#endif
+ 
+nodeGetNodeValue ::
+                 (IsNode self, FromJSString result) => self -> IO result
+nodeGetNodeValue self
+  = fromJSString <$>
+      (ghcjs_dom_node_get_node_value (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"nodeType\"]"
+        ghcjs_dom_node_get_node_type :: JSRef Node -> IO Word
+#else 
+ghcjs_dom_node_get_node_type :: JSRef Node -> IO Word
+ghcjs_dom_node_get_node_type = undefined
+#endif
+ 
+nodeGetNodeType :: (IsNode self) => self -> IO Word
+nodeGetNodeType self
+  = ghcjs_dom_node_get_node_type (unNode (toNode self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"parentNode\"]"
+        ghcjs_dom_node_get_parent_node :: JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_get_parent_node :: JSRef Node -> IO (JSRef Node)
+ghcjs_dom_node_get_parent_node = undefined
+#endif
+ 
+nodeGetParentNode :: (IsNode self) => self -> IO (Maybe Node)
+nodeGetParentNode self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_get_parent_node (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"childNodes\"]"
+        ghcjs_dom_node_get_child_nodes :: JSRef Node -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_node_get_child_nodes :: JSRef Node -> IO (JSRef NodeList)
+ghcjs_dom_node_get_child_nodes = undefined
+#endif
+ 
+nodeGetChildNodes :: (IsNode self) => self -> IO (Maybe NodeList)
+nodeGetChildNodes self
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_node_get_child_nodes (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"firstChild\"]"
+        ghcjs_dom_node_get_first_child :: JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_get_first_child :: JSRef Node -> IO (JSRef Node)
+ghcjs_dom_node_get_first_child = undefined
+#endif
+ 
+nodeGetFirstChild :: (IsNode self) => self -> IO (Maybe Node)
+nodeGetFirstChild self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_get_first_child (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"lastChild\"]"
+        ghcjs_dom_node_get_last_child :: JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_get_last_child :: JSRef Node -> IO (JSRef Node)
+ghcjs_dom_node_get_last_child = undefined
+#endif
+ 
+nodeGetLastChild :: (IsNode self) => self -> IO (Maybe Node)
+nodeGetLastChild self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_get_last_child (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"previousSibling\"]"
+        ghcjs_dom_node_get_previous_sibling ::
+        JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_get_previous_sibling ::
+                                      JSRef Node -> IO (JSRef Node)
+ghcjs_dom_node_get_previous_sibling = undefined
+#endif
+ 
+nodeGetPreviousSibling :: (IsNode self) => self -> IO (Maybe Node)
+nodeGetPreviousSibling self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_get_previous_sibling (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"nextSibling\"]"
+        ghcjs_dom_node_get_next_sibling :: JSRef Node -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_get_next_sibling :: JSRef Node -> IO (JSRef Node)
+ghcjs_dom_node_get_next_sibling = undefined
+#endif
+ 
+nodeGetNextSibling :: (IsNode self) => self -> IO (Maybe Node)
+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__ 
+foreign import javascript unsafe "$1[\"ownerDocument\"]"
+        ghcjs_dom_node_get_owner_document ::
+        JSRef Node -> IO (JSRef Document)
+#else 
+ghcjs_dom_node_get_owner_document ::
+                                    JSRef Node -> IO (JSRef Document)
+ghcjs_dom_node_get_owner_document = undefined
+#endif
+ 
+nodeGetOwnerDocument ::
+                     (IsNode self) => self -> IO (Maybe Document)
+nodeGetOwnerDocument self
+  = fmap Document . maybeJSNull <$>
+      (ghcjs_dom_node_get_owner_document (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"namespaceURI\"]"
+        ghcjs_dom_node_get_namespace_uri :: JSRef Node -> IO JSString
+#else 
+ghcjs_dom_node_get_namespace_uri :: JSRef Node -> IO JSString
+ghcjs_dom_node_get_namespace_uri = undefined
+#endif
+ 
+nodeGetNamespaceURI ::
+                    (IsNode self, FromJSString result) => self -> IO result
+nodeGetNamespaceURI self
+  = fromJSString <$>
+      (ghcjs_dom_node_get_namespace_uri (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"prefix\"] = $2;"
+        ghcjs_dom_node_set_prefix :: JSRef Node -> JSString -> IO ()
+#else 
+ghcjs_dom_node_set_prefix :: JSRef Node -> JSString -> IO ()
+ghcjs_dom_node_set_prefix = undefined
+#endif
+ 
+nodeSetPrefix ::
+              (IsNode self, ToJSString val) => self -> val -> IO ()
+nodeSetPrefix self val
+  = ghcjs_dom_node_set_prefix (unNode (toNode self)) (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"prefix\"]"
+        ghcjs_dom_node_get_prefix :: JSRef Node -> IO JSString
+#else 
+ghcjs_dom_node_get_prefix :: JSRef Node -> IO JSString
+ghcjs_dom_node_get_prefix = undefined
+#endif
+ 
+nodeGetPrefix ::
+              (IsNode self, FromJSString result) => self -> IO result
+nodeGetPrefix self
+  = fromJSString <$>
+      (ghcjs_dom_node_get_prefix (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"localName\"]"
+        ghcjs_dom_node_get_local_name :: JSRef Node -> IO JSString
+#else 
+ghcjs_dom_node_get_local_name :: JSRef Node -> IO JSString
+ghcjs_dom_node_get_local_name = undefined
+#endif
+ 
+nodeGetLocalName ::
+                 (IsNode self, FromJSString result) => self -> IO result
+nodeGetLocalName self
+  = fromJSString <$>
+      (ghcjs_dom_node_get_local_name (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"baseURI\"]"
+        ghcjs_dom_node_get_base_uri :: JSRef Node -> IO JSString
+#else 
+ghcjs_dom_node_get_base_uri :: JSRef Node -> IO JSString
+ghcjs_dom_node_get_base_uri = undefined
+#endif
+ 
+nodeGetBaseURI ::
+               (IsNode self, FromJSString result) => self -> IO result
+nodeGetBaseURI self
+  = fromJSString <$>
+      (ghcjs_dom_node_get_base_uri (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"textContent\"] = $2;"
+        ghcjs_dom_node_set_text_content :: JSRef Node -> JSString -> IO ()
+#else 
+ghcjs_dom_node_set_text_content :: JSRef Node -> JSString -> IO ()
+ghcjs_dom_node_set_text_content = undefined
+#endif
+ 
+nodeSetTextContent ::
+                   (IsNode self, ToJSString val) => self -> val -> IO ()
+nodeSetTextContent self val
+  = ghcjs_dom_node_set_text_content (unNode (toNode self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"textContent\"]"
+        ghcjs_dom_node_get_text_content :: JSRef Node -> IO JSString
+#else 
+ghcjs_dom_node_get_text_content :: JSRef Node -> IO JSString
+ghcjs_dom_node_get_text_content = undefined
+#endif
+ 
+nodeGetTextContent ::
+                   (IsNode self, FromJSString result) => self -> IO result
+nodeGetTextContent self
+  = fromJSString <$>
+      (ghcjs_dom_node_get_text_content (unNode (toNode self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"parentElement\"]"
+        ghcjs_dom_node_get_parent_element ::
+        JSRef Node -> IO (JSRef Element)
+#else 
+ghcjs_dom_node_get_parent_element ::
+                                    JSRef Node -> IO (JSRef Element)
+ghcjs_dom_node_get_parent_element = undefined
+#endif
+ 
+nodeGetParentElement :: (IsNode self) => self -> IO (Maybe Element)
+nodeGetParentElement self
+  = fmap Element . maybeJSNull <$>
+      (ghcjs_dom_node_get_parent_element (unNode (toNode self)))
+#else
+module GHCJS.DOM.Node (
+  module Graphics.UI.Gtk.WebKit.DOM.Node
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Node
+#endif
diff --git a/src/GHCJS/DOM/NodeFilter.hs b/src/GHCJS/DOM/NodeFilter.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/NodeFilter.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.NodeFilter
+       (cFILTER_ACCEPT, cFILTER_REJECT, cFILTER_SKIP, cSHOW_ALL,
+        cSHOW_ELEMENT, cSHOW_ATTRIBUTE, cSHOW_TEXT, cSHOW_CDATA_SECTION,
+        cSHOW_ENTITY_REFERENCE, cSHOW_ENTITY, cSHOW_PROCESSING_INSTRUCTION,
+        cSHOW_COMMENT, cSHOW_DOCUMENT, cSHOW_DOCUMENT_TYPE,
+        cSHOW_DOCUMENT_FRAGMENT, cSHOW_NOTATION)
+       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
+
+cFILTER_ACCEPT = 1
+cFILTER_REJECT = 2
+cFILTER_SKIP = 3
+cSHOW_ALL = 4294967295
+cSHOW_ELEMENT = 1
+cSHOW_ATTRIBUTE = 2
+cSHOW_TEXT = 4
+cSHOW_CDATA_SECTION = 8
+cSHOW_ENTITY_REFERENCE = 16
+cSHOW_ENTITY = 32
+cSHOW_PROCESSING_INSTRUCTION = 64
+cSHOW_COMMENT = 128
+cSHOW_DOCUMENT = 256
+cSHOW_DOCUMENT_TYPE = 512
+cSHOW_DOCUMENT_FRAGMENT = 1024
+cSHOW_NOTATION = 2048
+#else
+module GHCJS.DOM.NodeFilter (
+  module Graphics.UI.Gtk.WebKit.DOM.NodeFilter
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.NodeFilter
+#endif
diff --git a/src/GHCJS/DOM/NodeIterator.hs b/src/GHCJS/DOM/NodeIterator.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/NodeIterator.hs
@@ -0,0 +1,157 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.NodeIterator
+       (ghcjs_dom_node_iterator_detach, nodeIteratorDetach,
+        ghcjs_dom_node_iterator_get_root, nodeIteratorGetRoot,
+        ghcjs_dom_node_iterator_get_what_to_show,
+        nodeIteratorGetWhatToShow, ghcjs_dom_node_iterator_get_filter,
+        nodeIteratorGetFilter,
+        ghcjs_dom_node_iterator_get_expand_entity_references,
+        nodeIteratorGetExpandEntityReferences,
+        ghcjs_dom_node_iterator_get_reference_node,
+        nodeIteratorGetReferenceNode,
+        ghcjs_dom_node_iterator_get_pointer_before_reference_node,
+        nodeIteratorGetPointerBeforeReferenceNode)
+       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[\"detach\"]()"
+        ghcjs_dom_node_iterator_detach :: JSRef NodeIterator -> IO ()
+#else 
+ghcjs_dom_node_iterator_detach :: JSRef NodeIterator -> IO ()
+ghcjs_dom_node_iterator_detach = undefined
+#endif
+ 
+nodeIteratorDetach :: (IsNodeIterator self) => self -> IO ()
+nodeIteratorDetach self
+  = ghcjs_dom_node_iterator_detach
+      (unNodeIterator (toNodeIterator self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"root\"]"
+        ghcjs_dom_node_iterator_get_root ::
+        JSRef NodeIterator -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_iterator_get_root ::
+                                   JSRef NodeIterator -> IO (JSRef Node)
+ghcjs_dom_node_iterator_get_root = undefined
+#endif
+ 
+nodeIteratorGetRoot ::
+                    (IsNodeIterator self) => self -> IO (Maybe Node)
+nodeIteratorGetRoot self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_iterator_get_root
+         (unNodeIterator (toNodeIterator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"whatToShow\"]"
+        ghcjs_dom_node_iterator_get_what_to_show ::
+        JSRef NodeIterator -> IO Word
+#else 
+ghcjs_dom_node_iterator_get_what_to_show ::
+                                           JSRef NodeIterator -> IO Word
+ghcjs_dom_node_iterator_get_what_to_show = undefined
+#endif
+ 
+nodeIteratorGetWhatToShow ::
+                          (IsNodeIterator self) => self -> IO Word
+nodeIteratorGetWhatToShow self
+  = ghcjs_dom_node_iterator_get_what_to_show
+      (unNodeIterator (toNodeIterator self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"filter\"]"
+        ghcjs_dom_node_iterator_get_filter ::
+        JSRef NodeIterator -> IO (JSRef NodeFilter)
+#else 
+ghcjs_dom_node_iterator_get_filter ::
+                                     JSRef NodeIterator -> IO (JSRef NodeFilter)
+ghcjs_dom_node_iterator_get_filter = undefined
+#endif
+ 
+nodeIteratorGetFilter ::
+                      (IsNodeIterator self) => self -> IO (Maybe NodeFilter)
+nodeIteratorGetFilter self
+  = fmap NodeFilter . maybeJSNull <$>
+      (ghcjs_dom_node_iterator_get_filter
+         (unNodeIterator (toNodeIterator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"expandEntityReferences\"] ? 1 : 0)"
+        ghcjs_dom_node_iterator_get_expand_entity_references ::
+        JSRef NodeIterator -> IO Bool
+#else 
+ghcjs_dom_node_iterator_get_expand_entity_references ::
+                                                       JSRef NodeIterator -> IO Bool
+ghcjs_dom_node_iterator_get_expand_entity_references = undefined
+#endif
+ 
+nodeIteratorGetExpandEntityReferences ::
+                                      (IsNodeIterator self) => self -> IO Bool
+nodeIteratorGetExpandEntityReferences self
+  = ghcjs_dom_node_iterator_get_expand_entity_references
+      (unNodeIterator (toNodeIterator self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"referenceNode\"]"
+        ghcjs_dom_node_iterator_get_reference_node ::
+        JSRef NodeIterator -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_iterator_get_reference_node ::
+                                             JSRef NodeIterator -> IO (JSRef Node)
+ghcjs_dom_node_iterator_get_reference_node = undefined
+#endif
+ 
+nodeIteratorGetReferenceNode ::
+                             (IsNodeIterator self) => self -> IO (Maybe Node)
+nodeIteratorGetReferenceNode self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_iterator_get_reference_node
+         (unNodeIterator (toNodeIterator self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"pointerBeforeReferenceNode\"] ? 1 : 0)"
+        ghcjs_dom_node_iterator_get_pointer_before_reference_node ::
+        JSRef NodeIterator -> IO Bool
+#else 
+ghcjs_dom_node_iterator_get_pointer_before_reference_node ::
+                                                            JSRef NodeIterator -> IO Bool
+ghcjs_dom_node_iterator_get_pointer_before_reference_node
+  = undefined
+#endif
+ 
+nodeIteratorGetPointerBeforeReferenceNode ::
+                                          (IsNodeIterator self) => self -> IO Bool
+nodeIteratorGetPointerBeforeReferenceNode self
+  = ghcjs_dom_node_iterator_get_pointer_before_reference_node
+      (unNodeIterator (toNodeIterator self))
+#else
+module GHCJS.DOM.NodeIterator (
+  module Graphics.UI.Gtk.WebKit.DOM.NodeIterator
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.NodeIterator
+#endif
diff --git a/src/GHCJS/DOM/NodeList.hs b/src/GHCJS/DOM/NodeList.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/NodeList.hs
@@ -0,0 +1,56 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.NodeList
+       (ghcjs_dom_node_list_item, nodeListItem,
+        ghcjs_dom_node_list_get_length, nodeListGetLength)
+       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_node_list_item ::
+        JSRef NodeList -> Word -> IO (JSRef Node)
+#else 
+ghcjs_dom_node_list_item ::
+                           JSRef NodeList -> Word -> IO (JSRef Node)
+ghcjs_dom_node_list_item = undefined
+#endif
+ 
+nodeListItem ::
+             (IsNodeList self) => self -> Word -> IO (Maybe Node)
+nodeListItem self index
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_node_list_item (unNodeList (toNodeList self)) index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_node_list_get_length :: JSRef NodeList -> IO Word
+#else 
+ghcjs_dom_node_list_get_length :: JSRef NodeList -> IO Word
+ghcjs_dom_node_list_get_length = undefined
+#endif
+ 
+nodeListGetLength :: (IsNodeList self) => self -> IO Word
+nodeListGetLength self
+  = ghcjs_dom_node_list_get_length (unNodeList (toNodeList self))
+#else
+module GHCJS.DOM.NodeList (
+  module Graphics.UI.Gtk.WebKit.DOM.NodeList
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.NodeList
+#endif
diff --git a/src/GHCJS/DOM/ProcessingInstruction.hs b/src/GHCJS/DOM/ProcessingInstruction.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/ProcessingInstruction.hs
@@ -0,0 +1,107 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.ProcessingInstruction
+       (ghcjs_dom_processing_instruction_get_target,
+        processingInstructionGetTarget,
+        ghcjs_dom_processing_instruction_set_data,
+        processingInstructionSetData,
+        ghcjs_dom_processing_instruction_get_data,
+        processingInstructionGetData,
+        ghcjs_dom_processing_instruction_get_sheet,
+        processingInstructionGetSheet)
+       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[\"target\"]"
+        ghcjs_dom_processing_instruction_get_target ::
+        JSRef ProcessingInstruction -> IO JSString
+#else 
+ghcjs_dom_processing_instruction_get_target ::
+                                              JSRef ProcessingInstruction -> IO JSString
+ghcjs_dom_processing_instruction_get_target = undefined
+#endif
+ 
+processingInstructionGetTarget ::
+                               (IsProcessingInstruction self, FromJSString result) =>
+                                 self -> IO result
+processingInstructionGetTarget self
+  = fromJSString <$>
+      (ghcjs_dom_processing_instruction_get_target
+         (unProcessingInstruction (toProcessingInstruction self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"data\"] = $2;"
+        ghcjs_dom_processing_instruction_set_data ::
+        JSRef ProcessingInstruction -> JSString -> IO ()
+#else 
+ghcjs_dom_processing_instruction_set_data ::
+                                            JSRef ProcessingInstruction -> JSString -> IO ()
+ghcjs_dom_processing_instruction_set_data = undefined
+#endif
+ 
+processingInstructionSetData ::
+                             (IsProcessingInstruction self, ToJSString val) =>
+                               self -> val -> IO ()
+processingInstructionSetData self val
+  = ghcjs_dom_processing_instruction_set_data
+      (unProcessingInstruction (toProcessingInstruction self))
+      (toJSString val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"data\"]"
+        ghcjs_dom_processing_instruction_get_data ::
+        JSRef ProcessingInstruction -> IO JSString
+#else 
+ghcjs_dom_processing_instruction_get_data ::
+                                            JSRef ProcessingInstruction -> IO JSString
+ghcjs_dom_processing_instruction_get_data = undefined
+#endif
+ 
+processingInstructionGetData ::
+                             (IsProcessingInstruction self, FromJSString result) =>
+                               self -> IO result
+processingInstructionGetData self
+  = fromJSString <$>
+      (ghcjs_dom_processing_instruction_get_data
+         (unProcessingInstruction (toProcessingInstruction self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"sheet\"]"
+        ghcjs_dom_processing_instruction_get_sheet ::
+        JSRef ProcessingInstruction -> IO (JSRef StyleSheet)
+#else 
+ghcjs_dom_processing_instruction_get_sheet ::
+                                             JSRef ProcessingInstruction -> IO (JSRef StyleSheet)
+ghcjs_dom_processing_instruction_get_sheet = undefined
+#endif
+ 
+processingInstructionGetSheet ::
+                              (IsProcessingInstruction self) => self -> IO (Maybe StyleSheet)
+processingInstructionGetSheet self
+  = fmap StyleSheet . maybeJSNull <$>
+      (ghcjs_dom_processing_instruction_get_sheet
+         (unProcessingInstruction (toProcessingInstruction self)))
+#else
+module GHCJS.DOM.ProcessingInstruction (
+  module Graphics.UI.Gtk.WebKit.DOM.ProcessingInstruction
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.ProcessingInstruction
+#endif
diff --git a/src/GHCJS/DOM/Range.hs b/src/GHCJS/DOM/Range.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Range.hs
@@ -0,0 +1,585 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Range
+       (ghcjs_dom_range_set_start, rangeSetStart, ghcjs_dom_range_set_end,
+        rangeSetEnd, ghcjs_dom_range_set_start_before, rangeSetStartBefore,
+        ghcjs_dom_range_set_start_after, rangeSetStartAfter,
+        ghcjs_dom_range_set_end_before, rangeSetEndBefore,
+        ghcjs_dom_range_set_end_after, rangeSetEndAfter,
+        ghcjs_dom_range_collapse, rangeCollapse,
+        ghcjs_dom_range_select_node, rangeSelectNode,
+        ghcjs_dom_range_select_node_contents, rangeSelectNodeContents,
+        ghcjs_dom_range_compare_boundary_points,
+        rangeCompareBoundaryPoints, ghcjs_dom_range_delete_contents,
+        rangeDeleteContents, ghcjs_dom_range_extract_contents,
+        rangeExtractContents, ghcjs_dom_range_clone_contents,
+        rangeCloneContents, ghcjs_dom_range_insert_node, rangeInsertNode,
+        ghcjs_dom_range_surround_contents, rangeSurroundContents,
+        ghcjs_dom_range_clone_range, rangeCloneRange,
+        ghcjs_dom_range_to_string, rangeToString, ghcjs_dom_range_detach,
+        rangeDetach, ghcjs_dom_range_create_contextual_fragment,
+        rangeCreateContextualFragment, ghcjs_dom_range_intersects_node,
+        rangeIntersectsNode, ghcjs_dom_range_compare_node,
+        rangeCompareNode, ghcjs_dom_range_compare_point, rangeComparePoint,
+        ghcjs_dom_range_is_point_in_range, rangeIsPointInRange,
+        ghcjs_dom_range_expand, rangeExpand, cSTART_TO_START,
+        cSTART_TO_END, cEND_TO_END, cEND_TO_START, cNODE_BEFORE,
+        cNODE_AFTER, cNODE_BEFORE_AND_AFTER, cNODE_INSIDE,
+        ghcjs_dom_range_get_start_container, rangeGetStartContainer,
+        ghcjs_dom_range_get_start_offset, rangeGetStartOffset,
+        ghcjs_dom_range_get_end_container, rangeGetEndContainer,
+        ghcjs_dom_range_get_end_offset, rangeGetEndOffset,
+        ghcjs_dom_range_get_collapsed, rangeGetCollapsed,
+        ghcjs_dom_range_get_common_ancestor_container,
+        rangeGetCommonAncestorContainer, ghcjs_dom_range_get_text,
+        rangeGetText)
+       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[\"setStart\"]($2, $3)"
+        ghcjs_dom_range_set_start ::
+        JSRef DOMRange -> JSRef Node -> Int -> IO ()
+#else 
+ghcjs_dom_range_set_start ::
+                            JSRef DOMRange -> JSRef Node -> Int -> IO ()
+ghcjs_dom_range_set_start = undefined
+#endif
+ 
+rangeSetStart ::
+              (IsDOMRange self, IsNode refNode) =>
+                self -> Maybe refNode -> Int -> IO ()
+rangeSetStart self refNode offset
+  = ghcjs_dom_range_set_start (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+      offset
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setEnd\"]($2, $3)"
+        ghcjs_dom_range_set_end ::
+        JSRef DOMRange -> JSRef Node -> Int -> IO ()
+#else 
+ghcjs_dom_range_set_end ::
+                          JSRef DOMRange -> JSRef Node -> Int -> IO ()
+ghcjs_dom_range_set_end = undefined
+#endif
+ 
+rangeSetEnd ::
+            (IsDOMRange self, IsNode refNode) =>
+              self -> Maybe refNode -> Int -> IO ()
+rangeSetEnd self refNode offset
+  = ghcjs_dom_range_set_end (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+      offset
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setStartBefore\"]($2)"
+        ghcjs_dom_range_set_start_before ::
+        JSRef DOMRange -> JSRef Node -> IO ()
+#else 
+ghcjs_dom_range_set_start_before ::
+                                   JSRef DOMRange -> JSRef Node -> IO ()
+ghcjs_dom_range_set_start_before = undefined
+#endif
+ 
+rangeSetStartBefore ::
+                    (IsDOMRange self, IsNode refNode) => self -> Maybe refNode -> IO ()
+rangeSetStartBefore self refNode
+  = ghcjs_dom_range_set_start_before (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setStartAfter\"]($2)"
+        ghcjs_dom_range_set_start_after ::
+        JSRef DOMRange -> JSRef Node -> IO ()
+#else 
+ghcjs_dom_range_set_start_after ::
+                                  JSRef DOMRange -> JSRef Node -> IO ()
+ghcjs_dom_range_set_start_after = undefined
+#endif
+ 
+rangeSetStartAfter ::
+                   (IsDOMRange self, IsNode refNode) => self -> Maybe refNode -> IO ()
+rangeSetStartAfter self refNode
+  = ghcjs_dom_range_set_start_after (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setEndBefore\"]($2)"
+        ghcjs_dom_range_set_end_before ::
+        JSRef DOMRange -> JSRef Node -> IO ()
+#else 
+ghcjs_dom_range_set_end_before ::
+                                 JSRef DOMRange -> JSRef Node -> IO ()
+ghcjs_dom_range_set_end_before = undefined
+#endif
+ 
+rangeSetEndBefore ::
+                  (IsDOMRange self, IsNode refNode) => self -> Maybe refNode -> IO ()
+rangeSetEndBefore self refNode
+  = ghcjs_dom_range_set_end_before (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setEndAfter\"]($2)"
+        ghcjs_dom_range_set_end_after ::
+        JSRef DOMRange -> JSRef Node -> IO ()
+#else 
+ghcjs_dom_range_set_end_after ::
+                                JSRef DOMRange -> JSRef Node -> IO ()
+ghcjs_dom_range_set_end_after = undefined
+#endif
+ 
+rangeSetEndAfter ::
+                 (IsDOMRange self, IsNode refNode) => self -> Maybe refNode -> IO ()
+rangeSetEndAfter self refNode
+  = ghcjs_dom_range_set_end_after (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"collapse\"]($2)"
+        ghcjs_dom_range_collapse :: JSRef DOMRange -> Bool -> IO ()
+#else 
+ghcjs_dom_range_collapse :: JSRef DOMRange -> Bool -> IO ()
+ghcjs_dom_range_collapse = undefined
+#endif
+ 
+rangeCollapse :: (IsDOMRange self) => self -> Bool -> IO ()
+rangeCollapse self toStart
+  = ghcjs_dom_range_collapse (unDOMRange (toDOMRange self)) toStart
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectNode\"]($2)"
+        ghcjs_dom_range_select_node ::
+        JSRef DOMRange -> JSRef Node -> IO ()
+#else 
+ghcjs_dom_range_select_node ::
+                              JSRef DOMRange -> JSRef Node -> IO ()
+ghcjs_dom_range_select_node = undefined
+#endif
+ 
+rangeSelectNode ::
+                (IsDOMRange self, IsNode refNode) => self -> Maybe refNode -> IO ()
+rangeSelectNode self refNode
+  = ghcjs_dom_range_select_node (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"selectNodeContents\"]($2)"
+        ghcjs_dom_range_select_node_contents ::
+        JSRef DOMRange -> JSRef Node -> IO ()
+#else 
+ghcjs_dom_range_select_node_contents ::
+                                       JSRef DOMRange -> JSRef Node -> IO ()
+ghcjs_dom_range_select_node_contents = undefined
+#endif
+ 
+rangeSelectNodeContents ::
+                        (IsDOMRange self, IsNode refNode) => self -> Maybe refNode -> IO ()
+rangeSelectNodeContents self refNode
+  = ghcjs_dom_range_select_node_contents
+      (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"compareBoundaryPoints\"]($2,\n$3)"
+        ghcjs_dom_range_compare_boundary_points ::
+        JSRef DOMRange -> Word -> JSRef DOMRange -> IO Int
+#else 
+ghcjs_dom_range_compare_boundary_points ::
+                                          JSRef DOMRange -> Word -> JSRef DOMRange -> IO Int
+ghcjs_dom_range_compare_boundary_points = undefined
+#endif
+ 
+rangeCompareBoundaryPoints ::
+                           (IsDOMRange self, IsDOMRange sourceRange) =>
+                             self -> Word -> Maybe sourceRange -> IO Int
+rangeCompareBoundaryPoints self how sourceRange
+  = ghcjs_dom_range_compare_boundary_points
+      (unDOMRange (toDOMRange self))
+      (fromIntegral how)
+      (maybe jsNull (unDOMRange . toDOMRange) sourceRange)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"deleteContents\"]()"
+        ghcjs_dom_range_delete_contents :: JSRef DOMRange -> IO ()
+#else 
+ghcjs_dom_range_delete_contents :: JSRef DOMRange -> IO ()
+ghcjs_dom_range_delete_contents = undefined
+#endif
+ 
+rangeDeleteContents :: (IsDOMRange self) => self -> IO ()
+rangeDeleteContents self
+  = ghcjs_dom_range_delete_contents (unDOMRange (toDOMRange self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"extractContents\"]()"
+        ghcjs_dom_range_extract_contents ::
+        JSRef DOMRange -> IO (JSRef DocumentFragment)
+#else 
+ghcjs_dom_range_extract_contents ::
+                                   JSRef DOMRange -> IO (JSRef DocumentFragment)
+ghcjs_dom_range_extract_contents = undefined
+#endif
+ 
+rangeExtractContents ::
+                     (IsDOMRange self) => self -> IO (Maybe DocumentFragment)
+rangeExtractContents self
+  = fmap DocumentFragment . maybeJSNull <$>
+      (ghcjs_dom_range_extract_contents (unDOMRange (toDOMRange self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cloneContents\"]()"
+        ghcjs_dom_range_clone_contents ::
+        JSRef DOMRange -> IO (JSRef DocumentFragment)
+#else 
+ghcjs_dom_range_clone_contents ::
+                                 JSRef DOMRange -> IO (JSRef DocumentFragment)
+ghcjs_dom_range_clone_contents = undefined
+#endif
+ 
+rangeCloneContents ::
+                   (IsDOMRange self) => self -> IO (Maybe DocumentFragment)
+rangeCloneContents self
+  = fmap DocumentFragment . maybeJSNull <$>
+      (ghcjs_dom_range_clone_contents (unDOMRange (toDOMRange self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"insertNode\"]($2)"
+        ghcjs_dom_range_insert_node ::
+        JSRef DOMRange -> JSRef Node -> IO ()
+#else 
+ghcjs_dom_range_insert_node ::
+                              JSRef DOMRange -> JSRef Node -> IO ()
+ghcjs_dom_range_insert_node = undefined
+#endif
+ 
+rangeInsertNode ::
+                (IsDOMRange self, IsNode newNode) => self -> Maybe newNode -> IO ()
+rangeInsertNode self newNode
+  = ghcjs_dom_range_insert_node (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) newNode)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"surroundContents\"]($2)"
+        ghcjs_dom_range_surround_contents ::
+        JSRef DOMRange -> JSRef Node -> IO ()
+#else 
+ghcjs_dom_range_surround_contents ::
+                                    JSRef DOMRange -> JSRef Node -> IO ()
+ghcjs_dom_range_surround_contents = undefined
+#endif
+ 
+rangeSurroundContents ::
+                      (IsDOMRange self, IsNode newParent) =>
+                        self -> Maybe newParent -> IO ()
+rangeSurroundContents self newParent
+  = ghcjs_dom_range_surround_contents (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) newParent)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"cloneRange\"]()"
+        ghcjs_dom_range_clone_range ::
+        JSRef DOMRange -> IO (JSRef DOMRange)
+#else 
+ghcjs_dom_range_clone_range ::
+                              JSRef DOMRange -> IO (JSRef DOMRange)
+ghcjs_dom_range_clone_range = undefined
+#endif
+ 
+rangeCloneRange :: (IsDOMRange self) => self -> IO (Maybe DOMRange)
+rangeCloneRange self
+  = fmap DOMRange . maybeJSNull <$>
+      (ghcjs_dom_range_clone_range (unDOMRange (toDOMRange self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"toString\"]()"
+        ghcjs_dom_range_to_string :: JSRef DOMRange -> IO JSString
+#else 
+ghcjs_dom_range_to_string :: JSRef DOMRange -> IO JSString
+ghcjs_dom_range_to_string = undefined
+#endif
+ 
+rangeToString ::
+              (IsDOMRange self, FromJSString result) => self -> IO result
+rangeToString self
+  = fromJSString <$>
+      (ghcjs_dom_range_to_string (unDOMRange (toDOMRange self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"detach\"]()"
+        ghcjs_dom_range_detach :: JSRef DOMRange -> IO ()
+#else 
+ghcjs_dom_range_detach :: JSRef DOMRange -> IO ()
+ghcjs_dom_range_detach = undefined
+#endif
+ 
+rangeDetach :: (IsDOMRange self) => self -> IO ()
+rangeDetach self
+  = ghcjs_dom_range_detach (unDOMRange (toDOMRange self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"createContextualFragment\"]($2)"
+        ghcjs_dom_range_create_contextual_fragment ::
+        JSRef DOMRange -> JSString -> IO (JSRef DocumentFragment)
+#else 
+ghcjs_dom_range_create_contextual_fragment ::
+                                             JSRef DOMRange ->
+                                               JSString -> IO (JSRef DocumentFragment)
+ghcjs_dom_range_create_contextual_fragment = undefined
+#endif
+ 
+rangeCreateContextualFragment ::
+                              (IsDOMRange self, ToJSString html) =>
+                                self -> html -> IO (Maybe DocumentFragment)
+rangeCreateContextualFragment self html
+  = fmap DocumentFragment . maybeJSNull <$>
+      (ghcjs_dom_range_create_contextual_fragment
+         (unDOMRange (toDOMRange self))
+         (toJSString html))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"intersectsNode\"]($2) ? 1 : 0)"
+        ghcjs_dom_range_intersects_node ::
+        JSRef DOMRange -> JSRef Node -> IO Bool
+#else 
+ghcjs_dom_range_intersects_node ::
+                                  JSRef DOMRange -> JSRef Node -> IO Bool
+ghcjs_dom_range_intersects_node = undefined
+#endif
+ 
+rangeIntersectsNode ::
+                    (IsDOMRange self, IsNode refNode) =>
+                      self -> Maybe refNode -> IO Bool
+rangeIntersectsNode self refNode
+  = ghcjs_dom_range_intersects_node (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"compareNode\"]($2)"
+        ghcjs_dom_range_compare_node ::
+        JSRef DOMRange -> JSRef Node -> IO Int
+#else 
+ghcjs_dom_range_compare_node ::
+                               JSRef DOMRange -> JSRef Node -> IO Int
+ghcjs_dom_range_compare_node = undefined
+#endif
+ 
+rangeCompareNode ::
+                 (IsDOMRange self, IsNode refNode) =>
+                   self -> Maybe refNode -> IO Int
+rangeCompareNode self refNode
+  = ghcjs_dom_range_compare_node (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"comparePoint\"]($2, $3)"
+        ghcjs_dom_range_compare_point ::
+        JSRef DOMRange -> JSRef Node -> Int -> IO Int
+#else 
+ghcjs_dom_range_compare_point ::
+                                JSRef DOMRange -> JSRef Node -> Int -> IO Int
+ghcjs_dom_range_compare_point = undefined
+#endif
+ 
+rangeComparePoint ::
+                  (IsDOMRange self, IsNode refNode) =>
+                    self -> Maybe refNode -> Int -> IO Int
+rangeComparePoint self refNode offset
+  = ghcjs_dom_range_compare_point (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+      offset
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"isPointInRange\"]($2,\n$3) ? 1 : 0)"
+        ghcjs_dom_range_is_point_in_range ::
+        JSRef DOMRange -> JSRef Node -> Int -> IO Bool
+#else 
+ghcjs_dom_range_is_point_in_range ::
+                                    JSRef DOMRange -> JSRef Node -> Int -> IO Bool
+ghcjs_dom_range_is_point_in_range = undefined
+#endif
+ 
+rangeIsPointInRange ::
+                    (IsDOMRange self, IsNode refNode) =>
+                      self -> Maybe refNode -> Int -> IO Bool
+rangeIsPointInRange self refNode offset
+  = ghcjs_dom_range_is_point_in_range (unDOMRange (toDOMRange self))
+      (maybe jsNull (unNode . toNode) refNode)
+      offset
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"expand\"]($2)"
+        ghcjs_dom_range_expand :: JSRef DOMRange -> JSString -> IO ()
+#else 
+ghcjs_dom_range_expand :: JSRef DOMRange -> JSString -> IO ()
+ghcjs_dom_range_expand = undefined
+#endif
+ 
+rangeExpand ::
+            (IsDOMRange self, ToJSString unit) => self -> unit -> IO ()
+rangeExpand self unit
+  = ghcjs_dom_range_expand (unDOMRange (toDOMRange self))
+      (toJSString unit)
+cSTART_TO_START = 0
+cSTART_TO_END = 1
+cEND_TO_END = 2
+cEND_TO_START = 3
+cNODE_BEFORE = 0
+cNODE_AFTER = 1
+cNODE_BEFORE_AND_AFTER = 2
+cNODE_INSIDE = 3
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"startContainer\"]"
+        ghcjs_dom_range_get_start_container ::
+        JSRef DOMRange -> IO (JSRef Node)
+#else 
+ghcjs_dom_range_get_start_container ::
+                                      JSRef DOMRange -> IO (JSRef Node)
+ghcjs_dom_range_get_start_container = undefined
+#endif
+ 
+rangeGetStartContainer ::
+                       (IsDOMRange self) => self -> IO (Maybe Node)
+rangeGetStartContainer self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_range_get_start_container
+         (unDOMRange (toDOMRange self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"startOffset\"]"
+        ghcjs_dom_range_get_start_offset :: JSRef DOMRange -> IO Int
+#else 
+ghcjs_dom_range_get_start_offset :: JSRef DOMRange -> IO Int
+ghcjs_dom_range_get_start_offset = undefined
+#endif
+ 
+rangeGetStartOffset :: (IsDOMRange self) => self -> IO Int
+rangeGetStartOffset self
+  = ghcjs_dom_range_get_start_offset (unDOMRange (toDOMRange self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"endContainer\"]"
+        ghcjs_dom_range_get_end_container ::
+        JSRef DOMRange -> IO (JSRef Node)
+#else 
+ghcjs_dom_range_get_end_container ::
+                                    JSRef DOMRange -> IO (JSRef Node)
+ghcjs_dom_range_get_end_container = undefined
+#endif
+ 
+rangeGetEndContainer ::
+                     (IsDOMRange self) => self -> IO (Maybe Node)
+rangeGetEndContainer self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_range_get_end_container (unDOMRange (toDOMRange self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"endOffset\"]"
+        ghcjs_dom_range_get_end_offset :: JSRef DOMRange -> IO Int
+#else 
+ghcjs_dom_range_get_end_offset :: JSRef DOMRange -> IO Int
+ghcjs_dom_range_get_end_offset = undefined
+#endif
+ 
+rangeGetEndOffset :: (IsDOMRange self) => self -> IO Int
+rangeGetEndOffset self
+  = ghcjs_dom_range_get_end_offset (unDOMRange (toDOMRange self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"collapsed\"] ? 1 : 0)"
+        ghcjs_dom_range_get_collapsed :: JSRef DOMRange -> IO Bool
+#else 
+ghcjs_dom_range_get_collapsed :: JSRef DOMRange -> IO Bool
+ghcjs_dom_range_get_collapsed = undefined
+#endif
+ 
+rangeGetCollapsed :: (IsDOMRange self) => self -> IO Bool
+rangeGetCollapsed self
+  = ghcjs_dom_range_get_collapsed (unDOMRange (toDOMRange self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"commonAncestorContainer\"]"
+        ghcjs_dom_range_get_common_ancestor_container ::
+        JSRef DOMRange -> IO (JSRef Node)
+#else 
+ghcjs_dom_range_get_common_ancestor_container ::
+                                                JSRef DOMRange -> IO (JSRef Node)
+ghcjs_dom_range_get_common_ancestor_container = undefined
+#endif
+ 
+rangeGetCommonAncestorContainer ::
+                                (IsDOMRange self) => self -> IO (Maybe Node)
+rangeGetCommonAncestorContainer self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_range_get_common_ancestor_container
+         (unDOMRange (toDOMRange self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"text\"]"
+        ghcjs_dom_range_get_text :: JSRef DOMRange -> IO JSString
+#else 
+ghcjs_dom_range_get_text :: JSRef DOMRange -> IO JSString
+ghcjs_dom_range_get_text = undefined
+#endif
+ 
+rangeGetText ::
+             (IsDOMRange self, FromJSString result) => self -> IO result
+rangeGetText self
+  = fromJSString <$>
+      (ghcjs_dom_range_get_text (unDOMRange (toDOMRange self)))
+#else
+module GHCJS.DOM.Range (
+  module Graphics.UI.Gtk.WebKit.DOM.Range
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Range
+#endif
diff --git a/src/GHCJS/DOM/Ranges.hs b/src/GHCJS/DOM/Ranges.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Ranges.hs
@@ -0,0 +1,16 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Ranges (DOMRange, IsDOMRange) where
+ 
+data DOMRange = DOMRange
+ 
+class IsDOMRange a
+ 
+instance IsDOMRange DOMRange
+#else
+module GHCJS.DOM.Ranges (
+  module Graphics.UI.Gtk.WebKit.DOM.Ranges
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Ranges
+#endif
diff --git a/src/GHCJS/DOM/Screen.hs b/src/GHCJS/DOM/Screen.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Screen.hs
@@ -0,0 +1,137 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Screen
+       (ghcjs_dom_screen_get_height, screenGetHeight,
+        ghcjs_dom_screen_get_width, screenGetWidth,
+        ghcjs_dom_screen_get_color_depth, screenGetColorDepth,
+        ghcjs_dom_screen_get_pixel_depth, screenGetPixelDepth,
+        ghcjs_dom_screen_get_avail_left, screenGetAvailLeft,
+        ghcjs_dom_screen_get_avail_top, screenGetAvailTop,
+        ghcjs_dom_screen_get_avail_height, screenGetAvailHeight,
+        ghcjs_dom_screen_get_avail_width, screenGetAvailWidth)
+       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[\"height\"]"
+        ghcjs_dom_screen_get_height :: JSRef DOMScreen -> IO Word
+#else 
+ghcjs_dom_screen_get_height :: JSRef DOMScreen -> IO Word
+ghcjs_dom_screen_get_height = undefined
+#endif
+ 
+screenGetHeight :: (IsDOMScreen self) => self -> IO Word
+screenGetHeight self
+  = ghcjs_dom_screen_get_height (unDOMScreen (toDOMScreen self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"width\"]"
+        ghcjs_dom_screen_get_width :: JSRef DOMScreen -> IO Word
+#else 
+ghcjs_dom_screen_get_width :: JSRef DOMScreen -> IO Word
+ghcjs_dom_screen_get_width = undefined
+#endif
+ 
+screenGetWidth :: (IsDOMScreen self) => self -> IO Word
+screenGetWidth self
+  = ghcjs_dom_screen_get_width (unDOMScreen (toDOMScreen self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"colorDepth\"]"
+        ghcjs_dom_screen_get_color_depth :: JSRef DOMScreen -> IO Word
+#else 
+ghcjs_dom_screen_get_color_depth :: JSRef DOMScreen -> IO Word
+ghcjs_dom_screen_get_color_depth = undefined
+#endif
+ 
+screenGetColorDepth :: (IsDOMScreen self) => self -> IO Word
+screenGetColorDepth self
+  = ghcjs_dom_screen_get_color_depth (unDOMScreen (toDOMScreen self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pixelDepth\"]"
+        ghcjs_dom_screen_get_pixel_depth :: JSRef DOMScreen -> IO Word
+#else 
+ghcjs_dom_screen_get_pixel_depth :: JSRef DOMScreen -> IO Word
+ghcjs_dom_screen_get_pixel_depth = undefined
+#endif
+ 
+screenGetPixelDepth :: (IsDOMScreen self) => self -> IO Word
+screenGetPixelDepth self
+  = ghcjs_dom_screen_get_pixel_depth (unDOMScreen (toDOMScreen self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"availLeft\"]"
+        ghcjs_dom_screen_get_avail_left :: JSRef DOMScreen -> IO Int
+#else 
+ghcjs_dom_screen_get_avail_left :: JSRef DOMScreen -> IO Int
+ghcjs_dom_screen_get_avail_left = undefined
+#endif
+ 
+screenGetAvailLeft :: (IsDOMScreen self) => self -> IO Int
+screenGetAvailLeft self
+  = ghcjs_dom_screen_get_avail_left (unDOMScreen (toDOMScreen self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"availTop\"]"
+        ghcjs_dom_screen_get_avail_top :: JSRef DOMScreen -> IO Int
+#else 
+ghcjs_dom_screen_get_avail_top :: JSRef DOMScreen -> IO Int
+ghcjs_dom_screen_get_avail_top = undefined
+#endif
+ 
+screenGetAvailTop :: (IsDOMScreen self) => self -> IO Int
+screenGetAvailTop self
+  = ghcjs_dom_screen_get_avail_top (unDOMScreen (toDOMScreen self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"availHeight\"]"
+        ghcjs_dom_screen_get_avail_height :: JSRef DOMScreen -> IO Word
+#else 
+ghcjs_dom_screen_get_avail_height :: JSRef DOMScreen -> IO Word
+ghcjs_dom_screen_get_avail_height = undefined
+#endif
+ 
+screenGetAvailHeight :: (IsDOMScreen self) => self -> IO Word
+screenGetAvailHeight self
+  = ghcjs_dom_screen_get_avail_height
+      (unDOMScreen (toDOMScreen self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"availWidth\"]"
+        ghcjs_dom_screen_get_avail_width :: JSRef DOMScreen -> IO Word
+#else 
+ghcjs_dom_screen_get_avail_width :: JSRef DOMScreen -> IO Word
+ghcjs_dom_screen_get_avail_width = undefined
+#endif
+ 
+screenGetAvailWidth :: (IsDOMScreen self) => self -> IO Word
+screenGetAvailWidth self
+  = ghcjs_dom_screen_get_avail_width (unDOMScreen (toDOMScreen self))
+#else
+module GHCJS.DOM.Screen (
+  module Graphics.UI.Gtk.WebKit.DOM.Screen
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Screen
+#endif
diff --git a/src/GHCJS/DOM/Storage.hs b/src/GHCJS/DOM/Storage.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Storage.hs
@@ -0,0 +1,123 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Storage
+       (ghcjs_dom_storage_key, storageKey, ghcjs_dom_storage_get_item,
+        storageGetItem, ghcjs_dom_storage_set_item, storageSetItem,
+        ghcjs_dom_storage_remove_item, storageRemoveItem,
+        ghcjs_dom_storage_clear, storageClear,
+        ghcjs_dom_storage_get_length, storageGetLength)
+       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[\"key\"]($2)"
+        ghcjs_dom_storage_key :: JSRef Storage -> Word -> IO JSString
+#else 
+ghcjs_dom_storage_key :: JSRef Storage -> Word -> IO JSString
+ghcjs_dom_storage_key = undefined
+#endif
+ 
+storageKey ::
+           (IsStorage self, FromJSString result) => self -> Word -> IO result
+storageKey self index
+  = fromJSString <$>
+      (ghcjs_dom_storage_key (unStorage (toStorage self)) index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getItem\"]($2)"
+        ghcjs_dom_storage_get_item ::
+        JSRef Storage -> JSString -> IO JSString
+#else 
+ghcjs_dom_storage_get_item ::
+                             JSRef Storage -> JSString -> IO JSString
+ghcjs_dom_storage_get_item = undefined
+#endif
+ 
+storageGetItem ::
+               (IsStorage self, ToJSString key, FromJSString result) =>
+                 self -> key -> IO result
+storageGetItem self key
+  = fromJSString <$>
+      (ghcjs_dom_storage_get_item (unStorage (toStorage self))
+         (toJSString key))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"setItem\"]($2, $3)"
+        ghcjs_dom_storage_set_item ::
+        JSRef Storage -> JSString -> JSString -> IO ()
+#else 
+ghcjs_dom_storage_set_item ::
+                             JSRef Storage -> JSString -> JSString -> IO ()
+ghcjs_dom_storage_set_item = undefined
+#endif
+ 
+storageSetItem ::
+               (IsStorage self, ToJSString key, ToJSString data') =>
+                 self -> key -> data' -> IO ()
+storageSetItem self key data'
+  = ghcjs_dom_storage_set_item (unStorage (toStorage self))
+      (toJSString key)
+      (toJSString data')
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"removeItem\"]($2)"
+        ghcjs_dom_storage_remove_item :: JSRef Storage -> JSString -> IO ()
+#else 
+ghcjs_dom_storage_remove_item :: JSRef Storage -> JSString -> IO ()
+ghcjs_dom_storage_remove_item = undefined
+#endif
+ 
+storageRemoveItem ::
+                  (IsStorage self, ToJSString key) => self -> key -> IO ()
+storageRemoveItem self key
+  = ghcjs_dom_storage_remove_item (unStorage (toStorage self))
+      (toJSString key)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"clear\"]()"
+        ghcjs_dom_storage_clear :: JSRef Storage -> IO ()
+#else 
+ghcjs_dom_storage_clear :: JSRef Storage -> IO ()
+ghcjs_dom_storage_clear = undefined
+#endif
+ 
+storageClear :: (IsStorage self) => self -> IO ()
+storageClear self
+  = ghcjs_dom_storage_clear (unStorage (toStorage self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_storage_get_length :: JSRef Storage -> IO Word
+#else 
+ghcjs_dom_storage_get_length :: JSRef Storage -> IO Word
+ghcjs_dom_storage_get_length = undefined
+#endif
+ 
+storageGetLength :: (IsStorage self) => self -> IO Word
+storageGetLength self
+  = ghcjs_dom_storage_get_length (unStorage (toStorage self))
+#else
+module GHCJS.DOM.Storage (
+  module Graphics.UI.Gtk.WebKit.DOM.Storage
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Storage
+#endif
diff --git a/src/GHCJS/DOM/StorageInfo.hs b/src/GHCJS/DOM/StorageInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/StorageInfo.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.StorageInfo (cTEMPORARY, cPERSISTENT) 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
+
+cTEMPORARY = 0
+cPERSISTENT = 1
+#else
+module GHCJS.DOM.StorageInfo (
+  module Graphics.UI.Gtk.WebKit.DOM.StorageInfo
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.StorageInfo
+#endif
diff --git a/src/GHCJS/DOM/StyleMedia.hs b/src/GHCJS/DOM/StyleMedia.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/StyleMedia.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.StyleMedia
+       (ghcjs_dom_style_media_match_medium, styleMediaMatchMedium) 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[\"matchMedium\"]($2) ? 1 : 0)"
+        ghcjs_dom_style_media_match_medium ::
+        JSRef StyleMedia -> JSString -> IO Bool
+#else 
+ghcjs_dom_style_media_match_medium ::
+                                     JSRef StyleMedia -> JSString -> IO Bool
+ghcjs_dom_style_media_match_medium = undefined
+#endif
+ 
+styleMediaMatchMedium ::
+                      (IsStyleMedia self, ToJSString mediaquery) =>
+                        self -> mediaquery -> IO Bool
+styleMediaMatchMedium self mediaquery
+  = ghcjs_dom_style_media_match_medium
+      (unStyleMedia (toStyleMedia self))
+      (toJSString mediaquery)
+#else
+module GHCJS.DOM.StyleMedia (
+  module Graphics.UI.Gtk.WebKit.DOM.StyleMedia
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.StyleMedia
+#endif
diff --git a/src/GHCJS/DOM/StyleSheet.hs b/src/GHCJS/DOM/StyleSheet.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/StyleSheet.hs
@@ -0,0 +1,149 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.StyleSheet
+       (ghcjs_dom_style_sheet_set_disabled, styleSheetSetDisabled,
+        ghcjs_dom_style_sheet_get_disabled, styleSheetGetDisabled,
+        ghcjs_dom_style_sheet_get_owner_node, styleSheetGetOwnerNode,
+        ghcjs_dom_style_sheet_get_parent_style_sheet,
+        styleSheetGetParentStyleSheet, ghcjs_dom_style_sheet_get_href,
+        styleSheetGetHref, ghcjs_dom_style_sheet_get_title,
+        styleSheetGetTitle, ghcjs_dom_style_sheet_get_media,
+        styleSheetGetMedia)
+       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[\"disabled\"] = $2;"
+        ghcjs_dom_style_sheet_set_disabled ::
+        JSRef StyleSheet -> Bool -> IO ()
+#else 
+ghcjs_dom_style_sheet_set_disabled ::
+                                     JSRef StyleSheet -> Bool -> IO ()
+ghcjs_dom_style_sheet_set_disabled = undefined
+#endif
+ 
+styleSheetSetDisabled ::
+                      (IsStyleSheet self) => self -> Bool -> IO ()
+styleSheetSetDisabled self val
+  = ghcjs_dom_style_sheet_set_disabled
+      (unStyleSheet (toStyleSheet self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"disabled\"] ? 1 : 0)"
+        ghcjs_dom_style_sheet_get_disabled :: JSRef StyleSheet -> IO Bool
+#else 
+ghcjs_dom_style_sheet_get_disabled :: JSRef StyleSheet -> IO Bool
+ghcjs_dom_style_sheet_get_disabled = undefined
+#endif
+ 
+styleSheetGetDisabled :: (IsStyleSheet self) => self -> IO Bool
+styleSheetGetDisabled self
+  = ghcjs_dom_style_sheet_get_disabled
+      (unStyleSheet (toStyleSheet self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"ownerNode\"]"
+        ghcjs_dom_style_sheet_get_owner_node ::
+        JSRef StyleSheet -> IO (JSRef Node)
+#else 
+ghcjs_dom_style_sheet_get_owner_node ::
+                                       JSRef StyleSheet -> IO (JSRef Node)
+ghcjs_dom_style_sheet_get_owner_node = undefined
+#endif
+ 
+styleSheetGetOwnerNode ::
+                       (IsStyleSheet self) => self -> IO (Maybe Node)
+styleSheetGetOwnerNode self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_style_sheet_get_owner_node
+         (unStyleSheet (toStyleSheet self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"parentStyleSheet\"]"
+        ghcjs_dom_style_sheet_get_parent_style_sheet ::
+        JSRef StyleSheet -> IO (JSRef StyleSheet)
+#else 
+ghcjs_dom_style_sheet_get_parent_style_sheet ::
+                                               JSRef StyleSheet -> IO (JSRef StyleSheet)
+ghcjs_dom_style_sheet_get_parent_style_sheet = undefined
+#endif
+ 
+styleSheetGetParentStyleSheet ::
+                              (IsStyleSheet self) => self -> IO (Maybe StyleSheet)
+styleSheetGetParentStyleSheet self
+  = fmap StyleSheet . maybeJSNull <$>
+      (ghcjs_dom_style_sheet_get_parent_style_sheet
+         (unStyleSheet (toStyleSheet self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"href\"]"
+        ghcjs_dom_style_sheet_get_href :: JSRef StyleSheet -> IO JSString
+#else 
+ghcjs_dom_style_sheet_get_href :: JSRef StyleSheet -> IO JSString
+ghcjs_dom_style_sheet_get_href = undefined
+#endif
+ 
+styleSheetGetHref ::
+                  (IsStyleSheet self, FromJSString result) => self -> IO result
+styleSheetGetHref self
+  = fromJSString <$>
+      (ghcjs_dom_style_sheet_get_href (unStyleSheet (toStyleSheet self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"title\"]"
+        ghcjs_dom_style_sheet_get_title :: JSRef StyleSheet -> IO JSString
+#else 
+ghcjs_dom_style_sheet_get_title :: JSRef StyleSheet -> IO JSString
+ghcjs_dom_style_sheet_get_title = undefined
+#endif
+ 
+styleSheetGetTitle ::
+                   (IsStyleSheet self, FromJSString result) => self -> IO result
+styleSheetGetTitle self
+  = fromJSString <$>
+      (ghcjs_dom_style_sheet_get_title
+         (unStyleSheet (toStyleSheet self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"media\"]"
+        ghcjs_dom_style_sheet_get_media ::
+        JSRef StyleSheet -> IO (JSRef MediaList)
+#else 
+ghcjs_dom_style_sheet_get_media ::
+                                  JSRef StyleSheet -> IO (JSRef MediaList)
+ghcjs_dom_style_sheet_get_media = undefined
+#endif
+ 
+styleSheetGetMedia ::
+                   (IsStyleSheet self) => self -> IO (Maybe MediaList)
+styleSheetGetMedia self
+  = fmap MediaList . maybeJSNull <$>
+      (ghcjs_dom_style_sheet_get_media
+         (unStyleSheet (toStyleSheet self)))
+#else
+module GHCJS.DOM.StyleSheet (
+  module Graphics.UI.Gtk.WebKit.DOM.StyleSheet
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.StyleSheet
+#endif
diff --git a/src/GHCJS/DOM/StyleSheetList.hs b/src/GHCJS/DOM/StyleSheetList.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/StyleSheetList.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.StyleSheetList
+       (ghcjs_dom_style_sheet_list_item, styleSheetListItem,
+        ghcjs_dom_style_sheet_list_get_length, styleSheetListGetLength)
+       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_style_sheet_list_item ::
+        JSRef StyleSheetList -> Word -> IO (JSRef StyleSheet)
+#else 
+ghcjs_dom_style_sheet_list_item ::
+                                  JSRef StyleSheetList -> Word -> IO (JSRef StyleSheet)
+ghcjs_dom_style_sheet_list_item = undefined
+#endif
+ 
+styleSheetListItem ::
+                   (IsStyleSheetList self) => self -> Word -> IO (Maybe StyleSheet)
+styleSheetListItem self index
+  = fmap StyleSheet . maybeJSNull <$>
+      (ghcjs_dom_style_sheet_list_item
+         (unStyleSheetList (toStyleSheetList self))
+         index)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_style_sheet_list_get_length ::
+        JSRef StyleSheetList -> IO Word
+#else 
+ghcjs_dom_style_sheet_list_get_length ::
+                                        JSRef StyleSheetList -> IO Word
+ghcjs_dom_style_sheet_list_get_length = undefined
+#endif
+ 
+styleSheetListGetLength ::
+                        (IsStyleSheetList self) => self -> IO Word
+styleSheetListGetLength self
+  = ghcjs_dom_style_sheet_list_get_length
+      (unStyleSheetList (toStyleSheetList self))
+#else
+module GHCJS.DOM.StyleSheetList (
+  module Graphics.UI.Gtk.WebKit.DOM.StyleSheetList
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.StyleSheetList
+#endif
diff --git a/src/GHCJS/DOM/Stylesheets.hs b/src/GHCJS/DOM/Stylesheets.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Stylesheets.hs
@@ -0,0 +1,16 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Stylesheets (MediaList, IsMediaList) where
+ 
+data MediaList = MediaList
+ 
+class IsMediaList a
+ 
+instance IsMediaList MediaList
+#else
+module GHCJS.DOM.Stylesheets (
+  module Graphics.UI.Gtk.WebKit.DOM.Stylesheets
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Stylesheets
+#endif
diff --git a/src/GHCJS/DOM/Text.hs b/src/GHCJS/DOM/Text.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Text.hs
@@ -0,0 +1,75 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Text
+       (ghcjs_dom_text_split_text, textSplitText,
+        ghcjs_dom_text_replace_whole_text, textReplaceWholeText,
+        ghcjs_dom_text_get_whole_text, textGetWholeText)
+       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[\"splitText\"]($2)"
+        ghcjs_dom_text_split_text :: JSRef Text -> Word -> IO (JSRef Text)
+#else 
+ghcjs_dom_text_split_text :: JSRef Text -> Word -> IO (JSRef Text)
+ghcjs_dom_text_split_text = undefined
+#endif
+ 
+textSplitText :: (IsText self) => self -> Word -> IO (Maybe Text)
+textSplitText self offset
+  = fmap Text . maybeJSNull <$>
+      (ghcjs_dom_text_split_text (unText (toText self)) offset)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"replaceWholeText\"]($2)"
+        ghcjs_dom_text_replace_whole_text ::
+        JSRef Text -> JSString -> IO (JSRef Text)
+#else 
+ghcjs_dom_text_replace_whole_text ::
+                                    JSRef Text -> JSString -> IO (JSRef Text)
+ghcjs_dom_text_replace_whole_text = undefined
+#endif
+ 
+textReplaceWholeText ::
+                     (IsText self, ToJSString content) =>
+                       self -> content -> IO (Maybe Text)
+textReplaceWholeText self content
+  = fmap Text . maybeJSNull <$>
+      (ghcjs_dom_text_replace_whole_text (unText (toText self))
+         (toJSString content))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"wholeText\"]"
+        ghcjs_dom_text_get_whole_text :: JSRef Text -> IO JSString
+#else 
+ghcjs_dom_text_get_whole_text :: JSRef Text -> IO JSString
+ghcjs_dom_text_get_whole_text = undefined
+#endif
+ 
+textGetWholeText ::
+                 (IsText self, FromJSString result) => self -> IO result
+textGetWholeText self
+  = fromJSString <$>
+      (ghcjs_dom_text_get_whole_text (unText (toText self)))
+#else
+module GHCJS.DOM.Text (
+  module Graphics.UI.Gtk.WebKit.DOM.Text
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Text
+#endif
diff --git a/src/GHCJS/DOM/TimeRanges.hs b/src/GHCJS/DOM/TimeRanges.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/TimeRanges.hs
@@ -0,0 +1,69 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.TimeRanges
+       (ghcjs_dom_time_ranges_start, timeRangesStart,
+        ghcjs_dom_time_ranges_end, timeRangesEnd,
+        ghcjs_dom_time_ranges_get_length, timeRangesGetLength)
+       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[\"start\"]($2)"
+        ghcjs_dom_time_ranges_start :: JSRef TimeRanges -> Word -> IO Float
+#else 
+ghcjs_dom_time_ranges_start :: JSRef TimeRanges -> Word -> IO Float
+ghcjs_dom_time_ranges_start = undefined
+#endif
+ 
+timeRangesStart :: (IsTimeRanges self) => self -> Word -> IO Float
+timeRangesStart self index
+  = ghcjs_dom_time_ranges_start (unTimeRanges (toTimeRanges self))
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"end\"]($2)"
+        ghcjs_dom_time_ranges_end :: JSRef TimeRanges -> Word -> IO Float
+#else 
+ghcjs_dom_time_ranges_end :: JSRef TimeRanges -> Word -> IO Float
+ghcjs_dom_time_ranges_end = undefined
+#endif
+ 
+timeRangesEnd :: (IsTimeRanges self) => self -> Word -> IO Float
+timeRangesEnd self index
+  = ghcjs_dom_time_ranges_end (unTimeRanges (toTimeRanges self))
+      index
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"length\"]"
+        ghcjs_dom_time_ranges_get_length :: JSRef TimeRanges -> IO Word
+#else 
+ghcjs_dom_time_ranges_get_length :: JSRef TimeRanges -> IO Word
+ghcjs_dom_time_ranges_get_length = undefined
+#endif
+ 
+timeRangesGetLength :: (IsTimeRanges self) => self -> IO Word
+timeRangesGetLength self
+  = ghcjs_dom_time_ranges_get_length
+      (unTimeRanges (toTimeRanges self))
+#else
+module GHCJS.DOM.TimeRanges (
+  module Graphics.UI.Gtk.WebKit.DOM.TimeRanges
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.TimeRanges
+#endif
diff --git a/src/GHCJS/DOM/Traversal.hs b/src/GHCJS/DOM/Traversal.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Traversal.hs
@@ -0,0 +1,16 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.Traversal (NodeFilter, IsNodeFilter) where
+ 
+data NodeFilter = NodeFilter
+ 
+class IsNodeFilter a
+ 
+instance IsNodeFilter NodeFilter
+#else
+module GHCJS.DOM.Traversal (
+  module Graphics.UI.Gtk.WebKit.DOM.Traversal
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.Traversal
+#endif
diff --git a/src/GHCJS/DOM/TreeWalker.hs b/src/GHCJS/DOM/TreeWalker.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/TreeWalker.hs
@@ -0,0 +1,135 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.TreeWalker
+       (ghcjs_dom_tree_walker_get_root, treeWalkerGetRoot,
+        ghcjs_dom_tree_walker_get_what_to_show, treeWalkerGetWhatToShow,
+        ghcjs_dom_tree_walker_get_filter, treeWalkerGetFilter,
+        ghcjs_dom_tree_walker_get_expand_entity_references,
+        treeWalkerGetExpandEntityReferences,
+        ghcjs_dom_tree_walker_set_current_node, treeWalkerSetCurrentNode,
+        ghcjs_dom_tree_walker_get_current_node, treeWalkerGetCurrentNode)
+       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[\"root\"]"
+        ghcjs_dom_tree_walker_get_root ::
+        JSRef TreeWalker -> IO (JSRef Node)
+#else 
+ghcjs_dom_tree_walker_get_root ::
+                                 JSRef TreeWalker -> IO (JSRef Node)
+ghcjs_dom_tree_walker_get_root = undefined
+#endif
+ 
+treeWalkerGetRoot :: (IsTreeWalker self) => self -> IO (Maybe Node)
+treeWalkerGetRoot self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_tree_walker_get_root (unTreeWalker (toTreeWalker self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"whatToShow\"]"
+        ghcjs_dom_tree_walker_get_what_to_show ::
+        JSRef TreeWalker -> IO Word
+#else 
+ghcjs_dom_tree_walker_get_what_to_show ::
+                                         JSRef TreeWalker -> IO Word
+ghcjs_dom_tree_walker_get_what_to_show = undefined
+#endif
+ 
+treeWalkerGetWhatToShow :: (IsTreeWalker self) => self -> IO Word
+treeWalkerGetWhatToShow self
+  = ghcjs_dom_tree_walker_get_what_to_show
+      (unTreeWalker (toTreeWalker self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"filter\"]"
+        ghcjs_dom_tree_walker_get_filter ::
+        JSRef TreeWalker -> IO (JSRef NodeFilter)
+#else 
+ghcjs_dom_tree_walker_get_filter ::
+                                   JSRef TreeWalker -> IO (JSRef NodeFilter)
+ghcjs_dom_tree_walker_get_filter = undefined
+#endif
+ 
+treeWalkerGetFilter ::
+                    (IsTreeWalker self) => self -> IO (Maybe NodeFilter)
+treeWalkerGetFilter self
+  = fmap NodeFilter . maybeJSNull <$>
+      (ghcjs_dom_tree_walker_get_filter
+         (unTreeWalker (toTreeWalker self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"expandEntityReferences\"] ? 1 : 0)"
+        ghcjs_dom_tree_walker_get_expand_entity_references ::
+        JSRef TreeWalker -> IO Bool
+#else 
+ghcjs_dom_tree_walker_get_expand_entity_references ::
+                                                     JSRef TreeWalker -> IO Bool
+ghcjs_dom_tree_walker_get_expand_entity_references = undefined
+#endif
+ 
+treeWalkerGetExpandEntityReferences ::
+                                    (IsTreeWalker self) => self -> IO Bool
+treeWalkerGetExpandEntityReferences self
+  = ghcjs_dom_tree_walker_get_expand_entity_references
+      (unTreeWalker (toTreeWalker self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"currentNode\"] = $2;"
+        ghcjs_dom_tree_walker_set_current_node ::
+        JSRef TreeWalker -> JSRef Node -> IO ()
+#else 
+ghcjs_dom_tree_walker_set_current_node ::
+                                         JSRef TreeWalker -> JSRef Node -> IO ()
+ghcjs_dom_tree_walker_set_current_node = undefined
+#endif
+ 
+treeWalkerSetCurrentNode ::
+                         (IsTreeWalker self, IsNode val) => self -> Maybe val -> IO ()
+treeWalkerSetCurrentNode self val
+  = ghcjs_dom_tree_walker_set_current_node
+      (unTreeWalker (toTreeWalker self))
+      (maybe jsNull (unNode . toNode) val)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"currentNode\"]"
+        ghcjs_dom_tree_walker_get_current_node ::
+        JSRef TreeWalker -> IO (JSRef Node)
+#else 
+ghcjs_dom_tree_walker_get_current_node ::
+                                         JSRef TreeWalker -> IO (JSRef Node)
+ghcjs_dom_tree_walker_get_current_node = undefined
+#endif
+ 
+treeWalkerGetCurrentNode ::
+                         (IsTreeWalker self) => self -> IO (Maybe Node)
+treeWalkerGetCurrentNode self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_tree_walker_get_current_node
+         (unTreeWalker (toTreeWalker self)))
+#else
+module GHCJS.DOM.TreeWalker (
+  module Graphics.UI.Gtk.WebKit.DOM.TreeWalker
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.TreeWalker
+#endif
diff --git a/src/GHCJS/DOM/Types.hs b/src/GHCJS/DOM/Types.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Types.hs
@@ -0,0 +1,4212 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE JavaScriptFFI, ForeignFunctionInterface #-}
+#else
+{-# LANGUAGE ConstraintKinds #-}
+#endif
+module GHCJS.DOM.Types (
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+    maybeJSNull, propagateGError, GType(..)
+  , GObject(..), GObjectClass, toGObject, unGObject, castToGObject, gTypeGObject, unsafeCastGObject
+
+-- AUTO GENERATION STARTS HERE
+  , DOMAttr(DOMAttr), unDOMAttr, IsDOMAttr, toDOMAttr, castToDOMAttr, gTypeDOMAttr
+  , BarInfo(BarInfo), unBarInfo, IsBarInfo, toBarInfo, castToBarInfo, gTypeBarInfo
+  , Blob(Blob), unBlob, IsBlob, toBlob, castToBlob, gTypeBlob
+  , CDATASection(CDATASection), unCDATASection, IsCDATASection, toCDATASection, castToCDATASection, gTypeCDATASection
+  , CSSRule(CSSRule), unCSSRule, IsCSSRule, toCSSRule, castToCSSRule, gTypeCSSRule
+  , CSSRuleList(CSSRuleList), unCSSRuleList, IsCSSRuleList, toCSSRuleList, castToCSSRuleList, gTypeCSSRuleList
+  , CSSStyleDeclaration(CSSStyleDeclaration), unCSSStyleDeclaration, IsCSSStyleDeclaration, toCSSStyleDeclaration, castToCSSStyleDeclaration, gTypeCSSStyleDeclaration
+  , CSSStyleSheet(CSSStyleSheet), unCSSStyleSheet, IsCSSStyleSheet, toCSSStyleSheet, castToCSSStyleSheet, gTypeCSSStyleSheet
+  , CSSValue(CSSValue), unCSSValue, IsCSSValue, toCSSValue, castToCSSValue, gTypeCSSValue
+  , CharacterData(CharacterData), unCharacterData, IsCharacterData, toCharacterData, castToCharacterData, gTypeCharacterData
+  , Comment(Comment), unComment, IsComment, toComment, castToComment, gTypeComment
+  , Console(Console), unConsole, IsConsole, toConsole, castToConsole, gTypeConsole
+  , DOMApplicationCache(DOMApplicationCache), unDOMApplicationCache, IsDOMApplicationCache, toDOMApplicationCache, castToDOMApplicationCache, gTypeDOMApplicationCache
+  , DOMImplementation(DOMImplementation), unDOMImplementation, IsDOMImplementation, toDOMImplementation, castToDOMImplementation, gTypeDOMImplementation
+  , DOMMimeType(DOMMimeType), unDOMMimeType, IsDOMMimeType, toDOMMimeType, castToDOMMimeType, gTypeDOMMimeType
+  , DOMMimeTypeArray(DOMMimeTypeArray), unDOMMimeTypeArray, IsDOMMimeTypeArray, toDOMMimeTypeArray, castToDOMMimeTypeArray, gTypeDOMMimeTypeArray
+  , DOMPlugin(DOMPlugin), unDOMPlugin, IsDOMPlugin, toDOMPlugin, castToDOMPlugin, gTypeDOMPlugin
+  , DOMPluginArray(DOMPluginArray), unDOMPluginArray, IsDOMPluginArray, toDOMPluginArray, castToDOMPluginArray, gTypeDOMPluginArray
+  , DOMSecurityPolicy(DOMSecurityPolicy), unDOMSecurityPolicy, IsDOMSecurityPolicy, toDOMSecurityPolicy, castToDOMSecurityPolicy, gTypeDOMSecurityPolicy
+  , DOMSelection(DOMSelection), unDOMSelection, IsDOMSelection, toDOMSelection, castToDOMSelection, gTypeDOMSelection
+  , DOMSettableTokenList(DOMSettableTokenList), unDOMSettableTokenList, IsDOMSettableTokenList, toDOMSettableTokenList, castToDOMSettableTokenList, gTypeDOMSettableTokenList
+  , DOMStringList(DOMStringList), unDOMStringList, IsDOMStringList, toDOMStringList, castToDOMStringList, gTypeDOMStringList
+  , DOMTokenList(DOMTokenList), unDOMTokenList, IsDOMTokenList, toDOMTokenList, castToDOMTokenList, gTypeDOMTokenList
+  , DOMWindow(DOMWindow), unDOMWindow, IsDOMWindow, toDOMWindow, castToDOMWindow, gTypeDOMWindow
+  , Document(Document), unDocument, IsDocument, toDocument, castToDocument, gTypeDocument
+  , DocumentFragment(DocumentFragment), unDocumentFragment, IsDocumentFragment, toDocumentFragment, castToDocumentFragment, gTypeDocumentFragment
+  , DocumentType(DocumentType), unDocumentType, IsDocumentType, toDocumentType, castToDocumentType, gTypeDocumentType
+  , Element(Element), unElement, IsElement, toElement, castToElement, gTypeElement
+  , EntityReference(EntityReference), unEntityReference, IsEntityReference, toEntityReference, castToEntityReference, gTypeEntityReference
+  , Event(Event), unEvent, IsEvent, toEvent, castToEvent, gTypeEvent
+  , EventTarget(EventTarget), unEventTarget, IsEventTarget, toEventTarget, castToEventTarget, gTypeEventTarget
+  , File(File), unFile, IsFile, toFile, castToFile, gTypeFile
+  , FileList(FileList), unFileList, IsFileList, toFileList, castToFileList, gTypeFileList
+  , Geolocation(Geolocation), unGeolocation, IsGeolocation, toGeolocation, castToGeolocation, gTypeGeolocation
+  , HTMLAnchorElement(HTMLAnchorElement), unHTMLAnchorElement, IsHTMLAnchorElement, toHTMLAnchorElement, castToHTMLAnchorElement, gTypeHTMLAnchorElement
+  , HTMLAppletElement(HTMLAppletElement), unHTMLAppletElement, IsHTMLAppletElement, toHTMLAppletElement, castToHTMLAppletElement, gTypeHTMLAppletElement
+  , HTMLAreaElement(HTMLAreaElement), unHTMLAreaElement, IsHTMLAreaElement, toHTMLAreaElement, castToHTMLAreaElement, gTypeHTMLAreaElement
+  , HTMLAudioElement(HTMLAudioElement), unHTMLAudioElement, IsHTMLAudioElement, toHTMLAudioElement, castToHTMLAudioElement, gTypeHTMLAudioElement
+  , HTMLBRElement(HTMLBRElement), unHTMLBRElement, IsHTMLBRElement, toHTMLBRElement, castToHTMLBRElement, gTypeHTMLBRElement
+  , HTMLBaseElement(HTMLBaseElement), unHTMLBaseElement, IsHTMLBaseElement, toHTMLBaseElement, castToHTMLBaseElement, gTypeHTMLBaseElement
+  , HTMLBaseFontElement(HTMLBaseFontElement), unHTMLBaseFontElement, IsHTMLBaseFontElement, toHTMLBaseFontElement, castToHTMLBaseFontElement, gTypeHTMLBaseFontElement
+  , HTMLBodyElement(HTMLBodyElement), unHTMLBodyElement, IsHTMLBodyElement, toHTMLBodyElement, castToHTMLBodyElement, gTypeHTMLBodyElement
+  , HTMLButtonElement(HTMLButtonElement), unHTMLButtonElement, IsHTMLButtonElement, toHTMLButtonElement, castToHTMLButtonElement, gTypeHTMLButtonElement
+  , HTMLCanvasElement(HTMLCanvasElement), unHTMLCanvasElement, IsHTMLCanvasElement, toHTMLCanvasElement, castToHTMLCanvasElement, gTypeHTMLCanvasElement
+  , HTMLCollection(HTMLCollection), unHTMLCollection, IsHTMLCollection, toHTMLCollection, castToHTMLCollection, gTypeHTMLCollection
+  , HTMLDListElement(HTMLDListElement), unHTMLDListElement, IsHTMLDListElement, toHTMLDListElement, castToHTMLDListElement, gTypeHTMLDListElement
+  , HTMLDetailsElement(HTMLDetailsElement), unHTMLDetailsElement, IsHTMLDetailsElement, toHTMLDetailsElement, castToHTMLDetailsElement, gTypeHTMLDetailsElement
+  , HTMLDirectoryElement(HTMLDirectoryElement), unHTMLDirectoryElement, IsHTMLDirectoryElement, toHTMLDirectoryElement, castToHTMLDirectoryElement, gTypeHTMLDirectoryElement
+  , HTMLDivElement(HTMLDivElement), unHTMLDivElement, IsHTMLDivElement, toHTMLDivElement, castToHTMLDivElement, gTypeHTMLDivElement
+  , HTMLDocument(HTMLDocument), unHTMLDocument, IsHTMLDocument, toHTMLDocument, castToHTMLDocument, gTypeHTMLDocument
+  , HTMLElement(HTMLElement), unHTMLElement, IsHTMLElement, toHTMLElement, castToHTMLElement, gTypeHTMLElement
+  , HTMLEmbedElement(HTMLEmbedElement), unHTMLEmbedElement, IsHTMLEmbedElement, toHTMLEmbedElement, castToHTMLEmbedElement, gTypeHTMLEmbedElement
+  , HTMLFieldSetElement(HTMLFieldSetElement), unHTMLFieldSetElement, IsHTMLFieldSetElement, toHTMLFieldSetElement, castToHTMLFieldSetElement, gTypeHTMLFieldSetElement
+  , HTMLFontElement(HTMLFontElement), unHTMLFontElement, IsHTMLFontElement, toHTMLFontElement, castToHTMLFontElement, gTypeHTMLFontElement
+  , HTMLFormElement(HTMLFormElement), unHTMLFormElement, IsHTMLFormElement, toHTMLFormElement, castToHTMLFormElement, gTypeHTMLFormElement
+  , HTMLFrameElement(HTMLFrameElement), unHTMLFrameElement, IsHTMLFrameElement, toHTMLFrameElement, castToHTMLFrameElement, gTypeHTMLFrameElement
+  , HTMLFrameSetElement(HTMLFrameSetElement), unHTMLFrameSetElement, IsHTMLFrameSetElement, toHTMLFrameSetElement, castToHTMLFrameSetElement, gTypeHTMLFrameSetElement
+  , HTMLHRElement(HTMLHRElement), unHTMLHRElement, IsHTMLHRElement, toHTMLHRElement, castToHTMLHRElement, gTypeHTMLHRElement
+  , HTMLHeadElement(HTMLHeadElement), unHTMLHeadElement, IsHTMLHeadElement, toHTMLHeadElement, castToHTMLHeadElement, gTypeHTMLHeadElement
+  , HTMLHeadingElement(HTMLHeadingElement), unHTMLHeadingElement, IsHTMLHeadingElement, toHTMLHeadingElement, castToHTMLHeadingElement, gTypeHTMLHeadingElement
+  , HTMLHtmlElement(HTMLHtmlElement), unHTMLHtmlElement, IsHTMLHtmlElement, toHTMLHtmlElement, castToHTMLHtmlElement, gTypeHTMLHtmlElement
+  , HTMLIFrameElement(HTMLIFrameElement), unHTMLIFrameElement, IsHTMLIFrameElement, toHTMLIFrameElement, castToHTMLIFrameElement, gTypeHTMLIFrameElement
+  , HTMLImageElement(HTMLImageElement), unHTMLImageElement, IsHTMLImageElement, toHTMLImageElement, castToHTMLImageElement, gTypeHTMLImageElement
+  , HTMLInputElement(HTMLInputElement), unHTMLInputElement, IsHTMLInputElement, toHTMLInputElement, castToHTMLInputElement, gTypeHTMLInputElement
+  , HTMLKeygenElement(HTMLKeygenElement), unHTMLKeygenElement, IsHTMLKeygenElement, toHTMLKeygenElement, castToHTMLKeygenElement, gTypeHTMLKeygenElement
+  , HTMLLIElement(HTMLLIElement), unHTMLLIElement, IsHTMLLIElement, toHTMLLIElement, castToHTMLLIElement, gTypeHTMLLIElement
+  , HTMLLabelElement(HTMLLabelElement), unHTMLLabelElement, IsHTMLLabelElement, toHTMLLabelElement, castToHTMLLabelElement, gTypeHTMLLabelElement
+  , HTMLLegendElement(HTMLLegendElement), unHTMLLegendElement, IsHTMLLegendElement, toHTMLLegendElement, castToHTMLLegendElement, gTypeHTMLLegendElement
+  , HTMLLinkElement(HTMLLinkElement), unHTMLLinkElement, IsHTMLLinkElement, toHTMLLinkElement, castToHTMLLinkElement, gTypeHTMLLinkElement
+  , HTMLMapElement(HTMLMapElement), unHTMLMapElement, IsHTMLMapElement, toHTMLMapElement, castToHTMLMapElement, gTypeHTMLMapElement
+  , HTMLMarqueeElement(HTMLMarqueeElement), unHTMLMarqueeElement, IsHTMLMarqueeElement, toHTMLMarqueeElement, castToHTMLMarqueeElement, gTypeHTMLMarqueeElement
+  , HTMLMediaElement(HTMLMediaElement), unHTMLMediaElement, IsHTMLMediaElement, toHTMLMediaElement, castToHTMLMediaElement, gTypeHTMLMediaElement
+  , HTMLMenuElement(HTMLMenuElement), unHTMLMenuElement, IsHTMLMenuElement, toHTMLMenuElement, castToHTMLMenuElement, gTypeHTMLMenuElement
+  , HTMLMetaElement(HTMLMetaElement), unHTMLMetaElement, IsHTMLMetaElement, toHTMLMetaElement, castToHTMLMetaElement, gTypeHTMLMetaElement
+  , HTMLModElement(HTMLModElement), unHTMLModElement, IsHTMLModElement, toHTMLModElement, castToHTMLModElement, gTypeHTMLModElement
+  , HTMLOListElement(HTMLOListElement), unHTMLOListElement, IsHTMLOListElement, toHTMLOListElement, castToHTMLOListElement, gTypeHTMLOListElement
+  , HTMLObjectElement(HTMLObjectElement), unHTMLObjectElement, IsHTMLObjectElement, toHTMLObjectElement, castToHTMLObjectElement, gTypeHTMLObjectElement
+  , HTMLOptGroupElement(HTMLOptGroupElement), unHTMLOptGroupElement, IsHTMLOptGroupElement, toHTMLOptGroupElement, castToHTMLOptGroupElement, gTypeHTMLOptGroupElement
+  , HTMLOptionElement(HTMLOptionElement), unHTMLOptionElement, IsHTMLOptionElement, toHTMLOptionElement, castToHTMLOptionElement, gTypeHTMLOptionElement
+  , HTMLOptionsCollection(HTMLOptionsCollection), unHTMLOptionsCollection, IsHTMLOptionsCollection, toHTMLOptionsCollection, castToHTMLOptionsCollection, gTypeHTMLOptionsCollection
+  , HTMLParagraphElement(HTMLParagraphElement), unHTMLParagraphElement, IsHTMLParagraphElement, toHTMLParagraphElement, castToHTMLParagraphElement, gTypeHTMLParagraphElement
+  , HTMLParamElement(HTMLParamElement), unHTMLParamElement, IsHTMLParamElement, toHTMLParamElement, castToHTMLParamElement, gTypeHTMLParamElement
+  , HTMLPreElement(HTMLPreElement), unHTMLPreElement, IsHTMLPreElement, toHTMLPreElement, castToHTMLPreElement, gTypeHTMLPreElement
+  , HTMLQuoteElement(HTMLQuoteElement), unHTMLQuoteElement, IsHTMLQuoteElement, toHTMLQuoteElement, castToHTMLQuoteElement, gTypeHTMLQuoteElement
+  , HTMLScriptElement(HTMLScriptElement), unHTMLScriptElement, IsHTMLScriptElement, toHTMLScriptElement, castToHTMLScriptElement, gTypeHTMLScriptElement
+  , HTMLSelectElement(HTMLSelectElement), unHTMLSelectElement, IsHTMLSelectElement, toHTMLSelectElement, castToHTMLSelectElement, gTypeHTMLSelectElement
+  , HTMLStyleElement(HTMLStyleElement), unHTMLStyleElement, IsHTMLStyleElement, toHTMLStyleElement, castToHTMLStyleElement, gTypeHTMLStyleElement
+  , HTMLTableCaptionElement(HTMLTableCaptionElement), unHTMLTableCaptionElement, IsHTMLTableCaptionElement, toHTMLTableCaptionElement, castToHTMLTableCaptionElement, gTypeHTMLTableCaptionElement
+  , HTMLTableCellElement(HTMLTableCellElement), unHTMLTableCellElement, IsHTMLTableCellElement, toHTMLTableCellElement, castToHTMLTableCellElement, gTypeHTMLTableCellElement
+  , HTMLTableColElement(HTMLTableColElement), unHTMLTableColElement, IsHTMLTableColElement, toHTMLTableColElement, castToHTMLTableColElement, gTypeHTMLTableColElement
+  , HTMLTableElement(HTMLTableElement), unHTMLTableElement, IsHTMLTableElement, toHTMLTableElement, castToHTMLTableElement, gTypeHTMLTableElement
+  , HTMLTableRowElement(HTMLTableRowElement), unHTMLTableRowElement, IsHTMLTableRowElement, toHTMLTableRowElement, castToHTMLTableRowElement, gTypeHTMLTableRowElement
+  , HTMLTableSectionElement(HTMLTableSectionElement), unHTMLTableSectionElement, IsHTMLTableSectionElement, toHTMLTableSectionElement, castToHTMLTableSectionElement, gTypeHTMLTableSectionElement
+  , HTMLTextAreaElement(HTMLTextAreaElement), unHTMLTextAreaElement, IsHTMLTextAreaElement, toHTMLTextAreaElement, castToHTMLTextAreaElement, gTypeHTMLTextAreaElement
+  , HTMLTitleElement(HTMLTitleElement), unHTMLTitleElement, IsHTMLTitleElement, toHTMLTitleElement, castToHTMLTitleElement, gTypeHTMLTitleElement
+  , HTMLUListElement(HTMLUListElement), unHTMLUListElement, IsHTMLUListElement, toHTMLUListElement, castToHTMLUListElement, gTypeHTMLUListElement
+  , HTMLVideoElement(HTMLVideoElement), unHTMLVideoElement, IsHTMLVideoElement, toHTMLVideoElement, castToHTMLVideoElement, gTypeHTMLVideoElement
+  , History(History), unHistory, IsHistory, toHistory, castToHistory, gTypeHistory
+  , 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
+  , Navigator(Navigator), unNavigator, IsNavigator, toNavigator, castToNavigator, gTypeNavigator
+  , Node(Node), unNode, IsNode, toNode, castToNode, gTypeNode
+  , NodeFilter(NodeFilter), unNodeFilter, IsNodeFilter, toNodeFilter, castToNodeFilter, gTypeNodeFilter
+  , NodeIterator(NodeIterator), unNodeIterator, IsNodeIterator, toNodeIterator, castToNodeIterator, gTypeNodeIterator
+  , NodeList(NodeList), unNodeList, IsNodeList, toNodeList, castToNodeList, gTypeNodeList
+  , ProcessingInstruction(ProcessingInstruction), unProcessingInstruction, IsProcessingInstruction, toProcessingInstruction, castToProcessingInstruction, gTypeProcessingInstruction
+  , DOMRange(DOMRange), unDOMRange, IsDOMRange, toDOMRange, castToDOMRange, gTypeDOMRange
+  , DOMScreen(DOMScreen), unDOMScreen, IsDOMScreen, toDOMScreen, castToDOMScreen, gTypeDOMScreen
+  , Storage(Storage), unStorage, IsStorage, toStorage, castToStorage, gTypeStorage
+  , StorageInfo(StorageInfo), unStorageInfo, IsStorageInfo, toStorageInfo, castToStorageInfo, gTypeStorageInfo
+  , StyleMedia(StyleMedia), unStyleMedia, IsStyleMedia, toStyleMedia, castToStyleMedia, gTypeStyleMedia
+  , StyleSheet(StyleSheet), unStyleSheet, IsStyleSheet, toStyleSheet, castToStyleSheet, gTypeStyleSheet
+  , StyleSheetList(StyleSheetList), unStyleSheetList, IsStyleSheetList, toStyleSheetList, castToStyleSheetList, gTypeStyleSheetList
+  , Text(Text), unText, IsText, toText, castToText, gTypeText
+  , TimeRanges(TimeRanges), unTimeRanges, IsTimeRanges, toTimeRanges, castToTimeRanges, gTypeTimeRanges
+  , 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
+  , XPathNSResolver(XPathNSResolver), unXPathNSResolver, IsXPathNSResolver, toXPathNSResolver, castToXPathNSResolver, gTypeXPathNSResolver
+  , XPathResult(XPathResult), unXPathResult, IsXPathResult, toXPathResult, castToXPathResult, gTypeXPathResult
+-- AUTO GENERATION ENDS HERE
+#else
+    propagateGError, GType(..)
+  , module Graphics.UI.Gtk.WebKit.Types
+  , IsDOMAttr
+  , IsBarInfo
+  , IsBlob
+  , IsCDATASection
+  , IsCSSRule
+  , IsCSSRuleList
+  , IsCSSStyleDeclaration
+  , IsCSSStyleSheet
+  , IsCSSValue
+  , IsCharacterData
+  , IsComment
+  , IsConsole
+  , IsDOMApplicationCache
+  , IsDOMImplementation
+  , IsDOMMimeType
+  , IsDOMMimeTypeArray
+  , IsDOMPlugin
+  , IsDOMPluginArray
+  , IsDOMSelection
+  , IsDOMSettableTokenList
+  , IsDOMStringList
+  , IsDOMTokenList
+  , IsDOMWindow
+  , IsDocument
+  , IsDocumentFragment
+  , IsDocumentType
+  , IsElement
+  , IsEntityReference
+  , IsEvent
+  , IsEventTarget
+  , IsFile
+  , IsFileList
+  , IsGeolocation
+  , IsHTMLAnchorElement
+  , IsHTMLAppletElement
+  , IsHTMLAreaElement
+  , IsHTMLAudioElement
+  , IsHTMLBRElement
+  , IsHTMLBaseElement
+  , IsHTMLBaseFontElement
+  , IsHTMLBodyElement
+  , IsHTMLButtonElement
+  , IsHTMLCanvasElement
+  , IsHTMLCollection
+  , IsHTMLDListElement
+  , IsHTMLDetailsElement
+  , IsHTMLDirectoryElement
+  , IsHTMLDivElement
+  , IsHTMLDocument
+  , IsHTMLElement
+  , IsHTMLEmbedElement
+  , IsHTMLFieldSetElement
+  , IsHTMLFontElement
+  , IsHTMLFormElement
+  , IsHTMLFrameElement
+  , IsHTMLFrameSetElement
+  , IsHTMLHRElement
+  , IsHTMLHeadElement
+  , IsHTMLHeadingElement
+  , IsHTMLHtmlElement
+  , IsHTMLIFrameElement
+  , IsHTMLImageElement
+  , IsHTMLInputElement
+  , IsHTMLKeygenElement
+  , IsHTMLLIElement
+  , IsHTMLLabelElement
+  , IsHTMLLegendElement
+  , IsHTMLLinkElement
+  , IsHTMLMapElement
+  , IsHTMLMarqueeElement
+  , IsHTMLMediaElement
+  , IsHTMLMenuElement
+  , IsHTMLMetaElement
+  , IsHTMLModElement
+  , IsHTMLOListElement
+  , IsHTMLObjectElement
+  , IsHTMLOptGroupElement
+  , IsHTMLOptionElement
+  , IsHTMLOptionsCollection
+  , IsHTMLParagraphElement
+  , IsHTMLParamElement
+  , IsHTMLPreElement
+  , IsHTMLQuoteElement
+  , IsHTMLScriptElement
+  , IsHTMLSelectElement
+  , IsHTMLStyleElement
+  , IsHTMLTableCaptionElement
+  , IsHTMLTableCellElement
+  , IsHTMLTableColElement
+  , IsHTMLTableElement
+  , IsHTMLTableRowElement
+  , IsHTMLTableSectionElement
+  , IsHTMLTextAreaElement
+  , IsHTMLTitleElement
+  , IsHTMLUListElement
+  , IsHTMLVideoElement
+  , IsHistory
+  , IsLocation
+  , IsMediaError
+  , IsMediaList
+  , IsMediaQueryList
+  , IsMemoryInfo
+  , IsMessagePort
+  , IsMouseEvent
+  , IsNamedNodeMap
+  , IsNavigator
+  , IsNode
+  , IsNodeFilter
+  , IsNodeIterator
+  , IsNodeList
+  , IsProcessingInstruction
+  , IsDOMRange
+  , IsDOMScreen
+  , IsStorage
+  , IsStyleMedia
+  , IsStyleSheet
+  , IsStyleSheetList
+  , IsText
+  , IsTimeRanges
+  , IsTreeWalker
+  , IsUIEvent
+  , IsValidityState
+  , IsWebKitNamedFlow
+  , IsWebKitPoint
+  , IsXPathExpression
+  , IsXPathNSResolver
+  , IsXPathResult
+#endif
+  ) where
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+import GHCJS.Types (JSRef(..), castRef, isNull)
+#else
+import Graphics.UI.Gtk.WebKit.Types
+import System.Glib (propagateGError, GType(..))
+#endif
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+maybeJSNull :: JSRef a -> Maybe (JSRef a)
+maybeJSNull r | isNull r = Nothing
+maybeJSNull r = Just r
+
+propagateGError = id
+
+data GType = GType (JSRef GType)
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "h$isInstanceOf $1 $2"
+    typeInstanceIsA' :: JSRef a -> JSRef GType -> Bool
+#else
+typeInstanceIsA' :: JSRef a -> JSRef GType -> Bool
+typeInstanceIsA' = error "typeInstanceIsA': only available in JavaScript"
+#endif
+
+typeInstanceIsA o (GType t) = typeInstanceIsA' o t
+
+-- The usage of foreignPtrToPtr should be safe as the evaluation will only be
+-- forced if the object is used afterwards
+--
+castTo :: (GObjectClass obj, GObjectClass obj') => GType -> String
+                                                -> (obj -> obj')
+castTo gtype objTypeName obj =
+  case toGObject obj of
+    gobj@(GObject objRef)
+      | typeInstanceIsA objRef gtype
+                  -> unsafeCastGObject gobj
+      | otherwise -> error $ "Cannot cast object to " ++ objTypeName
+
+data GObject = GObject (JSRef GObject)
+
+unGObject (GObject o) = o
+
+class GObjectClass o where
+  -- | Safe upcast.
+  toGObject         :: o -> GObject
+  -- | Unchecked downcast.
+  unsafeCastGObject :: GObject -> o
+
+instance GObjectClass GObject where
+  toGObject = id
+  unsafeCastGObject = id
+
+castToGObject :: GObjectClass obj => obj -> obj
+castToGObject = id
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "object" gTypeGObject' :: JSRef GType
+#else
+gTypeGObject' = error "gTypeGObject': only available in JavaScript"
+#endif
+gTypeGObject = GType gTypeGObject'
+#endif
+
+-- AUTO GENERATION STARTS HERE
+-- The remainder of this file is generated from IDL files using domconv-webkit-jsffi
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMAttr = DOMAttr (JSRef DOMAttr)
+
+unDOMAttr (DOMAttr o) = o
+
+class IsNode o => IsDOMAttr o
+toDOMAttr :: IsDOMAttr o => o -> DOMAttr
+toDOMAttr = unsafeCastGObject . toGObject
+
+instance IsDOMAttr DOMAttr
+instance IsNode DOMAttr
+instance GObjectClass DOMAttr where
+  toGObject = GObject . castRef . unDOMAttr
+  unsafeCastGObject = DOMAttr . castRef . unGObject
+
+castToDOMAttr :: GObjectClass obj => obj -> DOMAttr
+castToDOMAttr = castTo gTypeDOMAttr "DOMAttr"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMAttr" gTypeDOMAttr' :: JSRef GType
+#else
+gTypeDOMAttr' = error "gTypeDOMAttr': only available in JavaScript"
+#endif
+gTypeDOMAttr = GType gTypeDOMAttr'
+#else
+type IsDOMAttr o = DOMAttrClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype BarInfo = BarInfo (JSRef BarInfo)
+
+unBarInfo (BarInfo o) = o
+
+class GObjectClass o => IsBarInfo o
+toBarInfo :: IsBarInfo o => o -> BarInfo
+toBarInfo = unsafeCastGObject . toGObject
+
+instance IsBarInfo BarInfo
+instance GObjectClass BarInfo where
+  toGObject = GObject . castRef . unBarInfo
+  unsafeCastGObject = BarInfo . castRef . unGObject
+
+castToBarInfo :: GObjectClass obj => obj -> BarInfo
+castToBarInfo = castTo gTypeBarInfo "BarInfo"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.BarInfo" gTypeBarInfo' :: JSRef GType
+#else
+gTypeBarInfo' = error "gTypeBarInfo': only available in JavaScript"
+#endif
+gTypeBarInfo = GType gTypeBarInfo'
+#else
+type IsBarInfo o = BarInfoClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Blob = Blob (JSRef Blob)
+
+unBlob (Blob o) = o
+
+class GObjectClass o => IsBlob o
+toBlob :: IsBlob o => o -> Blob
+toBlob = unsafeCastGObject . toGObject
+
+instance IsBlob Blob
+instance GObjectClass Blob where
+  toGObject = GObject . castRef . unBlob
+  unsafeCastGObject = Blob . castRef . unGObject
+
+castToBlob :: GObjectClass obj => obj -> Blob
+castToBlob = castTo gTypeBlob "Blob"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Blob" gTypeBlob' :: JSRef GType
+#else
+gTypeBlob' = error "gTypeBlob': only available in JavaScript"
+#endif
+gTypeBlob = GType gTypeBlob'
+#else
+type IsBlob o = BlobClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype CDATASection = CDATASection (JSRef CDATASection)
+
+unCDATASection (CDATASection o) = o
+
+class IsText o => IsCDATASection o
+toCDATASection :: IsCDATASection o => o -> CDATASection
+toCDATASection = unsafeCastGObject . toGObject
+
+instance IsCDATASection CDATASection
+instance IsText CDATASection
+instance IsCharacterData CDATASection
+instance IsNode CDATASection
+instance GObjectClass CDATASection where
+  toGObject = GObject . castRef . unCDATASection
+  unsafeCastGObject = CDATASection . castRef . unGObject
+
+castToCDATASection :: GObjectClass obj => obj -> CDATASection
+castToCDATASection = castTo gTypeCDATASection "CDATASection"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.CDATASection" gTypeCDATASection' :: JSRef GType
+#else
+gTypeCDATASection' = error "gTypeCDATASection': only available in JavaScript"
+#endif
+gTypeCDATASection = GType gTypeCDATASection'
+#else
+type IsCDATASection o = CDATASectionClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype CSSRule = CSSRule (JSRef CSSRule)
+
+unCSSRule (CSSRule o) = o
+
+class GObjectClass o => IsCSSRule o
+toCSSRule :: IsCSSRule o => o -> CSSRule
+toCSSRule = unsafeCastGObject . toGObject
+
+instance IsCSSRule CSSRule
+instance GObjectClass CSSRule where
+  toGObject = GObject . castRef . unCSSRule
+  unsafeCastGObject = CSSRule . castRef . unGObject
+
+castToCSSRule :: GObjectClass obj => obj -> CSSRule
+castToCSSRule = castTo gTypeCSSRule "CSSRule"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.CSSRule" gTypeCSSRule' :: JSRef GType
+#else
+gTypeCSSRule' = error "gTypeCSSRule': only available in JavaScript"
+#endif
+gTypeCSSRule = GType gTypeCSSRule'
+#else
+type IsCSSRule o = CSSRuleClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype CSSRuleList = CSSRuleList (JSRef CSSRuleList)
+
+unCSSRuleList (CSSRuleList o) = o
+
+class GObjectClass o => IsCSSRuleList o
+toCSSRuleList :: IsCSSRuleList o => o -> CSSRuleList
+toCSSRuleList = unsafeCastGObject . toGObject
+
+instance IsCSSRuleList CSSRuleList
+instance GObjectClass CSSRuleList where
+  toGObject = GObject . castRef . unCSSRuleList
+  unsafeCastGObject = CSSRuleList . castRef . unGObject
+
+castToCSSRuleList :: GObjectClass obj => obj -> CSSRuleList
+castToCSSRuleList = castTo gTypeCSSRuleList "CSSRuleList"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.CSSRuleList" gTypeCSSRuleList' :: JSRef GType
+#else
+gTypeCSSRuleList' = error "gTypeCSSRuleList': only available in JavaScript"
+#endif
+gTypeCSSRuleList = GType gTypeCSSRuleList'
+#else
+type IsCSSRuleList o = CSSRuleListClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype CSSStyleDeclaration = CSSStyleDeclaration (JSRef CSSStyleDeclaration)
+
+unCSSStyleDeclaration (CSSStyleDeclaration o) = o
+
+class GObjectClass o => IsCSSStyleDeclaration o
+toCSSStyleDeclaration :: IsCSSStyleDeclaration o => o -> CSSStyleDeclaration
+toCSSStyleDeclaration = unsafeCastGObject . toGObject
+
+instance IsCSSStyleDeclaration CSSStyleDeclaration
+instance GObjectClass CSSStyleDeclaration where
+  toGObject = GObject . castRef . unCSSStyleDeclaration
+  unsafeCastGObject = CSSStyleDeclaration . castRef . unGObject
+
+castToCSSStyleDeclaration :: GObjectClass obj => obj -> CSSStyleDeclaration
+castToCSSStyleDeclaration = castTo gTypeCSSStyleDeclaration "CSSStyleDeclaration"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.CSSStyleDeclaration" gTypeCSSStyleDeclaration' :: JSRef GType
+#else
+gTypeCSSStyleDeclaration' = error "gTypeCSSStyleDeclaration': only available in JavaScript"
+#endif
+gTypeCSSStyleDeclaration = GType gTypeCSSStyleDeclaration'
+#else
+type IsCSSStyleDeclaration o = CSSStyleDeclarationClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype CSSStyleSheet = CSSStyleSheet (JSRef CSSStyleSheet)
+
+unCSSStyleSheet (CSSStyleSheet o) = o
+
+class IsStyleSheet o => IsCSSStyleSheet o
+toCSSStyleSheet :: IsCSSStyleSheet o => o -> CSSStyleSheet
+toCSSStyleSheet = unsafeCastGObject . toGObject
+
+instance IsCSSStyleSheet CSSStyleSheet
+instance IsStyleSheet CSSStyleSheet
+instance GObjectClass CSSStyleSheet where
+  toGObject = GObject . castRef . unCSSStyleSheet
+  unsafeCastGObject = CSSStyleSheet . castRef . unGObject
+
+castToCSSStyleSheet :: GObjectClass obj => obj -> CSSStyleSheet
+castToCSSStyleSheet = castTo gTypeCSSStyleSheet "CSSStyleSheet"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.CSSStyleSheet" gTypeCSSStyleSheet' :: JSRef GType
+#else
+gTypeCSSStyleSheet' = error "gTypeCSSStyleSheet': only available in JavaScript"
+#endif
+gTypeCSSStyleSheet = GType gTypeCSSStyleSheet'
+#else
+type IsCSSStyleSheet o = CSSStyleSheetClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype CSSValue = CSSValue (JSRef CSSValue)
+
+unCSSValue (CSSValue o) = o
+
+class GObjectClass o => IsCSSValue o
+toCSSValue :: IsCSSValue o => o -> CSSValue
+toCSSValue = unsafeCastGObject . toGObject
+
+instance IsCSSValue CSSValue
+instance GObjectClass CSSValue where
+  toGObject = GObject . castRef . unCSSValue
+  unsafeCastGObject = CSSValue . castRef . unGObject
+
+castToCSSValue :: GObjectClass obj => obj -> CSSValue
+castToCSSValue = castTo gTypeCSSValue "CSSValue"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.CSSValue" gTypeCSSValue' :: JSRef GType
+#else
+gTypeCSSValue' = error "gTypeCSSValue': only available in JavaScript"
+#endif
+gTypeCSSValue = GType gTypeCSSValue'
+#else
+type IsCSSValue o = CSSValueClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype CharacterData = CharacterData (JSRef CharacterData)
+
+unCharacterData (CharacterData o) = o
+
+class IsNode o => IsCharacterData o
+toCharacterData :: IsCharacterData o => o -> CharacterData
+toCharacterData = unsafeCastGObject . toGObject
+
+instance IsCharacterData CharacterData
+instance IsNode CharacterData
+instance GObjectClass CharacterData where
+  toGObject = GObject . castRef . unCharacterData
+  unsafeCastGObject = CharacterData . castRef . unGObject
+
+castToCharacterData :: GObjectClass obj => obj -> CharacterData
+castToCharacterData = castTo gTypeCharacterData "CharacterData"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.CharacterData" gTypeCharacterData' :: JSRef GType
+#else
+gTypeCharacterData' = error "gTypeCharacterData': only available in JavaScript"
+#endif
+gTypeCharacterData = GType gTypeCharacterData'
+#else
+type IsCharacterData o = CharacterDataClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Comment = Comment (JSRef Comment)
+
+unComment (Comment o) = o
+
+class IsCharacterData o => IsComment o
+toComment :: IsComment o => o -> Comment
+toComment = unsafeCastGObject . toGObject
+
+instance IsComment Comment
+instance IsCharacterData Comment
+instance IsNode Comment
+instance GObjectClass Comment where
+  toGObject = GObject . castRef . unComment
+  unsafeCastGObject = Comment . castRef . unGObject
+
+castToComment :: GObjectClass obj => obj -> Comment
+castToComment = castTo gTypeComment "Comment"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Comment" gTypeComment' :: JSRef GType
+#else
+gTypeComment' = error "gTypeComment': only available in JavaScript"
+#endif
+gTypeComment = GType gTypeComment'
+#else
+type IsComment o = CommentClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Console = Console (JSRef Console)
+
+unConsole (Console o) = o
+
+class GObjectClass o => IsConsole o
+toConsole :: IsConsole o => o -> Console
+toConsole = unsafeCastGObject . toGObject
+
+instance IsConsole Console
+instance GObjectClass Console where
+  toGObject = GObject . castRef . unConsole
+  unsafeCastGObject = Console . castRef . unGObject
+
+castToConsole :: GObjectClass obj => obj -> Console
+castToConsole = castTo gTypeConsole "Console"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Console" gTypeConsole' :: JSRef GType
+#else
+gTypeConsole' = error "gTypeConsole': only available in JavaScript"
+#endif
+gTypeConsole = GType gTypeConsole'
+#else
+type IsConsole o = ConsoleClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMApplicationCache = DOMApplicationCache (JSRef DOMApplicationCache)
+
+unDOMApplicationCache (DOMApplicationCache o) = o
+
+class GObjectClass o => IsDOMApplicationCache o
+toDOMApplicationCache :: IsDOMApplicationCache o => o -> DOMApplicationCache
+toDOMApplicationCache = unsafeCastGObject . toGObject
+
+instance IsDOMApplicationCache DOMApplicationCache
+instance GObjectClass DOMApplicationCache where
+  toGObject = GObject . castRef . unDOMApplicationCache
+  unsafeCastGObject = DOMApplicationCache . castRef . unGObject
+
+castToDOMApplicationCache :: GObjectClass obj => obj -> DOMApplicationCache
+castToDOMApplicationCache = castTo gTypeDOMApplicationCache "DOMApplicationCache"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMApplicationCache" gTypeDOMApplicationCache' :: JSRef GType
+#else
+gTypeDOMApplicationCache' = error "gTypeDOMApplicationCache': only available in JavaScript"
+#endif
+gTypeDOMApplicationCache = GType gTypeDOMApplicationCache'
+#else
+type IsDOMApplicationCache o = DOMApplicationCacheClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMImplementation = DOMImplementation (JSRef DOMImplementation)
+
+unDOMImplementation (DOMImplementation o) = o
+
+class GObjectClass o => IsDOMImplementation o
+toDOMImplementation :: IsDOMImplementation o => o -> DOMImplementation
+toDOMImplementation = unsafeCastGObject . toGObject
+
+instance IsDOMImplementation DOMImplementation
+instance GObjectClass DOMImplementation where
+  toGObject = GObject . castRef . unDOMImplementation
+  unsafeCastGObject = DOMImplementation . castRef . unGObject
+
+castToDOMImplementation :: GObjectClass obj => obj -> DOMImplementation
+castToDOMImplementation = castTo gTypeDOMImplementation "DOMImplementation"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMImplementation" gTypeDOMImplementation' :: JSRef GType
+#else
+gTypeDOMImplementation' = error "gTypeDOMImplementation': only available in JavaScript"
+#endif
+gTypeDOMImplementation = GType gTypeDOMImplementation'
+#else
+type IsDOMImplementation o = DOMImplementationClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMMimeType = DOMMimeType (JSRef DOMMimeType)
+
+unDOMMimeType (DOMMimeType o) = o
+
+class GObjectClass o => IsDOMMimeType o
+toDOMMimeType :: IsDOMMimeType o => o -> DOMMimeType
+toDOMMimeType = unsafeCastGObject . toGObject
+
+instance IsDOMMimeType DOMMimeType
+instance GObjectClass DOMMimeType where
+  toGObject = GObject . castRef . unDOMMimeType
+  unsafeCastGObject = DOMMimeType . castRef . unGObject
+
+castToDOMMimeType :: GObjectClass obj => obj -> DOMMimeType
+castToDOMMimeType = castTo gTypeDOMMimeType "DOMMimeType"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMMimeType" gTypeDOMMimeType' :: JSRef GType
+#else
+gTypeDOMMimeType' = error "gTypeDOMMimeType': only available in JavaScript"
+#endif
+gTypeDOMMimeType = GType gTypeDOMMimeType'
+#else
+type IsDOMMimeType o = DOMMimeTypeClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMMimeTypeArray = DOMMimeTypeArray (JSRef DOMMimeTypeArray)
+
+unDOMMimeTypeArray (DOMMimeTypeArray o) = o
+
+class GObjectClass o => IsDOMMimeTypeArray o
+toDOMMimeTypeArray :: IsDOMMimeTypeArray o => o -> DOMMimeTypeArray
+toDOMMimeTypeArray = unsafeCastGObject . toGObject
+
+instance IsDOMMimeTypeArray DOMMimeTypeArray
+instance GObjectClass DOMMimeTypeArray where
+  toGObject = GObject . castRef . unDOMMimeTypeArray
+  unsafeCastGObject = DOMMimeTypeArray . castRef . unGObject
+
+castToDOMMimeTypeArray :: GObjectClass obj => obj -> DOMMimeTypeArray
+castToDOMMimeTypeArray = castTo gTypeDOMMimeTypeArray "DOMMimeTypeArray"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMMimeTypeArray" gTypeDOMMimeTypeArray' :: JSRef GType
+#else
+gTypeDOMMimeTypeArray' = error "gTypeDOMMimeTypeArray': only available in JavaScript"
+#endif
+gTypeDOMMimeTypeArray = GType gTypeDOMMimeTypeArray'
+#else
+type IsDOMMimeTypeArray o = DOMMimeTypeArrayClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMPlugin = DOMPlugin (JSRef DOMPlugin)
+
+unDOMPlugin (DOMPlugin o) = o
+
+class GObjectClass o => IsDOMPlugin o
+toDOMPlugin :: IsDOMPlugin o => o -> DOMPlugin
+toDOMPlugin = unsafeCastGObject . toGObject
+
+instance IsDOMPlugin DOMPlugin
+instance GObjectClass DOMPlugin where
+  toGObject = GObject . castRef . unDOMPlugin
+  unsafeCastGObject = DOMPlugin . castRef . unGObject
+
+castToDOMPlugin :: GObjectClass obj => obj -> DOMPlugin
+castToDOMPlugin = castTo gTypeDOMPlugin "DOMPlugin"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMPlugin" gTypeDOMPlugin' :: JSRef GType
+#else
+gTypeDOMPlugin' = error "gTypeDOMPlugin': only available in JavaScript"
+#endif
+gTypeDOMPlugin = GType gTypeDOMPlugin'
+#else
+type IsDOMPlugin o = DOMPluginClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMPluginArray = DOMPluginArray (JSRef DOMPluginArray)
+
+unDOMPluginArray (DOMPluginArray o) = o
+
+class GObjectClass o => IsDOMPluginArray o
+toDOMPluginArray :: IsDOMPluginArray o => o -> DOMPluginArray
+toDOMPluginArray = unsafeCastGObject . toGObject
+
+instance IsDOMPluginArray DOMPluginArray
+instance GObjectClass DOMPluginArray where
+  toGObject = GObject . castRef . unDOMPluginArray
+  unsafeCastGObject = DOMPluginArray . castRef . unGObject
+
+castToDOMPluginArray :: GObjectClass obj => obj -> DOMPluginArray
+castToDOMPluginArray = castTo gTypeDOMPluginArray "DOMPluginArray"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMPluginArray" gTypeDOMPluginArray' :: JSRef GType
+#else
+gTypeDOMPluginArray' = error "gTypeDOMPluginArray': only available in JavaScript"
+#endif
+gTypeDOMPluginArray = GType gTypeDOMPluginArray'
+#else
+type IsDOMPluginArray o = DOMPluginArrayClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMSecurityPolicy = DOMSecurityPolicy (JSRef DOMSecurityPolicy)
+
+unDOMSecurityPolicy (DOMSecurityPolicy o) = o
+
+class GObjectClass o => IsDOMSecurityPolicy o
+toDOMSecurityPolicy :: IsDOMSecurityPolicy o => o -> DOMSecurityPolicy
+toDOMSecurityPolicy = unsafeCastGObject . toGObject
+
+instance IsDOMSecurityPolicy DOMSecurityPolicy
+instance GObjectClass DOMSecurityPolicy where
+  toGObject = GObject . castRef . unDOMSecurityPolicy
+  unsafeCastGObject = DOMSecurityPolicy . castRef . unGObject
+
+castToDOMSecurityPolicy :: GObjectClass obj => obj -> DOMSecurityPolicy
+castToDOMSecurityPolicy = castTo gTypeDOMSecurityPolicy "DOMSecurityPolicy"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMSecurityPolicy" gTypeDOMSecurityPolicy' :: JSRef GType
+#else
+gTypeDOMSecurityPolicy' = error "gTypeDOMSecurityPolicy': only available in JavaScript"
+#endif
+gTypeDOMSecurityPolicy = GType gTypeDOMSecurityPolicy'
+#else
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMSelection = DOMSelection (JSRef DOMSelection)
+
+unDOMSelection (DOMSelection o) = o
+
+class GObjectClass o => IsDOMSelection o
+toDOMSelection :: IsDOMSelection o => o -> DOMSelection
+toDOMSelection = unsafeCastGObject . toGObject
+
+instance IsDOMSelection DOMSelection
+instance GObjectClass DOMSelection where
+  toGObject = GObject . castRef . unDOMSelection
+  unsafeCastGObject = DOMSelection . castRef . unGObject
+
+castToDOMSelection :: GObjectClass obj => obj -> DOMSelection
+castToDOMSelection = castTo gTypeDOMSelection "DOMSelection"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMSelection" gTypeDOMSelection' :: JSRef GType
+#else
+gTypeDOMSelection' = error "gTypeDOMSelection': only available in JavaScript"
+#endif
+gTypeDOMSelection = GType gTypeDOMSelection'
+#else
+type IsDOMSelection o = DOMSelectionClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMSettableTokenList = DOMSettableTokenList (JSRef DOMSettableTokenList)
+
+unDOMSettableTokenList (DOMSettableTokenList o) = o
+
+class IsDOMTokenList o => IsDOMSettableTokenList o
+toDOMSettableTokenList :: IsDOMSettableTokenList o => o -> DOMSettableTokenList
+toDOMSettableTokenList = unsafeCastGObject . toGObject
+
+instance IsDOMSettableTokenList DOMSettableTokenList
+instance IsDOMTokenList DOMSettableTokenList
+instance GObjectClass DOMSettableTokenList where
+  toGObject = GObject . castRef . unDOMSettableTokenList
+  unsafeCastGObject = DOMSettableTokenList . castRef . unGObject
+
+castToDOMSettableTokenList :: GObjectClass obj => obj -> DOMSettableTokenList
+castToDOMSettableTokenList = castTo gTypeDOMSettableTokenList "DOMSettableTokenList"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMSettableTokenList" gTypeDOMSettableTokenList' :: JSRef GType
+#else
+gTypeDOMSettableTokenList' = error "gTypeDOMSettableTokenList': only available in JavaScript"
+#endif
+gTypeDOMSettableTokenList = GType gTypeDOMSettableTokenList'
+#else
+type IsDOMSettableTokenList o = DOMSettableTokenListClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMStringList = DOMStringList (JSRef DOMStringList)
+
+unDOMStringList (DOMStringList o) = o
+
+class GObjectClass o => IsDOMStringList o
+toDOMStringList :: IsDOMStringList o => o -> DOMStringList
+toDOMStringList = unsafeCastGObject . toGObject
+
+instance IsDOMStringList DOMStringList
+instance GObjectClass DOMStringList where
+  toGObject = GObject . castRef . unDOMStringList
+  unsafeCastGObject = DOMStringList . castRef . unGObject
+
+castToDOMStringList :: GObjectClass obj => obj -> DOMStringList
+castToDOMStringList = castTo gTypeDOMStringList "DOMStringList"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMStringList" gTypeDOMStringList' :: JSRef GType
+#else
+gTypeDOMStringList' = error "gTypeDOMStringList': only available in JavaScript"
+#endif
+gTypeDOMStringList = GType gTypeDOMStringList'
+#else
+type IsDOMStringList o = DOMStringListClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMTokenList = DOMTokenList (JSRef DOMTokenList)
+
+unDOMTokenList (DOMTokenList o) = o
+
+class GObjectClass o => IsDOMTokenList o
+toDOMTokenList :: IsDOMTokenList o => o -> DOMTokenList
+toDOMTokenList = unsafeCastGObject . toGObject
+
+instance IsDOMTokenList DOMTokenList
+instance GObjectClass DOMTokenList where
+  toGObject = GObject . castRef . unDOMTokenList
+  unsafeCastGObject = DOMTokenList . castRef . unGObject
+
+castToDOMTokenList :: GObjectClass obj => obj -> DOMTokenList
+castToDOMTokenList = castTo gTypeDOMTokenList "DOMTokenList"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMTokenList" gTypeDOMTokenList' :: JSRef GType
+#else
+gTypeDOMTokenList' = error "gTypeDOMTokenList': only available in JavaScript"
+#endif
+gTypeDOMTokenList = GType gTypeDOMTokenList'
+#else
+type IsDOMTokenList o = DOMTokenListClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMWindow = DOMWindow (JSRef DOMWindow)
+
+unDOMWindow (DOMWindow o) = o
+
+class GObjectClass o => IsDOMWindow o
+toDOMWindow :: IsDOMWindow o => o -> DOMWindow
+toDOMWindow = unsafeCastGObject . toGObject
+
+instance IsDOMWindow DOMWindow
+instance GObjectClass DOMWindow where
+  toGObject = GObject . castRef . unDOMWindow
+  unsafeCastGObject = DOMWindow . castRef . unGObject
+
+castToDOMWindow :: GObjectClass obj => obj -> DOMWindow
+castToDOMWindow = castTo gTypeDOMWindow "DOMWindow"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMWindow" gTypeDOMWindow' :: JSRef GType
+#else
+gTypeDOMWindow' = error "gTypeDOMWindow': only available in JavaScript"
+#endif
+gTypeDOMWindow = GType gTypeDOMWindow'
+#else
+type IsDOMWindow o = DOMWindowClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Document = Document (JSRef Document)
+
+unDocument (Document o) = o
+
+class IsNode o => IsDocument o
+toDocument :: IsDocument o => o -> Document
+toDocument = unsafeCastGObject . toGObject
+
+instance IsDocument Document
+instance IsNode Document
+instance GObjectClass Document where
+  toGObject = GObject . castRef . unDocument
+  unsafeCastGObject = Document . castRef . unGObject
+
+castToDocument :: GObjectClass obj => obj -> Document
+castToDocument = castTo gTypeDocument "Document"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Document" gTypeDocument' :: JSRef GType
+#else
+gTypeDocument' = error "gTypeDocument': only available in JavaScript"
+#endif
+gTypeDocument = GType gTypeDocument'
+#else
+type IsDocument o = DocumentClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DocumentFragment = DocumentFragment (JSRef DocumentFragment)
+
+unDocumentFragment (DocumentFragment o) = o
+
+class IsNode o => IsDocumentFragment o
+toDocumentFragment :: IsDocumentFragment o => o -> DocumentFragment
+toDocumentFragment = unsafeCastGObject . toGObject
+
+instance IsDocumentFragment DocumentFragment
+instance IsNode DocumentFragment
+instance GObjectClass DocumentFragment where
+  toGObject = GObject . castRef . unDocumentFragment
+  unsafeCastGObject = DocumentFragment . castRef . unGObject
+
+castToDocumentFragment :: GObjectClass obj => obj -> DocumentFragment
+castToDocumentFragment = castTo gTypeDocumentFragment "DocumentFragment"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DocumentFragment" gTypeDocumentFragment' :: JSRef GType
+#else
+gTypeDocumentFragment' = error "gTypeDocumentFragment': only available in JavaScript"
+#endif
+gTypeDocumentFragment = GType gTypeDocumentFragment'
+#else
+type IsDocumentFragment o = DocumentFragmentClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DocumentType = DocumentType (JSRef DocumentType)
+
+unDocumentType (DocumentType o) = o
+
+class IsNode o => IsDocumentType o
+toDocumentType :: IsDocumentType o => o -> DocumentType
+toDocumentType = unsafeCastGObject . toGObject
+
+instance IsDocumentType DocumentType
+instance IsNode DocumentType
+instance GObjectClass DocumentType where
+  toGObject = GObject . castRef . unDocumentType
+  unsafeCastGObject = DocumentType . castRef . unGObject
+
+castToDocumentType :: GObjectClass obj => obj -> DocumentType
+castToDocumentType = castTo gTypeDocumentType "DocumentType"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DocumentType" gTypeDocumentType' :: JSRef GType
+#else
+gTypeDocumentType' = error "gTypeDocumentType': only available in JavaScript"
+#endif
+gTypeDocumentType = GType gTypeDocumentType'
+#else
+type IsDocumentType o = DocumentTypeClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Element = Element (JSRef Element)
+
+unElement (Element o) = o
+
+class IsNode o => IsElement o
+toElement :: IsElement o => o -> Element
+toElement = unsafeCastGObject . toGObject
+
+instance IsElement Element
+instance IsNode Element
+instance GObjectClass Element where
+  toGObject = GObject . castRef . unElement
+  unsafeCastGObject = Element . castRef . unGObject
+
+castToElement :: GObjectClass obj => obj -> Element
+castToElement = castTo gTypeElement "Element"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Element" gTypeElement' :: JSRef GType
+#else
+gTypeElement' = error "gTypeElement': only available in JavaScript"
+#endif
+gTypeElement = GType gTypeElement'
+#else
+type IsElement o = ElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype EntityReference = EntityReference (JSRef EntityReference)
+
+unEntityReference (EntityReference o) = o
+
+class IsNode o => IsEntityReference o
+toEntityReference :: IsEntityReference o => o -> EntityReference
+toEntityReference = unsafeCastGObject . toGObject
+
+instance IsEntityReference EntityReference
+instance IsNode EntityReference
+instance GObjectClass EntityReference where
+  toGObject = GObject . castRef . unEntityReference
+  unsafeCastGObject = EntityReference . castRef . unGObject
+
+castToEntityReference :: GObjectClass obj => obj -> EntityReference
+castToEntityReference = castTo gTypeEntityReference "EntityReference"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.EntityReference" gTypeEntityReference' :: JSRef GType
+#else
+gTypeEntityReference' = error "gTypeEntityReference': only available in JavaScript"
+#endif
+gTypeEntityReference = GType gTypeEntityReference'
+#else
+type IsEntityReference o = EntityReferenceClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Event = Event (JSRef Event)
+
+unEvent (Event o) = o
+
+class GObjectClass o => IsEvent o
+toEvent :: IsEvent o => o -> Event
+toEvent = unsafeCastGObject . toGObject
+
+instance IsEvent Event
+instance GObjectClass Event where
+  toGObject = GObject . castRef . unEvent
+  unsafeCastGObject = Event . castRef . unGObject
+
+castToEvent :: GObjectClass obj => obj -> Event
+castToEvent = castTo gTypeEvent "Event"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Event" gTypeEvent' :: JSRef GType
+#else
+gTypeEvent' = error "gTypeEvent': only available in JavaScript"
+#endif
+gTypeEvent = GType gTypeEvent'
+#else
+type IsEvent o = EventClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype EventTarget = EventTarget (JSRef EventTarget)
+
+unEventTarget (EventTarget o) = o
+
+class GObjectClass o => IsEventTarget o
+toEventTarget :: IsEventTarget o => o -> EventTarget
+toEventTarget = unsafeCastGObject . toGObject
+
+instance IsEventTarget EventTarget
+instance GObjectClass EventTarget where
+  toGObject = GObject . castRef . unEventTarget
+  unsafeCastGObject = EventTarget . castRef . unGObject
+
+castToEventTarget :: GObjectClass obj => obj -> EventTarget
+castToEventTarget = castTo gTypeEventTarget "EventTarget"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.EventTarget" gTypeEventTarget' :: JSRef GType
+#else
+gTypeEventTarget' = error "gTypeEventTarget': only available in JavaScript"
+#endif
+gTypeEventTarget = GType gTypeEventTarget'
+#else
+type IsEventTarget o = EventTargetClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype File = File (JSRef File)
+
+unFile (File o) = o
+
+class IsBlob o => IsFile o
+toFile :: IsFile o => o -> File
+toFile = unsafeCastGObject . toGObject
+
+instance IsFile File
+instance IsBlob File
+instance GObjectClass File where
+  toGObject = GObject . castRef . unFile
+  unsafeCastGObject = File . castRef . unGObject
+
+castToFile :: GObjectClass obj => obj -> File
+castToFile = castTo gTypeFile "File"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.File" gTypeFile' :: JSRef GType
+#else
+gTypeFile' = error "gTypeFile': only available in JavaScript"
+#endif
+gTypeFile = GType gTypeFile'
+#else
+type IsFile o = FileClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype FileList = FileList (JSRef FileList)
+
+unFileList (FileList o) = o
+
+class GObjectClass o => IsFileList o
+toFileList :: IsFileList o => o -> FileList
+toFileList = unsafeCastGObject . toGObject
+
+instance IsFileList FileList
+instance GObjectClass FileList where
+  toGObject = GObject . castRef . unFileList
+  unsafeCastGObject = FileList . castRef . unGObject
+
+castToFileList :: GObjectClass obj => obj -> FileList
+castToFileList = castTo gTypeFileList "FileList"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.FileList" gTypeFileList' :: JSRef GType
+#else
+gTypeFileList' = error "gTypeFileList': only available in JavaScript"
+#endif
+gTypeFileList = GType gTypeFileList'
+#else
+type IsFileList o = FileListClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Geolocation = Geolocation (JSRef Geolocation)
+
+unGeolocation (Geolocation o) = o
+
+class GObjectClass o => IsGeolocation o
+toGeolocation :: IsGeolocation o => o -> Geolocation
+toGeolocation = unsafeCastGObject . toGObject
+
+instance IsGeolocation Geolocation
+instance GObjectClass Geolocation where
+  toGObject = GObject . castRef . unGeolocation
+  unsafeCastGObject = Geolocation . castRef . unGObject
+
+castToGeolocation :: GObjectClass obj => obj -> Geolocation
+castToGeolocation = castTo gTypeGeolocation "Geolocation"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Geolocation" gTypeGeolocation' :: JSRef GType
+#else
+gTypeGeolocation' = error "gTypeGeolocation': only available in JavaScript"
+#endif
+gTypeGeolocation = GType gTypeGeolocation'
+#else
+type IsGeolocation o = GeolocationClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLAnchorElement = HTMLAnchorElement (JSRef HTMLAnchorElement)
+
+unHTMLAnchorElement (HTMLAnchorElement o) = o
+
+class IsHTMLElement o => IsHTMLAnchorElement o
+toHTMLAnchorElement :: IsHTMLAnchorElement o => o -> HTMLAnchorElement
+toHTMLAnchorElement = unsafeCastGObject . toGObject
+
+instance IsHTMLAnchorElement HTMLAnchorElement
+instance IsHTMLElement HTMLAnchorElement
+instance IsElement HTMLAnchorElement
+instance IsNode HTMLAnchorElement
+instance GObjectClass HTMLAnchorElement where
+  toGObject = GObject . castRef . unHTMLAnchorElement
+  unsafeCastGObject = HTMLAnchorElement . castRef . unGObject
+
+castToHTMLAnchorElement :: GObjectClass obj => obj -> HTMLAnchorElement
+castToHTMLAnchorElement = castTo gTypeHTMLAnchorElement "HTMLAnchorElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLAnchorElement" gTypeHTMLAnchorElement' :: JSRef GType
+#else
+gTypeHTMLAnchorElement' = error "gTypeHTMLAnchorElement': only available in JavaScript"
+#endif
+gTypeHTMLAnchorElement = GType gTypeHTMLAnchorElement'
+#else
+type IsHTMLAnchorElement o = HTMLAnchorElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLAppletElement = HTMLAppletElement (JSRef HTMLAppletElement)
+
+unHTMLAppletElement (HTMLAppletElement o) = o
+
+class IsHTMLElement o => IsHTMLAppletElement o
+toHTMLAppletElement :: IsHTMLAppletElement o => o -> HTMLAppletElement
+toHTMLAppletElement = unsafeCastGObject . toGObject
+
+instance IsHTMLAppletElement HTMLAppletElement
+instance IsHTMLElement HTMLAppletElement
+instance IsElement HTMLAppletElement
+instance IsNode HTMLAppletElement
+instance GObjectClass HTMLAppletElement where
+  toGObject = GObject . castRef . unHTMLAppletElement
+  unsafeCastGObject = HTMLAppletElement . castRef . unGObject
+
+castToHTMLAppletElement :: GObjectClass obj => obj -> HTMLAppletElement
+castToHTMLAppletElement = castTo gTypeHTMLAppletElement "HTMLAppletElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLAppletElement" gTypeHTMLAppletElement' :: JSRef GType
+#else
+gTypeHTMLAppletElement' = error "gTypeHTMLAppletElement': only available in JavaScript"
+#endif
+gTypeHTMLAppletElement = GType gTypeHTMLAppletElement'
+#else
+type IsHTMLAppletElement o = HTMLAppletElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLAreaElement = HTMLAreaElement (JSRef HTMLAreaElement)
+
+unHTMLAreaElement (HTMLAreaElement o) = o
+
+class IsHTMLElement o => IsHTMLAreaElement o
+toHTMLAreaElement :: IsHTMLAreaElement o => o -> HTMLAreaElement
+toHTMLAreaElement = unsafeCastGObject . toGObject
+
+instance IsHTMLAreaElement HTMLAreaElement
+instance IsHTMLElement HTMLAreaElement
+instance IsElement HTMLAreaElement
+instance IsNode HTMLAreaElement
+instance GObjectClass HTMLAreaElement where
+  toGObject = GObject . castRef . unHTMLAreaElement
+  unsafeCastGObject = HTMLAreaElement . castRef . unGObject
+
+castToHTMLAreaElement :: GObjectClass obj => obj -> HTMLAreaElement
+castToHTMLAreaElement = castTo gTypeHTMLAreaElement "HTMLAreaElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLAreaElement" gTypeHTMLAreaElement' :: JSRef GType
+#else
+gTypeHTMLAreaElement' = error "gTypeHTMLAreaElement': only available in JavaScript"
+#endif
+gTypeHTMLAreaElement = GType gTypeHTMLAreaElement'
+#else
+type IsHTMLAreaElement o = HTMLAreaElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLAudioElement = HTMLAudioElement (JSRef HTMLAudioElement)
+
+unHTMLAudioElement (HTMLAudioElement o) = o
+
+class IsHTMLMediaElement o => IsHTMLAudioElement o
+toHTMLAudioElement :: IsHTMLAudioElement o => o -> HTMLAudioElement
+toHTMLAudioElement = unsafeCastGObject . toGObject
+
+instance IsHTMLAudioElement HTMLAudioElement
+instance IsHTMLMediaElement HTMLAudioElement
+instance IsHTMLElement HTMLAudioElement
+instance IsElement HTMLAudioElement
+instance IsNode HTMLAudioElement
+instance GObjectClass HTMLAudioElement where
+  toGObject = GObject . castRef . unHTMLAudioElement
+  unsafeCastGObject = HTMLAudioElement . castRef . unGObject
+
+castToHTMLAudioElement :: GObjectClass obj => obj -> HTMLAudioElement
+castToHTMLAudioElement = castTo gTypeHTMLAudioElement "HTMLAudioElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLAudioElement" gTypeHTMLAudioElement' :: JSRef GType
+#else
+gTypeHTMLAudioElement' = error "gTypeHTMLAudioElement': only available in JavaScript"
+#endif
+gTypeHTMLAudioElement = GType gTypeHTMLAudioElement'
+#else
+type IsHTMLAudioElement o = HTMLAudioElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLBRElement = HTMLBRElement (JSRef HTMLBRElement)
+
+unHTMLBRElement (HTMLBRElement o) = o
+
+class IsHTMLElement o => IsHTMLBRElement o
+toHTMLBRElement :: IsHTMLBRElement o => o -> HTMLBRElement
+toHTMLBRElement = unsafeCastGObject . toGObject
+
+instance IsHTMLBRElement HTMLBRElement
+instance IsHTMLElement HTMLBRElement
+instance IsElement HTMLBRElement
+instance IsNode HTMLBRElement
+instance GObjectClass HTMLBRElement where
+  toGObject = GObject . castRef . unHTMLBRElement
+  unsafeCastGObject = HTMLBRElement . castRef . unGObject
+
+castToHTMLBRElement :: GObjectClass obj => obj -> HTMLBRElement
+castToHTMLBRElement = castTo gTypeHTMLBRElement "HTMLBRElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLBRElement" gTypeHTMLBRElement' :: JSRef GType
+#else
+gTypeHTMLBRElement' = error "gTypeHTMLBRElement': only available in JavaScript"
+#endif
+gTypeHTMLBRElement = GType gTypeHTMLBRElement'
+#else
+type IsHTMLBRElement o = HTMLBRElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLBaseElement = HTMLBaseElement (JSRef HTMLBaseElement)
+
+unHTMLBaseElement (HTMLBaseElement o) = o
+
+class IsHTMLElement o => IsHTMLBaseElement o
+toHTMLBaseElement :: IsHTMLBaseElement o => o -> HTMLBaseElement
+toHTMLBaseElement = unsafeCastGObject . toGObject
+
+instance IsHTMLBaseElement HTMLBaseElement
+instance IsHTMLElement HTMLBaseElement
+instance IsElement HTMLBaseElement
+instance IsNode HTMLBaseElement
+instance GObjectClass HTMLBaseElement where
+  toGObject = GObject . castRef . unHTMLBaseElement
+  unsafeCastGObject = HTMLBaseElement . castRef . unGObject
+
+castToHTMLBaseElement :: GObjectClass obj => obj -> HTMLBaseElement
+castToHTMLBaseElement = castTo gTypeHTMLBaseElement "HTMLBaseElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLBaseElement" gTypeHTMLBaseElement' :: JSRef GType
+#else
+gTypeHTMLBaseElement' = error "gTypeHTMLBaseElement': only available in JavaScript"
+#endif
+gTypeHTMLBaseElement = GType gTypeHTMLBaseElement'
+#else
+type IsHTMLBaseElement o = HTMLBaseElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLBaseFontElement = HTMLBaseFontElement (JSRef HTMLBaseFontElement)
+
+unHTMLBaseFontElement (HTMLBaseFontElement o) = o
+
+class IsHTMLElement o => IsHTMLBaseFontElement o
+toHTMLBaseFontElement :: IsHTMLBaseFontElement o => o -> HTMLBaseFontElement
+toHTMLBaseFontElement = unsafeCastGObject . toGObject
+
+instance IsHTMLBaseFontElement HTMLBaseFontElement
+instance IsHTMLElement HTMLBaseFontElement
+instance IsElement HTMLBaseFontElement
+instance IsNode HTMLBaseFontElement
+instance GObjectClass HTMLBaseFontElement where
+  toGObject = GObject . castRef . unHTMLBaseFontElement
+  unsafeCastGObject = HTMLBaseFontElement . castRef . unGObject
+
+castToHTMLBaseFontElement :: GObjectClass obj => obj -> HTMLBaseFontElement
+castToHTMLBaseFontElement = castTo gTypeHTMLBaseFontElement "HTMLBaseFontElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLBaseFontElement" gTypeHTMLBaseFontElement' :: JSRef GType
+#else
+gTypeHTMLBaseFontElement' = error "gTypeHTMLBaseFontElement': only available in JavaScript"
+#endif
+gTypeHTMLBaseFontElement = GType gTypeHTMLBaseFontElement'
+#else
+type IsHTMLBaseFontElement o = HTMLBaseFontElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLBodyElement = HTMLBodyElement (JSRef HTMLBodyElement)
+
+unHTMLBodyElement (HTMLBodyElement o) = o
+
+class IsHTMLElement o => IsHTMLBodyElement o
+toHTMLBodyElement :: IsHTMLBodyElement o => o -> HTMLBodyElement
+toHTMLBodyElement = unsafeCastGObject . toGObject
+
+instance IsHTMLBodyElement HTMLBodyElement
+instance IsHTMLElement HTMLBodyElement
+instance IsElement HTMLBodyElement
+instance IsNode HTMLBodyElement
+instance GObjectClass HTMLBodyElement where
+  toGObject = GObject . castRef . unHTMLBodyElement
+  unsafeCastGObject = HTMLBodyElement . castRef . unGObject
+
+castToHTMLBodyElement :: GObjectClass obj => obj -> HTMLBodyElement
+castToHTMLBodyElement = castTo gTypeHTMLBodyElement "HTMLBodyElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLBodyElement" gTypeHTMLBodyElement' :: JSRef GType
+#else
+gTypeHTMLBodyElement' = error "gTypeHTMLBodyElement': only available in JavaScript"
+#endif
+gTypeHTMLBodyElement = GType gTypeHTMLBodyElement'
+#else
+type IsHTMLBodyElement o = HTMLBodyElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLButtonElement = HTMLButtonElement (JSRef HTMLButtonElement)
+
+unHTMLButtonElement (HTMLButtonElement o) = o
+
+class IsHTMLElement o => IsHTMLButtonElement o
+toHTMLButtonElement :: IsHTMLButtonElement o => o -> HTMLButtonElement
+toHTMLButtonElement = unsafeCastGObject . toGObject
+
+instance IsHTMLButtonElement HTMLButtonElement
+instance IsHTMLElement HTMLButtonElement
+instance IsElement HTMLButtonElement
+instance IsNode HTMLButtonElement
+instance GObjectClass HTMLButtonElement where
+  toGObject = GObject . castRef . unHTMLButtonElement
+  unsafeCastGObject = HTMLButtonElement . castRef . unGObject
+
+castToHTMLButtonElement :: GObjectClass obj => obj -> HTMLButtonElement
+castToHTMLButtonElement = castTo gTypeHTMLButtonElement "HTMLButtonElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLButtonElement" gTypeHTMLButtonElement' :: JSRef GType
+#else
+gTypeHTMLButtonElement' = error "gTypeHTMLButtonElement': only available in JavaScript"
+#endif
+gTypeHTMLButtonElement = GType gTypeHTMLButtonElement'
+#else
+type IsHTMLButtonElement o = HTMLButtonElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLCanvasElement = HTMLCanvasElement (JSRef HTMLCanvasElement)
+
+unHTMLCanvasElement (HTMLCanvasElement o) = o
+
+class IsHTMLElement o => IsHTMLCanvasElement o
+toHTMLCanvasElement :: IsHTMLCanvasElement o => o -> HTMLCanvasElement
+toHTMLCanvasElement = unsafeCastGObject . toGObject
+
+instance IsHTMLCanvasElement HTMLCanvasElement
+instance IsHTMLElement HTMLCanvasElement
+instance IsElement HTMLCanvasElement
+instance IsNode HTMLCanvasElement
+instance GObjectClass HTMLCanvasElement where
+  toGObject = GObject . castRef . unHTMLCanvasElement
+  unsafeCastGObject = HTMLCanvasElement . castRef . unGObject
+
+castToHTMLCanvasElement :: GObjectClass obj => obj -> HTMLCanvasElement
+castToHTMLCanvasElement = castTo gTypeHTMLCanvasElement "HTMLCanvasElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLCanvasElement" gTypeHTMLCanvasElement' :: JSRef GType
+#else
+gTypeHTMLCanvasElement' = error "gTypeHTMLCanvasElement': only available in JavaScript"
+#endif
+gTypeHTMLCanvasElement = GType gTypeHTMLCanvasElement'
+#else
+type IsHTMLCanvasElement o = HTMLCanvasElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLCollection = HTMLCollection (JSRef HTMLCollection)
+
+unHTMLCollection (HTMLCollection o) = o
+
+class GObjectClass o => IsHTMLCollection o
+toHTMLCollection :: IsHTMLCollection o => o -> HTMLCollection
+toHTMLCollection = unsafeCastGObject . toGObject
+
+instance IsHTMLCollection HTMLCollection
+instance GObjectClass HTMLCollection where
+  toGObject = GObject . castRef . unHTMLCollection
+  unsafeCastGObject = HTMLCollection . castRef . unGObject
+
+castToHTMLCollection :: GObjectClass obj => obj -> HTMLCollection
+castToHTMLCollection = castTo gTypeHTMLCollection "HTMLCollection"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLCollection" gTypeHTMLCollection' :: JSRef GType
+#else
+gTypeHTMLCollection' = error "gTypeHTMLCollection': only available in JavaScript"
+#endif
+gTypeHTMLCollection = GType gTypeHTMLCollection'
+#else
+type IsHTMLCollection o = HTMLCollectionClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLDListElement = HTMLDListElement (JSRef HTMLDListElement)
+
+unHTMLDListElement (HTMLDListElement o) = o
+
+class IsHTMLElement o => IsHTMLDListElement o
+toHTMLDListElement :: IsHTMLDListElement o => o -> HTMLDListElement
+toHTMLDListElement = unsafeCastGObject . toGObject
+
+instance IsHTMLDListElement HTMLDListElement
+instance IsHTMLElement HTMLDListElement
+instance IsElement HTMLDListElement
+instance IsNode HTMLDListElement
+instance GObjectClass HTMLDListElement where
+  toGObject = GObject . castRef . unHTMLDListElement
+  unsafeCastGObject = HTMLDListElement . castRef . unGObject
+
+castToHTMLDListElement :: GObjectClass obj => obj -> HTMLDListElement
+castToHTMLDListElement = castTo gTypeHTMLDListElement "HTMLDListElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLDListElement" gTypeHTMLDListElement' :: JSRef GType
+#else
+gTypeHTMLDListElement' = error "gTypeHTMLDListElement': only available in JavaScript"
+#endif
+gTypeHTMLDListElement = GType gTypeHTMLDListElement'
+#else
+type IsHTMLDListElement o = HTMLDListElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLDetailsElement = HTMLDetailsElement (JSRef HTMLDetailsElement)
+
+unHTMLDetailsElement (HTMLDetailsElement o) = o
+
+class IsHTMLElement o => IsHTMLDetailsElement o
+toHTMLDetailsElement :: IsHTMLDetailsElement o => o -> HTMLDetailsElement
+toHTMLDetailsElement = unsafeCastGObject . toGObject
+
+instance IsHTMLDetailsElement HTMLDetailsElement
+instance IsHTMLElement HTMLDetailsElement
+instance IsElement HTMLDetailsElement
+instance IsNode HTMLDetailsElement
+instance GObjectClass HTMLDetailsElement where
+  toGObject = GObject . castRef . unHTMLDetailsElement
+  unsafeCastGObject = HTMLDetailsElement . castRef . unGObject
+
+castToHTMLDetailsElement :: GObjectClass obj => obj -> HTMLDetailsElement
+castToHTMLDetailsElement = castTo gTypeHTMLDetailsElement "HTMLDetailsElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLDetailsElement" gTypeHTMLDetailsElement' :: JSRef GType
+#else
+gTypeHTMLDetailsElement' = error "gTypeHTMLDetailsElement': only available in JavaScript"
+#endif
+gTypeHTMLDetailsElement = GType gTypeHTMLDetailsElement'
+#else
+type IsHTMLDetailsElement o = HTMLDetailsElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLDirectoryElement = HTMLDirectoryElement (JSRef HTMLDirectoryElement)
+
+unHTMLDirectoryElement (HTMLDirectoryElement o) = o
+
+class IsHTMLElement o => IsHTMLDirectoryElement o
+toHTMLDirectoryElement :: IsHTMLDirectoryElement o => o -> HTMLDirectoryElement
+toHTMLDirectoryElement = unsafeCastGObject . toGObject
+
+instance IsHTMLDirectoryElement HTMLDirectoryElement
+instance IsHTMLElement HTMLDirectoryElement
+instance IsElement HTMLDirectoryElement
+instance IsNode HTMLDirectoryElement
+instance GObjectClass HTMLDirectoryElement where
+  toGObject = GObject . castRef . unHTMLDirectoryElement
+  unsafeCastGObject = HTMLDirectoryElement . castRef . unGObject
+
+castToHTMLDirectoryElement :: GObjectClass obj => obj -> HTMLDirectoryElement
+castToHTMLDirectoryElement = castTo gTypeHTMLDirectoryElement "HTMLDirectoryElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLDirectoryElement" gTypeHTMLDirectoryElement' :: JSRef GType
+#else
+gTypeHTMLDirectoryElement' = error "gTypeHTMLDirectoryElement': only available in JavaScript"
+#endif
+gTypeHTMLDirectoryElement = GType gTypeHTMLDirectoryElement'
+#else
+type IsHTMLDirectoryElement o = HTMLDirectoryElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLDivElement = HTMLDivElement (JSRef HTMLDivElement)
+
+unHTMLDivElement (HTMLDivElement o) = o
+
+class IsHTMLElement o => IsHTMLDivElement o
+toHTMLDivElement :: IsHTMLDivElement o => o -> HTMLDivElement
+toHTMLDivElement = unsafeCastGObject . toGObject
+
+instance IsHTMLDivElement HTMLDivElement
+instance IsHTMLElement HTMLDivElement
+instance IsElement HTMLDivElement
+instance IsNode HTMLDivElement
+instance GObjectClass HTMLDivElement where
+  toGObject = GObject . castRef . unHTMLDivElement
+  unsafeCastGObject = HTMLDivElement . castRef . unGObject
+
+castToHTMLDivElement :: GObjectClass obj => obj -> HTMLDivElement
+castToHTMLDivElement = castTo gTypeHTMLDivElement "HTMLDivElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLDivElement" gTypeHTMLDivElement' :: JSRef GType
+#else
+gTypeHTMLDivElement' = error "gTypeHTMLDivElement': only available in JavaScript"
+#endif
+gTypeHTMLDivElement = GType gTypeHTMLDivElement'
+#else
+type IsHTMLDivElement o = HTMLDivElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLDocument = HTMLDocument (JSRef HTMLDocument)
+
+unHTMLDocument (HTMLDocument o) = o
+
+class IsDocument o => IsHTMLDocument o
+toHTMLDocument :: IsHTMLDocument o => o -> HTMLDocument
+toHTMLDocument = unsafeCastGObject . toGObject
+
+instance IsHTMLDocument HTMLDocument
+instance IsDocument HTMLDocument
+instance IsNode HTMLDocument
+instance GObjectClass HTMLDocument where
+  toGObject = GObject . castRef . unHTMLDocument
+  unsafeCastGObject = HTMLDocument . castRef . unGObject
+
+castToHTMLDocument :: GObjectClass obj => obj -> HTMLDocument
+castToHTMLDocument = castTo gTypeHTMLDocument "HTMLDocument"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLDocument" gTypeHTMLDocument' :: JSRef GType
+#else
+gTypeHTMLDocument' = error "gTypeHTMLDocument': only available in JavaScript"
+#endif
+gTypeHTMLDocument = GType gTypeHTMLDocument'
+#else
+type IsHTMLDocument o = HTMLDocumentClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLElement = HTMLElement (JSRef HTMLElement)
+
+unHTMLElement (HTMLElement o) = o
+
+class IsElement o => IsHTMLElement o
+toHTMLElement :: IsHTMLElement o => o -> HTMLElement
+toHTMLElement = unsafeCastGObject . toGObject
+
+instance IsHTMLElement HTMLElement
+instance IsElement HTMLElement
+instance IsNode HTMLElement
+instance GObjectClass HTMLElement where
+  toGObject = GObject . castRef . unHTMLElement
+  unsafeCastGObject = HTMLElement . castRef . unGObject
+
+castToHTMLElement :: GObjectClass obj => obj -> HTMLElement
+castToHTMLElement = castTo gTypeHTMLElement "HTMLElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLElement" gTypeHTMLElement' :: JSRef GType
+#else
+gTypeHTMLElement' = error "gTypeHTMLElement': only available in JavaScript"
+#endif
+gTypeHTMLElement = GType gTypeHTMLElement'
+#else
+type IsHTMLElement o = HTMLElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLEmbedElement = HTMLEmbedElement (JSRef HTMLEmbedElement)
+
+unHTMLEmbedElement (HTMLEmbedElement o) = o
+
+class IsHTMLElement o => IsHTMLEmbedElement o
+toHTMLEmbedElement :: IsHTMLEmbedElement o => o -> HTMLEmbedElement
+toHTMLEmbedElement = unsafeCastGObject . toGObject
+
+instance IsHTMLEmbedElement HTMLEmbedElement
+instance IsHTMLElement HTMLEmbedElement
+instance IsElement HTMLEmbedElement
+instance IsNode HTMLEmbedElement
+instance GObjectClass HTMLEmbedElement where
+  toGObject = GObject . castRef . unHTMLEmbedElement
+  unsafeCastGObject = HTMLEmbedElement . castRef . unGObject
+
+castToHTMLEmbedElement :: GObjectClass obj => obj -> HTMLEmbedElement
+castToHTMLEmbedElement = castTo gTypeHTMLEmbedElement "HTMLEmbedElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLEmbedElement" gTypeHTMLEmbedElement' :: JSRef GType
+#else
+gTypeHTMLEmbedElement' = error "gTypeHTMLEmbedElement': only available in JavaScript"
+#endif
+gTypeHTMLEmbedElement = GType gTypeHTMLEmbedElement'
+#else
+type IsHTMLEmbedElement o = HTMLEmbedElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLFieldSetElement = HTMLFieldSetElement (JSRef HTMLFieldSetElement)
+
+unHTMLFieldSetElement (HTMLFieldSetElement o) = o
+
+class IsHTMLElement o => IsHTMLFieldSetElement o
+toHTMLFieldSetElement :: IsHTMLFieldSetElement o => o -> HTMLFieldSetElement
+toHTMLFieldSetElement = unsafeCastGObject . toGObject
+
+instance IsHTMLFieldSetElement HTMLFieldSetElement
+instance IsHTMLElement HTMLFieldSetElement
+instance IsElement HTMLFieldSetElement
+instance IsNode HTMLFieldSetElement
+instance GObjectClass HTMLFieldSetElement where
+  toGObject = GObject . castRef . unHTMLFieldSetElement
+  unsafeCastGObject = HTMLFieldSetElement . castRef . unGObject
+
+castToHTMLFieldSetElement :: GObjectClass obj => obj -> HTMLFieldSetElement
+castToHTMLFieldSetElement = castTo gTypeHTMLFieldSetElement "HTMLFieldSetElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLFieldSetElement" gTypeHTMLFieldSetElement' :: JSRef GType
+#else
+gTypeHTMLFieldSetElement' = error "gTypeHTMLFieldSetElement': only available in JavaScript"
+#endif
+gTypeHTMLFieldSetElement = GType gTypeHTMLFieldSetElement'
+#else
+type IsHTMLFieldSetElement o = HTMLFieldSetElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLFontElement = HTMLFontElement (JSRef HTMLFontElement)
+
+unHTMLFontElement (HTMLFontElement o) = o
+
+class IsHTMLElement o => IsHTMLFontElement o
+toHTMLFontElement :: IsHTMLFontElement o => o -> HTMLFontElement
+toHTMLFontElement = unsafeCastGObject . toGObject
+
+instance IsHTMLFontElement HTMLFontElement
+instance IsHTMLElement HTMLFontElement
+instance IsElement HTMLFontElement
+instance IsNode HTMLFontElement
+instance GObjectClass HTMLFontElement where
+  toGObject = GObject . castRef . unHTMLFontElement
+  unsafeCastGObject = HTMLFontElement . castRef . unGObject
+
+castToHTMLFontElement :: GObjectClass obj => obj -> HTMLFontElement
+castToHTMLFontElement = castTo gTypeHTMLFontElement "HTMLFontElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLFontElement" gTypeHTMLFontElement' :: JSRef GType
+#else
+gTypeHTMLFontElement' = error "gTypeHTMLFontElement': only available in JavaScript"
+#endif
+gTypeHTMLFontElement = GType gTypeHTMLFontElement'
+#else
+type IsHTMLFontElement o = HTMLFontElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLFormElement = HTMLFormElement (JSRef HTMLFormElement)
+
+unHTMLFormElement (HTMLFormElement o) = o
+
+class IsHTMLElement o => IsHTMLFormElement o
+toHTMLFormElement :: IsHTMLFormElement o => o -> HTMLFormElement
+toHTMLFormElement = unsafeCastGObject . toGObject
+
+instance IsHTMLFormElement HTMLFormElement
+instance IsHTMLElement HTMLFormElement
+instance IsElement HTMLFormElement
+instance IsNode HTMLFormElement
+instance GObjectClass HTMLFormElement where
+  toGObject = GObject . castRef . unHTMLFormElement
+  unsafeCastGObject = HTMLFormElement . castRef . unGObject
+
+castToHTMLFormElement :: GObjectClass obj => obj -> HTMLFormElement
+castToHTMLFormElement = castTo gTypeHTMLFormElement "HTMLFormElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLFormElement" gTypeHTMLFormElement' :: JSRef GType
+#else
+gTypeHTMLFormElement' = error "gTypeHTMLFormElement': only available in JavaScript"
+#endif
+gTypeHTMLFormElement = GType gTypeHTMLFormElement'
+#else
+type IsHTMLFormElement o = HTMLFormElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLFrameElement = HTMLFrameElement (JSRef HTMLFrameElement)
+
+unHTMLFrameElement (HTMLFrameElement o) = o
+
+class IsHTMLElement o => IsHTMLFrameElement o
+toHTMLFrameElement :: IsHTMLFrameElement o => o -> HTMLFrameElement
+toHTMLFrameElement = unsafeCastGObject . toGObject
+
+instance IsHTMLFrameElement HTMLFrameElement
+instance IsHTMLElement HTMLFrameElement
+instance IsElement HTMLFrameElement
+instance IsNode HTMLFrameElement
+instance GObjectClass HTMLFrameElement where
+  toGObject = GObject . castRef . unHTMLFrameElement
+  unsafeCastGObject = HTMLFrameElement . castRef . unGObject
+
+castToHTMLFrameElement :: GObjectClass obj => obj -> HTMLFrameElement
+castToHTMLFrameElement = castTo gTypeHTMLFrameElement "HTMLFrameElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLFrameElement" gTypeHTMLFrameElement' :: JSRef GType
+#else
+gTypeHTMLFrameElement' = error "gTypeHTMLFrameElement': only available in JavaScript"
+#endif
+gTypeHTMLFrameElement = GType gTypeHTMLFrameElement'
+#else
+type IsHTMLFrameElement o = HTMLFrameElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLFrameSetElement = HTMLFrameSetElement (JSRef HTMLFrameSetElement)
+
+unHTMLFrameSetElement (HTMLFrameSetElement o) = o
+
+class IsHTMLElement o => IsHTMLFrameSetElement o
+toHTMLFrameSetElement :: IsHTMLFrameSetElement o => o -> HTMLFrameSetElement
+toHTMLFrameSetElement = unsafeCastGObject . toGObject
+
+instance IsHTMLFrameSetElement HTMLFrameSetElement
+instance IsHTMLElement HTMLFrameSetElement
+instance IsElement HTMLFrameSetElement
+instance IsNode HTMLFrameSetElement
+instance GObjectClass HTMLFrameSetElement where
+  toGObject = GObject . castRef . unHTMLFrameSetElement
+  unsafeCastGObject = HTMLFrameSetElement . castRef . unGObject
+
+castToHTMLFrameSetElement :: GObjectClass obj => obj -> HTMLFrameSetElement
+castToHTMLFrameSetElement = castTo gTypeHTMLFrameSetElement "HTMLFrameSetElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLFrameSetElement" gTypeHTMLFrameSetElement' :: JSRef GType
+#else
+gTypeHTMLFrameSetElement' = error "gTypeHTMLFrameSetElement': only available in JavaScript"
+#endif
+gTypeHTMLFrameSetElement = GType gTypeHTMLFrameSetElement'
+#else
+type IsHTMLFrameSetElement o = HTMLFrameSetElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLHRElement = HTMLHRElement (JSRef HTMLHRElement)
+
+unHTMLHRElement (HTMLHRElement o) = o
+
+class IsHTMLElement o => IsHTMLHRElement o
+toHTMLHRElement :: IsHTMLHRElement o => o -> HTMLHRElement
+toHTMLHRElement = unsafeCastGObject . toGObject
+
+instance IsHTMLHRElement HTMLHRElement
+instance IsHTMLElement HTMLHRElement
+instance IsElement HTMLHRElement
+instance IsNode HTMLHRElement
+instance GObjectClass HTMLHRElement where
+  toGObject = GObject . castRef . unHTMLHRElement
+  unsafeCastGObject = HTMLHRElement . castRef . unGObject
+
+castToHTMLHRElement :: GObjectClass obj => obj -> HTMLHRElement
+castToHTMLHRElement = castTo gTypeHTMLHRElement "HTMLHRElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLHRElement" gTypeHTMLHRElement' :: JSRef GType
+#else
+gTypeHTMLHRElement' = error "gTypeHTMLHRElement': only available in JavaScript"
+#endif
+gTypeHTMLHRElement = GType gTypeHTMLHRElement'
+#else
+type IsHTMLHRElement o = HTMLHRElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLHeadElement = HTMLHeadElement (JSRef HTMLHeadElement)
+
+unHTMLHeadElement (HTMLHeadElement o) = o
+
+class IsHTMLElement o => IsHTMLHeadElement o
+toHTMLHeadElement :: IsHTMLHeadElement o => o -> HTMLHeadElement
+toHTMLHeadElement = unsafeCastGObject . toGObject
+
+instance IsHTMLHeadElement HTMLHeadElement
+instance IsHTMLElement HTMLHeadElement
+instance IsElement HTMLHeadElement
+instance IsNode HTMLHeadElement
+instance GObjectClass HTMLHeadElement where
+  toGObject = GObject . castRef . unHTMLHeadElement
+  unsafeCastGObject = HTMLHeadElement . castRef . unGObject
+
+castToHTMLHeadElement :: GObjectClass obj => obj -> HTMLHeadElement
+castToHTMLHeadElement = castTo gTypeHTMLHeadElement "HTMLHeadElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLHeadElement" gTypeHTMLHeadElement' :: JSRef GType
+#else
+gTypeHTMLHeadElement' = error "gTypeHTMLHeadElement': only available in JavaScript"
+#endif
+gTypeHTMLHeadElement = GType gTypeHTMLHeadElement'
+#else
+type IsHTMLHeadElement o = HTMLHeadElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLHeadingElement = HTMLHeadingElement (JSRef HTMLHeadingElement)
+
+unHTMLHeadingElement (HTMLHeadingElement o) = o
+
+class IsHTMLElement o => IsHTMLHeadingElement o
+toHTMLHeadingElement :: IsHTMLHeadingElement o => o -> HTMLHeadingElement
+toHTMLHeadingElement = unsafeCastGObject . toGObject
+
+instance IsHTMLHeadingElement HTMLHeadingElement
+instance IsHTMLElement HTMLHeadingElement
+instance IsElement HTMLHeadingElement
+instance IsNode HTMLHeadingElement
+instance GObjectClass HTMLHeadingElement where
+  toGObject = GObject . castRef . unHTMLHeadingElement
+  unsafeCastGObject = HTMLHeadingElement . castRef . unGObject
+
+castToHTMLHeadingElement :: GObjectClass obj => obj -> HTMLHeadingElement
+castToHTMLHeadingElement = castTo gTypeHTMLHeadingElement "HTMLHeadingElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLHeadingElement" gTypeHTMLHeadingElement' :: JSRef GType
+#else
+gTypeHTMLHeadingElement' = error "gTypeHTMLHeadingElement': only available in JavaScript"
+#endif
+gTypeHTMLHeadingElement = GType gTypeHTMLHeadingElement'
+#else
+type IsHTMLHeadingElement o = HTMLHeadingElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLHtmlElement = HTMLHtmlElement (JSRef HTMLHtmlElement)
+
+unHTMLHtmlElement (HTMLHtmlElement o) = o
+
+class IsHTMLElement o => IsHTMLHtmlElement o
+toHTMLHtmlElement :: IsHTMLHtmlElement o => o -> HTMLHtmlElement
+toHTMLHtmlElement = unsafeCastGObject . toGObject
+
+instance IsHTMLHtmlElement HTMLHtmlElement
+instance IsHTMLElement HTMLHtmlElement
+instance IsElement HTMLHtmlElement
+instance IsNode HTMLHtmlElement
+instance GObjectClass HTMLHtmlElement where
+  toGObject = GObject . castRef . unHTMLHtmlElement
+  unsafeCastGObject = HTMLHtmlElement . castRef . unGObject
+
+castToHTMLHtmlElement :: GObjectClass obj => obj -> HTMLHtmlElement
+castToHTMLHtmlElement = castTo gTypeHTMLHtmlElement "HTMLHtmlElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLHtmlElement" gTypeHTMLHtmlElement' :: JSRef GType
+#else
+gTypeHTMLHtmlElement' = error "gTypeHTMLHtmlElement': only available in JavaScript"
+#endif
+gTypeHTMLHtmlElement = GType gTypeHTMLHtmlElement'
+#else
+type IsHTMLHtmlElement o = HTMLHtmlElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLIFrameElement = HTMLIFrameElement (JSRef HTMLIFrameElement)
+
+unHTMLIFrameElement (HTMLIFrameElement o) = o
+
+class IsHTMLElement o => IsHTMLIFrameElement o
+toHTMLIFrameElement :: IsHTMLIFrameElement o => o -> HTMLIFrameElement
+toHTMLIFrameElement = unsafeCastGObject . toGObject
+
+instance IsHTMLIFrameElement HTMLIFrameElement
+instance IsHTMLElement HTMLIFrameElement
+instance IsElement HTMLIFrameElement
+instance IsNode HTMLIFrameElement
+instance GObjectClass HTMLIFrameElement where
+  toGObject = GObject . castRef . unHTMLIFrameElement
+  unsafeCastGObject = HTMLIFrameElement . castRef . unGObject
+
+castToHTMLIFrameElement :: GObjectClass obj => obj -> HTMLIFrameElement
+castToHTMLIFrameElement = castTo gTypeHTMLIFrameElement "HTMLIFrameElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLIFrameElement" gTypeHTMLIFrameElement' :: JSRef GType
+#else
+gTypeHTMLIFrameElement' = error "gTypeHTMLIFrameElement': only available in JavaScript"
+#endif
+gTypeHTMLIFrameElement = GType gTypeHTMLIFrameElement'
+#else
+type IsHTMLIFrameElement o = HTMLIFrameElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLImageElement = HTMLImageElement (JSRef HTMLImageElement)
+
+unHTMLImageElement (HTMLImageElement o) = o
+
+class IsHTMLElement o => IsHTMLImageElement o
+toHTMLImageElement :: IsHTMLImageElement o => o -> HTMLImageElement
+toHTMLImageElement = unsafeCastGObject . toGObject
+
+instance IsHTMLImageElement HTMLImageElement
+instance IsHTMLElement HTMLImageElement
+instance IsElement HTMLImageElement
+instance IsNode HTMLImageElement
+instance GObjectClass HTMLImageElement where
+  toGObject = GObject . castRef . unHTMLImageElement
+  unsafeCastGObject = HTMLImageElement . castRef . unGObject
+
+castToHTMLImageElement :: GObjectClass obj => obj -> HTMLImageElement
+castToHTMLImageElement = castTo gTypeHTMLImageElement "HTMLImageElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLImageElement" gTypeHTMLImageElement' :: JSRef GType
+#else
+gTypeHTMLImageElement' = error "gTypeHTMLImageElement': only available in JavaScript"
+#endif
+gTypeHTMLImageElement = GType gTypeHTMLImageElement'
+#else
+type IsHTMLImageElement o = HTMLImageElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLInputElement = HTMLInputElement (JSRef HTMLInputElement)
+
+unHTMLInputElement (HTMLInputElement o) = o
+
+class IsHTMLElement o => IsHTMLInputElement o
+toHTMLInputElement :: IsHTMLInputElement o => o -> HTMLInputElement
+toHTMLInputElement = unsafeCastGObject . toGObject
+
+instance IsHTMLInputElement HTMLInputElement
+instance IsHTMLElement HTMLInputElement
+instance IsElement HTMLInputElement
+instance IsNode HTMLInputElement
+instance GObjectClass HTMLInputElement where
+  toGObject = GObject . castRef . unHTMLInputElement
+  unsafeCastGObject = HTMLInputElement . castRef . unGObject
+
+castToHTMLInputElement :: GObjectClass obj => obj -> HTMLInputElement
+castToHTMLInputElement = castTo gTypeHTMLInputElement "HTMLInputElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLInputElement" gTypeHTMLInputElement' :: JSRef GType
+#else
+gTypeHTMLInputElement' = error "gTypeHTMLInputElement': only available in JavaScript"
+#endif
+gTypeHTMLInputElement = GType gTypeHTMLInputElement'
+#else
+type IsHTMLInputElement o = HTMLInputElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLKeygenElement = HTMLKeygenElement (JSRef HTMLKeygenElement)
+
+unHTMLKeygenElement (HTMLKeygenElement o) = o
+
+class IsHTMLElement o => IsHTMLKeygenElement o
+toHTMLKeygenElement :: IsHTMLKeygenElement o => o -> HTMLKeygenElement
+toHTMLKeygenElement = unsafeCastGObject . toGObject
+
+instance IsHTMLKeygenElement HTMLKeygenElement
+instance IsHTMLElement HTMLKeygenElement
+instance IsElement HTMLKeygenElement
+instance IsNode HTMLKeygenElement
+instance GObjectClass HTMLKeygenElement where
+  toGObject = GObject . castRef . unHTMLKeygenElement
+  unsafeCastGObject = HTMLKeygenElement . castRef . unGObject
+
+castToHTMLKeygenElement :: GObjectClass obj => obj -> HTMLKeygenElement
+castToHTMLKeygenElement = castTo gTypeHTMLKeygenElement "HTMLKeygenElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLKeygenElement" gTypeHTMLKeygenElement' :: JSRef GType
+#else
+gTypeHTMLKeygenElement' = error "gTypeHTMLKeygenElement': only available in JavaScript"
+#endif
+gTypeHTMLKeygenElement = GType gTypeHTMLKeygenElement'
+#else
+type IsHTMLKeygenElement o = HTMLKeygenElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLLIElement = HTMLLIElement (JSRef HTMLLIElement)
+
+unHTMLLIElement (HTMLLIElement o) = o
+
+class IsHTMLElement o => IsHTMLLIElement o
+toHTMLLIElement :: IsHTMLLIElement o => o -> HTMLLIElement
+toHTMLLIElement = unsafeCastGObject . toGObject
+
+instance IsHTMLLIElement HTMLLIElement
+instance IsHTMLElement HTMLLIElement
+instance IsElement HTMLLIElement
+instance IsNode HTMLLIElement
+instance GObjectClass HTMLLIElement where
+  toGObject = GObject . castRef . unHTMLLIElement
+  unsafeCastGObject = HTMLLIElement . castRef . unGObject
+
+castToHTMLLIElement :: GObjectClass obj => obj -> HTMLLIElement
+castToHTMLLIElement = castTo gTypeHTMLLIElement "HTMLLIElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLLIElement" gTypeHTMLLIElement' :: JSRef GType
+#else
+gTypeHTMLLIElement' = error "gTypeHTMLLIElement': only available in JavaScript"
+#endif
+gTypeHTMLLIElement = GType gTypeHTMLLIElement'
+#else
+type IsHTMLLIElement o = HTMLLIElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLLabelElement = HTMLLabelElement (JSRef HTMLLabelElement)
+
+unHTMLLabelElement (HTMLLabelElement o) = o
+
+class IsHTMLElement o => IsHTMLLabelElement o
+toHTMLLabelElement :: IsHTMLLabelElement o => o -> HTMLLabelElement
+toHTMLLabelElement = unsafeCastGObject . toGObject
+
+instance IsHTMLLabelElement HTMLLabelElement
+instance IsHTMLElement HTMLLabelElement
+instance IsElement HTMLLabelElement
+instance IsNode HTMLLabelElement
+instance GObjectClass HTMLLabelElement where
+  toGObject = GObject . castRef . unHTMLLabelElement
+  unsafeCastGObject = HTMLLabelElement . castRef . unGObject
+
+castToHTMLLabelElement :: GObjectClass obj => obj -> HTMLLabelElement
+castToHTMLLabelElement = castTo gTypeHTMLLabelElement "HTMLLabelElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLLabelElement" gTypeHTMLLabelElement' :: JSRef GType
+#else
+gTypeHTMLLabelElement' = error "gTypeHTMLLabelElement': only available in JavaScript"
+#endif
+gTypeHTMLLabelElement = GType gTypeHTMLLabelElement'
+#else
+type IsHTMLLabelElement o = HTMLLabelElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLLegendElement = HTMLLegendElement (JSRef HTMLLegendElement)
+
+unHTMLLegendElement (HTMLLegendElement o) = o
+
+class IsHTMLElement o => IsHTMLLegendElement o
+toHTMLLegendElement :: IsHTMLLegendElement o => o -> HTMLLegendElement
+toHTMLLegendElement = unsafeCastGObject . toGObject
+
+instance IsHTMLLegendElement HTMLLegendElement
+instance IsHTMLElement HTMLLegendElement
+instance IsElement HTMLLegendElement
+instance IsNode HTMLLegendElement
+instance GObjectClass HTMLLegendElement where
+  toGObject = GObject . castRef . unHTMLLegendElement
+  unsafeCastGObject = HTMLLegendElement . castRef . unGObject
+
+castToHTMLLegendElement :: GObjectClass obj => obj -> HTMLLegendElement
+castToHTMLLegendElement = castTo gTypeHTMLLegendElement "HTMLLegendElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLLegendElement" gTypeHTMLLegendElement' :: JSRef GType
+#else
+gTypeHTMLLegendElement' = error "gTypeHTMLLegendElement': only available in JavaScript"
+#endif
+gTypeHTMLLegendElement = GType gTypeHTMLLegendElement'
+#else
+type IsHTMLLegendElement o = HTMLLegendElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLLinkElement = HTMLLinkElement (JSRef HTMLLinkElement)
+
+unHTMLLinkElement (HTMLLinkElement o) = o
+
+class IsHTMLElement o => IsHTMLLinkElement o
+toHTMLLinkElement :: IsHTMLLinkElement o => o -> HTMLLinkElement
+toHTMLLinkElement = unsafeCastGObject . toGObject
+
+instance IsHTMLLinkElement HTMLLinkElement
+instance IsHTMLElement HTMLLinkElement
+instance IsElement HTMLLinkElement
+instance IsNode HTMLLinkElement
+instance GObjectClass HTMLLinkElement where
+  toGObject = GObject . castRef . unHTMLLinkElement
+  unsafeCastGObject = HTMLLinkElement . castRef . unGObject
+
+castToHTMLLinkElement :: GObjectClass obj => obj -> HTMLLinkElement
+castToHTMLLinkElement = castTo gTypeHTMLLinkElement "HTMLLinkElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLLinkElement" gTypeHTMLLinkElement' :: JSRef GType
+#else
+gTypeHTMLLinkElement' = error "gTypeHTMLLinkElement': only available in JavaScript"
+#endif
+gTypeHTMLLinkElement = GType gTypeHTMLLinkElement'
+#else
+type IsHTMLLinkElement o = HTMLLinkElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLMapElement = HTMLMapElement (JSRef HTMLMapElement)
+
+unHTMLMapElement (HTMLMapElement o) = o
+
+class IsHTMLElement o => IsHTMLMapElement o
+toHTMLMapElement :: IsHTMLMapElement o => o -> HTMLMapElement
+toHTMLMapElement = unsafeCastGObject . toGObject
+
+instance IsHTMLMapElement HTMLMapElement
+instance IsHTMLElement HTMLMapElement
+instance IsElement HTMLMapElement
+instance IsNode HTMLMapElement
+instance GObjectClass HTMLMapElement where
+  toGObject = GObject . castRef . unHTMLMapElement
+  unsafeCastGObject = HTMLMapElement . castRef . unGObject
+
+castToHTMLMapElement :: GObjectClass obj => obj -> HTMLMapElement
+castToHTMLMapElement = castTo gTypeHTMLMapElement "HTMLMapElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLMapElement" gTypeHTMLMapElement' :: JSRef GType
+#else
+gTypeHTMLMapElement' = error "gTypeHTMLMapElement': only available in JavaScript"
+#endif
+gTypeHTMLMapElement = GType gTypeHTMLMapElement'
+#else
+type IsHTMLMapElement o = HTMLMapElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLMarqueeElement = HTMLMarqueeElement (JSRef HTMLMarqueeElement)
+
+unHTMLMarqueeElement (HTMLMarqueeElement o) = o
+
+class IsHTMLElement o => IsHTMLMarqueeElement o
+toHTMLMarqueeElement :: IsHTMLMarqueeElement o => o -> HTMLMarqueeElement
+toHTMLMarqueeElement = unsafeCastGObject . toGObject
+
+instance IsHTMLMarqueeElement HTMLMarqueeElement
+instance IsHTMLElement HTMLMarqueeElement
+instance IsElement HTMLMarqueeElement
+instance IsNode HTMLMarqueeElement
+instance GObjectClass HTMLMarqueeElement where
+  toGObject = GObject . castRef . unHTMLMarqueeElement
+  unsafeCastGObject = HTMLMarqueeElement . castRef . unGObject
+
+castToHTMLMarqueeElement :: GObjectClass obj => obj -> HTMLMarqueeElement
+castToHTMLMarqueeElement = castTo gTypeHTMLMarqueeElement "HTMLMarqueeElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLMarqueeElement" gTypeHTMLMarqueeElement' :: JSRef GType
+#else
+gTypeHTMLMarqueeElement' = error "gTypeHTMLMarqueeElement': only available in JavaScript"
+#endif
+gTypeHTMLMarqueeElement = GType gTypeHTMLMarqueeElement'
+#else
+type IsHTMLMarqueeElement o = HTMLMarqueeElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLMediaElement = HTMLMediaElement (JSRef HTMLMediaElement)
+
+unHTMLMediaElement (HTMLMediaElement o) = o
+
+class IsHTMLElement o => IsHTMLMediaElement o
+toHTMLMediaElement :: IsHTMLMediaElement o => o -> HTMLMediaElement
+toHTMLMediaElement = unsafeCastGObject . toGObject
+
+instance IsHTMLMediaElement HTMLMediaElement
+instance IsHTMLElement HTMLMediaElement
+instance IsElement HTMLMediaElement
+instance IsNode HTMLMediaElement
+instance GObjectClass HTMLMediaElement where
+  toGObject = GObject . castRef . unHTMLMediaElement
+  unsafeCastGObject = HTMLMediaElement . castRef . unGObject
+
+castToHTMLMediaElement :: GObjectClass obj => obj -> HTMLMediaElement
+castToHTMLMediaElement = castTo gTypeHTMLMediaElement "HTMLMediaElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLMediaElement" gTypeHTMLMediaElement' :: JSRef GType
+#else
+gTypeHTMLMediaElement' = error "gTypeHTMLMediaElement': only available in JavaScript"
+#endif
+gTypeHTMLMediaElement = GType gTypeHTMLMediaElement'
+#else
+type IsHTMLMediaElement o = HTMLMediaElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLMenuElement = HTMLMenuElement (JSRef HTMLMenuElement)
+
+unHTMLMenuElement (HTMLMenuElement o) = o
+
+class IsHTMLElement o => IsHTMLMenuElement o
+toHTMLMenuElement :: IsHTMLMenuElement o => o -> HTMLMenuElement
+toHTMLMenuElement = unsafeCastGObject . toGObject
+
+instance IsHTMLMenuElement HTMLMenuElement
+instance IsHTMLElement HTMLMenuElement
+instance IsElement HTMLMenuElement
+instance IsNode HTMLMenuElement
+instance GObjectClass HTMLMenuElement where
+  toGObject = GObject . castRef . unHTMLMenuElement
+  unsafeCastGObject = HTMLMenuElement . castRef . unGObject
+
+castToHTMLMenuElement :: GObjectClass obj => obj -> HTMLMenuElement
+castToHTMLMenuElement = castTo gTypeHTMLMenuElement "HTMLMenuElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLMenuElement" gTypeHTMLMenuElement' :: JSRef GType
+#else
+gTypeHTMLMenuElement' = error "gTypeHTMLMenuElement': only available in JavaScript"
+#endif
+gTypeHTMLMenuElement = GType gTypeHTMLMenuElement'
+#else
+type IsHTMLMenuElement o = HTMLMenuElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLMetaElement = HTMLMetaElement (JSRef HTMLMetaElement)
+
+unHTMLMetaElement (HTMLMetaElement o) = o
+
+class IsHTMLElement o => IsHTMLMetaElement o
+toHTMLMetaElement :: IsHTMLMetaElement o => o -> HTMLMetaElement
+toHTMLMetaElement = unsafeCastGObject . toGObject
+
+instance IsHTMLMetaElement HTMLMetaElement
+instance IsHTMLElement HTMLMetaElement
+instance IsElement HTMLMetaElement
+instance IsNode HTMLMetaElement
+instance GObjectClass HTMLMetaElement where
+  toGObject = GObject . castRef . unHTMLMetaElement
+  unsafeCastGObject = HTMLMetaElement . castRef . unGObject
+
+castToHTMLMetaElement :: GObjectClass obj => obj -> HTMLMetaElement
+castToHTMLMetaElement = castTo gTypeHTMLMetaElement "HTMLMetaElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLMetaElement" gTypeHTMLMetaElement' :: JSRef GType
+#else
+gTypeHTMLMetaElement' = error "gTypeHTMLMetaElement': only available in JavaScript"
+#endif
+gTypeHTMLMetaElement = GType gTypeHTMLMetaElement'
+#else
+type IsHTMLMetaElement o = HTMLMetaElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLModElement = HTMLModElement (JSRef HTMLModElement)
+
+unHTMLModElement (HTMLModElement o) = o
+
+class IsHTMLElement o => IsHTMLModElement o
+toHTMLModElement :: IsHTMLModElement o => o -> HTMLModElement
+toHTMLModElement = unsafeCastGObject . toGObject
+
+instance IsHTMLModElement HTMLModElement
+instance IsHTMLElement HTMLModElement
+instance IsElement HTMLModElement
+instance IsNode HTMLModElement
+instance GObjectClass HTMLModElement where
+  toGObject = GObject . castRef . unHTMLModElement
+  unsafeCastGObject = HTMLModElement . castRef . unGObject
+
+castToHTMLModElement :: GObjectClass obj => obj -> HTMLModElement
+castToHTMLModElement = castTo gTypeHTMLModElement "HTMLModElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLModElement" gTypeHTMLModElement' :: JSRef GType
+#else
+gTypeHTMLModElement' = error "gTypeHTMLModElement': only available in JavaScript"
+#endif
+gTypeHTMLModElement = GType gTypeHTMLModElement'
+#else
+type IsHTMLModElement o = HTMLModElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLOListElement = HTMLOListElement (JSRef HTMLOListElement)
+
+unHTMLOListElement (HTMLOListElement o) = o
+
+class IsHTMLElement o => IsHTMLOListElement o
+toHTMLOListElement :: IsHTMLOListElement o => o -> HTMLOListElement
+toHTMLOListElement = unsafeCastGObject . toGObject
+
+instance IsHTMLOListElement HTMLOListElement
+instance IsHTMLElement HTMLOListElement
+instance IsElement HTMLOListElement
+instance IsNode HTMLOListElement
+instance GObjectClass HTMLOListElement where
+  toGObject = GObject . castRef . unHTMLOListElement
+  unsafeCastGObject = HTMLOListElement . castRef . unGObject
+
+castToHTMLOListElement :: GObjectClass obj => obj -> HTMLOListElement
+castToHTMLOListElement = castTo gTypeHTMLOListElement "HTMLOListElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLOListElement" gTypeHTMLOListElement' :: JSRef GType
+#else
+gTypeHTMLOListElement' = error "gTypeHTMLOListElement': only available in JavaScript"
+#endif
+gTypeHTMLOListElement = GType gTypeHTMLOListElement'
+#else
+type IsHTMLOListElement o = HTMLOListElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLObjectElement = HTMLObjectElement (JSRef HTMLObjectElement)
+
+unHTMLObjectElement (HTMLObjectElement o) = o
+
+class IsHTMLElement o => IsHTMLObjectElement o
+toHTMLObjectElement :: IsHTMLObjectElement o => o -> HTMLObjectElement
+toHTMLObjectElement = unsafeCastGObject . toGObject
+
+instance IsHTMLObjectElement HTMLObjectElement
+instance IsHTMLElement HTMLObjectElement
+instance IsElement HTMLObjectElement
+instance IsNode HTMLObjectElement
+instance GObjectClass HTMLObjectElement where
+  toGObject = GObject . castRef . unHTMLObjectElement
+  unsafeCastGObject = HTMLObjectElement . castRef . unGObject
+
+castToHTMLObjectElement :: GObjectClass obj => obj -> HTMLObjectElement
+castToHTMLObjectElement = castTo gTypeHTMLObjectElement "HTMLObjectElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLObjectElement" gTypeHTMLObjectElement' :: JSRef GType
+#else
+gTypeHTMLObjectElement' = error "gTypeHTMLObjectElement': only available in JavaScript"
+#endif
+gTypeHTMLObjectElement = GType gTypeHTMLObjectElement'
+#else
+type IsHTMLObjectElement o = HTMLObjectElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLOptGroupElement = HTMLOptGroupElement (JSRef HTMLOptGroupElement)
+
+unHTMLOptGroupElement (HTMLOptGroupElement o) = o
+
+class IsHTMLElement o => IsHTMLOptGroupElement o
+toHTMLOptGroupElement :: IsHTMLOptGroupElement o => o -> HTMLOptGroupElement
+toHTMLOptGroupElement = unsafeCastGObject . toGObject
+
+instance IsHTMLOptGroupElement HTMLOptGroupElement
+instance IsHTMLElement HTMLOptGroupElement
+instance IsElement HTMLOptGroupElement
+instance IsNode HTMLOptGroupElement
+instance GObjectClass HTMLOptGroupElement where
+  toGObject = GObject . castRef . unHTMLOptGroupElement
+  unsafeCastGObject = HTMLOptGroupElement . castRef . unGObject
+
+castToHTMLOptGroupElement :: GObjectClass obj => obj -> HTMLOptGroupElement
+castToHTMLOptGroupElement = castTo gTypeHTMLOptGroupElement "HTMLOptGroupElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLOptGroupElement" gTypeHTMLOptGroupElement' :: JSRef GType
+#else
+gTypeHTMLOptGroupElement' = error "gTypeHTMLOptGroupElement': only available in JavaScript"
+#endif
+gTypeHTMLOptGroupElement = GType gTypeHTMLOptGroupElement'
+#else
+type IsHTMLOptGroupElement o = HTMLOptGroupElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLOptionElement = HTMLOptionElement (JSRef HTMLOptionElement)
+
+unHTMLOptionElement (HTMLOptionElement o) = o
+
+class IsHTMLElement o => IsHTMLOptionElement o
+toHTMLOptionElement :: IsHTMLOptionElement o => o -> HTMLOptionElement
+toHTMLOptionElement = unsafeCastGObject . toGObject
+
+instance IsHTMLOptionElement HTMLOptionElement
+instance IsHTMLElement HTMLOptionElement
+instance IsElement HTMLOptionElement
+instance IsNode HTMLOptionElement
+instance GObjectClass HTMLOptionElement where
+  toGObject = GObject . castRef . unHTMLOptionElement
+  unsafeCastGObject = HTMLOptionElement . castRef . unGObject
+
+castToHTMLOptionElement :: GObjectClass obj => obj -> HTMLOptionElement
+castToHTMLOptionElement = castTo gTypeHTMLOptionElement "HTMLOptionElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLOptionElement" gTypeHTMLOptionElement' :: JSRef GType
+#else
+gTypeHTMLOptionElement' = error "gTypeHTMLOptionElement': only available in JavaScript"
+#endif
+gTypeHTMLOptionElement = GType gTypeHTMLOptionElement'
+#else
+type IsHTMLOptionElement o = HTMLOptionElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLOptionsCollection = HTMLOptionsCollection (JSRef HTMLOptionsCollection)
+
+unHTMLOptionsCollection (HTMLOptionsCollection o) = o
+
+class IsHTMLCollection o => IsHTMLOptionsCollection o
+toHTMLOptionsCollection :: IsHTMLOptionsCollection o => o -> HTMLOptionsCollection
+toHTMLOptionsCollection = unsafeCastGObject . toGObject
+
+instance IsHTMLOptionsCollection HTMLOptionsCollection
+instance IsHTMLCollection HTMLOptionsCollection
+instance GObjectClass HTMLOptionsCollection where
+  toGObject = GObject . castRef . unHTMLOptionsCollection
+  unsafeCastGObject = HTMLOptionsCollection . castRef . unGObject
+
+castToHTMLOptionsCollection :: GObjectClass obj => obj -> HTMLOptionsCollection
+castToHTMLOptionsCollection = castTo gTypeHTMLOptionsCollection "HTMLOptionsCollection"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLOptionsCollection" gTypeHTMLOptionsCollection' :: JSRef GType
+#else
+gTypeHTMLOptionsCollection' = error "gTypeHTMLOptionsCollection': only available in JavaScript"
+#endif
+gTypeHTMLOptionsCollection = GType gTypeHTMLOptionsCollection'
+#else
+type IsHTMLOptionsCollection o = HTMLOptionsCollectionClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLParagraphElement = HTMLParagraphElement (JSRef HTMLParagraphElement)
+
+unHTMLParagraphElement (HTMLParagraphElement o) = o
+
+class IsHTMLElement o => IsHTMLParagraphElement o
+toHTMLParagraphElement :: IsHTMLParagraphElement o => o -> HTMLParagraphElement
+toHTMLParagraphElement = unsafeCastGObject . toGObject
+
+instance IsHTMLParagraphElement HTMLParagraphElement
+instance IsHTMLElement HTMLParagraphElement
+instance IsElement HTMLParagraphElement
+instance IsNode HTMLParagraphElement
+instance GObjectClass HTMLParagraphElement where
+  toGObject = GObject . castRef . unHTMLParagraphElement
+  unsafeCastGObject = HTMLParagraphElement . castRef . unGObject
+
+castToHTMLParagraphElement :: GObjectClass obj => obj -> HTMLParagraphElement
+castToHTMLParagraphElement = castTo gTypeHTMLParagraphElement "HTMLParagraphElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLParagraphElement" gTypeHTMLParagraphElement' :: JSRef GType
+#else
+gTypeHTMLParagraphElement' = error "gTypeHTMLParagraphElement': only available in JavaScript"
+#endif
+gTypeHTMLParagraphElement = GType gTypeHTMLParagraphElement'
+#else
+type IsHTMLParagraphElement o = HTMLParagraphElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLParamElement = HTMLParamElement (JSRef HTMLParamElement)
+
+unHTMLParamElement (HTMLParamElement o) = o
+
+class IsHTMLElement o => IsHTMLParamElement o
+toHTMLParamElement :: IsHTMLParamElement o => o -> HTMLParamElement
+toHTMLParamElement = unsafeCastGObject . toGObject
+
+instance IsHTMLParamElement HTMLParamElement
+instance IsHTMLElement HTMLParamElement
+instance IsElement HTMLParamElement
+instance IsNode HTMLParamElement
+instance GObjectClass HTMLParamElement where
+  toGObject = GObject . castRef . unHTMLParamElement
+  unsafeCastGObject = HTMLParamElement . castRef . unGObject
+
+castToHTMLParamElement :: GObjectClass obj => obj -> HTMLParamElement
+castToHTMLParamElement = castTo gTypeHTMLParamElement "HTMLParamElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLParamElement" gTypeHTMLParamElement' :: JSRef GType
+#else
+gTypeHTMLParamElement' = error "gTypeHTMLParamElement': only available in JavaScript"
+#endif
+gTypeHTMLParamElement = GType gTypeHTMLParamElement'
+#else
+type IsHTMLParamElement o = HTMLParamElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLPreElement = HTMLPreElement (JSRef HTMLPreElement)
+
+unHTMLPreElement (HTMLPreElement o) = o
+
+class IsHTMLElement o => IsHTMLPreElement o
+toHTMLPreElement :: IsHTMLPreElement o => o -> HTMLPreElement
+toHTMLPreElement = unsafeCastGObject . toGObject
+
+instance IsHTMLPreElement HTMLPreElement
+instance IsHTMLElement HTMLPreElement
+instance IsElement HTMLPreElement
+instance IsNode HTMLPreElement
+instance GObjectClass HTMLPreElement where
+  toGObject = GObject . castRef . unHTMLPreElement
+  unsafeCastGObject = HTMLPreElement . castRef . unGObject
+
+castToHTMLPreElement :: GObjectClass obj => obj -> HTMLPreElement
+castToHTMLPreElement = castTo gTypeHTMLPreElement "HTMLPreElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLPreElement" gTypeHTMLPreElement' :: JSRef GType
+#else
+gTypeHTMLPreElement' = error "gTypeHTMLPreElement': only available in JavaScript"
+#endif
+gTypeHTMLPreElement = GType gTypeHTMLPreElement'
+#else
+type IsHTMLPreElement o = HTMLPreElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLQuoteElement = HTMLQuoteElement (JSRef HTMLQuoteElement)
+
+unHTMLQuoteElement (HTMLQuoteElement o) = o
+
+class IsHTMLElement o => IsHTMLQuoteElement o
+toHTMLQuoteElement :: IsHTMLQuoteElement o => o -> HTMLQuoteElement
+toHTMLQuoteElement = unsafeCastGObject . toGObject
+
+instance IsHTMLQuoteElement HTMLQuoteElement
+instance IsHTMLElement HTMLQuoteElement
+instance IsElement HTMLQuoteElement
+instance IsNode HTMLQuoteElement
+instance GObjectClass HTMLQuoteElement where
+  toGObject = GObject . castRef . unHTMLQuoteElement
+  unsafeCastGObject = HTMLQuoteElement . castRef . unGObject
+
+castToHTMLQuoteElement :: GObjectClass obj => obj -> HTMLQuoteElement
+castToHTMLQuoteElement = castTo gTypeHTMLQuoteElement "HTMLQuoteElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLQuoteElement" gTypeHTMLQuoteElement' :: JSRef GType
+#else
+gTypeHTMLQuoteElement' = error "gTypeHTMLQuoteElement': only available in JavaScript"
+#endif
+gTypeHTMLQuoteElement = GType gTypeHTMLQuoteElement'
+#else
+type IsHTMLQuoteElement o = HTMLQuoteElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLScriptElement = HTMLScriptElement (JSRef HTMLScriptElement)
+
+unHTMLScriptElement (HTMLScriptElement o) = o
+
+class IsHTMLElement o => IsHTMLScriptElement o
+toHTMLScriptElement :: IsHTMLScriptElement o => o -> HTMLScriptElement
+toHTMLScriptElement = unsafeCastGObject . toGObject
+
+instance IsHTMLScriptElement HTMLScriptElement
+instance IsHTMLElement HTMLScriptElement
+instance IsElement HTMLScriptElement
+instance IsNode HTMLScriptElement
+instance GObjectClass HTMLScriptElement where
+  toGObject = GObject . castRef . unHTMLScriptElement
+  unsafeCastGObject = HTMLScriptElement . castRef . unGObject
+
+castToHTMLScriptElement :: GObjectClass obj => obj -> HTMLScriptElement
+castToHTMLScriptElement = castTo gTypeHTMLScriptElement "HTMLScriptElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLScriptElement" gTypeHTMLScriptElement' :: JSRef GType
+#else
+gTypeHTMLScriptElement' = error "gTypeHTMLScriptElement': only available in JavaScript"
+#endif
+gTypeHTMLScriptElement = GType gTypeHTMLScriptElement'
+#else
+type IsHTMLScriptElement o = HTMLScriptElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLSelectElement = HTMLSelectElement (JSRef HTMLSelectElement)
+
+unHTMLSelectElement (HTMLSelectElement o) = o
+
+class IsHTMLElement o => IsHTMLSelectElement o
+toHTMLSelectElement :: IsHTMLSelectElement o => o -> HTMLSelectElement
+toHTMLSelectElement = unsafeCastGObject . toGObject
+
+instance IsHTMLSelectElement HTMLSelectElement
+instance IsHTMLElement HTMLSelectElement
+instance IsElement HTMLSelectElement
+instance IsNode HTMLSelectElement
+instance GObjectClass HTMLSelectElement where
+  toGObject = GObject . castRef . unHTMLSelectElement
+  unsafeCastGObject = HTMLSelectElement . castRef . unGObject
+
+castToHTMLSelectElement :: GObjectClass obj => obj -> HTMLSelectElement
+castToHTMLSelectElement = castTo gTypeHTMLSelectElement "HTMLSelectElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLSelectElement" gTypeHTMLSelectElement' :: JSRef GType
+#else
+gTypeHTMLSelectElement' = error "gTypeHTMLSelectElement': only available in JavaScript"
+#endif
+gTypeHTMLSelectElement = GType gTypeHTMLSelectElement'
+#else
+type IsHTMLSelectElement o = HTMLSelectElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLStyleElement = HTMLStyleElement (JSRef HTMLStyleElement)
+
+unHTMLStyleElement (HTMLStyleElement o) = o
+
+class IsHTMLElement o => IsHTMLStyleElement o
+toHTMLStyleElement :: IsHTMLStyleElement o => o -> HTMLStyleElement
+toHTMLStyleElement = unsafeCastGObject . toGObject
+
+instance IsHTMLStyleElement HTMLStyleElement
+instance IsHTMLElement HTMLStyleElement
+instance IsElement HTMLStyleElement
+instance IsNode HTMLStyleElement
+instance GObjectClass HTMLStyleElement where
+  toGObject = GObject . castRef . unHTMLStyleElement
+  unsafeCastGObject = HTMLStyleElement . castRef . unGObject
+
+castToHTMLStyleElement :: GObjectClass obj => obj -> HTMLStyleElement
+castToHTMLStyleElement = castTo gTypeHTMLStyleElement "HTMLStyleElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLStyleElement" gTypeHTMLStyleElement' :: JSRef GType
+#else
+gTypeHTMLStyleElement' = error "gTypeHTMLStyleElement': only available in JavaScript"
+#endif
+gTypeHTMLStyleElement = GType gTypeHTMLStyleElement'
+#else
+type IsHTMLStyleElement o = HTMLStyleElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLTableCaptionElement = HTMLTableCaptionElement (JSRef HTMLTableCaptionElement)
+
+unHTMLTableCaptionElement (HTMLTableCaptionElement o) = o
+
+class IsHTMLElement o => IsHTMLTableCaptionElement o
+toHTMLTableCaptionElement :: IsHTMLTableCaptionElement o => o -> HTMLTableCaptionElement
+toHTMLTableCaptionElement = unsafeCastGObject . toGObject
+
+instance IsHTMLTableCaptionElement HTMLTableCaptionElement
+instance IsHTMLElement HTMLTableCaptionElement
+instance IsElement HTMLTableCaptionElement
+instance IsNode HTMLTableCaptionElement
+instance GObjectClass HTMLTableCaptionElement where
+  toGObject = GObject . castRef . unHTMLTableCaptionElement
+  unsafeCastGObject = HTMLTableCaptionElement . castRef . unGObject
+
+castToHTMLTableCaptionElement :: GObjectClass obj => obj -> HTMLTableCaptionElement
+castToHTMLTableCaptionElement = castTo gTypeHTMLTableCaptionElement "HTMLTableCaptionElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLTableCaptionElement" gTypeHTMLTableCaptionElement' :: JSRef GType
+#else
+gTypeHTMLTableCaptionElement' = error "gTypeHTMLTableCaptionElement': only available in JavaScript"
+#endif
+gTypeHTMLTableCaptionElement = GType gTypeHTMLTableCaptionElement'
+#else
+type IsHTMLTableCaptionElement o = HTMLTableCaptionElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLTableCellElement = HTMLTableCellElement (JSRef HTMLTableCellElement)
+
+unHTMLTableCellElement (HTMLTableCellElement o) = o
+
+class IsHTMLElement o => IsHTMLTableCellElement o
+toHTMLTableCellElement :: IsHTMLTableCellElement o => o -> HTMLTableCellElement
+toHTMLTableCellElement = unsafeCastGObject . toGObject
+
+instance IsHTMLTableCellElement HTMLTableCellElement
+instance IsHTMLElement HTMLTableCellElement
+instance IsElement HTMLTableCellElement
+instance IsNode HTMLTableCellElement
+instance GObjectClass HTMLTableCellElement where
+  toGObject = GObject . castRef . unHTMLTableCellElement
+  unsafeCastGObject = HTMLTableCellElement . castRef . unGObject
+
+castToHTMLTableCellElement :: GObjectClass obj => obj -> HTMLTableCellElement
+castToHTMLTableCellElement = castTo gTypeHTMLTableCellElement "HTMLTableCellElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLTableCellElement" gTypeHTMLTableCellElement' :: JSRef GType
+#else
+gTypeHTMLTableCellElement' = error "gTypeHTMLTableCellElement': only available in JavaScript"
+#endif
+gTypeHTMLTableCellElement = GType gTypeHTMLTableCellElement'
+#else
+type IsHTMLTableCellElement o = HTMLTableCellElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLTableColElement = HTMLTableColElement (JSRef HTMLTableColElement)
+
+unHTMLTableColElement (HTMLTableColElement o) = o
+
+class IsHTMLElement o => IsHTMLTableColElement o
+toHTMLTableColElement :: IsHTMLTableColElement o => o -> HTMLTableColElement
+toHTMLTableColElement = unsafeCastGObject . toGObject
+
+instance IsHTMLTableColElement HTMLTableColElement
+instance IsHTMLElement HTMLTableColElement
+instance IsElement HTMLTableColElement
+instance IsNode HTMLTableColElement
+instance GObjectClass HTMLTableColElement where
+  toGObject = GObject . castRef . unHTMLTableColElement
+  unsafeCastGObject = HTMLTableColElement . castRef . unGObject
+
+castToHTMLTableColElement :: GObjectClass obj => obj -> HTMLTableColElement
+castToHTMLTableColElement = castTo gTypeHTMLTableColElement "HTMLTableColElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLTableColElement" gTypeHTMLTableColElement' :: JSRef GType
+#else
+gTypeHTMLTableColElement' = error "gTypeHTMLTableColElement': only available in JavaScript"
+#endif
+gTypeHTMLTableColElement = GType gTypeHTMLTableColElement'
+#else
+type IsHTMLTableColElement o = HTMLTableColElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLTableElement = HTMLTableElement (JSRef HTMLTableElement)
+
+unHTMLTableElement (HTMLTableElement o) = o
+
+class IsHTMLElement o => IsHTMLTableElement o
+toHTMLTableElement :: IsHTMLTableElement o => o -> HTMLTableElement
+toHTMLTableElement = unsafeCastGObject . toGObject
+
+instance IsHTMLTableElement HTMLTableElement
+instance IsHTMLElement HTMLTableElement
+instance IsElement HTMLTableElement
+instance IsNode HTMLTableElement
+instance GObjectClass HTMLTableElement where
+  toGObject = GObject . castRef . unHTMLTableElement
+  unsafeCastGObject = HTMLTableElement . castRef . unGObject
+
+castToHTMLTableElement :: GObjectClass obj => obj -> HTMLTableElement
+castToHTMLTableElement = castTo gTypeHTMLTableElement "HTMLTableElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLTableElement" gTypeHTMLTableElement' :: JSRef GType
+#else
+gTypeHTMLTableElement' = error "gTypeHTMLTableElement': only available in JavaScript"
+#endif
+gTypeHTMLTableElement = GType gTypeHTMLTableElement'
+#else
+type IsHTMLTableElement o = HTMLTableElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLTableRowElement = HTMLTableRowElement (JSRef HTMLTableRowElement)
+
+unHTMLTableRowElement (HTMLTableRowElement o) = o
+
+class IsHTMLElement o => IsHTMLTableRowElement o
+toHTMLTableRowElement :: IsHTMLTableRowElement o => o -> HTMLTableRowElement
+toHTMLTableRowElement = unsafeCastGObject . toGObject
+
+instance IsHTMLTableRowElement HTMLTableRowElement
+instance IsHTMLElement HTMLTableRowElement
+instance IsElement HTMLTableRowElement
+instance IsNode HTMLTableRowElement
+instance GObjectClass HTMLTableRowElement where
+  toGObject = GObject . castRef . unHTMLTableRowElement
+  unsafeCastGObject = HTMLTableRowElement . castRef . unGObject
+
+castToHTMLTableRowElement :: GObjectClass obj => obj -> HTMLTableRowElement
+castToHTMLTableRowElement = castTo gTypeHTMLTableRowElement "HTMLTableRowElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLTableRowElement" gTypeHTMLTableRowElement' :: JSRef GType
+#else
+gTypeHTMLTableRowElement' = error "gTypeHTMLTableRowElement': only available in JavaScript"
+#endif
+gTypeHTMLTableRowElement = GType gTypeHTMLTableRowElement'
+#else
+type IsHTMLTableRowElement o = HTMLTableRowElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLTableSectionElement = HTMLTableSectionElement (JSRef HTMLTableSectionElement)
+
+unHTMLTableSectionElement (HTMLTableSectionElement o) = o
+
+class IsHTMLElement o => IsHTMLTableSectionElement o
+toHTMLTableSectionElement :: IsHTMLTableSectionElement o => o -> HTMLTableSectionElement
+toHTMLTableSectionElement = unsafeCastGObject . toGObject
+
+instance IsHTMLTableSectionElement HTMLTableSectionElement
+instance IsHTMLElement HTMLTableSectionElement
+instance IsElement HTMLTableSectionElement
+instance IsNode HTMLTableSectionElement
+instance GObjectClass HTMLTableSectionElement where
+  toGObject = GObject . castRef . unHTMLTableSectionElement
+  unsafeCastGObject = HTMLTableSectionElement . castRef . unGObject
+
+castToHTMLTableSectionElement :: GObjectClass obj => obj -> HTMLTableSectionElement
+castToHTMLTableSectionElement = castTo gTypeHTMLTableSectionElement "HTMLTableSectionElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLTableSectionElement" gTypeHTMLTableSectionElement' :: JSRef GType
+#else
+gTypeHTMLTableSectionElement' = error "gTypeHTMLTableSectionElement': only available in JavaScript"
+#endif
+gTypeHTMLTableSectionElement = GType gTypeHTMLTableSectionElement'
+#else
+type IsHTMLTableSectionElement o = HTMLTableSectionElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLTextAreaElement = HTMLTextAreaElement (JSRef HTMLTextAreaElement)
+
+unHTMLTextAreaElement (HTMLTextAreaElement o) = o
+
+class IsHTMLElement o => IsHTMLTextAreaElement o
+toHTMLTextAreaElement :: IsHTMLTextAreaElement o => o -> HTMLTextAreaElement
+toHTMLTextAreaElement = unsafeCastGObject . toGObject
+
+instance IsHTMLTextAreaElement HTMLTextAreaElement
+instance IsHTMLElement HTMLTextAreaElement
+instance IsElement HTMLTextAreaElement
+instance IsNode HTMLTextAreaElement
+instance GObjectClass HTMLTextAreaElement where
+  toGObject = GObject . castRef . unHTMLTextAreaElement
+  unsafeCastGObject = HTMLTextAreaElement . castRef . unGObject
+
+castToHTMLTextAreaElement :: GObjectClass obj => obj -> HTMLTextAreaElement
+castToHTMLTextAreaElement = castTo gTypeHTMLTextAreaElement "HTMLTextAreaElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLTextAreaElement" gTypeHTMLTextAreaElement' :: JSRef GType
+#else
+gTypeHTMLTextAreaElement' = error "gTypeHTMLTextAreaElement': only available in JavaScript"
+#endif
+gTypeHTMLTextAreaElement = GType gTypeHTMLTextAreaElement'
+#else
+type IsHTMLTextAreaElement o = HTMLTextAreaElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLTitleElement = HTMLTitleElement (JSRef HTMLTitleElement)
+
+unHTMLTitleElement (HTMLTitleElement o) = o
+
+class IsHTMLElement o => IsHTMLTitleElement o
+toHTMLTitleElement :: IsHTMLTitleElement o => o -> HTMLTitleElement
+toHTMLTitleElement = unsafeCastGObject . toGObject
+
+instance IsHTMLTitleElement HTMLTitleElement
+instance IsHTMLElement HTMLTitleElement
+instance IsElement HTMLTitleElement
+instance IsNode HTMLTitleElement
+instance GObjectClass HTMLTitleElement where
+  toGObject = GObject . castRef . unHTMLTitleElement
+  unsafeCastGObject = HTMLTitleElement . castRef . unGObject
+
+castToHTMLTitleElement :: GObjectClass obj => obj -> HTMLTitleElement
+castToHTMLTitleElement = castTo gTypeHTMLTitleElement "HTMLTitleElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLTitleElement" gTypeHTMLTitleElement' :: JSRef GType
+#else
+gTypeHTMLTitleElement' = error "gTypeHTMLTitleElement': only available in JavaScript"
+#endif
+gTypeHTMLTitleElement = GType gTypeHTMLTitleElement'
+#else
+type IsHTMLTitleElement o = HTMLTitleElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLUListElement = HTMLUListElement (JSRef HTMLUListElement)
+
+unHTMLUListElement (HTMLUListElement o) = o
+
+class IsHTMLElement o => IsHTMLUListElement o
+toHTMLUListElement :: IsHTMLUListElement o => o -> HTMLUListElement
+toHTMLUListElement = unsafeCastGObject . toGObject
+
+instance IsHTMLUListElement HTMLUListElement
+instance IsHTMLElement HTMLUListElement
+instance IsElement HTMLUListElement
+instance IsNode HTMLUListElement
+instance GObjectClass HTMLUListElement where
+  toGObject = GObject . castRef . unHTMLUListElement
+  unsafeCastGObject = HTMLUListElement . castRef . unGObject
+
+castToHTMLUListElement :: GObjectClass obj => obj -> HTMLUListElement
+castToHTMLUListElement = castTo gTypeHTMLUListElement "HTMLUListElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLUListElement" gTypeHTMLUListElement' :: JSRef GType
+#else
+gTypeHTMLUListElement' = error "gTypeHTMLUListElement': only available in JavaScript"
+#endif
+gTypeHTMLUListElement = GType gTypeHTMLUListElement'
+#else
+type IsHTMLUListElement o = HTMLUListElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype HTMLVideoElement = HTMLVideoElement (JSRef HTMLVideoElement)
+
+unHTMLVideoElement (HTMLVideoElement o) = o
+
+class IsHTMLMediaElement o => IsHTMLVideoElement o
+toHTMLVideoElement :: IsHTMLVideoElement o => o -> HTMLVideoElement
+toHTMLVideoElement = unsafeCastGObject . toGObject
+
+instance IsHTMLVideoElement HTMLVideoElement
+instance IsHTMLMediaElement HTMLVideoElement
+instance IsHTMLElement HTMLVideoElement
+instance IsElement HTMLVideoElement
+instance IsNode HTMLVideoElement
+instance GObjectClass HTMLVideoElement where
+  toGObject = GObject . castRef . unHTMLVideoElement
+  unsafeCastGObject = HTMLVideoElement . castRef . unGObject
+
+castToHTMLVideoElement :: GObjectClass obj => obj -> HTMLVideoElement
+castToHTMLVideoElement = castTo gTypeHTMLVideoElement "HTMLVideoElement"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.HTMLVideoElement" gTypeHTMLVideoElement' :: JSRef GType
+#else
+gTypeHTMLVideoElement' = error "gTypeHTMLVideoElement': only available in JavaScript"
+#endif
+gTypeHTMLVideoElement = GType gTypeHTMLVideoElement'
+#else
+type IsHTMLVideoElement o = HTMLVideoElementClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype History = History (JSRef History)
+
+unHistory (History o) = o
+
+class GObjectClass o => IsHistory o
+toHistory :: IsHistory o => o -> History
+toHistory = unsafeCastGObject . toGObject
+
+instance IsHistory History
+instance GObjectClass History where
+  toGObject = GObject . castRef . unHistory
+  unsafeCastGObject = History . castRef . unGObject
+
+castToHistory :: GObjectClass obj => obj -> History
+castToHistory = castTo gTypeHistory "History"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.History" gTypeHistory' :: JSRef GType
+#else
+gTypeHistory' = error "gTypeHistory': only available in JavaScript"
+#endif
+gTypeHistory = GType gTypeHistory'
+#else
+type IsHistory o = HistoryClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Location = Location (JSRef Location)
+
+unLocation (Location o) = o
+
+class GObjectClass o => IsLocation o
+toLocation :: IsLocation o => o -> Location
+toLocation = unsafeCastGObject . toGObject
+
+instance IsLocation Location
+instance GObjectClass Location where
+  toGObject = GObject . castRef . unLocation
+  unsafeCastGObject = Location . castRef . unGObject
+
+castToLocation :: GObjectClass obj => obj -> Location
+castToLocation = castTo gTypeLocation "Location"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Location" gTypeLocation' :: JSRef GType
+#else
+gTypeLocation' = error "gTypeLocation': only available in JavaScript"
+#endif
+gTypeLocation = GType gTypeLocation'
+#else
+type IsLocation o = LocationClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype MediaError = MediaError (JSRef MediaError)
+
+unMediaError (MediaError o) = o
+
+class GObjectClass o => IsMediaError o
+toMediaError :: IsMediaError o => o -> MediaError
+toMediaError = unsafeCastGObject . toGObject
+
+instance IsMediaError MediaError
+instance GObjectClass MediaError where
+  toGObject = GObject . castRef . unMediaError
+  unsafeCastGObject = MediaError . castRef . unGObject
+
+castToMediaError :: GObjectClass obj => obj -> MediaError
+castToMediaError = castTo gTypeMediaError "MediaError"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.MediaError" gTypeMediaError' :: JSRef GType
+#else
+gTypeMediaError' = error "gTypeMediaError': only available in JavaScript"
+#endif
+gTypeMediaError = GType gTypeMediaError'
+#else
+type IsMediaError o = MediaErrorClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype MediaList = MediaList (JSRef MediaList)
+
+unMediaList (MediaList o) = o
+
+class GObjectClass o => IsMediaList o
+toMediaList :: IsMediaList o => o -> MediaList
+toMediaList = unsafeCastGObject . toGObject
+
+instance IsMediaList MediaList
+instance GObjectClass MediaList where
+  toGObject = GObject . castRef . unMediaList
+  unsafeCastGObject = MediaList . castRef . unGObject
+
+castToMediaList :: GObjectClass obj => obj -> MediaList
+castToMediaList = castTo gTypeMediaList "MediaList"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.MediaList" gTypeMediaList' :: JSRef GType
+#else
+gTypeMediaList' = error "gTypeMediaList': only available in JavaScript"
+#endif
+gTypeMediaList = GType gTypeMediaList'
+#else
+type IsMediaList o = MediaListClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype MediaQueryList = MediaQueryList (JSRef MediaQueryList)
+
+unMediaQueryList (MediaQueryList o) = o
+
+class GObjectClass o => IsMediaQueryList o
+toMediaQueryList :: IsMediaQueryList o => o -> MediaQueryList
+toMediaQueryList = unsafeCastGObject . toGObject
+
+instance IsMediaQueryList MediaQueryList
+instance GObjectClass MediaQueryList where
+  toGObject = GObject . castRef . unMediaQueryList
+  unsafeCastGObject = MediaQueryList . castRef . unGObject
+
+castToMediaQueryList :: GObjectClass obj => obj -> MediaQueryList
+castToMediaQueryList = castTo gTypeMediaQueryList "MediaQueryList"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.MediaQueryList" gTypeMediaQueryList' :: JSRef GType
+#else
+gTypeMediaQueryList' = error "gTypeMediaQueryList': only available in JavaScript"
+#endif
+gTypeMediaQueryList = GType gTypeMediaQueryList'
+#else
+type IsMediaQueryList o = MediaQueryListClass o
+#endif
+
+
+#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
+
+class GObjectClass o => IsMessagePort o
+toMessagePort :: IsMessagePort o => o -> MessagePort
+toMessagePort = unsafeCastGObject . toGObject
+
+instance IsMessagePort MessagePort
+instance GObjectClass MessagePort where
+  toGObject = GObject . castRef . unMessagePort
+  unsafeCastGObject = MessagePort . castRef . unGObject
+
+castToMessagePort :: GObjectClass obj => obj -> MessagePort
+castToMessagePort = castTo gTypeMessagePort "MessagePort"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.MessagePort" gTypeMessagePort' :: JSRef GType
+#else
+gTypeMessagePort' = error "gTypeMessagePort': only available in JavaScript"
+#endif
+gTypeMessagePort = GType gTypeMessagePort'
+#else
+type IsMessagePort o = MessagePortClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype MouseEvent = MouseEvent (JSRef MouseEvent)
+
+unMouseEvent (MouseEvent o) = o
+
+class IsUIEvent o => IsMouseEvent o
+toMouseEvent :: IsMouseEvent o => o -> MouseEvent
+toMouseEvent = unsafeCastGObject . toGObject
+
+instance IsMouseEvent MouseEvent
+instance IsUIEvent MouseEvent
+instance IsEvent MouseEvent
+instance GObjectClass MouseEvent where
+  toGObject = GObject . castRef . unMouseEvent
+  unsafeCastGObject = MouseEvent . castRef . unGObject
+
+castToMouseEvent :: GObjectClass obj => obj -> MouseEvent
+castToMouseEvent = castTo gTypeMouseEvent "MouseEvent"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.MouseEvent" gTypeMouseEvent' :: JSRef GType
+#else
+gTypeMouseEvent' = error "gTypeMouseEvent': only available in JavaScript"
+#endif
+gTypeMouseEvent = GType gTypeMouseEvent'
+#else
+type IsMouseEvent o = MouseEventClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype NamedNodeMap = NamedNodeMap (JSRef NamedNodeMap)
+
+unNamedNodeMap (NamedNodeMap o) = o
+
+class GObjectClass o => IsNamedNodeMap o
+toNamedNodeMap :: IsNamedNodeMap o => o -> NamedNodeMap
+toNamedNodeMap = unsafeCastGObject . toGObject
+
+instance IsNamedNodeMap NamedNodeMap
+instance GObjectClass NamedNodeMap where
+  toGObject = GObject . castRef . unNamedNodeMap
+  unsafeCastGObject = NamedNodeMap . castRef . unGObject
+
+castToNamedNodeMap :: GObjectClass obj => obj -> NamedNodeMap
+castToNamedNodeMap = castTo gTypeNamedNodeMap "NamedNodeMap"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.NamedNodeMap" gTypeNamedNodeMap' :: JSRef GType
+#else
+gTypeNamedNodeMap' = error "gTypeNamedNodeMap': only available in JavaScript"
+#endif
+gTypeNamedNodeMap = GType gTypeNamedNodeMap'
+#else
+type IsNamedNodeMap o = NamedNodeMapClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Navigator = Navigator (JSRef Navigator)
+
+unNavigator (Navigator o) = o
+
+class GObjectClass o => IsNavigator o
+toNavigator :: IsNavigator o => o -> Navigator
+toNavigator = unsafeCastGObject . toGObject
+
+instance IsNavigator Navigator
+instance GObjectClass Navigator where
+  toGObject = GObject . castRef . unNavigator
+  unsafeCastGObject = Navigator . castRef . unGObject
+
+castToNavigator :: GObjectClass obj => obj -> Navigator
+castToNavigator = castTo gTypeNavigator "Navigator"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Navigator" gTypeNavigator' :: JSRef GType
+#else
+gTypeNavigator' = error "gTypeNavigator': only available in JavaScript"
+#endif
+gTypeNavigator = GType gTypeNavigator'
+#else
+type IsNavigator o = NavigatorClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Node = Node (JSRef Node)
+
+unNode (Node o) = o
+
+class GObjectClass o => IsNode o
+toNode :: IsNode o => o -> Node
+toNode = unsafeCastGObject . toGObject
+
+instance IsNode Node
+instance GObjectClass Node where
+  toGObject = GObject . castRef . unNode
+  unsafeCastGObject = Node . castRef . unGObject
+
+castToNode :: GObjectClass obj => obj -> Node
+castToNode = castTo gTypeNode "Node"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Node" gTypeNode' :: JSRef GType
+#else
+gTypeNode' = error "gTypeNode': only available in JavaScript"
+#endif
+gTypeNode = GType gTypeNode'
+#else
+type IsNode o = NodeClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype NodeFilter = NodeFilter (JSRef NodeFilter)
+
+unNodeFilter (NodeFilter o) = o
+
+class GObjectClass o => IsNodeFilter o
+toNodeFilter :: IsNodeFilter o => o -> NodeFilter
+toNodeFilter = unsafeCastGObject . toGObject
+
+instance IsNodeFilter NodeFilter
+instance GObjectClass NodeFilter where
+  toGObject = GObject . castRef . unNodeFilter
+  unsafeCastGObject = NodeFilter . castRef . unGObject
+
+castToNodeFilter :: GObjectClass obj => obj -> NodeFilter
+castToNodeFilter = castTo gTypeNodeFilter "NodeFilter"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.NodeFilter" gTypeNodeFilter' :: JSRef GType
+#else
+gTypeNodeFilter' = error "gTypeNodeFilter': only available in JavaScript"
+#endif
+gTypeNodeFilter = GType gTypeNodeFilter'
+#else
+type IsNodeFilter o = NodeFilterClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype NodeIterator = NodeIterator (JSRef NodeIterator)
+
+unNodeIterator (NodeIterator o) = o
+
+class GObjectClass o => IsNodeIterator o
+toNodeIterator :: IsNodeIterator o => o -> NodeIterator
+toNodeIterator = unsafeCastGObject . toGObject
+
+instance IsNodeIterator NodeIterator
+instance GObjectClass NodeIterator where
+  toGObject = GObject . castRef . unNodeIterator
+  unsafeCastGObject = NodeIterator . castRef . unGObject
+
+castToNodeIterator :: GObjectClass obj => obj -> NodeIterator
+castToNodeIterator = castTo gTypeNodeIterator "NodeIterator"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.NodeIterator" gTypeNodeIterator' :: JSRef GType
+#else
+gTypeNodeIterator' = error "gTypeNodeIterator': only available in JavaScript"
+#endif
+gTypeNodeIterator = GType gTypeNodeIterator'
+#else
+type IsNodeIterator o = NodeIteratorClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype NodeList = NodeList (JSRef NodeList)
+
+unNodeList (NodeList o) = o
+
+class GObjectClass o => IsNodeList o
+toNodeList :: IsNodeList o => o -> NodeList
+toNodeList = unsafeCastGObject . toGObject
+
+instance IsNodeList NodeList
+instance GObjectClass NodeList where
+  toGObject = GObject . castRef . unNodeList
+  unsafeCastGObject = NodeList . castRef . unGObject
+
+castToNodeList :: GObjectClass obj => obj -> NodeList
+castToNodeList = castTo gTypeNodeList "NodeList"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.NodeList" gTypeNodeList' :: JSRef GType
+#else
+gTypeNodeList' = error "gTypeNodeList': only available in JavaScript"
+#endif
+gTypeNodeList = GType gTypeNodeList'
+#else
+type IsNodeList o = NodeListClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype ProcessingInstruction = ProcessingInstruction (JSRef ProcessingInstruction)
+
+unProcessingInstruction (ProcessingInstruction o) = o
+
+class IsNode o => IsProcessingInstruction o
+toProcessingInstruction :: IsProcessingInstruction o => o -> ProcessingInstruction
+toProcessingInstruction = unsafeCastGObject . toGObject
+
+instance IsProcessingInstruction ProcessingInstruction
+instance IsNode ProcessingInstruction
+instance GObjectClass ProcessingInstruction where
+  toGObject = GObject . castRef . unProcessingInstruction
+  unsafeCastGObject = ProcessingInstruction . castRef . unGObject
+
+castToProcessingInstruction :: GObjectClass obj => obj -> ProcessingInstruction
+castToProcessingInstruction = castTo gTypeProcessingInstruction "ProcessingInstruction"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.ProcessingInstruction" gTypeProcessingInstruction' :: JSRef GType
+#else
+gTypeProcessingInstruction' = error "gTypeProcessingInstruction': only available in JavaScript"
+#endif
+gTypeProcessingInstruction = GType gTypeProcessingInstruction'
+#else
+type IsProcessingInstruction o = ProcessingInstructionClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMRange = DOMRange (JSRef DOMRange)
+
+unDOMRange (DOMRange o) = o
+
+class GObjectClass o => IsDOMRange o
+toDOMRange :: IsDOMRange o => o -> DOMRange
+toDOMRange = unsafeCastGObject . toGObject
+
+instance IsDOMRange DOMRange
+instance GObjectClass DOMRange where
+  toGObject = GObject . castRef . unDOMRange
+  unsafeCastGObject = DOMRange . castRef . unGObject
+
+castToDOMRange :: GObjectClass obj => obj -> DOMRange
+castToDOMRange = castTo gTypeDOMRange "DOMRange"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMRange" gTypeDOMRange' :: JSRef GType
+#else
+gTypeDOMRange' = error "gTypeDOMRange': only available in JavaScript"
+#endif
+gTypeDOMRange = GType gTypeDOMRange'
+#else
+type IsDOMRange o = DOMRangeClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype DOMScreen = DOMScreen (JSRef DOMScreen)
+
+unDOMScreen (DOMScreen o) = o
+
+class GObjectClass o => IsDOMScreen o
+toDOMScreen :: IsDOMScreen o => o -> DOMScreen
+toDOMScreen = unsafeCastGObject . toGObject
+
+instance IsDOMScreen DOMScreen
+instance GObjectClass DOMScreen where
+  toGObject = GObject . castRef . unDOMScreen
+  unsafeCastGObject = DOMScreen . castRef . unGObject
+
+castToDOMScreen :: GObjectClass obj => obj -> DOMScreen
+castToDOMScreen = castTo gTypeDOMScreen "DOMScreen"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.DOMScreen" gTypeDOMScreen' :: JSRef GType
+#else
+gTypeDOMScreen' = error "gTypeDOMScreen': only available in JavaScript"
+#endif
+gTypeDOMScreen = GType gTypeDOMScreen'
+#else
+type IsDOMScreen o = DOMScreenClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Storage = Storage (JSRef Storage)
+
+unStorage (Storage o) = o
+
+class GObjectClass o => IsStorage o
+toStorage :: IsStorage o => o -> Storage
+toStorage = unsafeCastGObject . toGObject
+
+instance IsStorage Storage
+instance GObjectClass Storage where
+  toGObject = GObject . castRef . unStorage
+  unsafeCastGObject = Storage . castRef . unGObject
+
+castToStorage :: GObjectClass obj => obj -> Storage
+castToStorage = castTo gTypeStorage "Storage"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Storage" gTypeStorage' :: JSRef GType
+#else
+gTypeStorage' = error "gTypeStorage': only available in JavaScript"
+#endif
+gTypeStorage = GType gTypeStorage'
+#else
+type IsStorage o = StorageClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype StorageInfo = StorageInfo (JSRef StorageInfo)
+
+unStorageInfo (StorageInfo o) = o
+
+class GObjectClass o => IsStorageInfo o
+toStorageInfo :: IsStorageInfo o => o -> StorageInfo
+toStorageInfo = unsafeCastGObject . toGObject
+
+instance IsStorageInfo StorageInfo
+instance GObjectClass StorageInfo where
+  toGObject = GObject . castRef . unStorageInfo
+  unsafeCastGObject = StorageInfo . castRef . unGObject
+
+castToStorageInfo :: GObjectClass obj => obj -> StorageInfo
+castToStorageInfo = castTo gTypeStorageInfo "StorageInfo"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.StorageInfo" gTypeStorageInfo' :: JSRef GType
+#else
+gTypeStorageInfo' = error "gTypeStorageInfo': only available in JavaScript"
+#endif
+gTypeStorageInfo = GType gTypeStorageInfo'
+#else
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype StyleMedia = StyleMedia (JSRef StyleMedia)
+
+unStyleMedia (StyleMedia o) = o
+
+class GObjectClass o => IsStyleMedia o
+toStyleMedia :: IsStyleMedia o => o -> StyleMedia
+toStyleMedia = unsafeCastGObject . toGObject
+
+instance IsStyleMedia StyleMedia
+instance GObjectClass StyleMedia where
+  toGObject = GObject . castRef . unStyleMedia
+  unsafeCastGObject = StyleMedia . castRef . unGObject
+
+castToStyleMedia :: GObjectClass obj => obj -> StyleMedia
+castToStyleMedia = castTo gTypeStyleMedia "StyleMedia"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.StyleMedia" gTypeStyleMedia' :: JSRef GType
+#else
+gTypeStyleMedia' = error "gTypeStyleMedia': only available in JavaScript"
+#endif
+gTypeStyleMedia = GType gTypeStyleMedia'
+#else
+type IsStyleMedia o = StyleMediaClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype StyleSheet = StyleSheet (JSRef StyleSheet)
+
+unStyleSheet (StyleSheet o) = o
+
+class GObjectClass o => IsStyleSheet o
+toStyleSheet :: IsStyleSheet o => o -> StyleSheet
+toStyleSheet = unsafeCastGObject . toGObject
+
+instance IsStyleSheet StyleSheet
+instance GObjectClass StyleSheet where
+  toGObject = GObject . castRef . unStyleSheet
+  unsafeCastGObject = StyleSheet . castRef . unGObject
+
+castToStyleSheet :: GObjectClass obj => obj -> StyleSheet
+castToStyleSheet = castTo gTypeStyleSheet "StyleSheet"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.StyleSheet" gTypeStyleSheet' :: JSRef GType
+#else
+gTypeStyleSheet' = error "gTypeStyleSheet': only available in JavaScript"
+#endif
+gTypeStyleSheet = GType gTypeStyleSheet'
+#else
+type IsStyleSheet o = StyleSheetClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype StyleSheetList = StyleSheetList (JSRef StyleSheetList)
+
+unStyleSheetList (StyleSheetList o) = o
+
+class GObjectClass o => IsStyleSheetList o
+toStyleSheetList :: IsStyleSheetList o => o -> StyleSheetList
+toStyleSheetList = unsafeCastGObject . toGObject
+
+instance IsStyleSheetList StyleSheetList
+instance GObjectClass StyleSheetList where
+  toGObject = GObject . castRef . unStyleSheetList
+  unsafeCastGObject = StyleSheetList . castRef . unGObject
+
+castToStyleSheetList :: GObjectClass obj => obj -> StyleSheetList
+castToStyleSheetList = castTo gTypeStyleSheetList "StyleSheetList"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.StyleSheetList" gTypeStyleSheetList' :: JSRef GType
+#else
+gTypeStyleSheetList' = error "gTypeStyleSheetList': only available in JavaScript"
+#endif
+gTypeStyleSheetList = GType gTypeStyleSheetList'
+#else
+type IsStyleSheetList o = StyleSheetListClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype Text = Text (JSRef Text)
+
+unText (Text o) = o
+
+class IsCharacterData o => IsText o
+toText :: IsText o => o -> Text
+toText = unsafeCastGObject . toGObject
+
+instance IsText Text
+instance IsCharacterData Text
+instance IsNode Text
+instance GObjectClass Text where
+  toGObject = GObject . castRef . unText
+  unsafeCastGObject = Text . castRef . unGObject
+
+castToText :: GObjectClass obj => obj -> Text
+castToText = castTo gTypeText "Text"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.Text" gTypeText' :: JSRef GType
+#else
+gTypeText' = error "gTypeText': only available in JavaScript"
+#endif
+gTypeText = GType gTypeText'
+#else
+type IsText o = TextClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype TimeRanges = TimeRanges (JSRef TimeRanges)
+
+unTimeRanges (TimeRanges o) = o
+
+class GObjectClass o => IsTimeRanges o
+toTimeRanges :: IsTimeRanges o => o -> TimeRanges
+toTimeRanges = unsafeCastGObject . toGObject
+
+instance IsTimeRanges TimeRanges
+instance GObjectClass TimeRanges where
+  toGObject = GObject . castRef . unTimeRanges
+  unsafeCastGObject = TimeRanges . castRef . unGObject
+
+castToTimeRanges :: GObjectClass obj => obj -> TimeRanges
+castToTimeRanges = castTo gTypeTimeRanges "TimeRanges"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.TimeRanges" gTypeTimeRanges' :: JSRef GType
+#else
+gTypeTimeRanges' = error "gTypeTimeRanges': only available in JavaScript"
+#endif
+gTypeTimeRanges = GType gTypeTimeRanges'
+#else
+type IsTimeRanges o = TimeRangesClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype TreeWalker = TreeWalker (JSRef TreeWalker)
+
+unTreeWalker (TreeWalker o) = o
+
+class GObjectClass o => IsTreeWalker o
+toTreeWalker :: IsTreeWalker o => o -> TreeWalker
+toTreeWalker = unsafeCastGObject . toGObject
+
+instance IsTreeWalker TreeWalker
+instance GObjectClass TreeWalker where
+  toGObject = GObject . castRef . unTreeWalker
+  unsafeCastGObject = TreeWalker . castRef . unGObject
+
+castToTreeWalker :: GObjectClass obj => obj -> TreeWalker
+castToTreeWalker = castTo gTypeTreeWalker "TreeWalker"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.TreeWalker" gTypeTreeWalker' :: JSRef GType
+#else
+gTypeTreeWalker' = error "gTypeTreeWalker': only available in JavaScript"
+#endif
+gTypeTreeWalker = GType gTypeTreeWalker'
+#else
+type IsTreeWalker o = TreeWalkerClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype UIEvent = UIEvent (JSRef UIEvent)
+
+unUIEvent (UIEvent o) = o
+
+class IsEvent o => IsUIEvent o
+toUIEvent :: IsUIEvent o => o -> UIEvent
+toUIEvent = unsafeCastGObject . toGObject
+
+instance IsUIEvent UIEvent
+instance IsEvent UIEvent
+instance GObjectClass UIEvent where
+  toGObject = GObject . castRef . unUIEvent
+  unsafeCastGObject = UIEvent . castRef . unGObject
+
+castToUIEvent :: GObjectClass obj => obj -> UIEvent
+castToUIEvent = castTo gTypeUIEvent "UIEvent"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.UIEvent" gTypeUIEvent' :: JSRef GType
+#else
+gTypeUIEvent' = error "gTypeUIEvent': only available in JavaScript"
+#endif
+gTypeUIEvent = GType gTypeUIEvent'
+#else
+type IsUIEvent o = UIEventClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype ValidityState = ValidityState (JSRef ValidityState)
+
+unValidityState (ValidityState o) = o
+
+class GObjectClass o => IsValidityState o
+toValidityState :: IsValidityState o => o -> ValidityState
+toValidityState = unsafeCastGObject . toGObject
+
+instance IsValidityState ValidityState
+instance GObjectClass ValidityState where
+  toGObject = GObject . castRef . unValidityState
+  unsafeCastGObject = ValidityState . castRef . unGObject
+
+castToValidityState :: GObjectClass obj => obj -> ValidityState
+castToValidityState = castTo gTypeValidityState "ValidityState"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.ValidityState" gTypeValidityState' :: JSRef GType
+#else
+gTypeValidityState' = error "gTypeValidityState': only available in JavaScript"
+#endif
+gTypeValidityState = GType gTypeValidityState'
+#else
+type IsValidityState o = ValidityStateClass o
+#endif
+
+
+#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
+
+class GObjectClass o => IsWebKitNamedFlow o
+toWebKitNamedFlow :: IsWebKitNamedFlow o => o -> WebKitNamedFlow
+toWebKitNamedFlow = unsafeCastGObject . toGObject
+
+instance IsWebKitNamedFlow WebKitNamedFlow
+instance GObjectClass WebKitNamedFlow where
+  toGObject = GObject . castRef . unWebKitNamedFlow
+  unsafeCastGObject = WebKitNamedFlow . castRef . unGObject
+
+castToWebKitNamedFlow :: GObjectClass obj => obj -> WebKitNamedFlow
+castToWebKitNamedFlow = castTo gTypeWebKitNamedFlow "WebKitNamedFlow"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.WebKitNamedFlow" gTypeWebKitNamedFlow' :: JSRef GType
+#else
+gTypeWebKitNamedFlow' = error "gTypeWebKitNamedFlow': only available in JavaScript"
+#endif
+gTypeWebKitNamedFlow = GType gTypeWebKitNamedFlow'
+#else
+type IsWebKitNamedFlow o = WebKitNamedFlowClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype WebKitPoint = WebKitPoint (JSRef WebKitPoint)
+
+unWebKitPoint (WebKitPoint o) = o
+
+class GObjectClass o => IsWebKitPoint o
+toWebKitPoint :: IsWebKitPoint o => o -> WebKitPoint
+toWebKitPoint = unsafeCastGObject . toGObject
+
+instance IsWebKitPoint WebKitPoint
+instance GObjectClass WebKitPoint where
+  toGObject = GObject . castRef . unWebKitPoint
+  unsafeCastGObject = WebKitPoint . castRef . unGObject
+
+castToWebKitPoint :: GObjectClass obj => obj -> WebKitPoint
+castToWebKitPoint = castTo gTypeWebKitPoint "WebKitPoint"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.WebKitPoint" gTypeWebKitPoint' :: JSRef GType
+#else
+gTypeWebKitPoint' = error "gTypeWebKitPoint': only available in JavaScript"
+#endif
+gTypeWebKitPoint = GType gTypeWebKitPoint'
+#else
+type IsWebKitPoint o = WebKitPointClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype XPathExpression = XPathExpression (JSRef XPathExpression)
+
+unXPathExpression (XPathExpression o) = o
+
+class GObjectClass o => IsXPathExpression o
+toXPathExpression :: IsXPathExpression o => o -> XPathExpression
+toXPathExpression = unsafeCastGObject . toGObject
+
+instance IsXPathExpression XPathExpression
+instance GObjectClass XPathExpression where
+  toGObject = GObject . castRef . unXPathExpression
+  unsafeCastGObject = XPathExpression . castRef . unGObject
+
+castToXPathExpression :: GObjectClass obj => obj -> XPathExpression
+castToXPathExpression = castTo gTypeXPathExpression "XPathExpression"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.XPathExpression" gTypeXPathExpression' :: JSRef GType
+#else
+gTypeXPathExpression' = error "gTypeXPathExpression': only available in JavaScript"
+#endif
+gTypeXPathExpression = GType gTypeXPathExpression'
+#else
+type IsXPathExpression o = XPathExpressionClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype XPathNSResolver = XPathNSResolver (JSRef XPathNSResolver)
+
+unXPathNSResolver (XPathNSResolver o) = o
+
+class GObjectClass o => IsXPathNSResolver o
+toXPathNSResolver :: IsXPathNSResolver o => o -> XPathNSResolver
+toXPathNSResolver = unsafeCastGObject . toGObject
+
+instance IsXPathNSResolver XPathNSResolver
+instance GObjectClass XPathNSResolver where
+  toGObject = GObject . castRef . unXPathNSResolver
+  unsafeCastGObject = XPathNSResolver . castRef . unGObject
+
+castToXPathNSResolver :: GObjectClass obj => obj -> XPathNSResolver
+castToXPathNSResolver = castTo gTypeXPathNSResolver "XPathNSResolver"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.XPathNSResolver" gTypeXPathNSResolver' :: JSRef GType
+#else
+gTypeXPathNSResolver' = error "gTypeXPathNSResolver': only available in JavaScript"
+#endif
+gTypeXPathNSResolver = GType gTypeXPathNSResolver'
+#else
+type IsXPathNSResolver o = XPathNSResolverClass o
+#endif
+
+
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+newtype XPathResult = XPathResult (JSRef XPathResult)
+
+unXPathResult (XPathResult o) = o
+
+class GObjectClass o => IsXPathResult o
+toXPathResult :: IsXPathResult o => o -> XPathResult
+toXPathResult = unsafeCastGObject . toGObject
+
+instance IsXPathResult XPathResult
+instance GObjectClass XPathResult where
+  toGObject = GObject . castRef . unXPathResult
+  unsafeCastGObject = XPathResult . castRef . unGObject
+
+castToXPathResult :: GObjectClass obj => obj -> XPathResult
+castToXPathResult = castTo gTypeXPathResult "XPathResult"
+
+#ifdef __GHCJS__
+foreign import javascript unsafe "window.XPathResult" gTypeXPathResult' :: JSRef GType
+#else
+gTypeXPathResult' = error "gTypeXPathResult': only available in JavaScript"
+#endif
+gTypeXPathResult = GType gTypeXPathResult'
+#else
+type IsXPathResult o = XPathResultClass o
+#endif
+
+
diff --git a/src/GHCJS/DOM/UIEvent.hs b/src/GHCJS/DOM/UIEvent.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/UIEvent.hs
@@ -0,0 +1,177 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.UIEvent
+       (ghcjs_dom_ui_event_init_ui_event, uiEventInitUIEvent,
+        ghcjs_dom_ui_event_get_view, uiEventGetView,
+        ghcjs_dom_ui_event_get_detail, uiEventGetDetail,
+        ghcjs_dom_ui_event_get_key_code, uiEventGetKeyCode,
+        ghcjs_dom_ui_event_get_char_code, uiEventGetCharCode,
+        ghcjs_dom_ui_event_get_layer_x, uiEventGetLayerX,
+        ghcjs_dom_ui_event_get_layer_y, uiEventGetLayerY,
+        ghcjs_dom_ui_event_get_page_x, uiEventGetPageX,
+        ghcjs_dom_ui_event_get_page_y, uiEventGetPageY,
+        ghcjs_dom_ui_event_get_which, uiEventGetWhich)
+       where
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+import GHCJS.Types
+import GHCJS.Foreign
+import Data.Word
+import GHCJS.DOM.Types
+import Control.Applicative ((<$>))
+
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "$1[\"initUIEvent\"]($2, $3, $4,\n$5, $6)"
+        ghcjs_dom_ui_event_init_ui_event ::
+        JSRef UIEvent ->
+          JSString -> Bool -> Bool -> JSRef DOMWindow -> Int -> IO ()
+#else 
+ghcjs_dom_ui_event_init_ui_event ::
+                                   JSRef UIEvent ->
+                                     JSString -> Bool -> Bool -> JSRef DOMWindow -> Int -> IO ()
+ghcjs_dom_ui_event_init_ui_event = undefined
+#endif
+ 
+uiEventInitUIEvent ::
+                   (IsUIEvent self, ToJSString type', IsDOMWindow view) =>
+                     self -> type' -> Bool -> Bool -> Maybe view -> Int -> IO ()
+uiEventInitUIEvent self type' canBubble cancelable view detail
+  = ghcjs_dom_ui_event_init_ui_event (unUIEvent (toUIEvent self))
+      (toJSString type')
+      canBubble
+      cancelable
+      (maybe jsNull (unDOMWindow . toDOMWindow) view)
+      detail
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"view\"]"
+        ghcjs_dom_ui_event_get_view ::
+        JSRef UIEvent -> IO (JSRef DOMWindow)
+#else 
+ghcjs_dom_ui_event_get_view ::
+                              JSRef UIEvent -> IO (JSRef DOMWindow)
+ghcjs_dom_ui_event_get_view = undefined
+#endif
+ 
+uiEventGetView :: (IsUIEvent self) => self -> IO (Maybe DOMWindow)
+uiEventGetView self
+  = fmap DOMWindow . maybeJSNull <$>
+      (ghcjs_dom_ui_event_get_view (unUIEvent (toUIEvent self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"detail\"]"
+        ghcjs_dom_ui_event_get_detail :: JSRef UIEvent -> IO Int
+#else 
+ghcjs_dom_ui_event_get_detail :: JSRef UIEvent -> IO Int
+ghcjs_dom_ui_event_get_detail = undefined
+#endif
+ 
+uiEventGetDetail :: (IsUIEvent self) => self -> IO Int
+uiEventGetDetail self
+  = ghcjs_dom_ui_event_get_detail (unUIEvent (toUIEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"keyCode\"]"
+        ghcjs_dom_ui_event_get_key_code :: JSRef UIEvent -> IO Int
+#else 
+ghcjs_dom_ui_event_get_key_code :: JSRef UIEvent -> IO Int
+ghcjs_dom_ui_event_get_key_code = undefined
+#endif
+ 
+uiEventGetKeyCode :: (IsUIEvent self) => self -> IO Int
+uiEventGetKeyCode self
+  = ghcjs_dom_ui_event_get_key_code (unUIEvent (toUIEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"charCode\"]"
+        ghcjs_dom_ui_event_get_char_code :: JSRef UIEvent -> IO Int
+#else 
+ghcjs_dom_ui_event_get_char_code :: JSRef UIEvent -> IO Int
+ghcjs_dom_ui_event_get_char_code = undefined
+#endif
+ 
+uiEventGetCharCode :: (IsUIEvent self) => self -> IO Int
+uiEventGetCharCode self
+  = ghcjs_dom_ui_event_get_char_code (unUIEvent (toUIEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"layerX\"]"
+        ghcjs_dom_ui_event_get_layer_x :: JSRef UIEvent -> IO Int
+#else 
+ghcjs_dom_ui_event_get_layer_x :: JSRef UIEvent -> IO Int
+ghcjs_dom_ui_event_get_layer_x = undefined
+#endif
+ 
+uiEventGetLayerX :: (IsUIEvent self) => self -> IO Int
+uiEventGetLayerX self
+  = ghcjs_dom_ui_event_get_layer_x (unUIEvent (toUIEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"layerY\"]"
+        ghcjs_dom_ui_event_get_layer_y :: JSRef UIEvent -> IO Int
+#else 
+ghcjs_dom_ui_event_get_layer_y :: JSRef UIEvent -> IO Int
+ghcjs_dom_ui_event_get_layer_y = undefined
+#endif
+ 
+uiEventGetLayerY :: (IsUIEvent self) => self -> IO Int
+uiEventGetLayerY self
+  = ghcjs_dom_ui_event_get_layer_y (unUIEvent (toUIEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pageX\"]"
+        ghcjs_dom_ui_event_get_page_x :: JSRef UIEvent -> IO Int
+#else 
+ghcjs_dom_ui_event_get_page_x :: JSRef UIEvent -> IO Int
+ghcjs_dom_ui_event_get_page_x = undefined
+#endif
+ 
+uiEventGetPageX :: (IsUIEvent self) => self -> IO Int
+uiEventGetPageX self
+  = ghcjs_dom_ui_event_get_page_x (unUIEvent (toUIEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"pageY\"]"
+        ghcjs_dom_ui_event_get_page_y :: JSRef UIEvent -> IO Int
+#else 
+ghcjs_dom_ui_event_get_page_y :: JSRef UIEvent -> IO Int
+ghcjs_dom_ui_event_get_page_y = undefined
+#endif
+ 
+uiEventGetPageY :: (IsUIEvent self) => self -> IO Int
+uiEventGetPageY self
+  = ghcjs_dom_ui_event_get_page_y (unUIEvent (toUIEvent self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"which\"]"
+        ghcjs_dom_ui_event_get_which :: JSRef UIEvent -> IO Int
+#else 
+ghcjs_dom_ui_event_get_which :: JSRef UIEvent -> IO Int
+ghcjs_dom_ui_event_get_which = undefined
+#endif
+ 
+uiEventGetWhich :: (IsUIEvent self) => self -> IO Int
+uiEventGetWhich self
+  = ghcjs_dom_ui_event_get_which (unUIEvent (toUIEvent self))
+#else
+module GHCJS.DOM.UIEvent (
+  module Graphics.UI.Gtk.WebKit.DOM.UIEvent
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.UIEvent
+#endif
diff --git a/src/GHCJS/DOM/ValidityState.hs b/src/GHCJS/DOM/ValidityState.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/ValidityState.hs
@@ -0,0 +1,193 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.ValidityState
+       (ghcjs_dom_validity_state_get_value_missing,
+        validityStateGetValueMissing,
+        ghcjs_dom_validity_state_get_type_mismatch,
+        validityStateGetTypeMismatch,
+        ghcjs_dom_validity_state_get_pattern_mismatch,
+        validityStateGetPatternMismatch,
+        ghcjs_dom_validity_state_get_too_long, validityStateGetTooLong,
+        ghcjs_dom_validity_state_get_range_underflow,
+        validityStateGetRangeUnderflow,
+        ghcjs_dom_validity_state_get_range_overflow,
+        validityStateGetRangeOverflow,
+        ghcjs_dom_validity_state_get_step_mismatch,
+        validityStateGetStepMismatch,
+        ghcjs_dom_validity_state_get_custom_error,
+        validityStateGetCustomError, ghcjs_dom_validity_state_get_valid,
+        validityStateGetValid)
+       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[\"valueMissing\"] ? 1 : 0)"
+        ghcjs_dom_validity_state_get_value_missing ::
+        JSRef ValidityState -> IO Bool
+#else 
+ghcjs_dom_validity_state_get_value_missing ::
+                                             JSRef ValidityState -> IO Bool
+ghcjs_dom_validity_state_get_value_missing = undefined
+#endif
+ 
+validityStateGetValueMissing ::
+                             (IsValidityState self) => self -> IO Bool
+validityStateGetValueMissing self
+  = ghcjs_dom_validity_state_get_value_missing
+      (unValidityState (toValidityState self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"typeMismatch\"] ? 1 : 0)"
+        ghcjs_dom_validity_state_get_type_mismatch ::
+        JSRef ValidityState -> IO Bool
+#else 
+ghcjs_dom_validity_state_get_type_mismatch ::
+                                             JSRef ValidityState -> IO Bool
+ghcjs_dom_validity_state_get_type_mismatch = undefined
+#endif
+ 
+validityStateGetTypeMismatch ::
+                             (IsValidityState self) => self -> IO Bool
+validityStateGetTypeMismatch self
+  = ghcjs_dom_validity_state_get_type_mismatch
+      (unValidityState (toValidityState self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"patternMismatch\"] ? 1 : 0)"
+        ghcjs_dom_validity_state_get_pattern_mismatch ::
+        JSRef ValidityState -> IO Bool
+#else 
+ghcjs_dom_validity_state_get_pattern_mismatch ::
+                                                JSRef ValidityState -> IO Bool
+ghcjs_dom_validity_state_get_pattern_mismatch = undefined
+#endif
+ 
+validityStateGetPatternMismatch ::
+                                (IsValidityState self) => self -> IO Bool
+validityStateGetPatternMismatch self
+  = ghcjs_dom_validity_state_get_pattern_mismatch
+      (unValidityState (toValidityState self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"tooLong\"] ? 1 : 0)"
+        ghcjs_dom_validity_state_get_too_long ::
+        JSRef ValidityState -> IO Bool
+#else 
+ghcjs_dom_validity_state_get_too_long ::
+                                        JSRef ValidityState -> IO Bool
+ghcjs_dom_validity_state_get_too_long = undefined
+#endif
+ 
+validityStateGetTooLong ::
+                        (IsValidityState self) => self -> IO Bool
+validityStateGetTooLong self
+  = ghcjs_dom_validity_state_get_too_long
+      (unValidityState (toValidityState self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"rangeUnderflow\"] ? 1 : 0)"
+        ghcjs_dom_validity_state_get_range_underflow ::
+        JSRef ValidityState -> IO Bool
+#else 
+ghcjs_dom_validity_state_get_range_underflow ::
+                                               JSRef ValidityState -> IO Bool
+ghcjs_dom_validity_state_get_range_underflow = undefined
+#endif
+ 
+validityStateGetRangeUnderflow ::
+                               (IsValidityState self) => self -> IO Bool
+validityStateGetRangeUnderflow self
+  = ghcjs_dom_validity_state_get_range_underflow
+      (unValidityState (toValidityState self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"rangeOverflow\"] ? 1 : 0)"
+        ghcjs_dom_validity_state_get_range_overflow ::
+        JSRef ValidityState -> IO Bool
+#else 
+ghcjs_dom_validity_state_get_range_overflow ::
+                                              JSRef ValidityState -> IO Bool
+ghcjs_dom_validity_state_get_range_overflow = undefined
+#endif
+ 
+validityStateGetRangeOverflow ::
+                              (IsValidityState self) => self -> IO Bool
+validityStateGetRangeOverflow self
+  = ghcjs_dom_validity_state_get_range_overflow
+      (unValidityState (toValidityState self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"stepMismatch\"] ? 1 : 0)"
+        ghcjs_dom_validity_state_get_step_mismatch ::
+        JSRef ValidityState -> IO Bool
+#else 
+ghcjs_dom_validity_state_get_step_mismatch ::
+                                             JSRef ValidityState -> IO Bool
+ghcjs_dom_validity_state_get_step_mismatch = undefined
+#endif
+ 
+validityStateGetStepMismatch ::
+                             (IsValidityState self) => self -> IO Bool
+validityStateGetStepMismatch self
+  = ghcjs_dom_validity_state_get_step_mismatch
+      (unValidityState (toValidityState self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"customError\"] ? 1 : 0)"
+        ghcjs_dom_validity_state_get_custom_error ::
+        JSRef ValidityState -> IO Bool
+#else 
+ghcjs_dom_validity_state_get_custom_error ::
+                                            JSRef ValidityState -> IO Bool
+ghcjs_dom_validity_state_get_custom_error = undefined
+#endif
+ 
+validityStateGetCustomError ::
+                            (IsValidityState self) => self -> IO Bool
+validityStateGetCustomError self
+  = ghcjs_dom_validity_state_get_custom_error
+      (unValidityState (toValidityState self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"valid\"] ? 1 : 0)"
+        ghcjs_dom_validity_state_get_valid ::
+        JSRef ValidityState -> IO Bool
+#else 
+ghcjs_dom_validity_state_get_valid ::
+                                     JSRef ValidityState -> IO Bool
+ghcjs_dom_validity_state_get_valid = undefined
+#endif
+ 
+validityStateGetValid :: (IsValidityState self) => self -> IO Bool
+validityStateGetValid self
+  = ghcjs_dom_validity_state_get_valid
+      (unValidityState (toValidityState self))
+#else
+module GHCJS.DOM.ValidityState (
+  module Graphics.UI.Gtk.WebKit.DOM.ValidityState
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.ValidityState
+#endif
diff --git a/src/GHCJS/DOM/WebKitNamedFlow.hs b/src/GHCJS/DOM/WebKitNamedFlow.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/WebKitNamedFlow.hs
@@ -0,0 +1,164 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.WebKitNamedFlow
+       (ghcjs_dom_webkit_named_flow_get_regions_by_content,
+        webKitNamedFlowGetRegionsByContent,
+        ghcjs_dom_webkit_named_flow_get_regions, webKitNamedFlowGetRegions,
+        ghcjs_dom_webkit_named_flow_get_content, webKitNamedFlowGetContent,
+        ghcjs_dom_webkit_named_flow_dispatch_event,
+        webKitNamedFlowDispatchEvent, ghcjs_dom_webkit_named_flow_get_name,
+        webKitNamedFlowGetName, ghcjs_dom_webkit_named_flow_get_overset,
+        webKitNamedFlowGetOverset,
+        ghcjs_dom_webkit_named_flow_get_first_empty_region_index,
+        webKitNamedFlowGetFirstEmptyRegionIndex)
+       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[\"getRegionsByContent\"]($2)"
+        ghcjs_dom_webkit_named_flow_get_regions_by_content ::
+        JSRef WebKitNamedFlow -> JSRef Node -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_webkit_named_flow_get_regions_by_content ::
+                                                     JSRef WebKitNamedFlow ->
+                                                       JSRef Node -> IO (JSRef NodeList)
+ghcjs_dom_webkit_named_flow_get_regions_by_content = undefined
+#endif
+ 
+webKitNamedFlowGetRegionsByContent ::
+                                   (IsWebKitNamedFlow self, IsNode contentNode) =>
+                                     self -> Maybe contentNode -> IO (Maybe NodeList)
+webKitNamedFlowGetRegionsByContent self contentNode
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_webkit_named_flow_get_regions_by_content
+         (unWebKitNamedFlow (toWebKitNamedFlow self))
+         (maybe jsNull (unNode . toNode) contentNode))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getRegions\"]()"
+        ghcjs_dom_webkit_named_flow_get_regions ::
+        JSRef WebKitNamedFlow -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_webkit_named_flow_get_regions ::
+                                          JSRef WebKitNamedFlow -> IO (JSRef NodeList)
+ghcjs_dom_webkit_named_flow_get_regions = undefined
+#endif
+ 
+webKitNamedFlowGetRegions ::
+                          (IsWebKitNamedFlow self) => self -> IO (Maybe NodeList)
+webKitNamedFlowGetRegions self
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_webkit_named_flow_get_regions
+         (unWebKitNamedFlow (toWebKitNamedFlow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"getContent\"]()"
+        ghcjs_dom_webkit_named_flow_get_content ::
+        JSRef WebKitNamedFlow -> IO (JSRef NodeList)
+#else 
+ghcjs_dom_webkit_named_flow_get_content ::
+                                          JSRef WebKitNamedFlow -> IO (JSRef NodeList)
+ghcjs_dom_webkit_named_flow_get_content = undefined
+#endif
+ 
+webKitNamedFlowGetContent ::
+                          (IsWebKitNamedFlow self) => self -> IO (Maybe NodeList)
+webKitNamedFlowGetContent self
+  = fmap NodeList . maybeJSNull <$>
+      (ghcjs_dom_webkit_named_flow_get_content
+         (unWebKitNamedFlow (toWebKitNamedFlow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"dispatchEvent\"]($2) ? 1 : 0)"
+        ghcjs_dom_webkit_named_flow_dispatch_event ::
+        JSRef WebKitNamedFlow -> JSRef Event -> IO Bool
+#else 
+ghcjs_dom_webkit_named_flow_dispatch_event ::
+                                             JSRef WebKitNamedFlow -> JSRef Event -> IO Bool
+ghcjs_dom_webkit_named_flow_dispatch_event = undefined
+#endif
+ 
+webKitNamedFlowDispatchEvent ::
+                             (IsWebKitNamedFlow self, IsEvent event) =>
+                               self -> Maybe event -> IO Bool
+webKitNamedFlowDispatchEvent self event
+  = ghcjs_dom_webkit_named_flow_dispatch_event
+      (unWebKitNamedFlow (toWebKitNamedFlow self))
+      (maybe jsNull (unEvent . toEvent) event)
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"name\"]"
+        ghcjs_dom_webkit_named_flow_get_name ::
+        JSRef WebKitNamedFlow -> IO JSString
+#else 
+ghcjs_dom_webkit_named_flow_get_name ::
+                                       JSRef WebKitNamedFlow -> IO JSString
+ghcjs_dom_webkit_named_flow_get_name = undefined
+#endif
+ 
+webKitNamedFlowGetName ::
+                       (IsWebKitNamedFlow self, FromJSString result) => self -> IO result
+webKitNamedFlowGetName self
+  = fromJSString <$>
+      (ghcjs_dom_webkit_named_flow_get_name
+         (unWebKitNamedFlow (toWebKitNamedFlow self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"overset\"] ? 1 : 0)"
+        ghcjs_dom_webkit_named_flow_get_overset ::
+        JSRef WebKitNamedFlow -> IO Bool
+#else 
+ghcjs_dom_webkit_named_flow_get_overset ::
+                                          JSRef WebKitNamedFlow -> IO Bool
+ghcjs_dom_webkit_named_flow_get_overset = undefined
+#endif
+ 
+webKitNamedFlowGetOverset ::
+                          (IsWebKitNamedFlow self) => self -> IO Bool
+webKitNamedFlowGetOverset self
+  = ghcjs_dom_webkit_named_flow_get_overset
+      (unWebKitNamedFlow (toWebKitNamedFlow self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"firstEmptyRegionIndex\"]"
+        ghcjs_dom_webkit_named_flow_get_first_empty_region_index ::
+        JSRef WebKitNamedFlow -> IO Int
+#else 
+ghcjs_dom_webkit_named_flow_get_first_empty_region_index ::
+                                                           JSRef WebKitNamedFlow -> IO Int
+ghcjs_dom_webkit_named_flow_get_first_empty_region_index
+  = undefined
+#endif
+ 
+webKitNamedFlowGetFirstEmptyRegionIndex ::
+                                        (IsWebKitNamedFlow self) => self -> IO Int
+webKitNamedFlowGetFirstEmptyRegionIndex self
+  = ghcjs_dom_webkit_named_flow_get_first_empty_region_index
+      (unWebKitNamedFlow (toWebKitNamedFlow self))
+#else
+module GHCJS.DOM.WebKitNamedFlow (
+  module Graphics.UI.Gtk.WebKit.DOM.WebKitNamedFlow
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.WebKitNamedFlow
+#endif
diff --git a/src/GHCJS/DOM/WebKitPoint.hs b/src/GHCJS/DOM/WebKitPoint.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/WebKitPoint.hs
@@ -0,0 +1,82 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.WebKitPoint
+       (ghcjs_dom_webkit_point_set_x, webKitPointSetX,
+        ghcjs_dom_webkit_point_get_x, webKitPointGetX,
+        ghcjs_dom_webkit_point_set_y, webKitPointSetY,
+        ghcjs_dom_webkit_point_get_y, webKitPointGetY)
+       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[\"x\"] = $2;"
+        ghcjs_dom_webkit_point_set_x :: JSRef WebKitPoint -> Float -> IO ()
+#else 
+ghcjs_dom_webkit_point_set_x :: JSRef WebKitPoint -> Float -> IO ()
+ghcjs_dom_webkit_point_set_x = undefined
+#endif
+ 
+webKitPointSetX :: (IsWebKitPoint self) => self -> Float -> IO ()
+webKitPointSetX self val
+  = ghcjs_dom_webkit_point_set_x (unWebKitPoint (toWebKitPoint self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"x\"]"
+        ghcjs_dom_webkit_point_get_x :: JSRef WebKitPoint -> IO Float
+#else 
+ghcjs_dom_webkit_point_get_x :: JSRef WebKitPoint -> IO Float
+ghcjs_dom_webkit_point_get_x = undefined
+#endif
+ 
+webKitPointGetX :: (IsWebKitPoint self) => self -> IO Float
+webKitPointGetX self
+  = ghcjs_dom_webkit_point_get_x (unWebKitPoint (toWebKitPoint self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"y\"] = $2;"
+        ghcjs_dom_webkit_point_set_y :: JSRef WebKitPoint -> Float -> IO ()
+#else 
+ghcjs_dom_webkit_point_set_y :: JSRef WebKitPoint -> Float -> IO ()
+ghcjs_dom_webkit_point_set_y = undefined
+#endif
+ 
+webKitPointSetY :: (IsWebKitPoint self) => self -> Float -> IO ()
+webKitPointSetY self val
+  = ghcjs_dom_webkit_point_set_y (unWebKitPoint (toWebKitPoint self))
+      val
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"y\"]"
+        ghcjs_dom_webkit_point_get_y :: JSRef WebKitPoint -> IO Float
+#else 
+ghcjs_dom_webkit_point_get_y :: JSRef WebKitPoint -> IO Float
+ghcjs_dom_webkit_point_get_y = undefined
+#endif
+ 
+webKitPointGetY :: (IsWebKitPoint self) => self -> IO Float
+webKitPointGetY self
+  = ghcjs_dom_webkit_point_get_y (unWebKitPoint (toWebKitPoint self))
+#else
+module GHCJS.DOM.WebKitPoint (
+  module Graphics.UI.Gtk.WebKit.DOM.WebKitPoint
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.WebKitPoint
+#endif
diff --git a/src/GHCJS/DOM/Window.hs b/src/GHCJS/DOM/Window.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/Window.hs
@@ -0,0 +1,16 @@
+{-# 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
diff --git a/src/GHCJS/DOM/XPathExpression.hs b/src/GHCJS/DOM/XPathExpression.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/XPathExpression.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.XPathExpression
+       (ghcjs_dom_xpath_expression_evaluate, xPathExpressionEvaluate)
+       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[\"evaluate\"]($2, $3, $4)"
+        ghcjs_dom_xpath_expression_evaluate ::
+        JSRef XPathExpression ->
+          JSRef Node -> Word -> JSRef XPathResult -> IO (JSRef XPathResult)
+#else 
+ghcjs_dom_xpath_expression_evaluate ::
+                                      JSRef XPathExpression ->
+                                        JSRef Node ->
+                                          Word -> JSRef XPathResult -> IO (JSRef XPathResult)
+ghcjs_dom_xpath_expression_evaluate = undefined
+#endif
+ 
+xPathExpressionEvaluate ::
+                        (IsXPathExpression self, IsNode contextNode,
+                         IsXPathResult inResult) =>
+                          self ->
+                            Maybe contextNode ->
+                              Word -> Maybe inResult -> IO (Maybe XPathResult)
+xPathExpressionEvaluate self contextNode type' inResult
+  = fmap XPathResult . maybeJSNull <$>
+      (ghcjs_dom_xpath_expression_evaluate
+         (unXPathExpression (toXPathExpression self))
+         (maybe jsNull (unNode . toNode) contextNode)
+         type'
+         (maybe jsNull (unXPathResult . toXPathResult) inResult))
+#else
+module GHCJS.DOM.XPathExpression (
+  module Graphics.UI.Gtk.WebKit.DOM.XPathExpression
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.XPathExpression
+#endif
diff --git a/src/GHCJS/DOM/XPathNSResolver.hs b/src/GHCJS/DOM/XPathNSResolver.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/XPathNSResolver.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.XPathNSResolver
+       (ghcjs_dom_xpath_ns_resolver_lookup_namespace_uri,
+        xPathNSResolverLookupNamespaceURI)
+       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[\"lookupNamespaceURI\"]($2)"
+        ghcjs_dom_xpath_ns_resolver_lookup_namespace_uri ::
+        JSRef XPathNSResolver -> JSString -> IO JSString
+#else 
+ghcjs_dom_xpath_ns_resolver_lookup_namespace_uri ::
+                                                   JSRef XPathNSResolver -> JSString -> IO JSString
+ghcjs_dom_xpath_ns_resolver_lookup_namespace_uri = undefined
+#endif
+ 
+xPathNSResolverLookupNamespaceURI ::
+                                  (IsXPathNSResolver self, ToJSString prefix,
+                                   FromJSString result) =>
+                                    self -> prefix -> IO result
+xPathNSResolverLookupNamespaceURI self prefix
+  = fromJSString <$>
+      (ghcjs_dom_xpath_ns_resolver_lookup_namespace_uri
+         (unXPathNSResolver (toXPathNSResolver self))
+         (toJSString prefix))
+#else
+module GHCJS.DOM.XPathNSResolver (
+  module Graphics.UI.Gtk.WebKit.DOM.XPathNSResolver
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.XPathNSResolver
+#endif
diff --git a/src/GHCJS/DOM/XPathResult.hs b/src/GHCJS/DOM/XPathResult.hs
new file mode 100644
--- /dev/null
+++ b/src/GHCJS/DOM/XPathResult.hs
@@ -0,0 +1,209 @@
+{-# LANGUAGE CPP #-}
+#if (defined(__GHCJS__) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
+{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
+module GHCJS.DOM.XPathResult
+       (ghcjs_dom_xpath_result_iterate_next, xPathResultIterateNext,
+        ghcjs_dom_xpath_result_snapshot_item, xPathResultSnapshotItem,
+        cANY_TYPE, cNUMBER_TYPE, cSTRING_TYPE, cBOOLEAN_TYPE,
+        cUNORDERED_NODE_ITERATOR_TYPE, cORDERED_NODE_ITERATOR_TYPE,
+        cUNORDERED_NODE_SNAPSHOT_TYPE, cORDERED_NODE_SNAPSHOT_TYPE,
+        cANY_UNORDERED_NODE_TYPE, cFIRST_ORDERED_NODE_TYPE,
+        ghcjs_dom_xpath_result_get_result_type, xPathResultGetResultType,
+        ghcjs_dom_xpath_result_get_number_value, xPathResultGetNumberValue,
+        ghcjs_dom_xpath_result_get_string_value, xPathResultGetStringValue,
+        ghcjs_dom_xpath_result_get_boolean_value,
+        xPathResultGetBooleanValue,
+        ghcjs_dom_xpath_result_get_single_node_value,
+        xPathResultGetSingleNodeValue,
+        ghcjs_dom_xpath_result_get_invalid_iterator_state,
+        xPathResultGetInvalidIteratorState,
+        ghcjs_dom_xpath_result_get_snapshot_length,
+        xPathResultGetSnapshotLength)
+       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[\"iterateNext\"]()"
+        ghcjs_dom_xpath_result_iterate_next ::
+        JSRef XPathResult -> IO (JSRef Node)
+#else 
+ghcjs_dom_xpath_result_iterate_next ::
+                                      JSRef XPathResult -> IO (JSRef Node)
+ghcjs_dom_xpath_result_iterate_next = undefined
+#endif
+ 
+xPathResultIterateNext ::
+                       (IsXPathResult self) => self -> IO (Maybe Node)
+xPathResultIterateNext self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_xpath_result_iterate_next
+         (unXPathResult (toXPathResult self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"snapshotItem\"]($2)"
+        ghcjs_dom_xpath_result_snapshot_item ::
+        JSRef XPathResult -> Word -> IO (JSRef Node)
+#else 
+ghcjs_dom_xpath_result_snapshot_item ::
+                                       JSRef XPathResult -> Word -> IO (JSRef Node)
+ghcjs_dom_xpath_result_snapshot_item = undefined
+#endif
+ 
+xPathResultSnapshotItem ::
+                        (IsXPathResult self) => self -> Word -> IO (Maybe Node)
+xPathResultSnapshotItem self index
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_xpath_result_snapshot_item
+         (unXPathResult (toXPathResult self))
+         index)
+cANY_TYPE = 0
+cNUMBER_TYPE = 1
+cSTRING_TYPE = 2
+cBOOLEAN_TYPE = 3
+cUNORDERED_NODE_ITERATOR_TYPE = 4
+cORDERED_NODE_ITERATOR_TYPE = 5
+cUNORDERED_NODE_SNAPSHOT_TYPE = 6
+cORDERED_NODE_SNAPSHOT_TYPE = 7
+cANY_UNORDERED_NODE_TYPE = 8
+cFIRST_ORDERED_NODE_TYPE = 9
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"resultType\"]"
+        ghcjs_dom_xpath_result_get_result_type ::
+        JSRef XPathResult -> IO Word
+#else 
+ghcjs_dom_xpath_result_get_result_type ::
+                                         JSRef XPathResult -> IO Word
+ghcjs_dom_xpath_result_get_result_type = undefined
+#endif
+ 
+xPathResultGetResultType :: (IsXPathResult self) => self -> IO Word
+xPathResultGetResultType self
+  = ghcjs_dom_xpath_result_get_result_type
+      (unXPathResult (toXPathResult self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"numberValue\"]"
+        ghcjs_dom_xpath_result_get_number_value ::
+        JSRef XPathResult -> IO Double
+#else 
+ghcjs_dom_xpath_result_get_number_value ::
+                                          JSRef XPathResult -> IO Double
+ghcjs_dom_xpath_result_get_number_value = undefined
+#endif
+ 
+xPathResultGetNumberValue ::
+                          (IsXPathResult self) => self -> IO Double
+xPathResultGetNumberValue self
+  = ghcjs_dom_xpath_result_get_number_value
+      (unXPathResult (toXPathResult self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"stringValue\"]"
+        ghcjs_dom_xpath_result_get_string_value ::
+        JSRef XPathResult -> IO JSString
+#else 
+ghcjs_dom_xpath_result_get_string_value ::
+                                          JSRef XPathResult -> IO JSString
+ghcjs_dom_xpath_result_get_string_value = undefined
+#endif
+ 
+xPathResultGetStringValue ::
+                          (IsXPathResult self, FromJSString result) => self -> IO result
+xPathResultGetStringValue self
+  = fromJSString <$>
+      (ghcjs_dom_xpath_result_get_string_value
+         (unXPathResult (toXPathResult self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "($1[\"booleanValue\"] ? 1 : 0)"
+        ghcjs_dom_xpath_result_get_boolean_value ::
+        JSRef XPathResult -> IO Bool
+#else 
+ghcjs_dom_xpath_result_get_boolean_value ::
+                                           JSRef XPathResult -> IO Bool
+ghcjs_dom_xpath_result_get_boolean_value = undefined
+#endif
+ 
+xPathResultGetBooleanValue ::
+                           (IsXPathResult self) => self -> IO Bool
+xPathResultGetBooleanValue self
+  = ghcjs_dom_xpath_result_get_boolean_value
+      (unXPathResult (toXPathResult self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"singleNodeValue\"]"
+        ghcjs_dom_xpath_result_get_single_node_value ::
+        JSRef XPathResult -> IO (JSRef Node)
+#else 
+ghcjs_dom_xpath_result_get_single_node_value ::
+                                               JSRef XPathResult -> IO (JSRef Node)
+ghcjs_dom_xpath_result_get_single_node_value = undefined
+#endif
+ 
+xPathResultGetSingleNodeValue ::
+                              (IsXPathResult self) => self -> IO (Maybe Node)
+xPathResultGetSingleNodeValue self
+  = fmap Node . maybeJSNull <$>
+      (ghcjs_dom_xpath_result_get_single_node_value
+         (unXPathResult (toXPathResult self)))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe
+        "($1[\"invalidIteratorState\"] ? 1 : 0)"
+        ghcjs_dom_xpath_result_get_invalid_iterator_state ::
+        JSRef XPathResult -> IO Bool
+#else 
+ghcjs_dom_xpath_result_get_invalid_iterator_state ::
+                                                    JSRef XPathResult -> IO Bool
+ghcjs_dom_xpath_result_get_invalid_iterator_state = undefined
+#endif
+ 
+xPathResultGetInvalidIteratorState ::
+                                   (IsXPathResult self) => self -> IO Bool
+xPathResultGetInvalidIteratorState self
+  = ghcjs_dom_xpath_result_get_invalid_iterator_state
+      (unXPathResult (toXPathResult self))
+
+
+#ifdef __GHCJS__ 
+foreign import javascript unsafe "$1[\"snapshotLength\"]"
+        ghcjs_dom_xpath_result_get_snapshot_length ::
+        JSRef XPathResult -> IO Word
+#else 
+ghcjs_dom_xpath_result_get_snapshot_length ::
+                                             JSRef XPathResult -> IO Word
+ghcjs_dom_xpath_result_get_snapshot_length = undefined
+#endif
+ 
+xPathResultGetSnapshotLength ::
+                             (IsXPathResult self) => self -> IO Word
+xPathResultGetSnapshotLength self
+  = ghcjs_dom_xpath_result_get_snapshot_length
+      (unXPathResult (toXPathResult self))
+#else
+module GHCJS.DOM.XPathResult (
+  module Graphics.UI.Gtk.WebKit.DOM.XPathResult
+  ) where
+import Graphics.UI.Gtk.WebKit.DOM.XPathResult
+#endif
