{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.WebKit.Objects.DOMDocument
    ( 

-- * Exported types
    DOMDocument(..)                         ,
    DOMDocumentK                            ,
    toDOMDocument                           ,
    noDOMDocument                           ,


 -- * Methods
-- ** dOMDocumentAdoptNode
    dOMDocumentAdoptNode                    ,


-- ** dOMDocumentCaretRangeFromPoint
    dOMDocumentCaretRangeFromPoint          ,


-- ** dOMDocumentCreateAttribute
    dOMDocumentCreateAttribute              ,


-- ** dOMDocumentCreateAttributeNs
    dOMDocumentCreateAttributeNs            ,


-- ** dOMDocumentCreateCdataSection
    dOMDocumentCreateCdataSection           ,


-- ** dOMDocumentCreateComment
    dOMDocumentCreateComment                ,


-- ** dOMDocumentCreateCssStyleDeclaration
    dOMDocumentCreateCssStyleDeclaration    ,


-- ** dOMDocumentCreateDocumentFragment
    dOMDocumentCreateDocumentFragment       ,


-- ** dOMDocumentCreateElement
    dOMDocumentCreateElement                ,


-- ** dOMDocumentCreateElementNs
    dOMDocumentCreateElementNs              ,


-- ** dOMDocumentCreateEntityReference
    dOMDocumentCreateEntityReference        ,


-- ** dOMDocumentCreateEvent
    dOMDocumentCreateEvent                  ,


-- ** dOMDocumentCreateExpression
    dOMDocumentCreateExpression             ,


-- ** dOMDocumentCreateNodeIterator
    dOMDocumentCreateNodeIterator           ,


-- ** dOMDocumentCreateNsResolver
    dOMDocumentCreateNsResolver             ,


-- ** dOMDocumentCreateProcessingInstruction
    dOMDocumentCreateProcessingInstruction  ,


-- ** dOMDocumentCreateRange
    dOMDocumentCreateRange                  ,


-- ** dOMDocumentCreateTextNode
    dOMDocumentCreateTextNode               ,


-- ** dOMDocumentCreateTouch
    dOMDocumentCreateTouch                  ,


-- ** dOMDocumentCreateTreeWalker
    dOMDocumentCreateTreeWalker             ,


-- ** dOMDocumentElementFromPoint
    dOMDocumentElementFromPoint             ,


-- ** dOMDocumentEvaluate
    dOMDocumentEvaluate                     ,


-- ** dOMDocumentExecCommand
    dOMDocumentExecCommand                  ,


-- ** dOMDocumentGetAnchors
    dOMDocumentGetAnchors                   ,


-- ** dOMDocumentGetApplets
    dOMDocumentGetApplets                   ,


-- ** dOMDocumentGetBody
    dOMDocumentGetBody                      ,


-- ** dOMDocumentGetCharacterSet
    dOMDocumentGetCharacterSet              ,


-- ** dOMDocumentGetCharset
    dOMDocumentGetCharset                   ,


-- ** dOMDocumentGetCompatMode
    dOMDocumentGetCompatMode                ,


-- ** dOMDocumentGetCookie
    dOMDocumentGetCookie                    ,


-- ** dOMDocumentGetCurrentScript
    dOMDocumentGetCurrentScript             ,


-- ** dOMDocumentGetDefaultCharset
    dOMDocumentGetDefaultCharset            ,


-- ** dOMDocumentGetDefaultView
    dOMDocumentGetDefaultView               ,


-- ** dOMDocumentGetDoctype
    dOMDocumentGetDoctype                   ,


-- ** dOMDocumentGetDocumentElement
    dOMDocumentGetDocumentElement           ,


-- ** dOMDocumentGetDocumentUri
    dOMDocumentGetDocumentUri               ,


-- ** dOMDocumentGetDomain
    dOMDocumentGetDomain                    ,


-- ** dOMDocumentGetElementById
    dOMDocumentGetElementById               ,


-- ** dOMDocumentGetElementsByClassName
    dOMDocumentGetElementsByClassName       ,


-- ** dOMDocumentGetElementsByName
    dOMDocumentGetElementsByName            ,


-- ** dOMDocumentGetElementsByTagName
    dOMDocumentGetElementsByTagName         ,


-- ** dOMDocumentGetElementsByTagNameNs
    dOMDocumentGetElementsByTagNameNs       ,


-- ** dOMDocumentGetForms
    dOMDocumentGetForms                     ,


-- ** dOMDocumentGetHead
    dOMDocumentGetHead                      ,


-- ** dOMDocumentGetHidden
    dOMDocumentGetHidden                    ,


-- ** dOMDocumentGetImages
    dOMDocumentGetImages                    ,


-- ** dOMDocumentGetImplementation
    dOMDocumentGetImplementation            ,


-- ** dOMDocumentGetInputEncoding
    dOMDocumentGetInputEncoding             ,


-- ** dOMDocumentGetLastModified
    dOMDocumentGetLastModified              ,


-- ** dOMDocumentGetLinks
    dOMDocumentGetLinks                     ,


-- ** dOMDocumentGetOverrideStyle
    dOMDocumentGetOverrideStyle             ,


-- ** dOMDocumentGetPreferredStylesheetSet
    dOMDocumentGetPreferredStylesheetSet    ,


-- ** dOMDocumentGetReadyState
    dOMDocumentGetReadyState                ,


-- ** dOMDocumentGetReferrer
    dOMDocumentGetReferrer                  ,


-- ** dOMDocumentGetSecurityPolicy
    dOMDocumentGetSecurityPolicy            ,


-- ** dOMDocumentGetSelectedStylesheetSet
    dOMDocumentGetSelectedStylesheetSet     ,


-- ** dOMDocumentGetStyleSheets
    dOMDocumentGetStyleSheets               ,


-- ** dOMDocumentGetTitle
    dOMDocumentGetTitle                     ,


-- ** dOMDocumentGetUrl
    dOMDocumentGetUrl                       ,


-- ** dOMDocumentGetVisibilityState
    dOMDocumentGetVisibilityState           ,


-- ** dOMDocumentGetWebkitCurrentFullScreenElement
    dOMDocumentGetWebkitCurrentFullScreenElement,


-- ** dOMDocumentGetWebkitFullScreenKeyboardInputAllowed
    dOMDocumentGetWebkitFullScreenKeyboardInputAllowed,


-- ** dOMDocumentGetWebkitFullscreenElement
    dOMDocumentGetWebkitFullscreenElement   ,


-- ** dOMDocumentGetWebkitFullscreenEnabled
    dOMDocumentGetWebkitFullscreenEnabled   ,


-- ** dOMDocumentGetWebkitHidden
    dOMDocumentGetWebkitHidden              ,


-- ** dOMDocumentGetWebkitIsFullScreen
    dOMDocumentGetWebkitIsFullScreen        ,


-- ** dOMDocumentGetWebkitPointerLockElement
    dOMDocumentGetWebkitPointerLockElement  ,


-- ** dOMDocumentGetWebkitVisibilityState
    dOMDocumentGetWebkitVisibilityState     ,


-- ** dOMDocumentGetXmlEncoding
    dOMDocumentGetXmlEncoding               ,


-- ** dOMDocumentGetXmlStandalone
    dOMDocumentGetXmlStandalone             ,


-- ** dOMDocumentGetXmlVersion
    dOMDocumentGetXmlVersion                ,


-- ** dOMDocumentImportNode
    dOMDocumentImportNode                   ,


-- ** dOMDocumentQueryCommandEnabled
    dOMDocumentQueryCommandEnabled          ,


-- ** dOMDocumentQueryCommandIndeterm
    dOMDocumentQueryCommandIndeterm         ,


-- ** dOMDocumentQueryCommandState
    dOMDocumentQueryCommandState            ,


-- ** dOMDocumentQueryCommandSupported
    dOMDocumentQueryCommandSupported        ,


-- ** dOMDocumentQueryCommandValue
    dOMDocumentQueryCommandValue            ,


-- ** dOMDocumentQuerySelector
    dOMDocumentQuerySelector                ,


-- ** dOMDocumentQuerySelectorAll
    dOMDocumentQuerySelectorAll             ,


-- ** dOMDocumentSetBody
    dOMDocumentSetBody                      ,


-- ** dOMDocumentSetCharset
    dOMDocumentSetCharset                   ,


-- ** dOMDocumentSetCookie
    dOMDocumentSetCookie                    ,


-- ** dOMDocumentSetDocumentUri
    dOMDocumentSetDocumentUri               ,


-- ** dOMDocumentSetSelectedStylesheetSet
    dOMDocumentSetSelectedStylesheetSet     ,


-- ** dOMDocumentSetTitle
    dOMDocumentSetTitle                     ,


-- ** dOMDocumentSetXmlStandalone
    dOMDocumentSetXmlStandalone             ,


-- ** dOMDocumentSetXmlVersion
    dOMDocumentSetXmlVersion                ,


-- ** dOMDocumentWebkitCancelFullScreen
    dOMDocumentWebkitCancelFullScreen       ,


-- ** dOMDocumentWebkitExitFullscreen
    dOMDocumentWebkitExitFullscreen         ,


-- ** dOMDocumentWebkitExitPointerLock
    dOMDocumentWebkitExitPointerLock        ,


-- ** dOMDocumentWebkitGetNamedFlows
    dOMDocumentWebkitGetNamedFlows          ,




 -- * Properties
-- ** Anchors
    DOMDocumentAnchorsPropertyInfo          ,
    getDOMDocumentAnchors                   ,


-- ** Applets
    DOMDocumentAppletsPropertyInfo          ,
    getDOMDocumentApplets                   ,


-- ** Body
    DOMDocumentBodyPropertyInfo             ,
    getDOMDocumentBody                      ,


-- ** CharacterSet
    DOMDocumentCharacterSetPropertyInfo     ,
    getDOMDocumentCharacterSet              ,


-- ** Charset
    DOMDocumentCharsetPropertyInfo          ,
    constructDOMDocumentCharset             ,
    getDOMDocumentCharset                   ,
    setDOMDocumentCharset                   ,


-- ** CompatMode
    DOMDocumentCompatModePropertyInfo       ,
    getDOMDocumentCompatMode                ,


-- ** Cookie
    DOMDocumentCookiePropertyInfo           ,
    constructDOMDocumentCookie              ,
    getDOMDocumentCookie                    ,
    setDOMDocumentCookie                    ,


-- ** CurrentScript
    DOMDocumentCurrentScriptPropertyInfo    ,
    getDOMDocumentCurrentScript             ,


-- ** DefaultCharset
    DOMDocumentDefaultCharsetPropertyInfo   ,
    getDOMDocumentDefaultCharset            ,


-- ** DefaultView
    DOMDocumentDefaultViewPropertyInfo      ,
    getDOMDocumentDefaultView               ,


-- ** Doctype
    DOMDocumentDoctypePropertyInfo          ,
    getDOMDocumentDoctype                   ,


-- ** DocumentElement
    DOMDocumentDocumentElementPropertyInfo  ,
    getDOMDocumentDocumentElement           ,


-- ** DocumentUri
    DOMDocumentDocumentUriPropertyInfo      ,
    constructDOMDocumentDocumentUri         ,
    getDOMDocumentDocumentUri               ,
    setDOMDocumentDocumentUri               ,


-- ** Domain
    DOMDocumentDomainPropertyInfo           ,
    getDOMDocumentDomain                    ,


-- ** Forms
    DOMDocumentFormsPropertyInfo            ,
    getDOMDocumentForms                     ,


-- ** Head
    DOMDocumentHeadPropertyInfo             ,
    getDOMDocumentHead                      ,


-- ** Hidden
    DOMDocumentHiddenPropertyInfo           ,
    getDOMDocumentHidden                    ,


-- ** Images
    DOMDocumentImagesPropertyInfo           ,
    getDOMDocumentImages                    ,


-- ** Implementation
    DOMDocumentImplementationPropertyInfo   ,
    getDOMDocumentImplementation            ,


-- ** InputEncoding
    DOMDocumentInputEncodingPropertyInfo    ,
    getDOMDocumentInputEncoding             ,


-- ** LastModified
    DOMDocumentLastModifiedPropertyInfo     ,
    getDOMDocumentLastModified              ,


-- ** Links
    DOMDocumentLinksPropertyInfo            ,
    getDOMDocumentLinks                     ,


-- ** PreferredStylesheetSet
    DOMDocumentPreferredStylesheetSetPropertyInfo,
    getDOMDocumentPreferredStylesheetSet    ,


-- ** ReadyState
    DOMDocumentReadyStatePropertyInfo       ,
    getDOMDocumentReadyState                ,


-- ** Referrer
    DOMDocumentReferrerPropertyInfo         ,
    getDOMDocumentReferrer                  ,


-- ** SecurityPolicy
    DOMDocumentSecurityPolicyPropertyInfo   ,
    getDOMDocumentSecurityPolicy            ,


-- ** SelectedStylesheetSet
    DOMDocumentSelectedStylesheetSetPropertyInfo,
    constructDOMDocumentSelectedStylesheetSet,
    getDOMDocumentSelectedStylesheetSet     ,
    setDOMDocumentSelectedStylesheetSet     ,


-- ** StyleSheets
    DOMDocumentStyleSheetsPropertyInfo      ,
    getDOMDocumentStyleSheets               ,


-- ** Title
    DOMDocumentTitlePropertyInfo            ,
    constructDOMDocumentTitle               ,
    getDOMDocumentTitle                     ,
    setDOMDocumentTitle                     ,


-- ** Url
    DOMDocumentUrlPropertyInfo              ,
    getDOMDocumentUrl                       ,


-- ** VisibilityState
    DOMDocumentVisibilityStatePropertyInfo  ,
    getDOMDocumentVisibilityState           ,


-- ** WebkitCurrentFullScreenElement
    DOMDocumentWebkitCurrentFullScreenElementPropertyInfo,
    getDOMDocumentWebkitCurrentFullScreenElement,


-- ** WebkitFullScreenKeyboardInputAllowed
    DOMDocumentWebkitFullScreenKeyboardInputAllowedPropertyInfo,
    getDOMDocumentWebkitFullScreenKeyboardInputAllowed,


-- ** WebkitFullscreenElement
    DOMDocumentWebkitFullscreenElementPropertyInfo,
    getDOMDocumentWebkitFullscreenElement   ,


-- ** WebkitFullscreenEnabled
    DOMDocumentWebkitFullscreenEnabledPropertyInfo,
    getDOMDocumentWebkitFullscreenEnabled   ,


-- ** WebkitIsFullScreen
    DOMDocumentWebkitIsFullScreenPropertyInfo,
    getDOMDocumentWebkitIsFullScreen        ,


-- ** WebkitPointerLockElement
    DOMDocumentWebkitPointerLockElementPropertyInfo,
    getDOMDocumentWebkitPointerLockElement  ,


-- ** XmlEncoding
    DOMDocumentXmlEncodingPropertyInfo      ,
    getDOMDocumentXmlEncoding               ,


-- ** XmlStandalone
    DOMDocumentXmlStandalonePropertyInfo    ,
    constructDOMDocumentXmlStandalone       ,
    getDOMDocumentXmlStandalone             ,
    setDOMDocumentXmlStandalone             ,


-- ** XmlVersion
    DOMDocumentXmlVersionPropertyInfo       ,
    constructDOMDocumentXmlVersion          ,
    getDOMDocumentXmlVersion                ,
    setDOMDocumentXmlVersion                ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.WebKit.Types
import GI.WebKit.Callbacks
import qualified GI.GObject as GObject

newtype DOMDocument = DOMDocument (ForeignPtr DOMDocument)
foreign import ccall "webkit_dom_document_get_type"
    c_webkit_dom_document_get_type :: IO GType

type instance ParentTypes DOMDocument = DOMDocumentParentTypes
type DOMDocumentParentTypes = '[DOMNode, DOMObject, GObject.Object, DOMEventTarget]

instance GObject DOMDocument where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_document_get_type
    

class GObject o => DOMDocumentK o
instance (GObject o, IsDescendantOf DOMDocument o) => DOMDocumentK o

toDOMDocument :: DOMDocumentK o => o -> IO DOMDocument
toDOMDocument = unsafeCastTo DOMDocument

noDOMDocument :: Maybe DOMDocument
noDOMDocument = Nothing

-- VVV Prop "anchors"
   -- Type: TInterface "WebKit" "DOMHTMLCollection"
   -- Flags: [PropertyReadable]

getDOMDocumentAnchors :: (MonadIO m, DOMDocumentK o) => o -> m DOMHTMLCollection
getDOMDocumentAnchors obj = liftIO $ getObjectPropertyObject obj "anchors" DOMHTMLCollection

data DOMDocumentAnchorsPropertyInfo
instance AttrInfo DOMDocumentAnchorsPropertyInfo where
    type AttrAllowedOps DOMDocumentAnchorsPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentAnchorsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentAnchorsPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentAnchorsPropertyInfo = DOMHTMLCollection
    type AttrLabel DOMDocumentAnchorsPropertyInfo = "DOMDocument::anchors"
    attrGet _ = getDOMDocumentAnchors
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "applets"
   -- Type: TInterface "WebKit" "DOMHTMLCollection"
   -- Flags: [PropertyReadable]

getDOMDocumentApplets :: (MonadIO m, DOMDocumentK o) => o -> m DOMHTMLCollection
getDOMDocumentApplets obj = liftIO $ getObjectPropertyObject obj "applets" DOMHTMLCollection

data DOMDocumentAppletsPropertyInfo
instance AttrInfo DOMDocumentAppletsPropertyInfo where
    type AttrAllowedOps DOMDocumentAppletsPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentAppletsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentAppletsPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentAppletsPropertyInfo = DOMHTMLCollection
    type AttrLabel DOMDocumentAppletsPropertyInfo = "DOMDocument::applets"
    attrGet _ = getDOMDocumentApplets
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "body"
   -- Type: TInterface "WebKit" "DOMHTMLElement"
   -- Flags: [PropertyReadable]

getDOMDocumentBody :: (MonadIO m, DOMDocumentK o) => o -> m DOMHTMLElement
getDOMDocumentBody obj = liftIO $ getObjectPropertyObject obj "body" DOMHTMLElement

data DOMDocumentBodyPropertyInfo
instance AttrInfo DOMDocumentBodyPropertyInfo where
    type AttrAllowedOps DOMDocumentBodyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentBodyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentBodyPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentBodyPropertyInfo = DOMHTMLElement
    type AttrLabel DOMDocumentBodyPropertyInfo = "DOMDocument::body"
    attrGet _ = getDOMDocumentBody
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "character-set"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentCharacterSet :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentCharacterSet obj = liftIO $ getObjectPropertyString obj "character-set"

data DOMDocumentCharacterSetPropertyInfo
instance AttrInfo DOMDocumentCharacterSetPropertyInfo where
    type AttrAllowedOps DOMDocumentCharacterSetPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentCharacterSetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentCharacterSetPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentCharacterSetPropertyInfo = T.Text
    type AttrLabel DOMDocumentCharacterSetPropertyInfo = "DOMDocument::character-set"
    attrGet _ = getDOMDocumentCharacterSet
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "charset"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMDocumentCharset :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentCharset obj = liftIO $ getObjectPropertyString obj "charset"

setDOMDocumentCharset :: (MonadIO m, DOMDocumentK o) => o -> T.Text -> m ()
setDOMDocumentCharset obj val = liftIO $ setObjectPropertyString obj "charset" val

constructDOMDocumentCharset :: T.Text -> IO ([Char], GValue)
constructDOMDocumentCharset val = constructObjectPropertyString "charset" val

data DOMDocumentCharsetPropertyInfo
instance AttrInfo DOMDocumentCharsetPropertyInfo where
    type AttrAllowedOps DOMDocumentCharsetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentCharsetPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMDocumentCharsetPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentCharsetPropertyInfo = T.Text
    type AttrLabel DOMDocumentCharsetPropertyInfo = "DOMDocument::charset"
    attrGet _ = getDOMDocumentCharset
    attrSet _ = setDOMDocumentCharset
    attrConstruct _ = constructDOMDocumentCharset

-- VVV Prop "compat-mode"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentCompatMode :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentCompatMode obj = liftIO $ getObjectPropertyString obj "compat-mode"

data DOMDocumentCompatModePropertyInfo
instance AttrInfo DOMDocumentCompatModePropertyInfo where
    type AttrAllowedOps DOMDocumentCompatModePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentCompatModePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentCompatModePropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentCompatModePropertyInfo = T.Text
    type AttrLabel DOMDocumentCompatModePropertyInfo = "DOMDocument::compat-mode"
    attrGet _ = getDOMDocumentCompatMode
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "cookie"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMDocumentCookie :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentCookie obj = liftIO $ getObjectPropertyString obj "cookie"

setDOMDocumentCookie :: (MonadIO m, DOMDocumentK o) => o -> T.Text -> m ()
setDOMDocumentCookie obj val = liftIO $ setObjectPropertyString obj "cookie" val

constructDOMDocumentCookie :: T.Text -> IO ([Char], GValue)
constructDOMDocumentCookie val = constructObjectPropertyString "cookie" val

data DOMDocumentCookiePropertyInfo
instance AttrInfo DOMDocumentCookiePropertyInfo where
    type AttrAllowedOps DOMDocumentCookiePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentCookiePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMDocumentCookiePropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentCookiePropertyInfo = T.Text
    type AttrLabel DOMDocumentCookiePropertyInfo = "DOMDocument::cookie"
    attrGet _ = getDOMDocumentCookie
    attrSet _ = setDOMDocumentCookie
    attrConstruct _ = constructDOMDocumentCookie

-- VVV Prop "current-script"
   -- Type: TInterface "WebKit" "DOMHTMLScriptElement"
   -- Flags: [PropertyReadable]

getDOMDocumentCurrentScript :: (MonadIO m, DOMDocumentK o) => o -> m DOMHTMLScriptElement
getDOMDocumentCurrentScript obj = liftIO $ getObjectPropertyObject obj "current-script" DOMHTMLScriptElement

data DOMDocumentCurrentScriptPropertyInfo
instance AttrInfo DOMDocumentCurrentScriptPropertyInfo where
    type AttrAllowedOps DOMDocumentCurrentScriptPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentCurrentScriptPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentCurrentScriptPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentCurrentScriptPropertyInfo = DOMHTMLScriptElement
    type AttrLabel DOMDocumentCurrentScriptPropertyInfo = "DOMDocument::current-script"
    attrGet _ = getDOMDocumentCurrentScript
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "default-charset"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentDefaultCharset :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentDefaultCharset obj = liftIO $ getObjectPropertyString obj "default-charset"

data DOMDocumentDefaultCharsetPropertyInfo
instance AttrInfo DOMDocumentDefaultCharsetPropertyInfo where
    type AttrAllowedOps DOMDocumentDefaultCharsetPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentDefaultCharsetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentDefaultCharsetPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentDefaultCharsetPropertyInfo = T.Text
    type AttrLabel DOMDocumentDefaultCharsetPropertyInfo = "DOMDocument::default-charset"
    attrGet _ = getDOMDocumentDefaultCharset
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "default-view"
   -- Type: TInterface "WebKit" "DOMDOMWindow"
   -- Flags: [PropertyReadable]

getDOMDocumentDefaultView :: (MonadIO m, DOMDocumentK o) => o -> m DOMDOMWindow
getDOMDocumentDefaultView obj = liftIO $ getObjectPropertyObject obj "default-view" DOMDOMWindow

data DOMDocumentDefaultViewPropertyInfo
instance AttrInfo DOMDocumentDefaultViewPropertyInfo where
    type AttrAllowedOps DOMDocumentDefaultViewPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentDefaultViewPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentDefaultViewPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentDefaultViewPropertyInfo = DOMDOMWindow
    type AttrLabel DOMDocumentDefaultViewPropertyInfo = "DOMDocument::default-view"
    attrGet _ = getDOMDocumentDefaultView
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "doctype"
   -- Type: TInterface "WebKit" "DOMDocumentType"
   -- Flags: [PropertyReadable]

getDOMDocumentDoctype :: (MonadIO m, DOMDocumentK o) => o -> m DOMDocumentType
getDOMDocumentDoctype obj = liftIO $ getObjectPropertyObject obj "doctype" DOMDocumentType

data DOMDocumentDoctypePropertyInfo
instance AttrInfo DOMDocumentDoctypePropertyInfo where
    type AttrAllowedOps DOMDocumentDoctypePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentDoctypePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentDoctypePropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentDoctypePropertyInfo = DOMDocumentType
    type AttrLabel DOMDocumentDoctypePropertyInfo = "DOMDocument::doctype"
    attrGet _ = getDOMDocumentDoctype
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "document-element"
   -- Type: TInterface "WebKit" "DOMElement"
   -- Flags: [PropertyReadable]

getDOMDocumentDocumentElement :: (MonadIO m, DOMDocumentK o) => o -> m DOMElement
getDOMDocumentDocumentElement obj = liftIO $ getObjectPropertyObject obj "document-element" DOMElement

data DOMDocumentDocumentElementPropertyInfo
instance AttrInfo DOMDocumentDocumentElementPropertyInfo where
    type AttrAllowedOps DOMDocumentDocumentElementPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentDocumentElementPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentDocumentElementPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentDocumentElementPropertyInfo = DOMElement
    type AttrLabel DOMDocumentDocumentElementPropertyInfo = "DOMDocument::document-element"
    attrGet _ = getDOMDocumentDocumentElement
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "document-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMDocumentDocumentUri :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentDocumentUri obj = liftIO $ getObjectPropertyString obj "document-uri"

setDOMDocumentDocumentUri :: (MonadIO m, DOMDocumentK o) => o -> T.Text -> m ()
setDOMDocumentDocumentUri obj val = liftIO $ setObjectPropertyString obj "document-uri" val

constructDOMDocumentDocumentUri :: T.Text -> IO ([Char], GValue)
constructDOMDocumentDocumentUri val = constructObjectPropertyString "document-uri" val

data DOMDocumentDocumentUriPropertyInfo
instance AttrInfo DOMDocumentDocumentUriPropertyInfo where
    type AttrAllowedOps DOMDocumentDocumentUriPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentDocumentUriPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMDocumentDocumentUriPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentDocumentUriPropertyInfo = T.Text
    type AttrLabel DOMDocumentDocumentUriPropertyInfo = "DOMDocument::document-uri"
    attrGet _ = getDOMDocumentDocumentUri
    attrSet _ = setDOMDocumentDocumentUri
    attrConstruct _ = constructDOMDocumentDocumentUri

-- VVV Prop "domain"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentDomain :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentDomain obj = liftIO $ getObjectPropertyString obj "domain"

data DOMDocumentDomainPropertyInfo
instance AttrInfo DOMDocumentDomainPropertyInfo where
    type AttrAllowedOps DOMDocumentDomainPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentDomainPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentDomainPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentDomainPropertyInfo = T.Text
    type AttrLabel DOMDocumentDomainPropertyInfo = "DOMDocument::domain"
    attrGet _ = getDOMDocumentDomain
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "forms"
   -- Type: TInterface "WebKit" "DOMHTMLCollection"
   -- Flags: [PropertyReadable]

getDOMDocumentForms :: (MonadIO m, DOMDocumentK o) => o -> m DOMHTMLCollection
getDOMDocumentForms obj = liftIO $ getObjectPropertyObject obj "forms" DOMHTMLCollection

data DOMDocumentFormsPropertyInfo
instance AttrInfo DOMDocumentFormsPropertyInfo where
    type AttrAllowedOps DOMDocumentFormsPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentFormsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentFormsPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentFormsPropertyInfo = DOMHTMLCollection
    type AttrLabel DOMDocumentFormsPropertyInfo = "DOMDocument::forms"
    attrGet _ = getDOMDocumentForms
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "head"
   -- Type: TInterface "WebKit" "DOMHTMLHeadElement"
   -- Flags: [PropertyReadable]

getDOMDocumentHead :: (MonadIO m, DOMDocumentK o) => o -> m DOMHTMLHeadElement
getDOMDocumentHead obj = liftIO $ getObjectPropertyObject obj "head" DOMHTMLHeadElement

data DOMDocumentHeadPropertyInfo
instance AttrInfo DOMDocumentHeadPropertyInfo where
    type AttrAllowedOps DOMDocumentHeadPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentHeadPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentHeadPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentHeadPropertyInfo = DOMHTMLHeadElement
    type AttrLabel DOMDocumentHeadPropertyInfo = "DOMDocument::head"
    attrGet _ = getDOMDocumentHead
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "hidden"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMDocumentHidden :: (MonadIO m, DOMDocumentK o) => o -> m Bool
getDOMDocumentHidden obj = liftIO $ getObjectPropertyBool obj "hidden"

data DOMDocumentHiddenPropertyInfo
instance AttrInfo DOMDocumentHiddenPropertyInfo where
    type AttrAllowedOps DOMDocumentHiddenPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentHiddenPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentHiddenPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentHiddenPropertyInfo = Bool
    type AttrLabel DOMDocumentHiddenPropertyInfo = "DOMDocument::hidden"
    attrGet _ = getDOMDocumentHidden
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "images"
   -- Type: TInterface "WebKit" "DOMHTMLCollection"
   -- Flags: [PropertyReadable]

getDOMDocumentImages :: (MonadIO m, DOMDocumentK o) => o -> m DOMHTMLCollection
getDOMDocumentImages obj = liftIO $ getObjectPropertyObject obj "images" DOMHTMLCollection

data DOMDocumentImagesPropertyInfo
instance AttrInfo DOMDocumentImagesPropertyInfo where
    type AttrAllowedOps DOMDocumentImagesPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentImagesPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentImagesPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentImagesPropertyInfo = DOMHTMLCollection
    type AttrLabel DOMDocumentImagesPropertyInfo = "DOMDocument::images"
    attrGet _ = getDOMDocumentImages
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "implementation"
   -- Type: TInterface "WebKit" "DOMDOMImplementation"
   -- Flags: [PropertyReadable]

getDOMDocumentImplementation :: (MonadIO m, DOMDocumentK o) => o -> m DOMDOMImplementation
getDOMDocumentImplementation obj = liftIO $ getObjectPropertyObject obj "implementation" DOMDOMImplementation

data DOMDocumentImplementationPropertyInfo
instance AttrInfo DOMDocumentImplementationPropertyInfo where
    type AttrAllowedOps DOMDocumentImplementationPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentImplementationPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentImplementationPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentImplementationPropertyInfo = DOMDOMImplementation
    type AttrLabel DOMDocumentImplementationPropertyInfo = "DOMDocument::implementation"
    attrGet _ = getDOMDocumentImplementation
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "input-encoding"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentInputEncoding :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentInputEncoding obj = liftIO $ getObjectPropertyString obj "input-encoding"

data DOMDocumentInputEncodingPropertyInfo
instance AttrInfo DOMDocumentInputEncodingPropertyInfo where
    type AttrAllowedOps DOMDocumentInputEncodingPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentInputEncodingPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentInputEncodingPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentInputEncodingPropertyInfo = T.Text
    type AttrLabel DOMDocumentInputEncodingPropertyInfo = "DOMDocument::input-encoding"
    attrGet _ = getDOMDocumentInputEncoding
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "last-modified"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentLastModified :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentLastModified obj = liftIO $ getObjectPropertyString obj "last-modified"

data DOMDocumentLastModifiedPropertyInfo
instance AttrInfo DOMDocumentLastModifiedPropertyInfo where
    type AttrAllowedOps DOMDocumentLastModifiedPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentLastModifiedPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentLastModifiedPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentLastModifiedPropertyInfo = T.Text
    type AttrLabel DOMDocumentLastModifiedPropertyInfo = "DOMDocument::last-modified"
    attrGet _ = getDOMDocumentLastModified
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "links"
   -- Type: TInterface "WebKit" "DOMHTMLCollection"
   -- Flags: [PropertyReadable]

getDOMDocumentLinks :: (MonadIO m, DOMDocumentK o) => o -> m DOMHTMLCollection
getDOMDocumentLinks obj = liftIO $ getObjectPropertyObject obj "links" DOMHTMLCollection

data DOMDocumentLinksPropertyInfo
instance AttrInfo DOMDocumentLinksPropertyInfo where
    type AttrAllowedOps DOMDocumentLinksPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentLinksPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentLinksPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentLinksPropertyInfo = DOMHTMLCollection
    type AttrLabel DOMDocumentLinksPropertyInfo = "DOMDocument::links"
    attrGet _ = getDOMDocumentLinks
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "preferred-stylesheet-set"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentPreferredStylesheetSet :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentPreferredStylesheetSet obj = liftIO $ getObjectPropertyString obj "preferred-stylesheet-set"

data DOMDocumentPreferredStylesheetSetPropertyInfo
instance AttrInfo DOMDocumentPreferredStylesheetSetPropertyInfo where
    type AttrAllowedOps DOMDocumentPreferredStylesheetSetPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentPreferredStylesheetSetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentPreferredStylesheetSetPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentPreferredStylesheetSetPropertyInfo = T.Text
    type AttrLabel DOMDocumentPreferredStylesheetSetPropertyInfo = "DOMDocument::preferred-stylesheet-set"
    attrGet _ = getDOMDocumentPreferredStylesheetSet
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "ready-state"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentReadyState :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentReadyState obj = liftIO $ getObjectPropertyString obj "ready-state"

data DOMDocumentReadyStatePropertyInfo
instance AttrInfo DOMDocumentReadyStatePropertyInfo where
    type AttrAllowedOps DOMDocumentReadyStatePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentReadyStatePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentReadyStatePropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentReadyStatePropertyInfo = T.Text
    type AttrLabel DOMDocumentReadyStatePropertyInfo = "DOMDocument::ready-state"
    attrGet _ = getDOMDocumentReadyState
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "referrer"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentReferrer :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentReferrer obj = liftIO $ getObjectPropertyString obj "referrer"

data DOMDocumentReferrerPropertyInfo
instance AttrInfo DOMDocumentReferrerPropertyInfo where
    type AttrAllowedOps DOMDocumentReferrerPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentReferrerPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentReferrerPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentReferrerPropertyInfo = T.Text
    type AttrLabel DOMDocumentReferrerPropertyInfo = "DOMDocument::referrer"
    attrGet _ = getDOMDocumentReferrer
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "security-policy"
   -- Type: TInterface "WebKit" "DOMDOMSecurityPolicy"
   -- Flags: [PropertyReadable]

getDOMDocumentSecurityPolicy :: (MonadIO m, DOMDocumentK o) => o -> m DOMDOMSecurityPolicy
getDOMDocumentSecurityPolicy obj = liftIO $ getObjectPropertyObject obj "security-policy" DOMDOMSecurityPolicy

data DOMDocumentSecurityPolicyPropertyInfo
instance AttrInfo DOMDocumentSecurityPolicyPropertyInfo where
    type AttrAllowedOps DOMDocumentSecurityPolicyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentSecurityPolicyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentSecurityPolicyPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentSecurityPolicyPropertyInfo = DOMDOMSecurityPolicy
    type AttrLabel DOMDocumentSecurityPolicyPropertyInfo = "DOMDocument::security-policy"
    attrGet _ = getDOMDocumentSecurityPolicy
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "selected-stylesheet-set"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMDocumentSelectedStylesheetSet :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentSelectedStylesheetSet obj = liftIO $ getObjectPropertyString obj "selected-stylesheet-set"

setDOMDocumentSelectedStylesheetSet :: (MonadIO m, DOMDocumentK o) => o -> T.Text -> m ()
setDOMDocumentSelectedStylesheetSet obj val = liftIO $ setObjectPropertyString obj "selected-stylesheet-set" val

constructDOMDocumentSelectedStylesheetSet :: T.Text -> IO ([Char], GValue)
constructDOMDocumentSelectedStylesheetSet val = constructObjectPropertyString "selected-stylesheet-set" val

data DOMDocumentSelectedStylesheetSetPropertyInfo
instance AttrInfo DOMDocumentSelectedStylesheetSetPropertyInfo where
    type AttrAllowedOps DOMDocumentSelectedStylesheetSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentSelectedStylesheetSetPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMDocumentSelectedStylesheetSetPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentSelectedStylesheetSetPropertyInfo = T.Text
    type AttrLabel DOMDocumentSelectedStylesheetSetPropertyInfo = "DOMDocument::selected-stylesheet-set"
    attrGet _ = getDOMDocumentSelectedStylesheetSet
    attrSet _ = setDOMDocumentSelectedStylesheetSet
    attrConstruct _ = constructDOMDocumentSelectedStylesheetSet

-- VVV Prop "style-sheets"
   -- Type: TInterface "WebKit" "DOMStyleSheetList"
   -- Flags: [PropertyReadable]

getDOMDocumentStyleSheets :: (MonadIO m, DOMDocumentK o) => o -> m DOMStyleSheetList
getDOMDocumentStyleSheets obj = liftIO $ getObjectPropertyObject obj "style-sheets" DOMStyleSheetList

data DOMDocumentStyleSheetsPropertyInfo
instance AttrInfo DOMDocumentStyleSheetsPropertyInfo where
    type AttrAllowedOps DOMDocumentStyleSheetsPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentStyleSheetsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentStyleSheetsPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentStyleSheetsPropertyInfo = DOMStyleSheetList
    type AttrLabel DOMDocumentStyleSheetsPropertyInfo = "DOMDocument::style-sheets"
    attrGet _ = getDOMDocumentStyleSheets
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "title"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMDocumentTitle :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentTitle obj = liftIO $ getObjectPropertyString obj "title"

setDOMDocumentTitle :: (MonadIO m, DOMDocumentK o) => o -> T.Text -> m ()
setDOMDocumentTitle obj val = liftIO $ setObjectPropertyString obj "title" val

constructDOMDocumentTitle :: T.Text -> IO ([Char], GValue)
constructDOMDocumentTitle val = constructObjectPropertyString "title" val

data DOMDocumentTitlePropertyInfo
instance AttrInfo DOMDocumentTitlePropertyInfo where
    type AttrAllowedOps DOMDocumentTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentTitlePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMDocumentTitlePropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentTitlePropertyInfo = T.Text
    type AttrLabel DOMDocumentTitlePropertyInfo = "DOMDocument::title"
    attrGet _ = getDOMDocumentTitle
    attrSet _ = setDOMDocumentTitle
    attrConstruct _ = constructDOMDocumentTitle

-- VVV Prop "url"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentUrl :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentUrl obj = liftIO $ getObjectPropertyString obj "url"

data DOMDocumentUrlPropertyInfo
instance AttrInfo DOMDocumentUrlPropertyInfo where
    type AttrAllowedOps DOMDocumentUrlPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentUrlPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentUrlPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentUrlPropertyInfo = T.Text
    type AttrLabel DOMDocumentUrlPropertyInfo = "DOMDocument::url"
    attrGet _ = getDOMDocumentUrl
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "visibility-state"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentVisibilityState :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentVisibilityState obj = liftIO $ getObjectPropertyString obj "visibility-state"

data DOMDocumentVisibilityStatePropertyInfo
instance AttrInfo DOMDocumentVisibilityStatePropertyInfo where
    type AttrAllowedOps DOMDocumentVisibilityStatePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentVisibilityStatePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentVisibilityStatePropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentVisibilityStatePropertyInfo = T.Text
    type AttrLabel DOMDocumentVisibilityStatePropertyInfo = "DOMDocument::visibility-state"
    attrGet _ = getDOMDocumentVisibilityState
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-current-full-screen-element"
   -- Type: TInterface "WebKit" "DOMElement"
   -- Flags: [PropertyReadable]

getDOMDocumentWebkitCurrentFullScreenElement :: (MonadIO m, DOMDocumentK o) => o -> m DOMElement
getDOMDocumentWebkitCurrentFullScreenElement obj = liftIO $ getObjectPropertyObject obj "webkit-current-full-screen-element" DOMElement

data DOMDocumentWebkitCurrentFullScreenElementPropertyInfo
instance AttrInfo DOMDocumentWebkitCurrentFullScreenElementPropertyInfo where
    type AttrAllowedOps DOMDocumentWebkitCurrentFullScreenElementPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentWebkitCurrentFullScreenElementPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentWebkitCurrentFullScreenElementPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentWebkitCurrentFullScreenElementPropertyInfo = DOMElement
    type AttrLabel DOMDocumentWebkitCurrentFullScreenElementPropertyInfo = "DOMDocument::webkit-current-full-screen-element"
    attrGet _ = getDOMDocumentWebkitCurrentFullScreenElement
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-full-screen-keyboard-input-allowed"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMDocumentWebkitFullScreenKeyboardInputAllowed :: (MonadIO m, DOMDocumentK o) => o -> m Bool
getDOMDocumentWebkitFullScreenKeyboardInputAllowed obj = liftIO $ getObjectPropertyBool obj "webkit-full-screen-keyboard-input-allowed"

data DOMDocumentWebkitFullScreenKeyboardInputAllowedPropertyInfo
instance AttrInfo DOMDocumentWebkitFullScreenKeyboardInputAllowedPropertyInfo where
    type AttrAllowedOps DOMDocumentWebkitFullScreenKeyboardInputAllowedPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentWebkitFullScreenKeyboardInputAllowedPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentWebkitFullScreenKeyboardInputAllowedPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentWebkitFullScreenKeyboardInputAllowedPropertyInfo = Bool
    type AttrLabel DOMDocumentWebkitFullScreenKeyboardInputAllowedPropertyInfo = "DOMDocument::webkit-full-screen-keyboard-input-allowed"
    attrGet _ = getDOMDocumentWebkitFullScreenKeyboardInputAllowed
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-fullscreen-element"
   -- Type: TInterface "WebKit" "DOMElement"
   -- Flags: [PropertyReadable]

getDOMDocumentWebkitFullscreenElement :: (MonadIO m, DOMDocumentK o) => o -> m DOMElement
getDOMDocumentWebkitFullscreenElement obj = liftIO $ getObjectPropertyObject obj "webkit-fullscreen-element" DOMElement

data DOMDocumentWebkitFullscreenElementPropertyInfo
instance AttrInfo DOMDocumentWebkitFullscreenElementPropertyInfo where
    type AttrAllowedOps DOMDocumentWebkitFullscreenElementPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentWebkitFullscreenElementPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentWebkitFullscreenElementPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentWebkitFullscreenElementPropertyInfo = DOMElement
    type AttrLabel DOMDocumentWebkitFullscreenElementPropertyInfo = "DOMDocument::webkit-fullscreen-element"
    attrGet _ = getDOMDocumentWebkitFullscreenElement
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-fullscreen-enabled"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMDocumentWebkitFullscreenEnabled :: (MonadIO m, DOMDocumentK o) => o -> m Bool
getDOMDocumentWebkitFullscreenEnabled obj = liftIO $ getObjectPropertyBool obj "webkit-fullscreen-enabled"

data DOMDocumentWebkitFullscreenEnabledPropertyInfo
instance AttrInfo DOMDocumentWebkitFullscreenEnabledPropertyInfo where
    type AttrAllowedOps DOMDocumentWebkitFullscreenEnabledPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentWebkitFullscreenEnabledPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentWebkitFullscreenEnabledPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentWebkitFullscreenEnabledPropertyInfo = Bool
    type AttrLabel DOMDocumentWebkitFullscreenEnabledPropertyInfo = "DOMDocument::webkit-fullscreen-enabled"
    attrGet _ = getDOMDocumentWebkitFullscreenEnabled
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-is-full-screen"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMDocumentWebkitIsFullScreen :: (MonadIO m, DOMDocumentK o) => o -> m Bool
getDOMDocumentWebkitIsFullScreen obj = liftIO $ getObjectPropertyBool obj "webkit-is-full-screen"

data DOMDocumentWebkitIsFullScreenPropertyInfo
instance AttrInfo DOMDocumentWebkitIsFullScreenPropertyInfo where
    type AttrAllowedOps DOMDocumentWebkitIsFullScreenPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentWebkitIsFullScreenPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentWebkitIsFullScreenPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentWebkitIsFullScreenPropertyInfo = Bool
    type AttrLabel DOMDocumentWebkitIsFullScreenPropertyInfo = "DOMDocument::webkit-is-full-screen"
    attrGet _ = getDOMDocumentWebkitIsFullScreen
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-pointer-lock-element"
   -- Type: TInterface "WebKit" "DOMElement"
   -- Flags: [PropertyReadable]

getDOMDocumentWebkitPointerLockElement :: (MonadIO m, DOMDocumentK o) => o -> m DOMElement
getDOMDocumentWebkitPointerLockElement obj = liftIO $ getObjectPropertyObject obj "webkit-pointer-lock-element" DOMElement

data DOMDocumentWebkitPointerLockElementPropertyInfo
instance AttrInfo DOMDocumentWebkitPointerLockElementPropertyInfo where
    type AttrAllowedOps DOMDocumentWebkitPointerLockElementPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentWebkitPointerLockElementPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentWebkitPointerLockElementPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentWebkitPointerLockElementPropertyInfo = DOMElement
    type AttrLabel DOMDocumentWebkitPointerLockElementPropertyInfo = "DOMDocument::webkit-pointer-lock-element"
    attrGet _ = getDOMDocumentWebkitPointerLockElement
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "xml-encoding"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMDocumentXmlEncoding :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentXmlEncoding obj = liftIO $ getObjectPropertyString obj "xml-encoding"

data DOMDocumentXmlEncodingPropertyInfo
instance AttrInfo DOMDocumentXmlEncodingPropertyInfo where
    type AttrAllowedOps DOMDocumentXmlEncodingPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentXmlEncodingPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentXmlEncodingPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentXmlEncodingPropertyInfo = T.Text
    type AttrLabel DOMDocumentXmlEncodingPropertyInfo = "DOMDocument::xml-encoding"
    attrGet _ = getDOMDocumentXmlEncoding
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "xml-standalone"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMDocumentXmlStandalone :: (MonadIO m, DOMDocumentK o) => o -> m Bool
getDOMDocumentXmlStandalone obj = liftIO $ getObjectPropertyBool obj "xml-standalone"

setDOMDocumentXmlStandalone :: (MonadIO m, DOMDocumentK o) => o -> Bool -> m ()
setDOMDocumentXmlStandalone obj val = liftIO $ setObjectPropertyBool obj "xml-standalone" val

constructDOMDocumentXmlStandalone :: Bool -> IO ([Char], GValue)
constructDOMDocumentXmlStandalone val = constructObjectPropertyBool "xml-standalone" val

data DOMDocumentXmlStandalonePropertyInfo
instance AttrInfo DOMDocumentXmlStandalonePropertyInfo where
    type AttrAllowedOps DOMDocumentXmlStandalonePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentXmlStandalonePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMDocumentXmlStandalonePropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentXmlStandalonePropertyInfo = Bool
    type AttrLabel DOMDocumentXmlStandalonePropertyInfo = "DOMDocument::xml-standalone"
    attrGet _ = getDOMDocumentXmlStandalone
    attrSet _ = setDOMDocumentXmlStandalone
    attrConstruct _ = constructDOMDocumentXmlStandalone

-- VVV Prop "xml-version"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMDocumentXmlVersion :: (MonadIO m, DOMDocumentK o) => o -> m T.Text
getDOMDocumentXmlVersion obj = liftIO $ getObjectPropertyString obj "xml-version"

setDOMDocumentXmlVersion :: (MonadIO m, DOMDocumentK o) => o -> T.Text -> m ()
setDOMDocumentXmlVersion obj val = liftIO $ setObjectPropertyString obj "xml-version" val

constructDOMDocumentXmlVersion :: T.Text -> IO ([Char], GValue)
constructDOMDocumentXmlVersion val = constructObjectPropertyString "xml-version" val

data DOMDocumentXmlVersionPropertyInfo
instance AttrInfo DOMDocumentXmlVersionPropertyInfo where
    type AttrAllowedOps DOMDocumentXmlVersionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentXmlVersionPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMDocumentXmlVersionPropertyInfo = DOMDocumentK
    type AttrGetType DOMDocumentXmlVersionPropertyInfo = T.Text
    type AttrLabel DOMDocumentXmlVersionPropertyInfo = "DOMDocument::xml-version"
    attrGet _ = getDOMDocumentXmlVersion
    attrSet _ = setDOMDocumentXmlVersion
    attrConstruct _ = constructDOMDocumentXmlVersion

type instance AttributeList DOMDocument = DOMDocumentAttributeList
type DOMDocumentAttributeList = ('[ '("anchors", DOMDocumentAnchorsPropertyInfo), '("applets", DOMDocumentAppletsPropertyInfo), '("base-uri", DOMNodeBaseUriPropertyInfo), '("body", DOMDocumentBodyPropertyInfo), '("character-set", DOMDocumentCharacterSetPropertyInfo), '("charset", DOMDocumentCharsetPropertyInfo), '("child-nodes", DOMNodeChildNodesPropertyInfo), '("compat-mode", DOMDocumentCompatModePropertyInfo), '("cookie", DOMDocumentCookiePropertyInfo), '("core-object", DOMObjectCoreObjectPropertyInfo), '("current-script", DOMDocumentCurrentScriptPropertyInfo), '("default-charset", DOMDocumentDefaultCharsetPropertyInfo), '("default-view", DOMDocumentDefaultViewPropertyInfo), '("doctype", DOMDocumentDoctypePropertyInfo), '("document-element", DOMDocumentDocumentElementPropertyInfo), '("document-uri", DOMDocumentDocumentUriPropertyInfo), '("domain", DOMDocumentDomainPropertyInfo), '("first-child", DOMNodeFirstChildPropertyInfo), '("forms", DOMDocumentFormsPropertyInfo), '("head", DOMDocumentHeadPropertyInfo), '("hidden", DOMDocumentHiddenPropertyInfo), '("images", DOMDocumentImagesPropertyInfo), '("implementation", DOMDocumentImplementationPropertyInfo), '("input-encoding", DOMDocumentInputEncodingPropertyInfo), '("last-child", DOMNodeLastChildPropertyInfo), '("last-modified", DOMDocumentLastModifiedPropertyInfo), '("links", DOMDocumentLinksPropertyInfo), '("local-name", DOMNodeLocalNamePropertyInfo), '("namespace-uri", DOMNodeNamespaceUriPropertyInfo), '("next-sibling", DOMNodeNextSiblingPropertyInfo), '("node-name", DOMNodeNodeNamePropertyInfo), '("node-type", DOMNodeNodeTypePropertyInfo), '("node-value", DOMNodeNodeValuePropertyInfo), '("owner-document", DOMNodeOwnerDocumentPropertyInfo), '("parent-element", DOMNodeParentElementPropertyInfo), '("parent-node", DOMNodeParentNodePropertyInfo), '("preferred-stylesheet-set", DOMDocumentPreferredStylesheetSetPropertyInfo), '("prefix", DOMNodePrefixPropertyInfo), '("previous-sibling", DOMNodePreviousSiblingPropertyInfo), '("ready-state", DOMDocumentReadyStatePropertyInfo), '("referrer", DOMDocumentReferrerPropertyInfo), '("security-policy", DOMDocumentSecurityPolicyPropertyInfo), '("selected-stylesheet-set", DOMDocumentSelectedStylesheetSetPropertyInfo), '("style-sheets", DOMDocumentStyleSheetsPropertyInfo), '("text-content", DOMNodeTextContentPropertyInfo), '("title", DOMDocumentTitlePropertyInfo), '("url", DOMDocumentUrlPropertyInfo), '("visibility-state", DOMDocumentVisibilityStatePropertyInfo), '("webkit-current-full-screen-element", DOMDocumentWebkitCurrentFullScreenElementPropertyInfo), '("webkit-full-screen-keyboard-input-allowed", DOMDocumentWebkitFullScreenKeyboardInputAllowedPropertyInfo), '("webkit-fullscreen-element", DOMDocumentWebkitFullscreenElementPropertyInfo), '("webkit-fullscreen-enabled", DOMDocumentWebkitFullscreenEnabledPropertyInfo), '("webkit-is-full-screen", DOMDocumentWebkitIsFullScreenPropertyInfo), '("webkit-pointer-lock-element", DOMDocumentWebkitPointerLockElementPropertyInfo), '("xml-encoding", DOMDocumentXmlEncodingPropertyInfo), '("xml-standalone", DOMDocumentXmlStandalonePropertyInfo), '("xml-version", DOMDocumentXmlVersionPropertyInfo)] :: [(Symbol, *)])

type instance SignalList DOMDocument = DOMDocumentSignalList
type DOMDocumentSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method DOMDocument::adopt_node
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMNode"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_adopt_node" webkit_dom_document_adopt_node :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Ptr DOMNode ->                          -- source : TInterface "WebKit" "DOMNode"
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMNode)


