{- |
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.WebKit2WebExtension.Objects.DOMElement
    ( 

-- * Exported types
    DOMElement(..)                          ,
    IsDOMElement                            ,
    toDOMElement                            ,
    noDOMElement                            ,


 -- * Methods
-- ** blur #method:blur#
    DOMElementBlurMethodInfo                ,
    dOMElementBlur                          ,


-- ** closest #method:closest#
    DOMElementClosestMethodInfo             ,
    dOMElementClosest                       ,


-- ** focus #method:focus#
    DOMElementFocusMethodInfo               ,
    dOMElementFocus                         ,


-- ** getAttribute #method:getAttribute#
    DOMElementGetAttributeMethodInfo        ,
    dOMElementGetAttribute                  ,


-- ** getAttributeNode #method:getAttributeNode#
    DOMElementGetAttributeNodeMethodInfo    ,
    dOMElementGetAttributeNode              ,


-- ** getAttributeNodeNs #method:getAttributeNodeNs#
    DOMElementGetAttributeNodeNsMethodInfo  ,
    dOMElementGetAttributeNodeNs            ,


-- ** getAttributeNs #method:getAttributeNs#
    DOMElementGetAttributeNsMethodInfo      ,
    dOMElementGetAttributeNs                ,


-- ** getAttributes #method:getAttributes#
    DOMElementGetAttributesMethodInfo       ,
    dOMElementGetAttributes                 ,


-- ** getChildElementCount #method:getChildElementCount#
    DOMElementGetChildElementCountMethodInfo,
    dOMElementGetChildElementCount          ,


-- ** getChildren #method:getChildren#
    DOMElementGetChildrenMethodInfo         ,
    dOMElementGetChildren                   ,


-- ** getClassList #method:getClassList#
    DOMElementGetClassListMethodInfo        ,
    dOMElementGetClassList                  ,


-- ** getClassName #method:getClassName#
    DOMElementGetClassNameMethodInfo        ,
    dOMElementGetClassName                  ,


-- ** getClientHeight #method:getClientHeight#
    DOMElementGetClientHeightMethodInfo     ,
    dOMElementGetClientHeight               ,


-- ** getClientLeft #method:getClientLeft#
    DOMElementGetClientLeftMethodInfo       ,
    dOMElementGetClientLeft                 ,


-- ** getClientTop #method:getClientTop#
    DOMElementGetClientTopMethodInfo        ,
    dOMElementGetClientTop                  ,


-- ** getClientWidth #method:getClientWidth#
    DOMElementGetClientWidthMethodInfo      ,
    dOMElementGetClientWidth                ,


-- ** getElementsByClassName #method:getElementsByClassName#
    DOMElementGetElementsByClassNameMethodInfo,
    dOMElementGetElementsByClassName        ,


-- ** getElementsByClassNameAsHtmlCollection #method:getElementsByClassNameAsHtmlCollection#
    DOMElementGetElementsByClassNameAsHtmlCollectionMethodInfo,
    dOMElementGetElementsByClassNameAsHtmlCollection,


-- ** getElementsByTagName #method:getElementsByTagName#
    DOMElementGetElementsByTagNameMethodInfo,
    dOMElementGetElementsByTagName          ,


-- ** getElementsByTagNameAsHtmlCollection #method:getElementsByTagNameAsHtmlCollection#
    DOMElementGetElementsByTagNameAsHtmlCollectionMethodInfo,
    dOMElementGetElementsByTagNameAsHtmlCollection,


-- ** getElementsByTagNameNs #method:getElementsByTagNameNs#
    DOMElementGetElementsByTagNameNsMethodInfo,
    dOMElementGetElementsByTagNameNs        ,


-- ** getElementsByTagNameNsAsHtmlCollection #method:getElementsByTagNameNsAsHtmlCollection#
    DOMElementGetElementsByTagNameNsAsHtmlCollectionMethodInfo,
    dOMElementGetElementsByTagNameNsAsHtmlCollection,


-- ** getFirstElementChild #method:getFirstElementChild#
    DOMElementGetFirstElementChildMethodInfo,
    dOMElementGetFirstElementChild          ,


-- ** getId #method:getId#
    DOMElementGetIdMethodInfo               ,
    dOMElementGetId                         ,


-- ** getInnerHtml #method:getInnerHtml#
    DOMElementGetInnerHtmlMethodInfo        ,
    dOMElementGetInnerHtml                  ,


-- ** getLastElementChild #method:getLastElementChild#
    DOMElementGetLastElementChildMethodInfo ,
    dOMElementGetLastElementChild           ,


-- ** getLocalName #method:getLocalName#
    DOMElementGetLocalNameMethodInfo        ,
    dOMElementGetLocalName                  ,


-- ** getNamespaceUri #method:getNamespaceUri#
    DOMElementGetNamespaceUriMethodInfo     ,
    dOMElementGetNamespaceUri               ,


-- ** getNextElementSibling #method:getNextElementSibling#
    DOMElementGetNextElementSiblingMethodInfo,
    dOMElementGetNextElementSibling         ,


-- ** getOffsetHeight #method:getOffsetHeight#
    DOMElementGetOffsetHeightMethodInfo     ,
    dOMElementGetOffsetHeight               ,


-- ** getOffsetLeft #method:getOffsetLeft#
    DOMElementGetOffsetLeftMethodInfo       ,
    dOMElementGetOffsetLeft                 ,


-- ** getOffsetParent #method:getOffsetParent#
    DOMElementGetOffsetParentMethodInfo     ,
    dOMElementGetOffsetParent               ,


-- ** getOffsetTop #method:getOffsetTop#
    DOMElementGetOffsetTopMethodInfo        ,
    dOMElementGetOffsetTop                  ,


-- ** getOffsetWidth #method:getOffsetWidth#
    DOMElementGetOffsetWidthMethodInfo      ,
    dOMElementGetOffsetWidth                ,


-- ** getOuterHtml #method:getOuterHtml#
    DOMElementGetOuterHtmlMethodInfo        ,
    dOMElementGetOuterHtml                  ,


-- ** getPrefix #method:getPrefix#
    DOMElementGetPrefixMethodInfo           ,
    dOMElementGetPrefix                     ,


-- ** getPreviousElementSibling #method:getPreviousElementSibling#
    DOMElementGetPreviousElementSiblingMethodInfo,
    dOMElementGetPreviousElementSibling     ,


-- ** getScrollHeight #method:getScrollHeight#
    DOMElementGetScrollHeightMethodInfo     ,
    dOMElementGetScrollHeight               ,


-- ** getScrollLeft #method:getScrollLeft#
    DOMElementGetScrollLeftMethodInfo       ,
    dOMElementGetScrollLeft                 ,


-- ** getScrollTop #method:getScrollTop#
    DOMElementGetScrollTopMethodInfo        ,
    dOMElementGetScrollTop                  ,


-- ** getScrollWidth #method:getScrollWidth#
    DOMElementGetScrollWidthMethodInfo      ,
    dOMElementGetScrollWidth                ,


-- ** getStyle #method:getStyle#
    DOMElementGetStyleMethodInfo            ,
    dOMElementGetStyle                      ,


-- ** getTagName #method:getTagName#
    DOMElementGetTagNameMethodInfo          ,
    dOMElementGetTagName                    ,


-- ** getWebkitRegionOverset #method:getWebkitRegionOverset#
    DOMElementGetWebkitRegionOversetMethodInfo,
    dOMElementGetWebkitRegionOverset        ,


-- ** hasAttribute #method:hasAttribute#
    DOMElementHasAttributeMethodInfo        ,
    dOMElementHasAttribute                  ,


-- ** hasAttributeNs #method:hasAttributeNs#
    DOMElementHasAttributeNsMethodInfo      ,
    dOMElementHasAttributeNs                ,


-- ** hasAttributes #method:hasAttributes#
    DOMElementHasAttributesMethodInfo       ,
    dOMElementHasAttributes                 ,


-- ** insertAdjacentElement #method:insertAdjacentElement#
    DOMElementInsertAdjacentElementMethodInfo,
    dOMElementInsertAdjacentElement         ,


-- ** insertAdjacentHtml #method:insertAdjacentHtml#
    DOMElementInsertAdjacentHtmlMethodInfo  ,
    dOMElementInsertAdjacentHtml            ,


-- ** insertAdjacentText #method:insertAdjacentText#
    DOMElementInsertAdjacentTextMethodInfo  ,
    dOMElementInsertAdjacentText            ,


-- ** matches #method:matches#
    DOMElementMatchesMethodInfo             ,
    dOMElementMatches                       ,


-- ** querySelector #method:querySelector#
    DOMElementQuerySelectorMethodInfo       ,
    dOMElementQuerySelector                 ,


-- ** querySelectorAll #method:querySelectorAll#
    DOMElementQuerySelectorAllMethodInfo    ,
    dOMElementQuerySelectorAll              ,


-- ** remove #method:remove#
    DOMElementRemoveMethodInfo              ,
    dOMElementRemove                        ,


-- ** removeAttribute #method:removeAttribute#
    DOMElementRemoveAttributeMethodInfo     ,
    dOMElementRemoveAttribute               ,


-- ** removeAttributeNode #method:removeAttributeNode#
    DOMElementRemoveAttributeNodeMethodInfo ,
    dOMElementRemoveAttributeNode           ,


-- ** removeAttributeNs #method:removeAttributeNs#
    DOMElementRemoveAttributeNsMethodInfo   ,
    dOMElementRemoveAttributeNs             ,


-- ** requestPointerLock #method:requestPointerLock#
    DOMElementRequestPointerLockMethodInfo  ,
    dOMElementRequestPointerLock            ,


-- ** scrollByLines #method:scrollByLines#
    DOMElementScrollByLinesMethodInfo       ,
    dOMElementScrollByLines                 ,


-- ** scrollByPages #method:scrollByPages#
    DOMElementScrollByPagesMethodInfo       ,
    dOMElementScrollByPages                 ,


-- ** scrollIntoView #method:scrollIntoView#
    DOMElementScrollIntoViewMethodInfo      ,
    dOMElementScrollIntoView                ,


-- ** scrollIntoViewIfNeeded #method:scrollIntoViewIfNeeded#
    DOMElementScrollIntoViewIfNeededMethodInfo,
    dOMElementScrollIntoViewIfNeeded        ,


-- ** setAttribute #method:setAttribute#
    DOMElementSetAttributeMethodInfo        ,
    dOMElementSetAttribute                  ,


-- ** setAttributeNode #method:setAttributeNode#
    DOMElementSetAttributeNodeMethodInfo    ,
    dOMElementSetAttributeNode              ,


-- ** setAttributeNodeNs #method:setAttributeNodeNs#
    DOMElementSetAttributeNodeNsMethodInfo  ,
    dOMElementSetAttributeNodeNs            ,


-- ** setAttributeNs #method:setAttributeNs#
    DOMElementSetAttributeNsMethodInfo      ,
    dOMElementSetAttributeNs                ,


-- ** setClassName #method:setClassName#
    DOMElementSetClassNameMethodInfo        ,
    dOMElementSetClassName                  ,


-- ** setId #method:setId#
    DOMElementSetIdMethodInfo               ,
    dOMElementSetId                         ,


-- ** setInnerHtml #method:setInnerHtml#
    DOMElementSetInnerHtmlMethodInfo        ,
    dOMElementSetInnerHtml                  ,


-- ** setOuterHtml #method:setOuterHtml#
    DOMElementSetOuterHtmlMethodInfo        ,
    dOMElementSetOuterHtml                  ,


-- ** setScrollLeft #method:setScrollLeft#
    DOMElementSetScrollLeftMethodInfo       ,
    dOMElementSetScrollLeft                 ,


-- ** setScrollTop #method:setScrollTop#
    DOMElementSetScrollTopMethodInfo        ,
    dOMElementSetScrollTop                  ,


-- ** webkitMatchesSelector #method:webkitMatchesSelector#
    DOMElementWebkitMatchesSelectorMethodInfo,
    dOMElementWebkitMatchesSelector         ,


-- ** webkitRequestFullscreen #method:webkitRequestFullscreen#
    DOMElementWebkitRequestFullscreenMethodInfo,
    dOMElementWebkitRequestFullscreen       ,




 -- * Properties
-- ** attributes #attr:attributes#
    DOMElementAttributesPropertyInfo        ,
    dOMElementAttributes                    ,
    getDOMElementAttributes                 ,


-- ** childElementCount #attr:childElementCount#
    DOMElementChildElementCountPropertyInfo ,
    dOMElementChildElementCount             ,
    getDOMElementChildElementCount          ,


-- ** children #attr:children#
    DOMElementChildrenPropertyInfo          ,
    dOMElementChildren                      ,
    getDOMElementChildren                   ,


-- ** classList #attr:classList#
    DOMElementClassListPropertyInfo         ,
    dOMElementClassList                     ,
    getDOMElementClassList                  ,


-- ** className #attr:className#
    DOMElementClassNamePropertyInfo         ,
    constructDOMElementClassName            ,
    dOMElementClassName                     ,
    getDOMElementClassName                  ,
    setDOMElementClassName                  ,


-- ** clientHeight #attr:clientHeight#
    DOMElementClientHeightPropertyInfo      ,
    dOMElementClientHeight                  ,
    getDOMElementClientHeight               ,


-- ** clientLeft #attr:clientLeft#
    DOMElementClientLeftPropertyInfo        ,
    dOMElementClientLeft                    ,
    getDOMElementClientLeft                 ,


-- ** clientTop #attr:clientTop#
    DOMElementClientTopPropertyInfo         ,
    dOMElementClientTop                     ,
    getDOMElementClientTop                  ,


-- ** clientWidth #attr:clientWidth#
    DOMElementClientWidthPropertyInfo       ,
    dOMElementClientWidth                   ,
    getDOMElementClientWidth                ,


-- ** firstElementChild #attr:firstElementChild#
    DOMElementFirstElementChildPropertyInfo ,
    dOMElementFirstElementChild             ,
    getDOMElementFirstElementChild          ,


-- ** id #attr:id#
    DOMElementIdPropertyInfo                ,
    constructDOMElementId                   ,
    dOMElementId                            ,
    getDOMElementId                         ,
    setDOMElementId                         ,


-- ** innerHtml #attr:innerHtml#
    DOMElementInnerHtmlPropertyInfo         ,
    clearDOMElementInnerHtml                ,
    constructDOMElementInnerHtml            ,
    dOMElementInnerHtml                     ,
    getDOMElementInnerHtml                  ,
    setDOMElementInnerHtml                  ,


-- ** lastElementChild #attr:lastElementChild#
    DOMElementLastElementChildPropertyInfo  ,
    dOMElementLastElementChild              ,
    getDOMElementLastElementChild           ,


-- ** localName #attr:localName#
    DOMElementLocalNamePropertyInfo         ,
    dOMElementLocalName                     ,
    getDOMElementLocalName                  ,


-- ** namespaceUri #attr:namespaceUri#
    DOMElementNamespaceUriPropertyInfo      ,
    dOMElementNamespaceUri                  ,
    getDOMElementNamespaceUri               ,


-- ** nextElementSibling #attr:nextElementSibling#
    DOMElementNextElementSiblingPropertyInfo,
    dOMElementNextElementSibling            ,
    getDOMElementNextElementSibling         ,


-- ** offsetHeight #attr:offsetHeight#
    DOMElementOffsetHeightPropertyInfo      ,
    dOMElementOffsetHeight                  ,
    getDOMElementOffsetHeight               ,


-- ** offsetLeft #attr:offsetLeft#
    DOMElementOffsetLeftPropertyInfo        ,
    dOMElementOffsetLeft                    ,
    getDOMElementOffsetLeft                 ,


-- ** offsetParent #attr:offsetParent#
    DOMElementOffsetParentPropertyInfo      ,
    dOMElementOffsetParent                  ,
    getDOMElementOffsetParent               ,


-- ** offsetTop #attr:offsetTop#
    DOMElementOffsetTopPropertyInfo         ,
    dOMElementOffsetTop                     ,
    getDOMElementOffsetTop                  ,


-- ** offsetWidth #attr:offsetWidth#
    DOMElementOffsetWidthPropertyInfo       ,
    dOMElementOffsetWidth                   ,
    getDOMElementOffsetWidth                ,


-- ** outerHtml #attr:outerHtml#
    DOMElementOuterHtmlPropertyInfo         ,
    clearDOMElementOuterHtml                ,
    constructDOMElementOuterHtml            ,
    dOMElementOuterHtml                     ,
    getDOMElementOuterHtml                  ,
    setDOMElementOuterHtml                  ,


-- ** prefix #attr:prefix#
    DOMElementPrefixPropertyInfo            ,
    dOMElementPrefix                        ,
    getDOMElementPrefix                     ,


-- ** previousElementSibling #attr:previousElementSibling#
    DOMElementPreviousElementSiblingPropertyInfo,
    dOMElementPreviousElementSibling        ,
    getDOMElementPreviousElementSibling     ,


-- ** scrollHeight #attr:scrollHeight#
    DOMElementScrollHeightPropertyInfo      ,
    dOMElementScrollHeight                  ,
    getDOMElementScrollHeight               ,


-- ** scrollLeft #attr:scrollLeft#
    DOMElementScrollLeftPropertyInfo        ,
    constructDOMElementScrollLeft           ,
    dOMElementScrollLeft                    ,
    getDOMElementScrollLeft                 ,
    setDOMElementScrollLeft                 ,


-- ** scrollTop #attr:scrollTop#
    DOMElementScrollTopPropertyInfo         ,
    constructDOMElementScrollTop            ,
    dOMElementScrollTop                     ,
    getDOMElementScrollTop                  ,
    setDOMElementScrollTop                  ,


-- ** scrollWidth #attr:scrollWidth#
    DOMElementScrollWidthPropertyInfo       ,
    dOMElementScrollWidth                   ,
    getDOMElementScrollWidth                ,


-- ** style #attr:style#
    DOMElementStylePropertyInfo             ,
    dOMElementStyle                         ,
    getDOMElementStyle                      ,


-- ** tagName #attr:tagName#
    DOMElementTagNamePropertyInfo           ,
    dOMElementTagName                       ,
    getDOMElementTagName                    ,


-- ** webkitRegionOverset #attr:webkitRegionOverset#
    DOMElementWebkitRegionOversetPropertyInfo,
    dOMElementWebkitRegionOverset           ,
    getDOMElementWebkitRegionOverset        ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Interfaces.DOMEventTarget as WebKit2WebExtension.DOMEventTarget
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMAttr as WebKit2WebExtension.DOMAttr
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration as WebKit2WebExtension.DOMCSSStyleDeclaration
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDOMTokenList as WebKit2WebExtension.DOMDOMTokenList
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMHTMLCollection as WebKit2WebExtension.DOMHTMLCollection
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMNamedNodeMap as WebKit2WebExtension.DOMNamedNodeMap
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMNode as WebKit2WebExtension.DOMNode
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMNodeList as WebKit2WebExtension.DOMNodeList
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject

newtype DOMElement = DOMElement (ManagedPtr DOMElement)
foreign import ccall "webkit_dom_element_get_type"
    c_webkit_dom_element_get_type :: IO GType

instance GObject DOMElement where
    gobjectType _ = c_webkit_dom_element_get_type
    

class GObject o => IsDOMElement o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError DOMElement a) =>
    IsDOMElement a
#endif
instance IsDOMElement DOMElement
instance WebKit2WebExtension.DOMNode.IsDOMNode DOMElement
instance WebKit2WebExtension.DOMObject.IsDOMObject DOMElement
instance GObject.Object.IsObject DOMElement
instance WebKit2WebExtension.DOMEventTarget.IsDOMEventTarget DOMElement

toDOMElement :: IsDOMElement o => o -> IO DOMElement
toDOMElement = unsafeCastTo DOMElement

noDOMElement :: Maybe DOMElement
noDOMElement = Nothing

type family ResolveDOMElementMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMElementMethod "addEventListener" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetAddEventListenerMethodInfo
    ResolveDOMElementMethod "appendChild" o = WebKit2WebExtension.DOMNode.DOMNodeAppendChildMethodInfo
    ResolveDOMElementMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMElementMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMElementMethod "blur" o = DOMElementBlurMethodInfo
    ResolveDOMElementMethod "cloneNodeWithError" o = WebKit2WebExtension.DOMNode.DOMNodeCloneNodeWithErrorMethodInfo
    ResolveDOMElementMethod "closest" o = DOMElementClosestMethodInfo
    ResolveDOMElementMethod "compareDocumentPosition" o = WebKit2WebExtension.DOMNode.DOMNodeCompareDocumentPositionMethodInfo
    ResolveDOMElementMethod "contains" o = WebKit2WebExtension.DOMNode.DOMNodeContainsMethodInfo
    ResolveDOMElementMethod "dispatchEvent" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetDispatchEventMethodInfo
    ResolveDOMElementMethod "focus" o = DOMElementFocusMethodInfo
    ResolveDOMElementMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMElementMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMElementMethod "hasAttribute" o = DOMElementHasAttributeMethodInfo
    ResolveDOMElementMethod "hasAttributeNs" o = DOMElementHasAttributeNsMethodInfo
    ResolveDOMElementMethod "hasAttributes" o = DOMElementHasAttributesMethodInfo
    ResolveDOMElementMethod "hasChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeHasChildNodesMethodInfo
    ResolveDOMElementMethod "insertAdjacentElement" o = DOMElementInsertAdjacentElementMethodInfo
    ResolveDOMElementMethod "insertAdjacentHtml" o = DOMElementInsertAdjacentHtmlMethodInfo
    ResolveDOMElementMethod "insertAdjacentText" o = DOMElementInsertAdjacentTextMethodInfo
    ResolveDOMElementMethod "insertBefore" o = WebKit2WebExtension.DOMNode.DOMNodeInsertBeforeMethodInfo
    ResolveDOMElementMethod "isDefaultNamespace" o = WebKit2WebExtension.DOMNode.DOMNodeIsDefaultNamespaceMethodInfo
    ResolveDOMElementMethod "isEqualNode" o = WebKit2WebExtension.DOMNode.DOMNodeIsEqualNodeMethodInfo
    ResolveDOMElementMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMElementMethod "isSameNode" o = WebKit2WebExtension.DOMNode.DOMNodeIsSameNodeMethodInfo
    ResolveDOMElementMethod "isSupported" o = WebKit2WebExtension.DOMNode.DOMNodeIsSupportedMethodInfo
    ResolveDOMElementMethod "lookupNamespaceUri" o = WebKit2WebExtension.DOMNode.DOMNodeLookupNamespaceUriMethodInfo
    ResolveDOMElementMethod "lookupPrefix" o = WebKit2WebExtension.DOMNode.DOMNodeLookupPrefixMethodInfo
    ResolveDOMElementMethod "matches" o = DOMElementMatchesMethodInfo
    ResolveDOMElementMethod "normalize" o = WebKit2WebExtension.DOMNode.DOMNodeNormalizeMethodInfo
    ResolveDOMElementMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMElementMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMElementMethod "querySelector" o = DOMElementQuerySelectorMethodInfo
    ResolveDOMElementMethod "querySelectorAll" o = DOMElementQuerySelectorAllMethodInfo
    ResolveDOMElementMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMElementMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMElementMethod "remove" o = DOMElementRemoveMethodInfo
    ResolveDOMElementMethod "removeAttribute" o = DOMElementRemoveAttributeMethodInfo
    ResolveDOMElementMethod "removeAttributeNode" o = DOMElementRemoveAttributeNodeMethodInfo
    ResolveDOMElementMethod "removeAttributeNs" o = DOMElementRemoveAttributeNsMethodInfo
    ResolveDOMElementMethod "removeChild" o = WebKit2WebExtension.DOMNode.DOMNodeRemoveChildMethodInfo
    ResolveDOMElementMethod "removeEventListener" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetRemoveEventListenerMethodInfo
    ResolveDOMElementMethod "replaceChild" o = WebKit2WebExtension.DOMNode.DOMNodeReplaceChildMethodInfo
    ResolveDOMElementMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMElementMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMElementMethod "requestPointerLock" o = DOMElementRequestPointerLockMethodInfo
    ResolveDOMElementMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMElementMethod "scrollByLines" o = DOMElementScrollByLinesMethodInfo
    ResolveDOMElementMethod "scrollByPages" o = DOMElementScrollByPagesMethodInfo
    ResolveDOMElementMethod "scrollIntoView" o = DOMElementScrollIntoViewMethodInfo
    ResolveDOMElementMethod "scrollIntoViewIfNeeded" o = DOMElementScrollIntoViewIfNeededMethodInfo
    ResolveDOMElementMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMElementMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMElementMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMElementMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMElementMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMElementMethod "webkitMatchesSelector" o = DOMElementWebkitMatchesSelectorMethodInfo
    ResolveDOMElementMethod "webkitRequestFullscreen" o = DOMElementWebkitRequestFullscreenMethodInfo
    ResolveDOMElementMethod "getAttribute" o = DOMElementGetAttributeMethodInfo
    ResolveDOMElementMethod "getAttributeNode" o = DOMElementGetAttributeNodeMethodInfo
    ResolveDOMElementMethod "getAttributeNodeNs" o = DOMElementGetAttributeNodeNsMethodInfo
    ResolveDOMElementMethod "getAttributeNs" o = DOMElementGetAttributeNsMethodInfo
    ResolveDOMElementMethod "getAttributes" o = DOMElementGetAttributesMethodInfo
    ResolveDOMElementMethod "getBaseUri" o = WebKit2WebExtension.DOMNode.DOMNodeGetBaseUriMethodInfo
    ResolveDOMElementMethod "getChildElementCount" o = DOMElementGetChildElementCountMethodInfo
    ResolveDOMElementMethod "getChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeGetChildNodesMethodInfo
    ResolveDOMElementMethod "getChildren" o = DOMElementGetChildrenMethodInfo
    ResolveDOMElementMethod "getClassList" o = DOMElementGetClassListMethodInfo
    ResolveDOMElementMethod "getClassName" o = DOMElementGetClassNameMethodInfo
    ResolveDOMElementMethod "getClientHeight" o = DOMElementGetClientHeightMethodInfo
    ResolveDOMElementMethod "getClientLeft" o = DOMElementGetClientLeftMethodInfo
    ResolveDOMElementMethod "getClientTop" o = DOMElementGetClientTopMethodInfo
    ResolveDOMElementMethod "getClientWidth" o = DOMElementGetClientWidthMethodInfo
    ResolveDOMElementMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMElementMethod "getElementsByClassName" o = DOMElementGetElementsByClassNameMethodInfo
    ResolveDOMElementMethod "getElementsByClassNameAsHtmlCollection" o = DOMElementGetElementsByClassNameAsHtmlCollectionMethodInfo
    ResolveDOMElementMethod "getElementsByTagName" o = DOMElementGetElementsByTagNameMethodInfo
    ResolveDOMElementMethod "getElementsByTagNameAsHtmlCollection" o = DOMElementGetElementsByTagNameAsHtmlCollectionMethodInfo
    ResolveDOMElementMethod "getElementsByTagNameNs" o = DOMElementGetElementsByTagNameNsMethodInfo
    ResolveDOMElementMethod "getElementsByTagNameNsAsHtmlCollection" o = DOMElementGetElementsByTagNameNsAsHtmlCollectionMethodInfo
    ResolveDOMElementMethod "getFirstChild" o = WebKit2WebExtension.DOMNode.DOMNodeGetFirstChildMethodInfo
    ResolveDOMElementMethod "getFirstElementChild" o = DOMElementGetFirstElementChildMethodInfo
    ResolveDOMElementMethod "getId" o = DOMElementGetIdMethodInfo
    ResolveDOMElementMethod "getInnerHtml" o = DOMElementGetInnerHtmlMethodInfo
    ResolveDOMElementMethod "getLastChild" o = WebKit2WebExtension.DOMNode.DOMNodeGetLastChildMethodInfo
    ResolveDOMElementMethod "getLastElementChild" o = DOMElementGetLastElementChildMethodInfo
    ResolveDOMElementMethod "getLocalName" o = DOMElementGetLocalNameMethodInfo
    ResolveDOMElementMethod "getNamespaceUri" o = DOMElementGetNamespaceUriMethodInfo
    ResolveDOMElementMethod "getNextElementSibling" o = DOMElementGetNextElementSiblingMethodInfo
    ResolveDOMElementMethod "getNextSibling" o = WebKit2WebExtension.DOMNode.DOMNodeGetNextSiblingMethodInfo
    ResolveDOMElementMethod "getNodeName" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeNameMethodInfo
    ResolveDOMElementMethod "getNodeType" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeTypeMethodInfo
    ResolveDOMElementMethod "getNodeValue" o = WebKit2WebExtension.DOMNode.DOMNodeGetNodeValueMethodInfo
    ResolveDOMElementMethod "getOffsetHeight" o = DOMElementGetOffsetHeightMethodInfo
    ResolveDOMElementMethod "getOffsetLeft" o = DOMElementGetOffsetLeftMethodInfo
    ResolveDOMElementMethod "getOffsetParent" o = DOMElementGetOffsetParentMethodInfo
    ResolveDOMElementMethod "getOffsetTop" o = DOMElementGetOffsetTopMethodInfo
    ResolveDOMElementMethod "getOffsetWidth" o = DOMElementGetOffsetWidthMethodInfo
    ResolveDOMElementMethod "getOuterHtml" o = DOMElementGetOuterHtmlMethodInfo
    ResolveDOMElementMethod "getOwnerDocument" o = WebKit2WebExtension.DOMNode.DOMNodeGetOwnerDocumentMethodInfo
    ResolveDOMElementMethod "getParentElement" o = WebKit2WebExtension.DOMNode.DOMNodeGetParentElementMethodInfo
    ResolveDOMElementMethod "getParentNode" o = WebKit2WebExtension.DOMNode.DOMNodeGetParentNodeMethodInfo
    ResolveDOMElementMethod "getPrefix" o = DOMElementGetPrefixMethodInfo
    ResolveDOMElementMethod "getPreviousElementSibling" o = DOMElementGetPreviousElementSiblingMethodInfo
    ResolveDOMElementMethod "getPreviousSibling" o = WebKit2WebExtension.DOMNode.DOMNodeGetPreviousSiblingMethodInfo
    ResolveDOMElementMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMElementMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMElementMethod "getScrollHeight" o = DOMElementGetScrollHeightMethodInfo
    ResolveDOMElementMethod "getScrollLeft" o = DOMElementGetScrollLeftMethodInfo
    ResolveDOMElementMethod "getScrollTop" o = DOMElementGetScrollTopMethodInfo
    ResolveDOMElementMethod "getScrollWidth" o = DOMElementGetScrollWidthMethodInfo
    ResolveDOMElementMethod "getStyle" o = DOMElementGetStyleMethodInfo
    ResolveDOMElementMethod "getTagName" o = DOMElementGetTagNameMethodInfo
    ResolveDOMElementMethod "getTextContent" o = WebKit2WebExtension.DOMNode.DOMNodeGetTextContentMethodInfo
    ResolveDOMElementMethod "getWebkitRegionOverset" o = DOMElementGetWebkitRegionOversetMethodInfo
    ResolveDOMElementMethod "setAttribute" o = DOMElementSetAttributeMethodInfo
    ResolveDOMElementMethod "setAttributeNode" o = DOMElementSetAttributeNodeMethodInfo
    ResolveDOMElementMethod "setAttributeNodeNs" o = DOMElementSetAttributeNodeNsMethodInfo
    ResolveDOMElementMethod "setAttributeNs" o = DOMElementSetAttributeNsMethodInfo
    ResolveDOMElementMethod "setClassName" o = DOMElementSetClassNameMethodInfo
    ResolveDOMElementMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMElementMethod "setId" o = DOMElementSetIdMethodInfo
    ResolveDOMElementMethod "setInnerHtml" o = DOMElementSetInnerHtmlMethodInfo
    ResolveDOMElementMethod "setNodeValue" o = WebKit2WebExtension.DOMNode.DOMNodeSetNodeValueMethodInfo
    ResolveDOMElementMethod "setOuterHtml" o = DOMElementSetOuterHtmlMethodInfo
    ResolveDOMElementMethod "setPrefix" o = WebKit2WebExtension.DOMNode.DOMNodeSetPrefixMethodInfo
    ResolveDOMElementMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMElementMethod "setScrollLeft" o = DOMElementSetScrollLeftMethodInfo
    ResolveDOMElementMethod "setScrollTop" o = DOMElementSetScrollTopMethodInfo
    ResolveDOMElementMethod "setTextContent" o = WebKit2WebExtension.DOMNode.DOMNodeSetTextContentMethodInfo
    ResolveDOMElementMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMElementMethod t DOMElement, O.MethodInfo info DOMElement p) => O.IsLabelProxy t (DOMElement -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDOMElementMethod t DOMElement, O.MethodInfo info DOMElement p) => O.IsLabel t (DOMElement -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

-- VVV Prop "attributes"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNamedNodeMap"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMElementAttributes :: (MonadIO m, IsDOMElement o) => o -> m (Maybe WebKit2WebExtension.DOMNamedNodeMap.DOMNamedNodeMap)
getDOMElementAttributes obj = liftIO $ getObjectPropertyObject obj "attributes" WebKit2WebExtension.DOMNamedNodeMap.DOMNamedNodeMap

data DOMElementAttributesPropertyInfo
instance AttrInfo DOMElementAttributesPropertyInfo where
    type AttrAllowedOps DOMElementAttributesPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementAttributesPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementAttributesPropertyInfo = IsDOMElement
    type AttrGetType DOMElementAttributesPropertyInfo = (Maybe WebKit2WebExtension.DOMNamedNodeMap.DOMNamedNodeMap)
    type AttrLabel DOMElementAttributesPropertyInfo = "attributes"
    type AttrOrigin DOMElementAttributesPropertyInfo = DOMElement
    attrGet _ = getDOMElementAttributes
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "child-element-count"
   -- Type: TBasicType TULong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementChildElementCount :: (MonadIO m, IsDOMElement o) => o -> m CULong
getDOMElementChildElementCount obj = liftIO $ getObjectPropertyULong obj "child-element-count"

data DOMElementChildElementCountPropertyInfo
instance AttrInfo DOMElementChildElementCountPropertyInfo where
    type AttrAllowedOps DOMElementChildElementCountPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementChildElementCountPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementChildElementCountPropertyInfo = IsDOMElement
    type AttrGetType DOMElementChildElementCountPropertyInfo = CULong
    type AttrLabel DOMElementChildElementCountPropertyInfo = "child-element-count"
    type AttrOrigin DOMElementChildElementCountPropertyInfo = DOMElement
    attrGet _ = getDOMElementChildElementCount
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "children"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLCollection"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMElementChildren :: (MonadIO m, IsDOMElement o) => o -> m (Maybe WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)
getDOMElementChildren obj = liftIO $ getObjectPropertyObject obj "children" WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection

data DOMElementChildrenPropertyInfo
instance AttrInfo DOMElementChildrenPropertyInfo where
    type AttrAllowedOps DOMElementChildrenPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementChildrenPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementChildrenPropertyInfo = IsDOMElement
    type AttrGetType DOMElementChildrenPropertyInfo = (Maybe WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)
    type AttrLabel DOMElementChildrenPropertyInfo = "children"
    type AttrOrigin DOMElementChildrenPropertyInfo = DOMElement
    attrGet _ = getDOMElementChildren
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "class-list"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDOMTokenList"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMElementClassList :: (MonadIO m, IsDOMElement o) => o -> m (Maybe WebKit2WebExtension.DOMDOMTokenList.DOMDOMTokenList)
getDOMElementClassList obj = liftIO $ getObjectPropertyObject obj "class-list" WebKit2WebExtension.DOMDOMTokenList.DOMDOMTokenList

data DOMElementClassListPropertyInfo
instance AttrInfo DOMElementClassListPropertyInfo where
    type AttrAllowedOps DOMElementClassListPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementClassListPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementClassListPropertyInfo = IsDOMElement
    type AttrGetType DOMElementClassListPropertyInfo = (Maybe WebKit2WebExtension.DOMDOMTokenList.DOMDOMTokenList)
    type AttrLabel DOMElementClassListPropertyInfo = "class-list"
    type AttrOrigin DOMElementClassListPropertyInfo = DOMElement
    attrGet _ = getDOMElementClassList
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "class-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Just False)

getDOMElementClassName :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementClassName obj = liftIO $ getObjectPropertyString obj "class-name"

setDOMElementClassName :: (MonadIO m, IsDOMElement o) => o -> T.Text -> m ()
setDOMElementClassName obj val = liftIO $ setObjectPropertyString obj "class-name" (Just val)

constructDOMElementClassName :: (IsDOMElement o) => T.Text -> IO (GValueConstruct o)
constructDOMElementClassName val = constructObjectPropertyString "class-name" (Just val)

data DOMElementClassNamePropertyInfo
instance AttrInfo DOMElementClassNamePropertyInfo where
    type AttrAllowedOps DOMElementClassNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMElementClassNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMElementClassNamePropertyInfo = IsDOMElement
    type AttrGetType DOMElementClassNamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMElementClassNamePropertyInfo = "class-name"
    type AttrOrigin DOMElementClassNamePropertyInfo = DOMElement
    attrGet _ = getDOMElementClassName
    attrSet _ = setDOMElementClassName
    attrConstruct _ = constructDOMElementClassName
    attrClear _ = undefined

-- VVV Prop "client-height"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementClientHeight :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementClientHeight obj = liftIO $ getObjectPropertyDouble obj "client-height"

data DOMElementClientHeightPropertyInfo
instance AttrInfo DOMElementClientHeightPropertyInfo where
    type AttrAllowedOps DOMElementClientHeightPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementClientHeightPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementClientHeightPropertyInfo = IsDOMElement
    type AttrGetType DOMElementClientHeightPropertyInfo = Double
    type AttrLabel DOMElementClientHeightPropertyInfo = "client-height"
    type AttrOrigin DOMElementClientHeightPropertyInfo = DOMElement
    attrGet _ = getDOMElementClientHeight
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "client-left"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementClientLeft :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementClientLeft obj = liftIO $ getObjectPropertyDouble obj "client-left"

data DOMElementClientLeftPropertyInfo
instance AttrInfo DOMElementClientLeftPropertyInfo where
    type AttrAllowedOps DOMElementClientLeftPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementClientLeftPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementClientLeftPropertyInfo = IsDOMElement
    type AttrGetType DOMElementClientLeftPropertyInfo = Double
    type AttrLabel DOMElementClientLeftPropertyInfo = "client-left"
    type AttrOrigin DOMElementClientLeftPropertyInfo = DOMElement
    attrGet _ = getDOMElementClientLeft
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "client-top"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementClientTop :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementClientTop obj = liftIO $ getObjectPropertyDouble obj "client-top"

data DOMElementClientTopPropertyInfo
instance AttrInfo DOMElementClientTopPropertyInfo where
    type AttrAllowedOps DOMElementClientTopPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementClientTopPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementClientTopPropertyInfo = IsDOMElement
    type AttrGetType DOMElementClientTopPropertyInfo = Double
    type AttrLabel DOMElementClientTopPropertyInfo = "client-top"
    type AttrOrigin DOMElementClientTopPropertyInfo = DOMElement
    attrGet _ = getDOMElementClientTop
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "client-width"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementClientWidth :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementClientWidth obj = liftIO $ getObjectPropertyDouble obj "client-width"

data DOMElementClientWidthPropertyInfo
instance AttrInfo DOMElementClientWidthPropertyInfo where
    type AttrAllowedOps DOMElementClientWidthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementClientWidthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementClientWidthPropertyInfo = IsDOMElement
    type AttrGetType DOMElementClientWidthPropertyInfo = Double
    type AttrLabel DOMElementClientWidthPropertyInfo = "client-width"
    type AttrOrigin DOMElementClientWidthPropertyInfo = DOMElement
    attrGet _ = getDOMElementClientWidth
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "first-element-child"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementFirstElementChild :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
getDOMElementFirstElementChild obj = liftIO $ checkUnexpectedNothing "getDOMElementFirstElementChild" $ getObjectPropertyObject obj "first-element-child" DOMElement

data DOMElementFirstElementChildPropertyInfo
instance AttrInfo DOMElementFirstElementChildPropertyInfo where
    type AttrAllowedOps DOMElementFirstElementChildPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementFirstElementChildPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementFirstElementChildPropertyInfo = IsDOMElement
    type AttrGetType DOMElementFirstElementChildPropertyInfo = DOMElement
    type AttrLabel DOMElementFirstElementChildPropertyInfo = "first-element-child"
    type AttrOrigin DOMElementFirstElementChildPropertyInfo = DOMElement
    attrGet _ = getDOMElementFirstElementChild
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "id"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Just False)