dOMDocumentAdoptNode ::
    (MonadIO m, DOMDocumentK a, DOMNodeK b) =>
    a ->                                    -- _obj
    b ->                                    -- source
    m DOMNode
dOMDocumentAdoptNode _obj source = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let source' = unsafeManagedPtrCastPtr source
    onException (do
        result <- propagateGError $ webkit_dom_document_adopt_node _obj' source'
        checkUnexpectedReturnNULL "webkit_dom_document_adopt_node" result
        result' <- (newObject DOMNode) result
        touchManagedPtr _obj
        touchManagedPtr source
        return result'
     ) (do
        return ()
     )

-- method DOMDocument::caret_range_from_point
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMRange"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_caret_range_from_point" webkit_dom_document_caret_range_from_point :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Int64 ->                                -- x : TBasicType TInt64
    Int64 ->                                -- y : TBasicType TInt64
    IO (Ptr DOMRange)


dOMDocumentCaretRangeFromPoint ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    Int64 ->                                -- x
    Int64 ->                                -- y
    m DOMRange
dOMDocumentCaretRangeFromPoint _obj x y = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_caret_range_from_point _obj' x y
    checkUnexpectedReturnNULL "webkit_dom_document_caret_range_from_point" result
    result' <- (wrapObject DOMRange) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::create_attribute
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMAttr"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_attribute" webkit_dom_document_create_attribute :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- name : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMAttr)


dOMDocumentCreateAttribute ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- name
    m DOMAttr
dOMDocumentCreateAttribute _obj name = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    name' <- textToCString name
    onException (do
        result <- propagateGError $ webkit_dom_document_create_attribute _obj' name'
        checkUnexpectedReturnNULL "webkit_dom_document_create_attribute" result
        result' <- (newObject DOMAttr) result
        touchManagedPtr _obj
        freeMem name'
        return result'
     ) (do
        freeMem name'
     )

-- method DOMDocument::create_attribute_ns
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "qualifiedName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "qualifiedName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMAttr"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_attribute_ns" webkit_dom_document_create_attribute_ns :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- namespaceURI : TBasicType TUTF8
    CString ->                              -- qualifiedName : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMAttr)


dOMDocumentCreateAttributeNs ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    Maybe (T.Text) ->                       -- namespaceURI
    T.Text ->                               -- qualifiedName
    m DOMAttr
dOMDocumentCreateAttributeNs _obj namespaceURI qualifiedName = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    maybeNamespaceURI <- case namespaceURI of
        Nothing -> return nullPtr
        Just jNamespaceURI -> do
            jNamespaceURI' <- textToCString jNamespaceURI
            return jNamespaceURI'
    qualifiedName' <- textToCString qualifiedName
    onException (do
        result <- propagateGError $ webkit_dom_document_create_attribute_ns _obj' maybeNamespaceURI qualifiedName'
        checkUnexpectedReturnNULL "webkit_dom_document_create_attribute_ns" result
        result' <- (newObject DOMAttr) result
        touchManagedPtr _obj
        freeMem maybeNamespaceURI
        freeMem qualifiedName'
        return result'
     ) (do
        freeMem maybeNamespaceURI
        freeMem qualifiedName'
     )