getDOMElementId :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementId obj = liftIO $ getObjectPropertyString obj "id"

setDOMElementId :: (MonadIO m, IsDOMElement o) => o -> T.Text -> m ()
setDOMElementId obj val = liftIO $ setObjectPropertyString obj "id" (Just val)

constructDOMElementId :: (IsDOMElement o) => T.Text -> IO (GValueConstruct o)
constructDOMElementId val = constructObjectPropertyString "id" (Just val)

data DOMElementIdPropertyInfo
instance AttrInfo DOMElementIdPropertyInfo where
    type AttrAllowedOps DOMElementIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMElementIdPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMElementIdPropertyInfo = IsDOMElement
    type AttrGetType DOMElementIdPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMElementIdPropertyInfo = "id"
    type AttrOrigin DOMElementIdPropertyInfo = DOMElement
    attrGet _ = getDOMElementId
    attrSet _ = setDOMElementId
    attrConstruct _ = constructDOMElementId
    attrClear _ = undefined

-- VVV Prop "inner-html"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getDOMElementInnerHtml :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementInnerHtml obj = liftIO $ getObjectPropertyString obj "inner-html"

setDOMElementInnerHtml :: (MonadIO m, IsDOMElement o) => o -> T.Text -> m ()
setDOMElementInnerHtml obj val = liftIO $ setObjectPropertyString obj "inner-html" (Just val)