-- method DOMDocument::create_cdata_section
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMCDATASection"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_cdata_section" webkit_dom_document_create_cdata_section :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- data : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMCDATASection)


dOMDocumentCreateCdataSection ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- data
    m DOMCDATASection
dOMDocumentCreateCdataSection _obj data_ = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    data_' <- textToCString data_
    onException (do
        result <- propagateGError $ webkit_dom_document_create_cdata_section _obj' data_'
        checkUnexpectedReturnNULL "webkit_dom_document_create_cdata_section" result
        result' <- (newObject DOMCDATASection) result
        touchManagedPtr _obj
        freeMem data_'
        return result'
     ) (do
        freeMem data_'
     )

-- method DOMDocument::create_comment
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMComment"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_create_comment" webkit_dom_document_create_comment :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- data : TBasicType TUTF8
    IO (Ptr DOMComment)


dOMDocumentCreateComment ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- data
    m DOMComment
dOMDocumentCreateComment _obj data_ = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    data_' <- textToCString data_
    result <- webkit_dom_document_create_comment _obj' data_'
    checkUnexpectedReturnNULL "webkit_dom_document_create_comment" result
    result' <- (newObject DOMComment) result
    touchManagedPtr _obj
    freeMem data_'
    return result'

-- method DOMDocument::create_css_style_declaration
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMCSSStyleDeclaration"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_create_css_style_declaration" webkit_dom_document_create_css_style_declaration :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMCSSStyleDeclaration)