constructDOMElementInnerHtml :: (IsDOMElement o) => T.Text -> IO (GValueConstruct o)
constructDOMElementInnerHtml val = constructObjectPropertyString "inner-html" (Just val)

clearDOMElementInnerHtml :: (MonadIO m, IsDOMElement o) => o -> m ()
clearDOMElementInnerHtml obj = liftIO $ setObjectPropertyString obj "inner-html" (Nothing :: Maybe T.Text)

data DOMElementInnerHtmlPropertyInfo
instance AttrInfo DOMElementInnerHtmlPropertyInfo where
    type AttrAllowedOps DOMElementInnerHtmlPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementInnerHtmlPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMElementInnerHtmlPropertyInfo = IsDOMElement
    type AttrGetType DOMElementInnerHtmlPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMElementInnerHtmlPropertyInfo = "inner-html"
    type AttrOrigin DOMElementInnerHtmlPropertyInfo = DOMElement
    attrGet _ = getDOMElementInnerHtml
    attrSet _ = setDOMElementInnerHtml
    attrConstruct _ = constructDOMElementInnerHtml
    attrClear _ = clearDOMElementInnerHtml

-- VVV Prop "last-element-child"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementLastElementChild :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
getDOMElementLastElementChild obj = liftIO $ checkUnexpectedNothing "getDOMElementLastElementChild" $ getObjectPropertyObject obj "last-element-child" DOMElement

data DOMElementLastElementChildPropertyInfo
instance AttrInfo DOMElementLastElementChildPropertyInfo where
    type AttrAllowedOps DOMElementLastElementChildPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementLastElementChildPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementLastElementChildPropertyInfo = IsDOMElement
    type AttrGetType DOMElementLastElementChildPropertyInfo = DOMElement
    type AttrLabel DOMElementLastElementChildPropertyInfo = "last-element-child"
    type AttrOrigin DOMElementLastElementChildPropertyInfo = DOMElement
    attrGet _ = getDOMElementLastElementChild
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "local-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMElementLocalName :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementLocalName obj = liftIO $ getObjectPropertyString obj "local-name"

data DOMElementLocalNamePropertyInfo
instance AttrInfo DOMElementLocalNamePropertyInfo where
    type AttrAllowedOps DOMElementLocalNamePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementLocalNamePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementLocalNamePropertyInfo = IsDOMElement
    type AttrGetType DOMElementLocalNamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMElementLocalNamePropertyInfo = "local-name"
    type AttrOrigin DOMElementLocalNamePropertyInfo = DOMElement
    attrGet _ = getDOMElementLocalName
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "namespace-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMElementNamespaceUri :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementNamespaceUri obj = liftIO $ getObjectPropertyString obj "namespace-uri"

data DOMElementNamespaceUriPropertyInfo
instance AttrInfo DOMElementNamespaceUriPropertyInfo where
    type AttrAllowedOps DOMElementNamespaceUriPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementNamespaceUriPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementNamespaceUriPropertyInfo = IsDOMElement
    type AttrGetType DOMElementNamespaceUriPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMElementNamespaceUriPropertyInfo = "namespace-uri"
    type AttrOrigin DOMElementNamespaceUriPropertyInfo = DOMElement
    attrGet _ = getDOMElementNamespaceUri
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "next-element-sibling"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementNextElementSibling :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
getDOMElementNextElementSibling obj = liftIO $ checkUnexpectedNothing "getDOMElementNextElementSibling" $ getObjectPropertyObject obj "next-element-sibling" DOMElement

data DOMElementNextElementSiblingPropertyInfo
instance AttrInfo DOMElementNextElementSiblingPropertyInfo where
    type AttrAllowedOps DOMElementNextElementSiblingPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementNextElementSiblingPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementNextElementSiblingPropertyInfo = IsDOMElement
    type AttrGetType DOMElementNextElementSiblingPropertyInfo = DOMElement
    type AttrLabel DOMElementNextElementSiblingPropertyInfo = "next-element-sibling"
    type AttrOrigin DOMElementNextElementSiblingPropertyInfo = DOMElement
    attrGet _ = getDOMElementNextElementSibling
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "offset-height"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementOffsetHeight :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementOffsetHeight obj = liftIO $ getObjectPropertyDouble obj "offset-height"

data DOMElementOffsetHeightPropertyInfo
instance AttrInfo DOMElementOffsetHeightPropertyInfo where
    type AttrAllowedOps DOMElementOffsetHeightPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementOffsetHeightPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementOffsetHeightPropertyInfo = IsDOMElement
    type AttrGetType DOMElementOffsetHeightPropertyInfo = Double
    type AttrLabel DOMElementOffsetHeightPropertyInfo = "offset-height"
    type AttrOrigin DOMElementOffsetHeightPropertyInfo = DOMElement
    attrGet _ = getDOMElementOffsetHeight
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "offset-left"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementOffsetLeft :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementOffsetLeft obj = liftIO $ getObjectPropertyDouble obj "offset-left"

data DOMElementOffsetLeftPropertyInfo
instance AttrInfo DOMElementOffsetLeftPropertyInfo where
    type AttrAllowedOps DOMElementOffsetLeftPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementOffsetLeftPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementOffsetLeftPropertyInfo = IsDOMElement
    type AttrGetType DOMElementOffsetLeftPropertyInfo = Double
    type AttrLabel DOMElementOffsetLeftPropertyInfo = "offset-left"
    type AttrOrigin DOMElementOffsetLeftPropertyInfo = DOMElement
    attrGet _ = getDOMElementOffsetLeft
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "offset-parent"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementOffsetParent :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
getDOMElementOffsetParent obj = liftIO $ checkUnexpectedNothing "getDOMElementOffsetParent" $ getObjectPropertyObject obj "offset-parent" DOMElement

data DOMElementOffsetParentPropertyInfo
instance AttrInfo DOMElementOffsetParentPropertyInfo where
    type AttrAllowedOps DOMElementOffsetParentPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementOffsetParentPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementOffsetParentPropertyInfo = IsDOMElement
    type AttrGetType DOMElementOffsetParentPropertyInfo = DOMElement
    type AttrLabel DOMElementOffsetParentPropertyInfo = "offset-parent"
    type AttrOrigin DOMElementOffsetParentPropertyInfo = DOMElement
    attrGet _ = getDOMElementOffsetParent
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "offset-top"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementOffsetTop :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementOffsetTop obj = liftIO $ getObjectPropertyDouble obj "offset-top"

data DOMElementOffsetTopPropertyInfo
instance AttrInfo DOMElementOffsetTopPropertyInfo where
    type AttrAllowedOps DOMElementOffsetTopPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementOffsetTopPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementOffsetTopPropertyInfo = IsDOMElement
    type AttrGetType DOMElementOffsetTopPropertyInfo = Double
    type AttrLabel DOMElementOffsetTopPropertyInfo = "offset-top"
    type AttrOrigin DOMElementOffsetTopPropertyInfo = DOMElement
    attrGet _ = getDOMElementOffsetTop
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "offset-width"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementOffsetWidth :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementOffsetWidth obj = liftIO $ getObjectPropertyDouble obj "offset-width"

data DOMElementOffsetWidthPropertyInfo
instance AttrInfo DOMElementOffsetWidthPropertyInfo where
    type AttrAllowedOps DOMElementOffsetWidthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementOffsetWidthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementOffsetWidthPropertyInfo = IsDOMElement
    type AttrGetType DOMElementOffsetWidthPropertyInfo = Double
    type AttrLabel DOMElementOffsetWidthPropertyInfo = "offset-width"
    type AttrOrigin DOMElementOffsetWidthPropertyInfo = DOMElement
    attrGet _ = getDOMElementOffsetWidth
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "outer-html"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getDOMElementOuterHtml :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementOuterHtml obj = liftIO $ getObjectPropertyString obj "outer-html"

setDOMElementOuterHtml :: (MonadIO m, IsDOMElement o) => o -> T.Text -> m ()
setDOMElementOuterHtml obj val = liftIO $ setObjectPropertyString obj "outer-html" (Just val)

constructDOMElementOuterHtml :: (IsDOMElement o) => T.Text -> IO (GValueConstruct o)
constructDOMElementOuterHtml val = constructObjectPropertyString "outer-html" (Just val)

clearDOMElementOuterHtml :: (MonadIO m, IsDOMElement o) => o -> m ()
clearDOMElementOuterHtml obj = liftIO $ setObjectPropertyString obj "outer-html" (Nothing :: Maybe T.Text)

data DOMElementOuterHtmlPropertyInfo
instance AttrInfo DOMElementOuterHtmlPropertyInfo where
    type AttrAllowedOps DOMElementOuterHtmlPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementOuterHtmlPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMElementOuterHtmlPropertyInfo = IsDOMElement
    type AttrGetType DOMElementOuterHtmlPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMElementOuterHtmlPropertyInfo = "outer-html"
    type AttrOrigin DOMElementOuterHtmlPropertyInfo = DOMElement
    attrGet _ = getDOMElementOuterHtml
    attrSet _ = setDOMElementOuterHtml
    attrConstruct _ = constructDOMElementOuterHtml
    attrClear _ = clearDOMElementOuterHtml

-- VVV Prop "prefix"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMElementPrefix :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementPrefix obj = liftIO $ getObjectPropertyString obj "prefix"

data DOMElementPrefixPropertyInfo
instance AttrInfo DOMElementPrefixPropertyInfo where
    type AttrAllowedOps DOMElementPrefixPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementPrefixPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementPrefixPropertyInfo = IsDOMElement
    type AttrGetType DOMElementPrefixPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMElementPrefixPropertyInfo = "prefix"
    type AttrOrigin DOMElementPrefixPropertyInfo = DOMElement
    attrGet _ = getDOMElementPrefix
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "previous-element-sibling"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementPreviousElementSibling :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
getDOMElementPreviousElementSibling obj = liftIO $ checkUnexpectedNothing "getDOMElementPreviousElementSibling" $ getObjectPropertyObject obj "previous-element-sibling" DOMElement

data DOMElementPreviousElementSiblingPropertyInfo
instance AttrInfo DOMElementPreviousElementSiblingPropertyInfo where
    type AttrAllowedOps DOMElementPreviousElementSiblingPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementPreviousElementSiblingPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementPreviousElementSiblingPropertyInfo = IsDOMElement
    type AttrGetType DOMElementPreviousElementSiblingPropertyInfo = DOMElement
    type AttrLabel DOMElementPreviousElementSiblingPropertyInfo = "previous-element-sibling"
    type AttrOrigin DOMElementPreviousElementSiblingPropertyInfo = DOMElement
    attrGet _ = getDOMElementPreviousElementSibling
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "scroll-height"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementScrollHeight :: (MonadIO m, IsDOMElement o) => o -> m CLong
getDOMElementScrollHeight obj = liftIO $ getObjectPropertyLong obj "scroll-height"

data DOMElementScrollHeightPropertyInfo
instance AttrInfo DOMElementScrollHeightPropertyInfo where
    type AttrAllowedOps DOMElementScrollHeightPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementScrollHeightPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementScrollHeightPropertyInfo = IsDOMElement
    type AttrGetType DOMElementScrollHeightPropertyInfo = CLong
    type AttrLabel DOMElementScrollHeightPropertyInfo = "scroll-height"
    type AttrOrigin DOMElementScrollHeightPropertyInfo = DOMElement
    attrGet _ = getDOMElementScrollHeight
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "scroll-left"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getDOMElementScrollLeft :: (MonadIO m, IsDOMElement o) => o -> m CLong
getDOMElementScrollLeft obj = liftIO $ getObjectPropertyLong obj "scroll-left"

setDOMElementScrollLeft :: (MonadIO m, IsDOMElement o) => o -> CLong -> m ()
setDOMElementScrollLeft obj val = liftIO $ setObjectPropertyLong obj "scroll-left" val

constructDOMElementScrollLeft :: (IsDOMElement o) => CLong -> IO (GValueConstruct o)
constructDOMElementScrollLeft val = constructObjectPropertyLong "scroll-left" val

data DOMElementScrollLeftPropertyInfo
instance AttrInfo DOMElementScrollLeftPropertyInfo where
    type AttrAllowedOps DOMElementScrollLeftPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMElementScrollLeftPropertyInfo = (~) CLong
    type AttrBaseTypeConstraint DOMElementScrollLeftPropertyInfo = IsDOMElement
    type AttrGetType DOMElementScrollLeftPropertyInfo = CLong
    type AttrLabel DOMElementScrollLeftPropertyInfo = "scroll-left"
    type AttrOrigin DOMElementScrollLeftPropertyInfo = DOMElement
    attrGet _ = getDOMElementScrollLeft
    attrSet _ = setDOMElementScrollLeft
    attrConstruct _ = constructDOMElementScrollLeft
    attrClear _ = undefined

-- VVV Prop "scroll-top"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getDOMElementScrollTop :: (MonadIO m, IsDOMElement o) => o -> m CLong
getDOMElementScrollTop obj = liftIO $ getObjectPropertyLong obj "scroll-top"

setDOMElementScrollTop :: (MonadIO m, IsDOMElement o) => o -> CLong -> m ()
setDOMElementScrollTop obj val = liftIO $ setObjectPropertyLong obj "scroll-top" val

constructDOMElementScrollTop :: (IsDOMElement o) => CLong -> IO (GValueConstruct o)
constructDOMElementScrollTop val = constructObjectPropertyLong "scroll-top" val

data DOMElementScrollTopPropertyInfo
instance AttrInfo DOMElementScrollTopPropertyInfo where
    type AttrAllowedOps DOMElementScrollTopPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMElementScrollTopPropertyInfo = (~) CLong
    type AttrBaseTypeConstraint DOMElementScrollTopPropertyInfo = IsDOMElement
    type AttrGetType DOMElementScrollTopPropertyInfo = CLong
    type AttrLabel DOMElementScrollTopPropertyInfo = "scroll-top"
    type AttrOrigin DOMElementScrollTopPropertyInfo = DOMElement
    attrGet _ = getDOMElementScrollTop
    attrSet _ = setDOMElementScrollTop
    attrConstruct _ = constructDOMElementScrollTop
    attrClear _ = undefined

-- VVV Prop "scroll-width"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMElementScrollWidth :: (MonadIO m, IsDOMElement o) => o -> m CLong
getDOMElementScrollWidth obj = liftIO $ getObjectPropertyLong obj "scroll-width"

data DOMElementScrollWidthPropertyInfo
instance AttrInfo DOMElementScrollWidthPropertyInfo where
    type AttrAllowedOps DOMElementScrollWidthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMElementScrollWidthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementScrollWidthPropertyInfo = IsDOMElement
    type AttrGetType DOMElementScrollWidthPropertyInfo = CLong
    type AttrLabel DOMElementScrollWidthPropertyInfo = "scroll-width"
    type AttrOrigin DOMElementScrollWidthPropertyInfo = DOMElement
    attrGet _ = getDOMElementScrollWidth
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "style"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMElementStyle :: (MonadIO m, IsDOMElement o) => o -> m (Maybe WebKit2WebExtension.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration)
getDOMElementStyle obj = liftIO $ getObjectPropertyObject obj "style" WebKit2WebExtension.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration

data DOMElementStylePropertyInfo
instance AttrInfo DOMElementStylePropertyInfo where
    type AttrAllowedOps DOMElementStylePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementStylePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementStylePropertyInfo = IsDOMElement
    type AttrGetType DOMElementStylePropertyInfo = (Maybe WebKit2WebExtension.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration)
    type AttrLabel DOMElementStylePropertyInfo = "style"
    type AttrOrigin DOMElementStylePropertyInfo = DOMElement
    attrGet _ = getDOMElementStyle
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "tag-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMElementTagName :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementTagName obj = liftIO $ getObjectPropertyString obj "tag-name"

data DOMElementTagNamePropertyInfo
instance AttrInfo DOMElementTagNamePropertyInfo where
    type AttrAllowedOps DOMElementTagNamePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementTagNamePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementTagNamePropertyInfo = IsDOMElement
    type AttrGetType DOMElementTagNamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMElementTagNamePropertyInfo = "tag-name"
    type AttrOrigin DOMElementTagNamePropertyInfo = DOMElement
    attrGet _ = getDOMElementTagName
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "webkit-region-overset"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMElementWebkitRegionOverset :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementWebkitRegionOverset obj = liftIO $ getObjectPropertyString obj "webkit-region-overset"