dOMDocumentCreateCssStyleDeclaration ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMCSSStyleDeclaration
dOMDocumentCreateCssStyleDeclaration _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_create_css_style_declaration _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_create_css_style_declaration" result
    result' <- (wrapObject DOMCSSStyleDeclaration) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::create_document_fragment
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMDocumentFragment"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_create_document_fragment" webkit_dom_document_create_document_fragment :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMDocumentFragment)


dOMDocumentCreateDocumentFragment ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMDocumentFragment
dOMDocumentCreateDocumentFragment _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_create_document_fragment _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_create_document_fragment" result
    result' <- (newObject DOMDocumentFragment) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::create_element
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tagName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tagName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMElement"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_element" webkit_dom_document_create_element :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- tagName : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMElement)


dOMDocumentCreateElement ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- tagName
    m DOMElement
dOMDocumentCreateElement _obj tagName = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    tagName' <- textToCString tagName
    onException (do
        result <- propagateGError $ webkit_dom_document_create_element _obj' tagName'
        checkUnexpectedReturnNULL "webkit_dom_document_create_element" result
        result' <- (newObject DOMElement) result
        touchManagedPtr _obj
        freeMem tagName'
        return result'
     ) (do
        freeMem tagName'
     )

-- method DOMDocument::create_element_ns
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "qualifiedName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "qualifiedName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMElement"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_element_ns" webkit_dom_document_create_element_ns :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- namespaceURI : TBasicType TUTF8
    CString ->                              -- qualifiedName : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMElement)


dOMDocumentCreateElementNs ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    Maybe (T.Text) ->                       -- namespaceURI
    T.Text ->                               -- qualifiedName
    m DOMElement
dOMDocumentCreateElementNs _obj namespaceURI qualifiedName = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    maybeNamespaceURI <- case namespaceURI of
        Nothing -> return nullPtr
        Just jNamespaceURI -> do
            jNamespaceURI' <- textToCString jNamespaceURI
            return jNamespaceURI'
    qualifiedName' <- textToCString qualifiedName
    onException (do
        result <- propagateGError $ webkit_dom_document_create_element_ns _obj' maybeNamespaceURI qualifiedName'
        checkUnexpectedReturnNULL "webkit_dom_document_create_element_ns" result
        result' <- (newObject DOMElement) result
        touchManagedPtr _obj
        freeMem maybeNamespaceURI
        freeMem qualifiedName'
        return result'
     ) (do
        freeMem maybeNamespaceURI
        freeMem qualifiedName'
     )

-- method DOMDocument::create_entity_reference
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMEntityReference"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_entity_reference" webkit_dom_document_create_entity_reference :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- name : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMEntityReference)


dOMDocumentCreateEntityReference ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    Maybe (T.Text) ->                       -- name
    m DOMEntityReference
dOMDocumentCreateEntityReference _obj name = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    maybeName <- case name of
        Nothing -> return nullPtr
        Just jName -> do
            jName' <- textToCString jName
            return jName'
    onException (do
        result <- propagateGError $ webkit_dom_document_create_entity_reference _obj' maybeName
        checkUnexpectedReturnNULL "webkit_dom_document_create_entity_reference" result
        result' <- (newObject DOMEntityReference) result
        touchManagedPtr _obj
        freeMem maybeName
        return result'
     ) (do
        freeMem maybeName
     )

-- method DOMDocument::create_event
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "eventType", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "eventType", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMEvent"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_event" webkit_dom_document_create_event :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- eventType : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMEvent)


dOMDocumentCreateEvent ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- eventType
    m DOMEvent
dOMDocumentCreateEvent _obj eventType = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    eventType' <- textToCString eventType
    onException (do
        result <- propagateGError $ webkit_dom_document_create_event _obj' eventType'
        checkUnexpectedReturnNULL "webkit_dom_document_create_event" result
        result' <- (wrapObject DOMEvent) result
        touchManagedPtr _obj
        freeMem eventType'
        return result'
     ) (do
        freeMem eventType'
     )

-- method DOMDocument::create_expression
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expression", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resolver", argType = TInterface "WebKit" "DOMXPathNSResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expression", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resolver", argType = TInterface "WebKit" "DOMXPathNSResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMXPathExpression"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_expression" webkit_dom_document_create_expression :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- expression : TBasicType TUTF8
    Ptr DOMXPathNSResolver ->               -- resolver : TInterface "WebKit" "DOMXPathNSResolver"
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMXPathExpression)


dOMDocumentCreateExpression ::
    (MonadIO m, DOMDocumentK a, DOMXPathNSResolverK b) =>
    a ->                                    -- _obj
    T.Text ->                               -- expression
    b ->                                    -- resolver
    m DOMXPathExpression
dOMDocumentCreateExpression _obj expression resolver = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    expression' <- textToCString expression
    let resolver' = unsafeManagedPtrCastPtr resolver
    onException (do
        result <- propagateGError $ webkit_dom_document_create_expression _obj' expression' resolver'
        checkUnexpectedReturnNULL "webkit_dom_document_create_expression" result
        result' <- (wrapObject DOMXPathExpression) result
        touchManagedPtr _obj
        touchManagedPtr resolver
        freeMem expression'
        return result'
     ) (do
        freeMem expression'
     )