data DOMElementWebkitRegionOversetPropertyInfo
instance AttrInfo DOMElementWebkitRegionOversetPropertyInfo where
    type AttrAllowedOps DOMElementWebkitRegionOversetPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMElementWebkitRegionOversetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMElementWebkitRegionOversetPropertyInfo = IsDOMElement
    type AttrGetType DOMElementWebkitRegionOversetPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMElementWebkitRegionOversetPropertyInfo = "webkit-region-overset"
    type AttrOrigin DOMElementWebkitRegionOversetPropertyInfo = DOMElement
    attrGet _ = getDOMElementWebkitRegionOverset
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

instance O.HasAttributeList DOMElement
type instance O.AttributeList DOMElement = DOMElementAttributeList
type DOMElementAttributeList = ('[ '("attributes", DOMElementAttributesPropertyInfo), '("baseUri", WebKit2WebExtension.DOMNode.DOMNodeBaseUriPropertyInfo), '("childElementCount", DOMElementChildElementCountPropertyInfo), '("childNodes", WebKit2WebExtension.DOMNode.DOMNodeChildNodesPropertyInfo), '("children", DOMElementChildrenPropertyInfo), '("classList", DOMElementClassListPropertyInfo), '("className", DOMElementClassNamePropertyInfo), '("clientHeight", DOMElementClientHeightPropertyInfo), '("clientLeft", DOMElementClientLeftPropertyInfo), '("clientTop", DOMElementClientTopPropertyInfo), '("clientWidth", DOMElementClientWidthPropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("firstChild", WebKit2WebExtension.DOMNode.DOMNodeFirstChildPropertyInfo), '("firstElementChild", DOMElementFirstElementChildPropertyInfo), '("id", DOMElementIdPropertyInfo), '("innerHtml", DOMElementInnerHtmlPropertyInfo), '("lastChild", WebKit2WebExtension.DOMNode.DOMNodeLastChildPropertyInfo), '("lastElementChild", DOMElementLastElementChildPropertyInfo), '("localName", DOMElementLocalNamePropertyInfo), '("namespaceUri", DOMElementNamespaceUriPropertyInfo), '("nextElementSibling", DOMElementNextElementSiblingPropertyInfo), '("nextSibling", WebKit2WebExtension.DOMNode.DOMNodeNextSiblingPropertyInfo), '("nodeName", WebKit2WebExtension.DOMNode.DOMNodeNodeNamePropertyInfo), '("nodeType", WebKit2WebExtension.DOMNode.DOMNodeNodeTypePropertyInfo), '("nodeValue", WebKit2WebExtension.DOMNode.DOMNodeNodeValuePropertyInfo), '("offsetHeight", DOMElementOffsetHeightPropertyInfo), '("offsetLeft", DOMElementOffsetLeftPropertyInfo), '("offsetParent", DOMElementOffsetParentPropertyInfo), '("offsetTop", DOMElementOffsetTopPropertyInfo), '("offsetWidth", DOMElementOffsetWidthPropertyInfo), '("outerHtml", DOMElementOuterHtmlPropertyInfo), '("ownerDocument", WebKit2WebExtension.DOMNode.DOMNodeOwnerDocumentPropertyInfo), '("parentElement", WebKit2WebExtension.DOMNode.DOMNodeParentElementPropertyInfo), '("parentNode", WebKit2WebExtension.DOMNode.DOMNodeParentNodePropertyInfo), '("prefix", DOMElementPrefixPropertyInfo), '("previousElementSibling", DOMElementPreviousElementSiblingPropertyInfo), '("previousSibling", WebKit2WebExtension.DOMNode.DOMNodePreviousSiblingPropertyInfo), '("scrollHeight", DOMElementScrollHeightPropertyInfo), '("scrollLeft", DOMElementScrollLeftPropertyInfo), '("scrollTop", DOMElementScrollTopPropertyInfo), '("scrollWidth", DOMElementScrollWidthPropertyInfo), '("style", DOMElementStylePropertyInfo), '("tagName", DOMElementTagNamePropertyInfo), '("textContent", WebKit2WebExtension.DOMNode.DOMNodeTextContentPropertyInfo), '("webkitRegionOverset", DOMElementWebkitRegionOversetPropertyInfo)] :: [(Symbol, *)])

dOMElementAttributes :: AttrLabelProxy "attributes"
dOMElementAttributes = AttrLabelProxy

dOMElementChildElementCount :: AttrLabelProxy "childElementCount"
dOMElementChildElementCount = AttrLabelProxy

dOMElementChildren :: AttrLabelProxy "children"
dOMElementChildren = AttrLabelProxy

dOMElementClassList :: AttrLabelProxy "classList"
dOMElementClassList = AttrLabelProxy

dOMElementClassName :: AttrLabelProxy "className"
dOMElementClassName = AttrLabelProxy

dOMElementClientHeight :: AttrLabelProxy "clientHeight"
dOMElementClientHeight = AttrLabelProxy

dOMElementClientLeft :: AttrLabelProxy "clientLeft"
dOMElementClientLeft = AttrLabelProxy

dOMElementClientTop :: AttrLabelProxy "clientTop"
dOMElementClientTop = AttrLabelProxy

dOMElementClientWidth :: AttrLabelProxy "clientWidth"
dOMElementClientWidth = AttrLabelProxy

dOMElementFirstElementChild :: AttrLabelProxy "firstElementChild"
dOMElementFirstElementChild = AttrLabelProxy

dOMElementId :: AttrLabelProxy "id"
dOMElementId = AttrLabelProxy

dOMElementInnerHtml :: AttrLabelProxy "innerHtml"
dOMElementInnerHtml = AttrLabelProxy

dOMElementLastElementChild :: AttrLabelProxy "lastElementChild"
dOMElementLastElementChild = AttrLabelProxy

dOMElementLocalName :: AttrLabelProxy "localName"
dOMElementLocalName = AttrLabelProxy

dOMElementNamespaceUri :: AttrLabelProxy "namespaceUri"
dOMElementNamespaceUri = AttrLabelProxy

dOMElementNextElementSibling :: AttrLabelProxy "nextElementSibling"
dOMElementNextElementSibling = AttrLabelProxy

dOMElementOffsetHeight :: AttrLabelProxy "offsetHeight"
dOMElementOffsetHeight = AttrLabelProxy

dOMElementOffsetLeft :: AttrLabelProxy "offsetLeft"
dOMElementOffsetLeft = AttrLabelProxy

dOMElementOffsetParent :: AttrLabelProxy "offsetParent"
dOMElementOffsetParent = AttrLabelProxy

dOMElementOffsetTop :: AttrLabelProxy "offsetTop"
dOMElementOffsetTop = AttrLabelProxy

dOMElementOffsetWidth :: AttrLabelProxy "offsetWidth"
dOMElementOffsetWidth = AttrLabelProxy

dOMElementOuterHtml :: AttrLabelProxy "outerHtml"
dOMElementOuterHtml = AttrLabelProxy

dOMElementPrefix :: AttrLabelProxy "prefix"
dOMElementPrefix = AttrLabelProxy

dOMElementPreviousElementSibling :: AttrLabelProxy "previousElementSibling"
dOMElementPreviousElementSibling = AttrLabelProxy

dOMElementScrollHeight :: AttrLabelProxy "scrollHeight"
dOMElementScrollHeight = AttrLabelProxy

dOMElementScrollLeft :: AttrLabelProxy "scrollLeft"
dOMElementScrollLeft = AttrLabelProxy

dOMElementScrollTop :: AttrLabelProxy "scrollTop"
dOMElementScrollTop = AttrLabelProxy

dOMElementScrollWidth :: AttrLabelProxy "scrollWidth"
dOMElementScrollWidth = AttrLabelProxy

dOMElementStyle :: AttrLabelProxy "style"
dOMElementStyle = AttrLabelProxy

dOMElementTagName :: AttrLabelProxy "tagName"
dOMElementTagName = AttrLabelProxy

dOMElementWebkitRegionOverset :: AttrLabelProxy "webkitRegionOverset"
dOMElementWebkitRegionOverset = AttrLabelProxy

type instance O.SignalList DOMElement = DOMElementSignalList
type DOMElementSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method DOMElement::blur
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_blur" webkit_dom_element_blur :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementBlur ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m ()
dOMElementBlur self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    webkit_dom_element_blur self'
    touchManagedPtr self
    return ()

data DOMElementBlurMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementBlurMethodInfo a signature where
    overloadedMethod _ = dOMElementBlur

-- method DOMElement::closest
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selectors", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}))
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_closest" webkit_dom_element_closest :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- selectors : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMElement)

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementClosest ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@selectors@/: A @/gchar/@ -}
    -> m DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementClosest self selectors = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    selectors' <- textToCString selectors
    onException (do
        result <- propagateGError $ webkit_dom_element_closest self' selectors'
        checkUnexpectedReturnNULL "dOMElementClosest" result
        result' <- (newObject DOMElement) result
        touchManagedPtr self
        freeMem selectors'
        return result'
     ) (do
        freeMem selectors'
     )

data DOMElementClosestMethodInfo
instance (signature ~ (T.Text -> m DOMElement), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementClosestMethodInfo a signature where
    overloadedMethod _ = dOMElementClosest

-- method DOMElement::focus
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_focus" webkit_dom_element_focus :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementFocus ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m ()
dOMElementFocus self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    webkit_dom_element_focus self'
    touchManagedPtr self
    return ()

data DOMElementFocusMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementFocusMethodInfo a signature where
    overloadedMethod _ = dOMElementFocus

-- method DOMElement::get_attribute
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_attribute" webkit_dom_element_get_attribute :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- name : TBasicType TUTF8
    IO CString

{- |
/No description available in the introspection data./
-}
dOMElementGetAttribute ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@name@/: A @/gchar/@ -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetAttribute self name = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    name' <- textToCString name
    result <- webkit_dom_element_get_attribute self' name'
    checkUnexpectedReturnNULL "dOMElementGetAttribute" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    freeMem name'
    return result'

data DOMElementGetAttributeMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetAttributeMethodInfo a signature where
    overloadedMethod _ = dOMElementGetAttribute

-- method DOMElement::get_attribute_node
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_attribute_node" webkit_dom_element_get_attribute_node :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- name : TBasicType TUTF8
    IO (Ptr WebKit2WebExtension.DOMAttr.DOMAttr)

{- |
/No description available in the introspection data./
-}
dOMElementGetAttributeNode ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@name@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMAttr.DOMAttr
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr' -}
dOMElementGetAttributeNode self name = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    name' <- textToCString name
    result <- webkit_dom_element_get_attribute_node self' name'
    checkUnexpectedReturnNULL "dOMElementGetAttributeNode" result
    result' <- (newObject WebKit2WebExtension.DOMAttr.DOMAttr) result
    touchManagedPtr self
    freeMem name'
    return result'

data DOMElementGetAttributeNodeMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMAttr.DOMAttr), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetAttributeNodeMethodInfo a signature where
    overloadedMethod _ = dOMElementGetAttributeNode

-- method DOMElement::get_attribute_node_ns
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "localName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_attribute_node_ns" webkit_dom_element_get_attribute_node_ns :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- namespaceURI : TBasicType TUTF8
    CString ->                              -- localName : TBasicType TUTF8
    IO (Ptr WebKit2WebExtension.DOMAttr.DOMAttr)

{- |
/No description available in the introspection data./
-}
dOMElementGetAttributeNodeNs ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@namespaceURI@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@localName@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMAttr.DOMAttr
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr' -}
dOMElementGetAttributeNodeNs self namespaceURI localName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    namespaceURI' <- textToCString namespaceURI
    localName' <- textToCString localName
    result <- webkit_dom_element_get_attribute_node_ns self' namespaceURI' localName'
    checkUnexpectedReturnNULL "dOMElementGetAttributeNodeNs" result
    result' <- (newObject WebKit2WebExtension.DOMAttr.DOMAttr) result
    touchManagedPtr self
    freeMem namespaceURI'
    freeMem localName'
    return result'

data DOMElementGetAttributeNodeNsMethodInfo
instance (signature ~ (T.Text -> T.Text -> m WebKit2WebExtension.DOMAttr.DOMAttr), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetAttributeNodeNsMethodInfo a signature where
    overloadedMethod _ = dOMElementGetAttributeNodeNs

-- method DOMElement::get_attribute_ns
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "localName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_attribute_ns" webkit_dom_element_get_attribute_ns :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- namespaceURI : TBasicType TUTF8
    CString ->                              -- localName : TBasicType TUTF8
    IO CString

{- |
/No description available in the introspection data./
-}
dOMElementGetAttributeNs ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@namespaceURI@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@localName@/: A @/gchar/@ -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetAttributeNs self namespaceURI localName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    namespaceURI' <- textToCString namespaceURI
    localName' <- textToCString localName
    result <- webkit_dom_element_get_attribute_ns self' namespaceURI' localName'
    checkUnexpectedReturnNULL "dOMElementGetAttributeNs" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    freeMem namespaceURI'
    freeMem localName'
    return result'

data DOMElementGetAttributeNsMethodInfo
instance (signature ~ (T.Text -> T.Text -> m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetAttributeNsMethodInfo a signature where
    overloadedMethod _ = dOMElementGetAttributeNs

-- method DOMElement::get_attributes
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNamedNodeMap"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_attributes" webkit_dom_element_get_attributes :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO (Ptr WebKit2WebExtension.DOMNamedNodeMap.DOMNamedNodeMap)

{- |
/No description available in the introspection data./
-}
dOMElementGetAttributes ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m WebKit2WebExtension.DOMNamedNodeMap.DOMNamedNodeMap
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMNamedNodeMap.DOMNamedNodeMap' -}
dOMElementGetAttributes self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_attributes self'
    checkUnexpectedReturnNULL "dOMElementGetAttributes" result
    result' <- (wrapObject WebKit2WebExtension.DOMNamedNodeMap.DOMNamedNodeMap) result
    touchManagedPtr self
    return result'

data DOMElementGetAttributesMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMNamedNodeMap.DOMNamedNodeMap), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetAttributesMethodInfo a signature where
    overloadedMethod _ = dOMElementGetAttributes

-- method DOMElement::get_child_element_count
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TULong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_child_element_count" webkit_dom_element_get_child_element_count :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CULong

{- |
/No description available in the introspection data./
-}
dOMElementGetChildElementCount ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ -}
dOMElementGetChildElementCount self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_child_element_count self'
    touchManagedPtr self
    return result

data DOMElementGetChildElementCountMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetChildElementCountMethodInfo a signature where
    overloadedMethod _ = dOMElementGetChildElementCount

-- method DOMElement::get_children
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLCollection"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_children" webkit_dom_element_get_children :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO (Ptr WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)

{- |
/No description available in the introspection data./

@since 2.10
-}
dOMElementGetChildren ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMHTMLCollection.DOMHTMLCollection' -}
dOMElementGetChildren self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_children self'
    checkUnexpectedReturnNULL "dOMElementGetChildren" result
    result' <- (wrapObject WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection) result
    touchManagedPtr self
    return result'

data DOMElementGetChildrenMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetChildrenMethodInfo a signature where
    overloadedMethod _ = dOMElementGetChildren

-- method DOMElement::get_class_list
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDOMTokenList"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_class_list" webkit_dom_element_get_class_list :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO (Ptr WebKit2WebExtension.DOMDOMTokenList.DOMDOMTokenList)

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementGetClassList ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m WebKit2WebExtension.DOMDOMTokenList.DOMDOMTokenList
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMDOMTokenList.DOMDOMTokenList' -}
dOMElementGetClassList self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_class_list self'
    checkUnexpectedReturnNULL "dOMElementGetClassList" result
    result' <- (wrapObject WebKit2WebExtension.DOMDOMTokenList.DOMDOMTokenList) result
    touchManagedPtr self
    return result'

data DOMElementGetClassListMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMDOMTokenList.DOMDOMTokenList), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetClassListMethodInfo a signature where
    overloadedMethod _ = dOMElementGetClassList

-- method DOMElement::get_class_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_class_name" webkit_dom_element_get_class_name :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMElementGetClassName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetClassName self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_class_name self'
    checkUnexpectedReturnNULL "dOMElementGetClassName" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMElementGetClassNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetClassNameMethodInfo a signature where
    overloadedMethod _ = dOMElementGetClassName

-- method DOMElement::get_client_height
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_client_height" webkit_dom_element_get_client_height :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMElementGetClientHeight ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ -}
dOMElementGetClientHeight self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_client_height self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMElementGetClientHeightMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetClientHeightMethodInfo a signature where
    overloadedMethod _ = dOMElementGetClientHeight

-- method DOMElement::get_client_left
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_client_left" webkit_dom_element_get_client_left :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMElementGetClientLeft ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ -}
dOMElementGetClientLeft self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_client_left self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMElementGetClientLeftMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetClientLeftMethodInfo a signature where
    overloadedMethod _ = dOMElementGetClientLeft

-- method DOMElement::get_client_top
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_client_top" webkit_dom_element_get_client_top :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMElementGetClientTop ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ -}
dOMElementGetClientTop self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_client_top self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMElementGetClientTopMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetClientTopMethodInfo a signature where
    overloadedMethod _ = dOMElementGetClientTop

-- method DOMElement::get_client_width
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_client_width" webkit_dom_element_get_client_width :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMElementGetClientWidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ -}
dOMElementGetClientWidth self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_client_width self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMElementGetClientWidthMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetClientWidthMethodInfo a signature where
    overloadedMethod _ = dOMElementGetClientWidth

-- method DOMElement::get_elements_by_class_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gchar with the tag name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNodeList"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_elements_by_class_name" webkit_dom_element_get_elements_by_class_name :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- class_name : TBasicType TUTF8
    IO (Ptr WebKit2WebExtension.DOMNodeList.DOMNodeList)

{-# DEPRECATED dOMElementGetElementsByClassName ["(Since version 2.12)","Use 'GI.WebKit2WebExtension.Objects.DOMElement.dOMElementGetElementsByClassNameAsHtmlCollection' instead."] #-}
{- |
/No description available in the introspection data./
-}
dOMElementGetElementsByClassName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@className@/: a @/gchar/@ with the tag name -}
    -> m WebKit2WebExtension.DOMNodeList.DOMNodeList
    {- ^ __Returns:__ a 'GI.WebKit2WebExtension.Objects.DOMNodeList.DOMNodeList' -}
dOMElementGetElementsByClassName self className = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    className' <- textToCString className
    result <- webkit_dom_element_get_elements_by_class_name self' className'
    checkUnexpectedReturnNULL "dOMElementGetElementsByClassName" result
    result' <- (wrapObject WebKit2WebExtension.DOMNodeList.DOMNodeList) result
    touchManagedPtr self
    freeMem className'
    return result'

data DOMElementGetElementsByClassNameMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMNodeList.DOMNodeList), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetElementsByClassNameMethodInfo a signature where
    overloadedMethod _ = dOMElementGetElementsByClassName

-- method DOMElement::get_elements_by_class_name_as_html_collection
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLCollection"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_elements_by_class_name_as_html_collection" webkit_dom_element_get_elements_by_class_name_as_html_collection :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- name : TBasicType TUTF8
    IO (Ptr WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)

{- |
/No description available in the introspection data./

@since 2.12
-}
dOMElementGetElementsByClassNameAsHtmlCollection ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@name@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMHTMLCollection.DOMHTMLCollection' -}
dOMElementGetElementsByClassNameAsHtmlCollection self name = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    name' <- textToCString name
    result <- webkit_dom_element_get_elements_by_class_name_as_html_collection self' name'
    checkUnexpectedReturnNULL "dOMElementGetElementsByClassNameAsHtmlCollection" result
    result' <- (wrapObject WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection) result
    touchManagedPtr self
    freeMem name'
    return result'

data DOMElementGetElementsByClassNameAsHtmlCollectionMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetElementsByClassNameAsHtmlCollectionMethodInfo a signature where
    overloadedMethod _ = dOMElementGetElementsByClassNameAsHtmlCollection

-- method DOMElement::get_elements_by_tag_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gchar with the tag name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNodeList"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_elements_by_tag_name" webkit_dom_element_get_elements_by_tag_name :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- tag_name : TBasicType TUTF8
    IO (Ptr WebKit2WebExtension.DOMNodeList.DOMNodeList)

{-# DEPRECATED dOMElementGetElementsByTagName ["(Since version 2.12)","Use 'GI.WebKit2WebExtension.Objects.DOMElement.dOMElementGetElementsByTagNameAsHtmlCollection' instead."] #-}
{- |
/No description available in the introspection data./
-}
dOMElementGetElementsByTagName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@tagName@/: a @/gchar/@ with the tag name -}
    -> m WebKit2WebExtension.DOMNodeList.DOMNodeList
    {- ^ __Returns:__ a 'GI.WebKit2WebExtension.Objects.DOMNodeList.DOMNodeList' -}
dOMElementGetElementsByTagName self tagName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    tagName' <- textToCString tagName
    result <- webkit_dom_element_get_elements_by_tag_name self' tagName'
    checkUnexpectedReturnNULL "dOMElementGetElementsByTagName" result
    result' <- (wrapObject WebKit2WebExtension.DOMNodeList.DOMNodeList) result
    touchManagedPtr self
    freeMem tagName'
    return result'

data DOMElementGetElementsByTagNameMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMNodeList.DOMNodeList), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetElementsByTagNameMethodInfo a signature where
    overloadedMethod _ = dOMElementGetElementsByTagName

-- method DOMElement::get_elements_by_tag_name_as_html_collection
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLCollection"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_elements_by_tag_name_as_html_collection" webkit_dom_element_get_elements_by_tag_name_as_html_collection :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- name : TBasicType TUTF8
    IO (Ptr WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)

{- |
/No description available in the introspection data./

@since 2.12
-}
dOMElementGetElementsByTagNameAsHtmlCollection ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@name@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMHTMLCollection.DOMHTMLCollection' -}
dOMElementGetElementsByTagNameAsHtmlCollection self name = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    name' <- textToCString name
    result <- webkit_dom_element_get_elements_by_tag_name_as_html_collection self' name'
    checkUnexpectedReturnNULL "dOMElementGetElementsByTagNameAsHtmlCollection" result
    result' <- (wrapObject WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection) result
    touchManagedPtr self
    freeMem name'
    return result'

data DOMElementGetElementsByTagNameAsHtmlCollectionMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetElementsByTagNameAsHtmlCollectionMethodInfo a signature where
    overloadedMethod _ = dOMElementGetElementsByTagNameAsHtmlCollection

-- method DOMElement::get_elements_by_tag_name_ns
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gchar with the namespace URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gchar with the tag name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNodeList"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_elements_by_tag_name_ns" webkit_dom_element_get_elements_by_tag_name_ns :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- namespace_uri : TBasicType TUTF8
    CString ->                              -- tag_name : TBasicType TUTF8
    IO (Ptr WebKit2WebExtension.DOMNodeList.DOMNodeList)

{-# DEPRECATED dOMElementGetElementsByTagNameNs ["(Since version 2.12)","Use 'GI.WebKit2WebExtension.Objects.DOMElement.dOMElementGetElementsByTagNameNsAsHtmlCollection' instead."] #-}
{- |
/No description available in the introspection data./
-}
dOMElementGetElementsByTagNameNs ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@namespaceUri@/: a @/gchar/@ with the namespace URI -}
    -> T.Text
    {- ^ /@tagName@/: a @/gchar/@ with the tag name -}
    -> m WebKit2WebExtension.DOMNodeList.DOMNodeList
    {- ^ __Returns:__ a 'GI.WebKit2WebExtension.Objects.DOMNodeList.DOMNodeList' -}
dOMElementGetElementsByTagNameNs self namespaceUri tagName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    namespaceUri' <- textToCString namespaceUri
    tagName' <- textToCString tagName
    result <- webkit_dom_element_get_elements_by_tag_name_ns self' namespaceUri' tagName'
    checkUnexpectedReturnNULL "dOMElementGetElementsByTagNameNs" result
    result' <- (wrapObject WebKit2WebExtension.DOMNodeList.DOMNodeList) result
    touchManagedPtr self
    freeMem namespaceUri'
    freeMem tagName'
    return result'