-- method DOMDocument::create_node_iterator
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "whatToShow", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filter", argType = TInterface "WebKit" "DOMNodeFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expandEntityReferences", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "whatToShow", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filter", argType = TInterface "WebKit" "DOMNodeFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expandEntityReferences", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMNodeIterator"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_node_iterator" webkit_dom_document_create_node_iterator :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Ptr DOMNode ->                          -- root : TInterface "WebKit" "DOMNode"
    Word64 ->                               -- whatToShow : TBasicType TUInt64
    Ptr DOMNodeFilter ->                    -- filter : TInterface "WebKit" "DOMNodeFilter"
    CInt ->                                 -- expandEntityReferences : TBasicType TBoolean
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMNodeIterator)


dOMDocumentCreateNodeIterator ::
    (MonadIO m, DOMDocumentK a, DOMNodeK b, DOMNodeFilterK c) =>
    a ->                                    -- _obj
    b ->                                    -- root
    Word64 ->                               -- whatToShow
    c ->                                    -- filter
    Bool ->                                 -- expandEntityReferences
    m DOMNodeIterator
dOMDocumentCreateNodeIterator _obj root whatToShow filter expandEntityReferences = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let root' = unsafeManagedPtrCastPtr root
    let filter' = unsafeManagedPtrCastPtr filter
    let expandEntityReferences' = (fromIntegral . fromEnum) expandEntityReferences
    onException (do
        result <- propagateGError $ webkit_dom_document_create_node_iterator _obj' root' whatToShow filter' expandEntityReferences'
        checkUnexpectedReturnNULL "webkit_dom_document_create_node_iterator" result
        result' <- (wrapObject DOMNodeIterator) result
        touchManagedPtr _obj
        touchManagedPtr root
        touchManagedPtr filter
        return result'
     ) (do
        return ()
     )

-- method DOMDocument::create_ns_resolver
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nodeResolver", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nodeResolver", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMXPathNSResolver"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_create_ns_resolver" webkit_dom_document_create_ns_resolver :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Ptr DOMNode ->                          -- nodeResolver : TInterface "WebKit" "DOMNode"
    IO (Ptr DOMXPathNSResolver)


dOMDocumentCreateNsResolver ::
    (MonadIO m, DOMDocumentK a, DOMNodeK b) =>
    a ->                                    -- _obj
    b ->                                    -- nodeResolver
    m DOMXPathNSResolver
dOMDocumentCreateNsResolver _obj nodeResolver = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let nodeResolver' = unsafeManagedPtrCastPtr nodeResolver
    result <- webkit_dom_document_create_ns_resolver _obj' nodeResolver'
    checkUnexpectedReturnNULL "webkit_dom_document_create_ns_resolver" result
    result' <- (wrapObject DOMXPathNSResolver) result
    touchManagedPtr _obj
    touchManagedPtr nodeResolver
    return result'

-- method DOMDocument::create_processing_instruction
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMProcessingInstruction"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_processing_instruction" webkit_dom_document_create_processing_instruction :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- target : TBasicType TUTF8
    CString ->                              -- data : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMProcessingInstruction)


dOMDocumentCreateProcessingInstruction ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- target
    T.Text ->                               -- data
    m DOMProcessingInstruction
dOMDocumentCreateProcessingInstruction _obj target data_ = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    target' <- textToCString target
    data_' <- textToCString data_
    onException (do
        result <- propagateGError $ webkit_dom_document_create_processing_instruction _obj' target' data_'
        checkUnexpectedReturnNULL "webkit_dom_document_create_processing_instruction" result
        result' <- (newObject DOMProcessingInstruction) result
        touchManagedPtr _obj
        freeMem target'
        freeMem data_'
        return result'
     ) (do
        freeMem target'
        freeMem data_'
     )

-- method DOMDocument::create_range
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMRange"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_create_range" webkit_dom_document_create_range :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMRange)


dOMDocumentCreateRange ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMRange
dOMDocumentCreateRange _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_create_range _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_create_range" result
    result' <- (wrapObject DOMRange) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::create_text_node
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMText"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_create_text_node" webkit_dom_document_create_text_node :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- data : TBasicType TUTF8
    IO (Ptr DOMText)


dOMDocumentCreateTextNode ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- data
    m DOMText
dOMDocumentCreateTextNode _obj data_ = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    data_' <- textToCString data_
    result <- webkit_dom_document_create_text_node _obj' data_'
    checkUnexpectedReturnNULL "webkit_dom_document_create_text_node" result
    result' <- (newObject DOMText) result
    touchManagedPtr _obj
    freeMem data_'
    return result'

-- method DOMDocument::create_touch
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "WebKit" "DOMDOMWindow", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "WebKit" "DOMEventTarget", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "identifier", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pageX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pageY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screenX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screenY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "webkitRadiusX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "webkitRadiusY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "webkitRotationAngle", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "webkitForce", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "WebKit" "DOMDOMWindow", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "WebKit" "DOMEventTarget", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "identifier", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pageX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pageY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screenX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screenY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "webkitRadiusX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "webkitRadiusY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "webkitRotationAngle", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "webkitForce", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMTouch"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_touch" webkit_dom_document_create_touch :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Ptr DOMDOMWindow ->                     -- window : TInterface "WebKit" "DOMDOMWindow"
    Ptr DOMEventTarget ->                   -- target : TInterface "WebKit" "DOMEventTarget"
    Int64 ->                                -- identifier : TBasicType TInt64
    Int64 ->                                -- pageX : TBasicType TInt64
    Int64 ->                                -- pageY : TBasicType TInt64
    Int64 ->                                -- screenX : TBasicType TInt64
    Int64 ->                                -- screenY : TBasicType TInt64
    Int64 ->                                -- webkitRadiusX : TBasicType TInt64
    Int64 ->                                -- webkitRadiusY : TBasicType TInt64
    CFloat ->                               -- webkitRotationAngle : TBasicType TFloat
    CFloat ->                               -- webkitForce : TBasicType TFloat
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMTouch)


dOMDocumentCreateTouch ::
    (MonadIO m, DOMDocumentK a, DOMDOMWindowK b, DOMEventTargetK c) =>
    a ->                                    -- _obj
    b ->                                    -- window
    c ->                                    -- target
    Int64 ->                                -- identifier
    Int64 ->                                -- pageX
    Int64 ->                                -- pageY
    Int64 ->                                -- screenX
    Int64 ->                                -- screenY
    Int64 ->                                -- webkitRadiusX
    Int64 ->                                -- webkitRadiusY
    Float ->                                -- webkitRotationAngle
    Float ->                                -- webkitForce
    m DOMTouch
dOMDocumentCreateTouch _obj window target identifier pageX pageY screenX screenY webkitRadiusX webkitRadiusY webkitRotationAngle webkitForce = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let window' = unsafeManagedPtrCastPtr window
    let target' = unsafeManagedPtrCastPtr target
    let webkitRotationAngle' = realToFrac webkitRotationAngle
    let webkitForce' = realToFrac webkitForce
    onException (do
        result <- propagateGError $ webkit_dom_document_create_touch _obj' window' target' identifier pageX pageY screenX screenY webkitRadiusX webkitRadiusY webkitRotationAngle' webkitForce'
        checkUnexpectedReturnNULL "webkit_dom_document_create_touch" result
        result' <- (wrapObject DOMTouch) result
        touchManagedPtr _obj
        touchManagedPtr window
        touchManagedPtr target
        return result'
     ) (do
        return ()
     )

-- method DOMDocument::create_tree_walker
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "whatToShow", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filter", argType = TInterface "WebKit" "DOMNodeFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expandEntityReferences", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "whatToShow", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filter", argType = TInterface "WebKit" "DOMNodeFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expandEntityReferences", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMTreeWalker"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_create_tree_walker" webkit_dom_document_create_tree_walker :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Ptr DOMNode ->                          -- root : TInterface "WebKit" "DOMNode"
    Word64 ->                               -- whatToShow : TBasicType TUInt64
    Ptr DOMNodeFilter ->                    -- filter : TInterface "WebKit" "DOMNodeFilter"
    CInt ->                                 -- expandEntityReferences : TBasicType TBoolean
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMTreeWalker)


dOMDocumentCreateTreeWalker ::
    (MonadIO m, DOMDocumentK a, DOMNodeK b, DOMNodeFilterK c) =>
    a ->                                    -- _obj
    b ->                                    -- root
    Word64 ->                               -- whatToShow
    c ->                                    -- filter
    Bool ->                                 -- expandEntityReferences
    m DOMTreeWalker
dOMDocumentCreateTreeWalker _obj root whatToShow filter expandEntityReferences = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let root' = unsafeManagedPtrCastPtr root
    let filter' = unsafeManagedPtrCastPtr filter
    let expandEntityReferences' = (fromIntegral . fromEnum) expandEntityReferences
    onException (do
        result <- propagateGError $ webkit_dom_document_create_tree_walker _obj' root' whatToShow filter' expandEntityReferences'
        checkUnexpectedReturnNULL "webkit_dom_document_create_tree_walker" result
        result' <- (wrapObject DOMTreeWalker) result
        touchManagedPtr _obj
        touchManagedPtr root
        touchManagedPtr filter
        return result'
     ) (do
        return ()
     )

-- method DOMDocument::element_from_point
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMElement"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_element_from_point" webkit_dom_document_element_from_point :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Int64 ->                                -- x : TBasicType TInt64
    Int64 ->                                -- y : TBasicType TInt64
    IO (Ptr DOMElement)


dOMDocumentElementFromPoint ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    Int64 ->                                -- x
    Int64 ->                                -- y
    m DOMElement
dOMDocumentElementFromPoint _obj x y = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_element_from_point _obj' x y
    checkUnexpectedReturnNULL "webkit_dom_document_element_from_point" result
    result' <- (newObject DOMElement) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::evaluate
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expression", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "contextNode", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resolver", argType = TInterface "WebKit" "DOMXPathNSResolver", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "inResult", argType = TInterface "WebKit" "DOMXPathResult", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expression", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "contextNode", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resolver", argType = TInterface "WebKit" "DOMXPathNSResolver", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "inResult", argType = TInterface "WebKit" "DOMXPathResult", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMXPathResult"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_evaluate" webkit_dom_document_evaluate :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- expression : TBasicType TUTF8
    Ptr DOMNode ->                          -- contextNode : TInterface "WebKit" "DOMNode"
    Ptr DOMXPathNSResolver ->               -- resolver : TInterface "WebKit" "DOMXPathNSResolver"
    Word16 ->                               -- type : TBasicType TUInt16
    Ptr DOMXPathResult ->                   -- inResult : TInterface "WebKit" "DOMXPathResult"
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMXPathResult)


dOMDocumentEvaluate ::
    (MonadIO m, DOMDocumentK a, DOMNodeK b, DOMXPathNSResolverK c, DOMXPathResultK d) =>
    a ->                                    -- _obj
    T.Text ->                               -- expression
    b ->                                    -- contextNode
    Maybe (c) ->                            -- resolver
    Word16 ->                               -- type
    Maybe (d) ->                            -- inResult
    m DOMXPathResult
dOMDocumentEvaluate _obj expression contextNode resolver type_ inResult = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    expression' <- textToCString expression
    let contextNode' = unsafeManagedPtrCastPtr contextNode
    maybeResolver <- case resolver of
        Nothing -> return nullPtr
        Just jResolver -> do
            let jResolver' = unsafeManagedPtrCastPtr jResolver
            return jResolver'
    maybeInResult <- case inResult of
        Nothing -> return nullPtr
        Just jInResult -> do
            let jInResult' = unsafeManagedPtrCastPtr jInResult
            return jInResult'
    onException (do
        result <- propagateGError $ webkit_dom_document_evaluate _obj' expression' contextNode' maybeResolver type_ maybeInResult
        checkUnexpectedReturnNULL "webkit_dom_document_evaluate" result
        result' <- (wrapObject DOMXPathResult) result
        touchManagedPtr _obj
        touchManagedPtr contextNode
        whenJust resolver touchManagedPtr
        whenJust inResult touchManagedPtr
        freeMem expression'
        return result'
     ) (do
        freeMem expression'
     )

-- method DOMDocument::exec_command
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "userInterface", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "userInterface", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_exec_command" webkit_dom_document_exec_command :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- command : TBasicType TUTF8
    CInt ->                                 -- userInterface : TBasicType TBoolean
    CString ->                              -- value : TBasicType TUTF8
    IO CInt


dOMDocumentExecCommand ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- command
    Bool ->                                 -- userInterface
    T.Text ->                               -- value
    m Bool