data DOMElementGetElementsByTagNameNsMethodInfo
instance (signature ~ (T.Text -> T.Text -> m WebKit2WebExtension.DOMNodeList.DOMNodeList), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetElementsByTagNameNsMethodInfo a signature where
    overloadedMethod _ = dOMElementGetElementsByTagNameNs

-- method DOMElement::get_elements_by_tag_name_ns_as_html_collection
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "localName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMHTMLCollection"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_elements_by_tag_name_ns_as_html_collection" webkit_dom_element_get_elements_by_tag_name_ns_as_html_collection :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- namespaceURI : TBasicType TUTF8
    CString ->                              -- localName : TBasicType TUTF8
    IO (Ptr WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)

{- |
/No description available in the introspection data./

@since 2.12
-}
dOMElementGetElementsByTagNameNsAsHtmlCollection ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@namespaceURI@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@localName@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMHTMLCollection.DOMHTMLCollection' -}
dOMElementGetElementsByTagNameNsAsHtmlCollection self namespaceURI localName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    namespaceURI' <- textToCString namespaceURI
    localName' <- textToCString localName
    result <- webkit_dom_element_get_elements_by_tag_name_ns_as_html_collection self' namespaceURI' localName'
    checkUnexpectedReturnNULL "dOMElementGetElementsByTagNameNsAsHtmlCollection" result
    result' <- (wrapObject WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection) result
    touchManagedPtr self
    freeMem namespaceURI'
    freeMem localName'
    return result'

data DOMElementGetElementsByTagNameNsAsHtmlCollectionMethodInfo
instance (signature ~ (T.Text -> T.Text -> m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetElementsByTagNameNsAsHtmlCollectionMethodInfo a signature where
    overloadedMethod _ = dOMElementGetElementsByTagNameNsAsHtmlCollection

-- method DOMElement::get_first_element_child
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_first_element_child" webkit_dom_element_get_first_element_child :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO (Ptr DOMElement)

{- |
/No description available in the introspection data./
-}
dOMElementGetFirstElementChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMElementGetFirstElementChild self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_first_element_child self'
    checkUnexpectedReturnNULL "dOMElementGetFirstElementChild" result
    result' <- (newObject DOMElement) result
    touchManagedPtr self
    return result'

data DOMElementGetFirstElementChildMethodInfo
instance (signature ~ (m DOMElement), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetFirstElementChildMethodInfo a signature where
    overloadedMethod _ = dOMElementGetFirstElementChild

-- method DOMElement::get_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_id" webkit_dom_element_get_id :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMElementGetId ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetId self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_id self'
    checkUnexpectedReturnNULL "dOMElementGetId" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMElementGetIdMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetIdMethodInfo a signature where
    overloadedMethod _ = dOMElementGetId

-- method DOMElement::get_inner_html
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_inner_html" webkit_dom_element_get_inner_html :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CString

{- |
/No description available in the introspection data./

@since 2.8
-}
dOMElementGetInnerHtml ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetInnerHtml self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_inner_html self'
    checkUnexpectedReturnNULL "dOMElementGetInnerHtml" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMElementGetInnerHtmlMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetInnerHtmlMethodInfo a signature where
    overloadedMethod _ = dOMElementGetInnerHtml

-- method DOMElement::get_last_element_child
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_last_element_child" webkit_dom_element_get_last_element_child :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO (Ptr DOMElement)

{- |
/No description available in the introspection data./
-}
dOMElementGetLastElementChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMElementGetLastElementChild self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_last_element_child self'
    checkUnexpectedReturnNULL "dOMElementGetLastElementChild" result
    result' <- (newObject DOMElement) result
    touchManagedPtr self
    return result'

data DOMElementGetLastElementChildMethodInfo
instance (signature ~ (m DOMElement), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetLastElementChildMethodInfo a signature where
    overloadedMethod _ = dOMElementGetLastElementChild

-- method DOMElement::get_local_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_local_name" webkit_dom_element_get_local_name :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CString

{- |
/No description available in the introspection data./

@since 2.14
-}
dOMElementGetLocalName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetLocalName self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_local_name self'
    checkUnexpectedReturnNULL "dOMElementGetLocalName" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMElementGetLocalNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetLocalNameMethodInfo a signature where
    overloadedMethod _ = dOMElementGetLocalName

-- method DOMElement::get_namespace_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_namespace_uri" webkit_dom_element_get_namespace_uri :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CString

{- |
/No description available in the introspection data./

@since 2.14
-}
dOMElementGetNamespaceUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetNamespaceUri self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_namespace_uri self'
    checkUnexpectedReturnNULL "dOMElementGetNamespaceUri" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMElementGetNamespaceUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetNamespaceUriMethodInfo a signature where
    overloadedMethod _ = dOMElementGetNamespaceUri

-- method DOMElement::get_next_element_sibling
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_next_element_sibling" webkit_dom_element_get_next_element_sibling :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO (Ptr DOMElement)

{- |
/No description available in the introspection data./
-}
dOMElementGetNextElementSibling ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMElementGetNextElementSibling self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_next_element_sibling self'
    checkUnexpectedReturnNULL "dOMElementGetNextElementSibling" result
    result' <- (newObject DOMElement) result
    touchManagedPtr self
    return result'

data DOMElementGetNextElementSiblingMethodInfo
instance (signature ~ (m DOMElement), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetNextElementSiblingMethodInfo a signature where
    overloadedMethod _ = dOMElementGetNextElementSibling

-- method DOMElement::get_offset_height
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_offset_height" webkit_dom_element_get_offset_height :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMElementGetOffsetHeight ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ -}
dOMElementGetOffsetHeight self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_offset_height self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMElementGetOffsetHeightMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetOffsetHeightMethodInfo a signature where
    overloadedMethod _ = dOMElementGetOffsetHeight

-- method DOMElement::get_offset_left
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_offset_left" webkit_dom_element_get_offset_left :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMElementGetOffsetLeft ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ -}
dOMElementGetOffsetLeft self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_offset_left self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMElementGetOffsetLeftMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetOffsetLeftMethodInfo a signature where
    overloadedMethod _ = dOMElementGetOffsetLeft

-- method DOMElement::get_offset_parent
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_offset_parent" webkit_dom_element_get_offset_parent :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO (Ptr DOMElement)

{- |
/No description available in the introspection data./
-}
dOMElementGetOffsetParent ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMElementGetOffsetParent self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_offset_parent self'
    checkUnexpectedReturnNULL "dOMElementGetOffsetParent" result
    result' <- (newObject DOMElement) result
    touchManagedPtr self
    return result'

data DOMElementGetOffsetParentMethodInfo
instance (signature ~ (m DOMElement), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetOffsetParentMethodInfo a signature where
    overloadedMethod _ = dOMElementGetOffsetParent

-- method DOMElement::get_offset_top
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_offset_top" webkit_dom_element_get_offset_top :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMElementGetOffsetTop ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ -}
dOMElementGetOffsetTop self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_offset_top self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMElementGetOffsetTopMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetOffsetTopMethodInfo a signature where
    overloadedMethod _ = dOMElementGetOffsetTop

-- method DOMElement::get_offset_width
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_offset_width" webkit_dom_element_get_offset_width :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMElementGetOffsetWidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ -}
dOMElementGetOffsetWidth self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_offset_width self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMElementGetOffsetWidthMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetOffsetWidthMethodInfo a signature where
    overloadedMethod _ = dOMElementGetOffsetWidth

-- method DOMElement::get_outer_html
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_outer_html" webkit_dom_element_get_outer_html :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CString

{- |
/No description available in the introspection data./

@since 2.8
-}
dOMElementGetOuterHtml ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetOuterHtml self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_outer_html self'
    checkUnexpectedReturnNULL "dOMElementGetOuterHtml" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMElementGetOuterHtmlMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetOuterHtmlMethodInfo a signature where
    overloadedMethod _ = dOMElementGetOuterHtml

-- method DOMElement::get_prefix
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_prefix" webkit_dom_element_get_prefix :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CString

{- |
/No description available in the introspection data./

@since 2.14
-}
dOMElementGetPrefix ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetPrefix self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_prefix self'
    checkUnexpectedReturnNULL "dOMElementGetPrefix" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMElementGetPrefixMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetPrefixMethodInfo a signature where
    overloadedMethod _ = dOMElementGetPrefix

-- method DOMElement::get_previous_element_sibling
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_previous_element_sibling" webkit_dom_element_get_previous_element_sibling :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO (Ptr DOMElement)

{- |
/No description available in the introspection data./
-}
dOMElementGetPreviousElementSibling ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMElementGetPreviousElementSibling self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_previous_element_sibling self'
    checkUnexpectedReturnNULL "dOMElementGetPreviousElementSibling" result
    result' <- (newObject DOMElement) result
    touchManagedPtr self
    return result'

data DOMElementGetPreviousElementSiblingMethodInfo
instance (signature ~ (m DOMElement), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetPreviousElementSiblingMethodInfo a signature where
    overloadedMethod _ = dOMElementGetPreviousElementSibling

-- method DOMElement::get_scroll_height
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_scroll_height" webkit_dom_element_get_scroll_height :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMElementGetScrollHeight ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMElementGetScrollHeight self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_scroll_height self'
    touchManagedPtr self
    return result

data DOMElementGetScrollHeightMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetScrollHeightMethodInfo a signature where
    overloadedMethod _ = dOMElementGetScrollHeight

-- method DOMElement::get_scroll_left
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_scroll_left" webkit_dom_element_get_scroll_left :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMElementGetScrollLeft ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMElementGetScrollLeft self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_scroll_left self'
    touchManagedPtr self
    return result

data DOMElementGetScrollLeftMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetScrollLeftMethodInfo a signature where
    overloadedMethod _ = dOMElementGetScrollLeft

-- method DOMElement::get_scroll_top
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_scroll_top" webkit_dom_element_get_scroll_top :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMElementGetScrollTop ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMElementGetScrollTop self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_scroll_top self'
    touchManagedPtr self
    return result

data DOMElementGetScrollTopMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetScrollTopMethodInfo a signature where
    overloadedMethod _ = dOMElementGetScrollTop

-- method DOMElement::get_scroll_width
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_scroll_width" webkit_dom_element_get_scroll_width :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMElementGetScrollWidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMElementGetScrollWidth self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_scroll_width self'
    touchManagedPtr self
    return result

data DOMElementGetScrollWidthMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetScrollWidthMethodInfo a signature where
    overloadedMethod _ = dOMElementGetScrollWidth

-- method DOMElement::get_style
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_style" webkit_dom_element_get_style :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO (Ptr WebKit2WebExtension.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration)

{- |
/No description available in the introspection data./
-}
dOMElementGetStyle ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m WebKit2WebExtension.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
dOMElementGetStyle self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_style self'
    checkUnexpectedReturnNULL "dOMElementGetStyle" result
    result' <- (wrapObject WebKit2WebExtension.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration) result
    touchManagedPtr self
    return result'

data DOMElementGetStyleMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetStyleMethodInfo a signature where
    overloadedMethod _ = dOMElementGetStyle

-- method DOMElement::get_tag_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_tag_name" webkit_dom_element_get_tag_name :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMElementGetTagName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetTagName self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_tag_name self'
    checkUnexpectedReturnNULL "dOMElementGetTagName" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMElementGetTagNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetTagNameMethodInfo a signature where
    overloadedMethod _ = dOMElementGetTagName

-- method DOMElement::get_webkit_region_overset
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_get_webkit_region_overset" webkit_dom_element_get_webkit_region_overset :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CString

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementGetWebkitRegionOverset ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMElementGetWebkitRegionOverset self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_get_webkit_region_overset self'
    checkUnexpectedReturnNULL "dOMElementGetWebkitRegionOverset" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMElementGetWebkitRegionOversetMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetWebkitRegionOversetMethodInfo a signature where
    overloadedMethod _ = dOMElementGetWebkitRegionOverset

-- method DOMElement::has_attribute
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_has_attribute" webkit_dom_element_has_attribute :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- name : TBasicType TUTF8
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMElementHasAttribute ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@name@/: A @/gchar/@ -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMElementHasAttribute self name = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    name' <- textToCString name
    result <- webkit_dom_element_has_attribute self' name'
    let result' = (/= 0) result
    touchManagedPtr self
    freeMem name'
    return result'

data DOMElementHasAttributeMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementHasAttributeMethodInfo a signature where
    overloadedMethod _ = dOMElementHasAttribute

-- method DOMElement::has_attribute_ns
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "localName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_has_attribute_ns" webkit_dom_element_has_attribute_ns :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- namespaceURI : TBasicType TUTF8
    CString ->                              -- localName : TBasicType TUTF8
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMElementHasAttributeNs ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@namespaceURI@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@localName@/: A @/gchar/@ -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMElementHasAttributeNs self namespaceURI localName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    namespaceURI' <- textToCString namespaceURI
    localName' <- textToCString localName
    result <- webkit_dom_element_has_attribute_ns self' namespaceURI' localName'
    let result' = (/= 0) result
    touchManagedPtr self
    freeMem namespaceURI'
    freeMem localName'
    return result'

data DOMElementHasAttributeNsMethodInfo
instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementHasAttributeNsMethodInfo a signature where
    overloadedMethod _ = dOMElementHasAttributeNs

-- method DOMElement::has_attributes
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_has_attributes" webkit_dom_element_has_attributes :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMElementHasAttributes ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMElementHasAttributes self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_element_has_attributes self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

data DOMElementHasAttributesMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementHasAttributesMethodInfo a signature where
    overloadedMethod _ = dOMElementHasAttributes

-- method DOMElement::insert_adjacent_element
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "element", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}))
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_insert_adjacent_element" webkit_dom_element_insert_adjacent_element :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- where : TBasicType TUTF8
    Ptr DOMElement ->                       -- element : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMElement)

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementInsertAdjacentElement ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a, IsDOMElement b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@where@/: A @/gchar/@ -}
    -> b
    {- ^ /@element@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementInsertAdjacentElement self where_ element = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    where_' <- textToCString where_
    element' <- unsafeManagedPtrCastPtr element
    onException (do
        result <- propagateGError $ webkit_dom_element_insert_adjacent_element self' where_' element'
        checkUnexpectedReturnNULL "dOMElementInsertAdjacentElement" result
        result' <- (newObject DOMElement) result
        touchManagedPtr self
        touchManagedPtr element
        freeMem where_'
        return result'
     ) (do
        freeMem where_'
     )

data DOMElementInsertAdjacentElementMethodInfo
instance (signature ~ (T.Text -> b -> m DOMElement), MonadIO m, IsDOMElement a, IsDOMElement b) => O.MethodInfo DOMElementInsertAdjacentElementMethodInfo a signature where
    overloadedMethod _ = dOMElementInsertAdjacentElement

-- method DOMElement::insert_adjacent_html
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "html", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_insert_adjacent_html" webkit_dom_element_insert_adjacent_html :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- where : TBasicType TUTF8
    CString ->                              -- html : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementInsertAdjacentHtml ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@where@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@html@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementInsertAdjacentHtml self where_ html = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    where_' <- textToCString where_
    html' <- textToCString html
    onException (do
        propagateGError $ webkit_dom_element_insert_adjacent_html self' where_' html'
        touchManagedPtr self
        freeMem where_'
        freeMem html'
        return ()
     ) (do
        freeMem where_'
        freeMem html'
     )

data DOMElementInsertAdjacentHtmlMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementInsertAdjacentHtmlMethodInfo a signature where
    overloadedMethod _ = dOMElementInsertAdjacentHtml

-- method DOMElement::insert_adjacent_text
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_insert_adjacent_text" webkit_dom_element_insert_adjacent_text :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- where : TBasicType TUTF8
    CString ->                              -- text : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementInsertAdjacentText ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@where@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@text@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementInsertAdjacentText self where_ text = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    where_' <- textToCString where_
    text' <- textToCString text
    onException (do
        propagateGError $ webkit_dom_element_insert_adjacent_text self' where_' text'
        touchManagedPtr self
        freeMem where_'
        freeMem text'
        return ()
     ) (do
        freeMem where_'
        freeMem text'
     )

data DOMElementInsertAdjacentTextMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementInsertAdjacentTextMethodInfo a signature where
    overloadedMethod _ = dOMElementInsertAdjacentText

-- method DOMElement::matches
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selectors", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_matches" webkit_dom_element_matches :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- selectors : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO CInt

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementMatches ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@selectors@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementMatches self selectors = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    selectors' <- textToCString selectors
    onException (do
        _ <- propagateGError $ webkit_dom_element_matches self' selectors'
        touchManagedPtr self
        freeMem selectors'
        return ()
     ) (do
        freeMem selectors'
     )

data DOMElementMatchesMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementMatchesMethodInfo a signature where
    overloadedMethod _ = dOMElementMatches

-- method DOMElement::query_selector
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selectors", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}))
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_query_selector" webkit_dom_element_query_selector :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- selectors : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMElement)

{- |
/No description available in the introspection data./
-}
dOMElementQuerySelector ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@selectors@/: A @/gchar/@ -}
    -> m DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementQuerySelector self selectors = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    selectors' <- textToCString selectors
    onException (do
        result <- propagateGError $ webkit_dom_element_query_selector self' selectors'
        checkUnexpectedReturnNULL "dOMElementQuerySelector" result
        result' <- (newObject DOMElement) result
        touchManagedPtr self
        freeMem selectors'
        return result'
     ) (do
        freeMem selectors'
     )

data DOMElementQuerySelectorMethodInfo
instance (signature ~ (T.Text -> m DOMElement), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementQuerySelectorMethodInfo a signature where
    overloadedMethod _ = dOMElementQuerySelector

-- method DOMElement::query_selector_all
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selectors", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNodeList"}))
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_query_selector_all" webkit_dom_element_query_selector_all :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- selectors : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMNodeList.DOMNodeList)

{- |
/No description available in the introspection data./
-}
dOMElementQuerySelectorAll ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@selectors@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMNodeList.DOMNodeList
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMNodeList.DOMNodeList' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementQuerySelectorAll self selectors = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    selectors' <- textToCString selectors
    onException (do
        result <- propagateGError $ webkit_dom_element_query_selector_all self' selectors'
        checkUnexpectedReturnNULL "dOMElementQuerySelectorAll" result
        result' <- (wrapObject WebKit2WebExtension.DOMNodeList.DOMNodeList) result
        touchManagedPtr self
        freeMem selectors'
        return result'
     ) (do
        freeMem selectors'
     )

data DOMElementQuerySelectorAllMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMNodeList.DOMNodeList), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementQuerySelectorAllMethodInfo a signature where
    overloadedMethod _ = dOMElementQuerySelectorAll

-- method DOMElement::remove
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_remove" webkit_dom_element_remove :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementRemove ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementRemove self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    onException (do
        propagateGError $ webkit_dom_element_remove self'
        touchManagedPtr self
        return ()
     ) (do
        return ()
     )

data DOMElementRemoveMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementRemoveMethodInfo a signature where
    overloadedMethod _ = dOMElementRemove

-- method DOMElement::remove_attribute
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_remove_attribute" webkit_dom_element_remove_attribute :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- name : TBasicType TUTF8
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementRemoveAttribute ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@name@/: A @/gchar/@ -}
    -> m ()
dOMElementRemoveAttribute self name = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    name' <- textToCString name
    webkit_dom_element_remove_attribute self' name'
    touchManagedPtr self
    freeMem name'
    return ()

data DOMElementRemoveAttributeMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementRemoveAttributeMethodInfo a signature where
    overloadedMethod _ = dOMElementRemoveAttribute

-- method DOMElement::remove_attribute_node
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "oldAttr", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMAttr", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"}))
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_remove_attribute_node" webkit_dom_element_remove_attribute_node :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    Ptr WebKit2WebExtension.DOMAttr.DOMAttr -> -- oldAttr : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMAttr.DOMAttr)

{- |
/No description available in the introspection data./
-}
dOMElementRemoveAttributeNode ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a, WebKit2WebExtension.DOMAttr.IsDOMAttr b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> b
    {- ^ /@oldAttr@/: A 'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr' -}
    -> m WebKit2WebExtension.DOMAttr.DOMAttr
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementRemoveAttributeNode self oldAttr = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    oldAttr' <- unsafeManagedPtrCastPtr oldAttr
    onException (do
        result <- propagateGError $ webkit_dom_element_remove_attribute_node self' oldAttr'
        checkUnexpectedReturnNULL "dOMElementRemoveAttributeNode" result
        result' <- (newObject WebKit2WebExtension.DOMAttr.DOMAttr) result
        touchManagedPtr self
        touchManagedPtr oldAttr
        return result'
     ) (do
        return ()
     )

data DOMElementRemoveAttributeNodeMethodInfo
instance (signature ~ (b -> m WebKit2WebExtension.DOMAttr.DOMAttr), MonadIO m, IsDOMElement a, WebKit2WebExtension.DOMAttr.IsDOMAttr b) => O.MethodInfo DOMElementRemoveAttributeNodeMethodInfo a signature where
    overloadedMethod _ = dOMElementRemoveAttributeNode

-- method DOMElement::remove_attribute_ns
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "localName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_remove_attribute_ns" webkit_dom_element_remove_attribute_ns :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- namespaceURI : TBasicType TUTF8
    CString ->                              -- localName : TBasicType TUTF8
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementRemoveAttributeNs ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@namespaceURI@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@localName@/: A @/gchar/@ -}
    -> m ()
dOMElementRemoveAttributeNs self namespaceURI localName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    namespaceURI' <- textToCString namespaceURI
    localName' <- textToCString localName
    webkit_dom_element_remove_attribute_ns self' namespaceURI' localName'
    touchManagedPtr self
    freeMem namespaceURI'
    freeMem localName'
    return ()

data DOMElementRemoveAttributeNsMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementRemoveAttributeNsMethodInfo a signature where
    overloadedMethod _ = dOMElementRemoveAttributeNs

-- method DOMElement::request_pointer_lock
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_request_pointer_lock" webkit_dom_element_request_pointer_lock :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO ()

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementRequestPointerLock ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m ()
dOMElementRequestPointerLock self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    webkit_dom_element_request_pointer_lock self'
    touchManagedPtr self
    return ()

data DOMElementRequestPointerLockMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementRequestPointerLockMethodInfo a signature where
    overloadedMethod _ = dOMElementRequestPointerLock

-- method DOMElement::scroll_by_lines
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lines", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_scroll_by_lines" webkit_dom_element_scroll_by_lines :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CLong ->                                -- lines : TBasicType TLong
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementScrollByLines ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> CLong
    {- ^ /@lines@/: A @/glong/@ -}
    -> m ()
dOMElementScrollByLines self lines = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    webkit_dom_element_scroll_by_lines self' lines
    touchManagedPtr self
    return ()

data DOMElementScrollByLinesMethodInfo
instance (signature ~ (CLong -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementScrollByLinesMethodInfo a signature where
    overloadedMethod _ = dOMElementScrollByLines

-- method DOMElement::scroll_by_pages
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pages", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_scroll_by_pages" webkit_dom_element_scroll_by_pages :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CLong ->                                -- pages : TBasicType TLong
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementScrollByPages ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> CLong
    {- ^ /@pages@/: A @/glong/@ -}
    -> m ()
dOMElementScrollByPages self pages = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    webkit_dom_element_scroll_by_pages self' pages
    touchManagedPtr self
    return ()

data DOMElementScrollByPagesMethodInfo
instance (signature ~ (CLong -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementScrollByPagesMethodInfo a signature where
    overloadedMethod _ = dOMElementScrollByPages

-- method DOMElement::scroll_into_view
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alignWithTop", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_scroll_into_view" webkit_dom_element_scroll_into_view :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CInt ->                                 -- alignWithTop : TBasicType TBoolean
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementScrollIntoView ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> Bool
    {- ^ /@alignWithTop@/: A 'Bool' -}
    -> m ()
dOMElementScrollIntoView self alignWithTop = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    let alignWithTop' = (fromIntegral . fromEnum) alignWithTop
    webkit_dom_element_scroll_into_view self' alignWithTop'
    touchManagedPtr self
    return ()

data DOMElementScrollIntoViewMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementScrollIntoViewMethodInfo a signature where
    overloadedMethod _ = dOMElementScrollIntoView

-- method DOMElement::scroll_into_view_if_needed
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "centerIfNeeded", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_scroll_into_view_if_needed" webkit_dom_element_scroll_into_view_if_needed :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CInt ->                                 -- centerIfNeeded : TBasicType TBoolean
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementScrollIntoViewIfNeeded ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> Bool
    {- ^ /@centerIfNeeded@/: A 'Bool' -}
    -> m ()
dOMElementScrollIntoViewIfNeeded self centerIfNeeded = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    let centerIfNeeded' = (fromIntegral . fromEnum) centerIfNeeded
    webkit_dom_element_scroll_into_view_if_needed self' centerIfNeeded'
    touchManagedPtr self
    return ()

data DOMElementScrollIntoViewIfNeededMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementScrollIntoViewIfNeededMethodInfo a signature where
    overloadedMethod _ = dOMElementScrollIntoViewIfNeeded

-- method DOMElement::set_attribute
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_set_attribute" webkit_dom_element_set_attribute :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- name : TBasicType TUTF8
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementSetAttribute ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@name@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementSetAttribute self name value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    name' <- textToCString name
    value' <- textToCString value
    onException (do
        propagateGError $ webkit_dom_element_set_attribute self' name' value'
        touchManagedPtr self
        freeMem name'
        freeMem value'
        return ()
     ) (do
        freeMem name'
        freeMem value'
     )

data DOMElementSetAttributeMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementSetAttributeMethodInfo a signature where
    overloadedMethod _ = dOMElementSetAttribute

-- method DOMElement::set_attribute_node
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newAttr", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMAttr", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"}))
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_set_attribute_node" webkit_dom_element_set_attribute_node :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    Ptr WebKit2WebExtension.DOMAttr.DOMAttr -> -- newAttr : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMAttr.DOMAttr)

{- |
/No description available in the introspection data./
-}
dOMElementSetAttributeNode ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a, WebKit2WebExtension.DOMAttr.IsDOMAttr b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> b
    {- ^ /@newAttr@/: A 'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr' -}
    -> m WebKit2WebExtension.DOMAttr.DOMAttr
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementSetAttributeNode self newAttr = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    newAttr' <- unsafeManagedPtrCastPtr newAttr
    onException (do
        result <- propagateGError $ webkit_dom_element_set_attribute_node self' newAttr'
        checkUnexpectedReturnNULL "dOMElementSetAttributeNode" result
        result' <- (newObject WebKit2WebExtension.DOMAttr.DOMAttr) result
        touchManagedPtr self
        touchManagedPtr newAttr
        return result'
     ) (do
        return ()
     )

data DOMElementSetAttributeNodeMethodInfo
instance (signature ~ (b -> m WebKit2WebExtension.DOMAttr.DOMAttr), MonadIO m, IsDOMElement a, WebKit2WebExtension.DOMAttr.IsDOMAttr b) => O.MethodInfo DOMElementSetAttributeNodeMethodInfo a signature where
    overloadedMethod _ = dOMElementSetAttributeNode

-- method DOMElement::set_attribute_node_ns
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newAttr", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMAttr", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"}))
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_set_attribute_node_ns" webkit_dom_element_set_attribute_node_ns :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    Ptr WebKit2WebExtension.DOMAttr.DOMAttr -> -- newAttr : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMAttr"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr WebKit2WebExtension.DOMAttr.DOMAttr)

{- |
/No description available in the introspection data./
-}
dOMElementSetAttributeNodeNs ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a, WebKit2WebExtension.DOMAttr.IsDOMAttr b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> b
    {- ^ /@newAttr@/: A 'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr' -}
    -> m WebKit2WebExtension.DOMAttr.DOMAttr
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMAttr.DOMAttr' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementSetAttributeNodeNs self newAttr = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    newAttr' <- unsafeManagedPtrCastPtr newAttr
    onException (do
        result <- propagateGError $ webkit_dom_element_set_attribute_node_ns self' newAttr'
        checkUnexpectedReturnNULL "dOMElementSetAttributeNodeNs" result
        result' <- (newObject WebKit2WebExtension.DOMAttr.DOMAttr) result
        touchManagedPtr self
        touchManagedPtr newAttr
        return result'
     ) (do
        return ()
     )

data DOMElementSetAttributeNodeNsMethodInfo
instance (signature ~ (b -> m WebKit2WebExtension.DOMAttr.DOMAttr), MonadIO m, IsDOMElement a, WebKit2WebExtension.DOMAttr.IsDOMAttr b) => O.MethodInfo DOMElementSetAttributeNodeNsMethodInfo a signature where
    overloadedMethod _ = dOMElementSetAttributeNodeNs

-- method DOMElement::set_attribute_ns
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespaceURI", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "qualifiedName", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_set_attribute_ns" webkit_dom_element_set_attribute_ns :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- namespaceURI : TBasicType TUTF8
    CString ->                              -- qualifiedName : TBasicType TUTF8
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementSetAttributeNs ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> Maybe (T.Text)
    {- ^ /@namespaceURI@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@qualifiedName@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementSetAttributeNs self namespaceURI qualifiedName value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    maybeNamespaceURI <- case namespaceURI of
        Nothing -> return nullPtr
        Just jNamespaceURI -> do
            jNamespaceURI' <- textToCString jNamespaceURI
            return jNamespaceURI'
    qualifiedName' <- textToCString qualifiedName
    value' <- textToCString value
    onException (do
        propagateGError $ webkit_dom_element_set_attribute_ns self' maybeNamespaceURI qualifiedName' value'
        touchManagedPtr self
        freeMem maybeNamespaceURI
        freeMem qualifiedName'
        freeMem value'
        return ()
     ) (do
        freeMem maybeNamespaceURI
        freeMem qualifiedName'
        freeMem value'
     )

data DOMElementSetAttributeNsMethodInfo
instance (signature ~ (Maybe (T.Text) -> T.Text -> T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementSetAttributeNsMethodInfo a signature where
    overloadedMethod _ = dOMElementSetAttributeNs

-- method DOMElement::set_class_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_set_class_name" webkit_dom_element_set_class_name :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- value : TBasicType TUTF8
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementSetClassName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
dOMElementSetClassName self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    value' <- textToCString value
    webkit_dom_element_set_class_name self' value'
    touchManagedPtr self
    freeMem value'
    return ()

data DOMElementSetClassNameMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementSetClassNameMethodInfo a signature where
    overloadedMethod _ = dOMElementSetClassName

-- method DOMElement::set_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_set_id" webkit_dom_element_set_id :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- value : TBasicType TUTF8
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementSetId ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
dOMElementSetId self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    value' <- textToCString value
    webkit_dom_element_set_id self' value'
    touchManagedPtr self
    freeMem value'
    return ()

data DOMElementSetIdMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementSetIdMethodInfo a signature where
    overloadedMethod _ = dOMElementSetId

-- method DOMElement::set_inner_html
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_set_inner_html" webkit_dom_element_set_inner_html :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./

@since 2.8
-}
dOMElementSetInnerHtml ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementSetInnerHtml self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    value' <- textToCString value
    onException (do
        propagateGError $ webkit_dom_element_set_inner_html self' value'
        touchManagedPtr self
        freeMem value'
        return ()
     ) (do
        freeMem value'
     )

data DOMElementSetInnerHtmlMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementSetInnerHtmlMethodInfo a signature where
    overloadedMethod _ = dOMElementSetInnerHtml

-- method DOMElement::set_outer_html
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_set_outer_html" webkit_dom_element_set_outer_html :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./

@since 2.8
-}
dOMElementSetOuterHtml ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementSetOuterHtml self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    value' <- textToCString value
    onException (do
        propagateGError $ webkit_dom_element_set_outer_html self' value'
        touchManagedPtr self
        freeMem value'
        return ()
     ) (do
        freeMem value'
     )

data DOMElementSetOuterHtmlMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementSetOuterHtmlMethodInfo a signature where
    overloadedMethod _ = dOMElementSetOuterHtml

-- method DOMElement::set_scroll_left
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_set_scroll_left" webkit_dom_element_set_scroll_left :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CLong ->                                -- value : TBasicType TLong
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementSetScrollLeft ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> CLong
    {- ^ /@value@/: A @/glong/@ -}
    -> m ()
dOMElementSetScrollLeft self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    webkit_dom_element_set_scroll_left self' value
    touchManagedPtr self
    return ()

data DOMElementSetScrollLeftMethodInfo
instance (signature ~ (CLong -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementSetScrollLeftMethodInfo a signature where
    overloadedMethod _ = dOMElementSetScrollLeft

-- method DOMElement::set_scroll_top
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_set_scroll_top" webkit_dom_element_set_scroll_top :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CLong ->                                -- value : TBasicType TLong
    IO ()

{- |
/No description available in the introspection data./
-}
dOMElementSetScrollTop ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> CLong
    {- ^ /@value@/: A @/glong/@ -}
    -> m ()
dOMElementSetScrollTop self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    webkit_dom_element_set_scroll_top self' value
    touchManagedPtr self
    return ()

data DOMElementSetScrollTopMethodInfo
instance (signature ~ (CLong -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementSetScrollTopMethodInfo a signature where
    overloadedMethod _ = dOMElementSetScrollTop

-- method DOMElement::webkit_matches_selector
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selectors", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_element_webkit_matches_selector" webkit_dom_element_webkit_matches_selector :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- selectors : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO CInt

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementWebkitMatchesSelector ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@selectors@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMElementWebkitMatchesSelector self selectors = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    selectors' <- textToCString selectors
    onException (do
        _ <- propagateGError $ webkit_dom_element_webkit_matches_selector self' selectors'
        touchManagedPtr self
        freeMem selectors'
        return ()
     ) (do
        freeMem selectors'
     )

data DOMElementWebkitMatchesSelectorMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementWebkitMatchesSelectorMethodInfo a signature where
    overloadedMethod _ = dOMElementWebkitMatchesSelector

-- method DOMElement::webkit_request_fullscreen
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_element_webkit_request_fullscreen" webkit_dom_element_webkit_request_fullscreen :: 
    Ptr DOMElement ->                       -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO ()

{- |
/No description available in the introspection data./

@since 2.16
-}
dOMElementWebkitRequestFullscreen ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m ()
dOMElementWebkitRequestFullscreen self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    webkit_dom_element_webkit_request_fullscreen self'
    touchManagedPtr self
    return ()

data DOMElementWebkitRequestFullscreenMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementWebkitRequestFullscreenMethodInfo a signature where
    overloadedMethod _ = dOMElementWebkitRequestFullscreen