dOMDocumentExecCommand _obj command userInterface value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    command' <- textToCString command
    let userInterface' = (fromIntegral . fromEnum) userInterface
    value' <- textToCString value
    result <- webkit_dom_document_exec_command _obj' command' userInterface' value'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem command'
    freeMem value'
    return result'

-- method DOMDocument::get_anchors
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMHTMLCollection"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_anchors" webkit_dom_document_get_anchors :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMHTMLCollection)


dOMDocumentGetAnchors ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMHTMLCollection
dOMDocumentGetAnchors _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_anchors _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_anchors" result
    result' <- (wrapObject DOMHTMLCollection) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_applets
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMHTMLCollection"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_applets" webkit_dom_document_get_applets :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMHTMLCollection)


dOMDocumentGetApplets ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMHTMLCollection
dOMDocumentGetApplets _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_applets _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_applets" result
    result' <- (wrapObject DOMHTMLCollection) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_body
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMHTMLElement"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_body" webkit_dom_document_get_body :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMHTMLElement)


dOMDocumentGetBody ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMHTMLElement
dOMDocumentGetBody _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_body _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_body" result
    result' <- (newObject DOMHTMLElement) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_character_set
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_character_set" webkit_dom_document_get_character_set :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetCharacterSet ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetCharacterSet _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_character_set _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_character_set" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_charset
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_charset" webkit_dom_document_get_charset :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetCharset ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetCharset _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_charset _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_charset" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_compat_mode
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_compat_mode" webkit_dom_document_get_compat_mode :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetCompatMode ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetCompatMode _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_compat_mode _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_compat_mode" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_cookie
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_get_cookie" webkit_dom_document_get_cookie :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Ptr (Ptr GError) ->                     -- error
    IO CString


dOMDocumentGetCookie ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetCookie _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    onException (do
        result <- propagateGError $ webkit_dom_document_get_cookie _obj'
        checkUnexpectedReturnNULL "webkit_dom_document_get_cookie" result
        result' <- cstringToText result
        freeMem result
        touchManagedPtr _obj
        return result'
     ) (do
        return ()
     )

-- method DOMDocument::get_current_script
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMHTMLScriptElement"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_current_script" webkit_dom_document_get_current_script :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMHTMLScriptElement)


dOMDocumentGetCurrentScript ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMHTMLScriptElement
dOMDocumentGetCurrentScript _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_current_script _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_current_script" result
    result' <- (newObject DOMHTMLScriptElement) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_default_charset
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_default_charset" webkit_dom_document_get_default_charset :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetDefaultCharset ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetDefaultCharset _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_default_charset _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_default_charset" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_default_view
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMDOMWindow"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_default_view" webkit_dom_document_get_default_view :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMDOMWindow)


dOMDocumentGetDefaultView ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMDOMWindow
dOMDocumentGetDefaultView _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_default_view _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_default_view" result
    result' <- (wrapObject DOMDOMWindow) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_doctype
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMDocumentType"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_doctype" webkit_dom_document_get_doctype :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMDocumentType)


dOMDocumentGetDoctype ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMDocumentType
dOMDocumentGetDoctype _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_doctype _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_doctype" result
    result' <- (newObject DOMDocumentType) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_document_element
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMElement"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_document_element" webkit_dom_document_get_document_element :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMElement)


dOMDocumentGetDocumentElement ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMElement
dOMDocumentGetDocumentElement _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_document_element _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_document_element" result
    result' <- (newObject DOMElement) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_document_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_document_uri" webkit_dom_document_get_document_uri :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetDocumentUri ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetDocumentUri _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_document_uri _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_document_uri" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_domain
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_domain" webkit_dom_document_get_domain :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetDomain ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetDomain _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_domain _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_domain" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_element_by_id
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "elementId", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "elementId", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMElement"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_element_by_id" webkit_dom_document_get_element_by_id :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- elementId : TBasicType TUTF8
    IO (Ptr DOMElement)


dOMDocumentGetElementById ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- elementId
    m DOMElement
dOMDocumentGetElementById _obj elementId = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    elementId' <- textToCString elementId
    result <- webkit_dom_document_get_element_by_id _obj' elementId'
    checkUnexpectedReturnNULL "webkit_dom_document_get_element_by_id" result
    result' <- (newObject DOMElement) result
    touchManagedPtr _obj
    freeMem elementId'
    return result'

-- method DOMDocument::get_elements_by_class_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tagname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tagname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMNodeList"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_elements_by_class_name" webkit_dom_document_get_elements_by_class_name :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- tagname : TBasicType TUTF8
    IO (Ptr DOMNodeList)


dOMDocumentGetElementsByClassName ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- tagname
    m DOMNodeList
dOMDocumentGetElementsByClassName _obj tagname = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    tagname' <- textToCString tagname
    result <- webkit_dom_document_get_elements_by_class_name _obj' tagname'
    checkUnexpectedReturnNULL "webkit_dom_document_get_elements_by_class_name" result
    result' <- (wrapObject DOMNodeList) result
    touchManagedPtr _obj
    freeMem tagname'
    return result'

-- method DOMDocument::get_elements_by_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "elementName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "elementName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMNodeList"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_elements_by_name" webkit_dom_document_get_elements_by_name :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- elementName : TBasicType TUTF8
    IO (Ptr DOMNodeList)


dOMDocumentGetElementsByName ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- elementName
    m DOMNodeList
dOMDocumentGetElementsByName _obj elementName = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    elementName' <- textToCString elementName
    result <- webkit_dom_document_get_elements_by_name _obj' elementName'
    checkUnexpectedReturnNULL "webkit_dom_document_get_elements_by_name" result
    result' <- (wrapObject DOMNodeList) result
    touchManagedPtr _obj
    freeMem elementName'
    return result'

-- method DOMDocument::get_elements_by_tag_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tagname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tagname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMNodeList"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_elements_by_tag_name" webkit_dom_document_get_elements_by_tag_name :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- tagname : TBasicType TUTF8
    IO (Ptr DOMNodeList)


dOMDocumentGetElementsByTagName ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- tagname
    m DOMNodeList
dOMDocumentGetElementsByTagName _obj tagname = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    tagname' <- textToCString tagname
    result <- webkit_dom_document_get_elements_by_tag_name _obj' tagname'
    checkUnexpectedReturnNULL "webkit_dom_document_get_elements_by_tag_name" result
    result' <- (wrapObject DOMNodeList) result
    touchManagedPtr _obj
    freeMem tagname'
    return result'

-- method DOMDocument::get_elements_by_tag_name_ns
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "localName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "localName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMNodeList"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_elements_by_tag_name_ns" webkit_dom_document_get_elements_by_tag_name_ns :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- namespaceURI : TBasicType TUTF8
    CString ->                              -- localName : TBasicType TUTF8
    IO (Ptr DOMNodeList)


dOMDocumentGetElementsByTagNameNs ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- namespaceURI
    T.Text ->                               -- localName
    m DOMNodeList
dOMDocumentGetElementsByTagNameNs _obj namespaceURI localName = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    namespaceURI' <- textToCString namespaceURI
    localName' <- textToCString localName
    result <- webkit_dom_document_get_elements_by_tag_name_ns _obj' namespaceURI' localName'
    checkUnexpectedReturnNULL "webkit_dom_document_get_elements_by_tag_name_ns" result
    result' <- (wrapObject DOMNodeList) result
    touchManagedPtr _obj
    freeMem namespaceURI'
    freeMem localName'
    return result'

-- method DOMDocument::get_forms
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMHTMLCollection"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_forms" webkit_dom_document_get_forms :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMHTMLCollection)


dOMDocumentGetForms ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMHTMLCollection
dOMDocumentGetForms _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_forms _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_forms" result
    result' <- (wrapObject DOMHTMLCollection) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_head
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMHTMLHeadElement"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_head" webkit_dom_document_get_head :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMHTMLHeadElement)


dOMDocumentGetHead ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMHTMLHeadElement
dOMDocumentGetHead _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_head _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_head" result
    result' <- (newObject DOMHTMLHeadElement) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_hidden
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_hidden" webkit_dom_document_get_hidden :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CInt


dOMDocumentGetHidden ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m Bool
dOMDocumentGetHidden _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_hidden _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_images
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMHTMLCollection"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_images" webkit_dom_document_get_images :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMHTMLCollection)


dOMDocumentGetImages ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMHTMLCollection
dOMDocumentGetImages _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_images _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_images" result
    result' <- (wrapObject DOMHTMLCollection) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_implementation
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMDOMImplementation"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_implementation" webkit_dom_document_get_implementation :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMDOMImplementation)


dOMDocumentGetImplementation ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMDOMImplementation
dOMDocumentGetImplementation _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_implementation _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_implementation" result
    result' <- (wrapObject DOMDOMImplementation) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_input_encoding
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_input_encoding" webkit_dom_document_get_input_encoding :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetInputEncoding ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetInputEncoding _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_input_encoding _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_input_encoding" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_last_modified
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_last_modified" webkit_dom_document_get_last_modified :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetLastModified ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetLastModified _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_last_modified _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_last_modified" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_links
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMHTMLCollection"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_links" webkit_dom_document_get_links :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMHTMLCollection)


dOMDocumentGetLinks ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMHTMLCollection
dOMDocumentGetLinks _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_links _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_links" result
    result' <- (wrapObject DOMHTMLCollection) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_override_style
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "element", argType = TInterface "WebKit" "DOMElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pseudoElement", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "element", argType = TInterface "WebKit" "DOMElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pseudoElement", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMCSSStyleDeclaration"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_override_style" webkit_dom_document_get_override_style :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Ptr DOMElement ->                       -- element : TInterface "WebKit" "DOMElement"
    CString ->                              -- pseudoElement : TBasicType TUTF8
    IO (Ptr DOMCSSStyleDeclaration)


dOMDocumentGetOverrideStyle ::
    (MonadIO m, DOMDocumentK a, DOMElementK b) =>
    a ->                                    -- _obj
    b ->                                    -- element
    Maybe (T.Text) ->                       -- pseudoElement
    m DOMCSSStyleDeclaration
dOMDocumentGetOverrideStyle _obj element pseudoElement = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let element' = unsafeManagedPtrCastPtr element
    maybePseudoElement <- case pseudoElement of
        Nothing -> return nullPtr
        Just jPseudoElement -> do
            jPseudoElement' <- textToCString jPseudoElement
            return jPseudoElement'
    result <- webkit_dom_document_get_override_style _obj' element' maybePseudoElement
    checkUnexpectedReturnNULL "webkit_dom_document_get_override_style" result
    result' <- (wrapObject DOMCSSStyleDeclaration) result
    touchManagedPtr _obj
    touchManagedPtr element
    freeMem maybePseudoElement
    return result'

-- method DOMDocument::get_preferred_stylesheet_set
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_preferred_stylesheet_set" webkit_dom_document_get_preferred_stylesheet_set :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetPreferredStylesheetSet ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetPreferredStylesheetSet _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_preferred_stylesheet_set _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_preferred_stylesheet_set" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_ready_state
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_ready_state" webkit_dom_document_get_ready_state :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetReadyState ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetReadyState _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_ready_state _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_ready_state" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_referrer
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_referrer" webkit_dom_document_get_referrer :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetReferrer ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetReferrer _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_referrer _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_referrer" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_security_policy
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMDOMSecurityPolicy"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_security_policy" webkit_dom_document_get_security_policy :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMDOMSecurityPolicy)


dOMDocumentGetSecurityPolicy ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMDOMSecurityPolicy
dOMDocumentGetSecurityPolicy _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_security_policy _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_security_policy" result
    result' <- (wrapObject DOMDOMSecurityPolicy) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_selected_stylesheet_set
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_selected_stylesheet_set" webkit_dom_document_get_selected_stylesheet_set :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetSelectedStylesheetSet ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetSelectedStylesheetSet _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_selected_stylesheet_set _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_selected_stylesheet_set" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_style_sheets
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMStyleSheetList"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_style_sheets" webkit_dom_document_get_style_sheets :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMStyleSheetList)


dOMDocumentGetStyleSheets ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMStyleSheetList
dOMDocumentGetStyleSheets _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_style_sheets _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_style_sheets" result
    result' <- (newObject DOMStyleSheetList) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_title
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_title" webkit_dom_document_get_title :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetTitle ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetTitle _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_title _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_title" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_url
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_url" webkit_dom_document_get_url :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetUrl ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetUrl _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_url _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_url" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_visibility_state
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_visibility_state" webkit_dom_document_get_visibility_state :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetVisibilityState ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetVisibilityState _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_visibility_state _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_visibility_state" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_webkit_current_full_screen_element
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMElement"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_webkit_current_full_screen_element" webkit_dom_document_get_webkit_current_full_screen_element :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMElement)


dOMDocumentGetWebkitCurrentFullScreenElement ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMElement
dOMDocumentGetWebkitCurrentFullScreenElement _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_webkit_current_full_screen_element _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_webkit_current_full_screen_element" result
    result' <- (newObject DOMElement) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_webkit_full_screen_keyboard_input_allowed
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_webkit_full_screen_keyboard_input_allowed" webkit_dom_document_get_webkit_full_screen_keyboard_input_allowed :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CInt


dOMDocumentGetWebkitFullScreenKeyboardInputAllowed ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m Bool
dOMDocumentGetWebkitFullScreenKeyboardInputAllowed _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_webkit_full_screen_keyboard_input_allowed _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_webkit_fullscreen_element
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMElement"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_webkit_fullscreen_element" webkit_dom_document_get_webkit_fullscreen_element :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMElement)


dOMDocumentGetWebkitFullscreenElement ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMElement
dOMDocumentGetWebkitFullscreenElement _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_webkit_fullscreen_element _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_webkit_fullscreen_element" result
    result' <- (newObject DOMElement) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_webkit_fullscreen_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_webkit_fullscreen_enabled" webkit_dom_document_get_webkit_fullscreen_enabled :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CInt


dOMDocumentGetWebkitFullscreenEnabled ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m Bool
dOMDocumentGetWebkitFullscreenEnabled _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_webkit_fullscreen_enabled _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_webkit_hidden
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_webkit_hidden" webkit_dom_document_get_webkit_hidden :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CInt

{-# DEPRECATED dOMDocumentGetWebkitHidden ["(Since version 2.2)"]#-}
dOMDocumentGetWebkitHidden ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m Bool
dOMDocumentGetWebkitHidden _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_webkit_hidden _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_webkit_is_full_screen
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_webkit_is_full_screen" webkit_dom_document_get_webkit_is_full_screen :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CInt


dOMDocumentGetWebkitIsFullScreen ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m Bool
dOMDocumentGetWebkitIsFullScreen _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_webkit_is_full_screen _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_webkit_pointer_lock_element
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMElement"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_webkit_pointer_lock_element" webkit_dom_document_get_webkit_pointer_lock_element :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMElement)


dOMDocumentGetWebkitPointerLockElement ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMElement
dOMDocumentGetWebkitPointerLockElement _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_webkit_pointer_lock_element _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_webkit_pointer_lock_element" result
    result' <- (newObject DOMElement) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_webkit_visibility_state
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_webkit_visibility_state" webkit_dom_document_get_webkit_visibility_state :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString

{-# DEPRECATED dOMDocumentGetWebkitVisibilityState ["(Since version 2.2)"]#-}
dOMDocumentGetWebkitVisibilityState ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetWebkitVisibilityState _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_webkit_visibility_state _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_webkit_visibility_state" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_xml_encoding
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_xml_encoding" webkit_dom_document_get_xml_encoding :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetXmlEncoding ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetXmlEncoding _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_xml_encoding _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_xml_encoding" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_xml_standalone
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_xml_standalone" webkit_dom_document_get_xml_standalone :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CInt


dOMDocumentGetXmlStandalone ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m Bool
dOMDocumentGetXmlStandalone _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_xml_standalone _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::get_xml_version
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_get_xml_version" webkit_dom_document_get_xml_version :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO CString


dOMDocumentGetXmlVersion ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m T.Text
dOMDocumentGetXmlVersion _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_get_xml_version _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_get_xml_version" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMDocument::import_node
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "importedNode", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "deep", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "importedNode", argType = TInterface "WebKit" "DOMNode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "deep", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMNode"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_import_node" webkit_dom_document_import_node :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Ptr DOMNode ->                          -- importedNode : TInterface "WebKit" "DOMNode"
    CInt ->                                 -- deep : TBasicType TBoolean
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMNode)


dOMDocumentImportNode ::
    (MonadIO m, DOMDocumentK a, DOMNodeK b) =>
    a ->                                    -- _obj
    b ->                                    -- importedNode
    Bool ->                                 -- deep
    m DOMNode
dOMDocumentImportNode _obj importedNode deep = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let importedNode' = unsafeManagedPtrCastPtr importedNode
    let deep' = (fromIntegral . fromEnum) deep
    onException (do
        result <- propagateGError $ webkit_dom_document_import_node _obj' importedNode' deep'
        checkUnexpectedReturnNULL "webkit_dom_document_import_node" result
        result' <- (newObject DOMNode) result
        touchManagedPtr _obj
        touchManagedPtr importedNode
        return result'
     ) (do
        return ()
     )

-- method DOMDocument::query_command_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_query_command_enabled" webkit_dom_document_query_command_enabled :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- command : TBasicType TUTF8
    IO CInt


dOMDocumentQueryCommandEnabled ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- command
    m Bool
dOMDocumentQueryCommandEnabled _obj command = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    command' <- textToCString command
    result <- webkit_dom_document_query_command_enabled _obj' command'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem command'
    return result'

-- method DOMDocument::query_command_indeterm
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_query_command_indeterm" webkit_dom_document_query_command_indeterm :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- command : TBasicType TUTF8
    IO CInt


dOMDocumentQueryCommandIndeterm ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- command
    m Bool
dOMDocumentQueryCommandIndeterm _obj command = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    command' <- textToCString command
    result <- webkit_dom_document_query_command_indeterm _obj' command'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem command'
    return result'

-- method DOMDocument::query_command_state
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_query_command_state" webkit_dom_document_query_command_state :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- command : TBasicType TUTF8
    IO CInt


dOMDocumentQueryCommandState ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- command
    m Bool
dOMDocumentQueryCommandState _obj command = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    command' <- textToCString command
    result <- webkit_dom_document_query_command_state _obj' command'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem command'
    return result'

-- method DOMDocument::query_command_supported
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_query_command_supported" webkit_dom_document_query_command_supported :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- command : TBasicType TUTF8
    IO CInt


dOMDocumentQueryCommandSupported ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- command
    m Bool
dOMDocumentQueryCommandSupported _obj command = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    command' <- textToCString command
    result <- webkit_dom_document_query_command_supported _obj' command'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem command'
    return result'

-- method DOMDocument::query_command_value
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "command", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_query_command_value" webkit_dom_document_query_command_value :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- command : TBasicType TUTF8
    IO CString


dOMDocumentQueryCommandValue ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- command
    m T.Text
dOMDocumentQueryCommandValue _obj command = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    command' <- textToCString command
    result <- webkit_dom_document_query_command_value _obj' command'
    checkUnexpectedReturnNULL "webkit_dom_document_query_command_value" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    freeMem command'
    return result'

-- method DOMDocument::query_selector
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selectors", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selectors", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMElement"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_query_selector" webkit_dom_document_query_selector :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- selectors : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMElement)


dOMDocumentQuerySelector ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- selectors
    m DOMElement
dOMDocumentQuerySelector _obj selectors = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    selectors' <- textToCString selectors
    onException (do
        result <- propagateGError $ webkit_dom_document_query_selector _obj' selectors'
        checkUnexpectedReturnNULL "webkit_dom_document_query_selector" result
        result' <- (newObject DOMElement) result
        touchManagedPtr _obj
        freeMem selectors'
        return result'
     ) (do
        freeMem selectors'
     )

-- method DOMDocument::query_selector_all
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selectors", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selectors", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMNodeList"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_query_selector_all" webkit_dom_document_query_selector_all :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- selectors : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMNodeList)


dOMDocumentQuerySelectorAll ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- selectors
    m DOMNodeList
dOMDocumentQuerySelectorAll _obj selectors = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    selectors' <- textToCString selectors
    onException (do
        result <- propagateGError $ webkit_dom_document_query_selector_all _obj' selectors'
        checkUnexpectedReturnNULL "webkit_dom_document_query_selector_all" result
        result' <- (wrapObject DOMNodeList) result
        touchManagedPtr _obj
        freeMem selectors'
        return result'
     ) (do
        freeMem selectors'
     )

-- method DOMDocument::set_body
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "WebKit" "DOMHTMLElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "WebKit" "DOMHTMLElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_set_body" webkit_dom_document_set_body :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    Ptr DOMHTMLElement ->                   -- value : TInterface "WebKit" "DOMHTMLElement"
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMDocumentSetBody ::
    (MonadIO m, DOMDocumentK a, DOMHTMLElementK b) =>
    a ->                                    -- _obj
    b ->                                    -- value
    m ()
dOMDocumentSetBody _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = unsafeManagedPtrCastPtr value
    onException (do
        propagateGError $ webkit_dom_document_set_body _obj' value'
        touchManagedPtr _obj
        touchManagedPtr value
        return ()
     ) (do
        return ()
     )

-- method DOMDocument::set_charset
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_set_charset" webkit_dom_document_set_charset :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMDocumentSetCharset ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMDocumentSetCharset _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_document_set_charset _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMDocument::set_cookie
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_set_cookie" webkit_dom_document_set_cookie :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMDocumentSetCookie ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMDocumentSetCookie _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    onException (do
        propagateGError $ webkit_dom_document_set_cookie _obj' value'
        touchManagedPtr _obj
        freeMem value'
        return ()
     ) (do
        freeMem value'
     )

-- method DOMDocument::set_document_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_set_document_uri" webkit_dom_document_set_document_uri :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMDocumentSetDocumentUri ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMDocumentSetDocumentUri _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_document_set_document_uri _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMDocument::set_selected_stylesheet_set
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_set_selected_stylesheet_set" webkit_dom_document_set_selected_stylesheet_set :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMDocumentSetSelectedStylesheetSet ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMDocumentSetSelectedStylesheetSet _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_document_set_selected_stylesheet_set _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMDocument::set_title
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_set_title" webkit_dom_document_set_title :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMDocumentSetTitle ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMDocumentSetTitle _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_document_set_title _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMDocument::set_xml_standalone
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_set_xml_standalone" webkit_dom_document_set_xml_standalone :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CInt ->                                 -- value : TBasicType TBoolean
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMDocumentSetXmlStandalone ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- value
    m ()
dOMDocumentSetXmlStandalone _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = (fromIntegral . fromEnum) value
    onException (do
        propagateGError $ webkit_dom_document_set_xml_standalone _obj' value'
        touchManagedPtr _obj
        return ()
     ) (do
        return ()
     )

-- method DOMDocument::set_xml_version
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_document_set_xml_version" webkit_dom_document_set_xml_version :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMDocumentSetXmlVersion ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMDocumentSetXmlVersion _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    onException (do
        propagateGError $ webkit_dom_document_set_xml_version _obj' value'
        touchManagedPtr _obj
        freeMem value'
        return ()
     ) (do
        freeMem value'
     )

-- method DOMDocument::webkit_cancel_full_screen
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_webkit_cancel_full_screen" webkit_dom_document_webkit_cancel_full_screen :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO ()


dOMDocumentWebkitCancelFullScreen ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m ()
dOMDocumentWebkitCancelFullScreen _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_dom_document_webkit_cancel_full_screen _obj'
    touchManagedPtr _obj
    return ()

-- method DOMDocument::webkit_exit_fullscreen
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_webkit_exit_fullscreen" webkit_dom_document_webkit_exit_fullscreen :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO ()


dOMDocumentWebkitExitFullscreen ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m ()
dOMDocumentWebkitExitFullscreen _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_dom_document_webkit_exit_fullscreen _obj'
    touchManagedPtr _obj
    return ()

-- method DOMDocument::webkit_exit_pointer_lock
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_webkit_exit_pointer_lock" webkit_dom_document_webkit_exit_pointer_lock :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO ()


dOMDocumentWebkitExitPointerLock ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m ()
dOMDocumentWebkitExitPointerLock _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_dom_document_webkit_exit_pointer_lock _obj'
    touchManagedPtr _obj
    return ()

-- method DOMDocument::webkit_get_named_flows
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDocument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMDOMNamedFlowCollection"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_document_webkit_get_named_flows" webkit_dom_document_webkit_get_named_flows :: 
    Ptr DOMDocument ->                      -- _obj : TInterface "WebKit" "DOMDocument"
    IO (Ptr DOMDOMNamedFlowCollection)


dOMDocumentWebkitGetNamedFlows ::
    (MonadIO m, DOMDocumentK a) =>
    a ->                                    -- _obj
    m DOMDOMNamedFlowCollection
dOMDocumentWebkitGetNamedFlows _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_document_webkit_get_named_flows _obj'
    checkUnexpectedReturnNULL "webkit_dom_document_webkit_get_named_flows" result
    result' <- (wrapObject DOMDOMNamedFlowCollection) result
    touchManagedPtr _obj
    return result'