{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)

/No description available in the introspection data./
-}

#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
       && !defined(__HADDOCK_VERSION__))

module GI.WebKit2WebExtension.Objects.DOMElement
    (

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


 -- * Methods
-- ** blur #method:blur#

#if ENABLE_OVERLOADING
    DOMElementBlurMethodInfo                ,
#endif
    dOMElementBlur                          ,


-- ** closest #method:closest#

#if ENABLE_OVERLOADING
    DOMElementClosestMethodInfo             ,
#endif
    dOMElementClosest                       ,


-- ** focus #method:focus#

#if ENABLE_OVERLOADING
    DOMElementFocusMethodInfo               ,
#endif
    dOMElementFocus                         ,


-- ** getAttribute #method:getAttribute#

#if ENABLE_OVERLOADING
    DOMElementGetAttributeMethodInfo        ,
#endif
    dOMElementGetAttribute                  ,


-- ** getAttributeNode #method:getAttributeNode#

#if ENABLE_OVERLOADING
    DOMElementGetAttributeNodeMethodInfo    ,
#endif
    dOMElementGetAttributeNode              ,


-- ** getAttributeNodeNs #method:getAttributeNodeNs#

#if ENABLE_OVERLOADING
    DOMElementGetAttributeNodeNsMethodInfo  ,
#endif
    dOMElementGetAttributeNodeNs            ,


-- ** getAttributeNs #method:getAttributeNs#

#if ENABLE_OVERLOADING
    DOMElementGetAttributeNsMethodInfo      ,
#endif
    dOMElementGetAttributeNs                ,


-- ** getAttributes #method:getAttributes#

#if ENABLE_OVERLOADING
    DOMElementGetAttributesMethodInfo       ,
#endif
    dOMElementGetAttributes                 ,


-- ** getBoundingClientRect #method:getBoundingClientRect#

#if ENABLE_OVERLOADING
    DOMElementGetBoundingClientRectMethodInfo,
#endif
    dOMElementGetBoundingClientRect         ,


-- ** getChildElementCount #method:getChildElementCount#

#if ENABLE_OVERLOADING
    DOMElementGetChildElementCountMethodInfo,
#endif
    dOMElementGetChildElementCount          ,


-- ** getChildren #method:getChildren#

#if ENABLE_OVERLOADING
    DOMElementGetChildrenMethodInfo         ,
#endif
    dOMElementGetChildren                   ,


-- ** getClassList #method:getClassList#

#if ENABLE_OVERLOADING
    DOMElementGetClassListMethodInfo        ,
#endif
    dOMElementGetClassList                  ,


-- ** getClassName #method:getClassName#

#if ENABLE_OVERLOADING
    DOMElementGetClassNameMethodInfo        ,
#endif
    dOMElementGetClassName                  ,


-- ** getClientHeight #method:getClientHeight#

#if ENABLE_OVERLOADING
    DOMElementGetClientHeightMethodInfo     ,
#endif
    dOMElementGetClientHeight               ,


-- ** getClientLeft #method:getClientLeft#

#if ENABLE_OVERLOADING
    DOMElementGetClientLeftMethodInfo       ,
#endif
    dOMElementGetClientLeft                 ,


-- ** getClientRects #method:getClientRects#

#if ENABLE_OVERLOADING
    DOMElementGetClientRectsMethodInfo      ,
#endif
    dOMElementGetClientRects                ,


-- ** getClientTop #method:getClientTop#

#if ENABLE_OVERLOADING
    DOMElementGetClientTopMethodInfo        ,
#endif
    dOMElementGetClientTop                  ,


-- ** getClientWidth #method:getClientWidth#

#if ENABLE_OVERLOADING
    DOMElementGetClientWidthMethodInfo      ,
#endif
    dOMElementGetClientWidth                ,


-- ** getElementsByClassName #method:getElementsByClassName#

#if ENABLE_OVERLOADING
    DOMElementGetElementsByClassNameMethodInfo,
#endif
    dOMElementGetElementsByClassName        ,


-- ** getElementsByClassNameAsHtmlCollection #method:getElementsByClassNameAsHtmlCollection#

#if ENABLE_OVERLOADING
    DOMElementGetElementsByClassNameAsHtmlCollectionMethodInfo,
#endif
    dOMElementGetElementsByClassNameAsHtmlCollection,


-- ** getElementsByTagName #method:getElementsByTagName#

#if ENABLE_OVERLOADING
    DOMElementGetElementsByTagNameMethodInfo,
#endif
    dOMElementGetElementsByTagName          ,


-- ** getElementsByTagNameAsHtmlCollection #method:getElementsByTagNameAsHtmlCollection#

#if ENABLE_OVERLOADING
    DOMElementGetElementsByTagNameAsHtmlCollectionMethodInfo,
#endif
    dOMElementGetElementsByTagNameAsHtmlCollection,


-- ** getElementsByTagNameNs #method:getElementsByTagNameNs#

#if ENABLE_OVERLOADING
    DOMElementGetElementsByTagNameNsMethodInfo,
#endif
    dOMElementGetElementsByTagNameNs        ,


-- ** getElementsByTagNameNsAsHtmlCollection #method:getElementsByTagNameNsAsHtmlCollection#

#if ENABLE_OVERLOADING
    DOMElementGetElementsByTagNameNsAsHtmlCollectionMethodInfo,
#endif
    dOMElementGetElementsByTagNameNsAsHtmlCollection,


-- ** getFirstElementChild #method:getFirstElementChild#

#if ENABLE_OVERLOADING
    DOMElementGetFirstElementChildMethodInfo,
#endif
    dOMElementGetFirstElementChild          ,


-- ** getId #method:getId#

#if ENABLE_OVERLOADING
    DOMElementGetIdMethodInfo               ,
#endif
    dOMElementGetId                         ,


-- ** getInnerHtml #method:getInnerHtml#

#if ENABLE_OVERLOADING
    DOMElementGetInnerHtmlMethodInfo        ,
#endif
    dOMElementGetInnerHtml                  ,


-- ** getLastElementChild #method:getLastElementChild#

#if ENABLE_OVERLOADING
    DOMElementGetLastElementChildMethodInfo ,
#endif
    dOMElementGetLastElementChild           ,


-- ** getLocalName #method:getLocalName#

#if ENABLE_OVERLOADING
    DOMElementGetLocalNameMethodInfo        ,
#endif
    dOMElementGetLocalName                  ,


-- ** getNamespaceUri #method:getNamespaceUri#

#if ENABLE_OVERLOADING
    DOMElementGetNamespaceUriMethodInfo     ,
#endif
    dOMElementGetNamespaceUri               ,


-- ** getNextElementSibling #method:getNextElementSibling#

#if ENABLE_OVERLOADING
    DOMElementGetNextElementSiblingMethodInfo,
#endif
    dOMElementGetNextElementSibling         ,


-- ** getOffsetHeight #method:getOffsetHeight#

#if ENABLE_OVERLOADING
    DOMElementGetOffsetHeightMethodInfo     ,
#endif
    dOMElementGetOffsetHeight               ,


-- ** getOffsetLeft #method:getOffsetLeft#

#if ENABLE_OVERLOADING
    DOMElementGetOffsetLeftMethodInfo       ,
#endif
    dOMElementGetOffsetLeft                 ,


-- ** getOffsetParent #method:getOffsetParent#

#if ENABLE_OVERLOADING
    DOMElementGetOffsetParentMethodInfo     ,
#endif
    dOMElementGetOffsetParent               ,


-- ** getOffsetTop #method:getOffsetTop#

#if ENABLE_OVERLOADING
    DOMElementGetOffsetTopMethodInfo        ,
#endif
    dOMElementGetOffsetTop                  ,


-- ** getOffsetWidth #method:getOffsetWidth#

#if ENABLE_OVERLOADING
    DOMElementGetOffsetWidthMethodInfo      ,
#endif
    dOMElementGetOffsetWidth                ,


-- ** getOuterHtml #method:getOuterHtml#

#if ENABLE_OVERLOADING
    DOMElementGetOuterHtmlMethodInfo        ,
#endif
    dOMElementGetOuterHtml                  ,


-- ** getPrefix #method:getPrefix#

#if ENABLE_OVERLOADING
    DOMElementGetPrefixMethodInfo           ,
#endif
    dOMElementGetPrefix                     ,


-- ** getPreviousElementSibling #method:getPreviousElementSibling#

#if ENABLE_OVERLOADING
    DOMElementGetPreviousElementSiblingMethodInfo,
#endif
    dOMElementGetPreviousElementSibling     ,


-- ** getScrollHeight #method:getScrollHeight#

#if ENABLE_OVERLOADING
    DOMElementGetScrollHeightMethodInfo     ,
#endif
    dOMElementGetScrollHeight               ,


-- ** getScrollLeft #method:getScrollLeft#

#if ENABLE_OVERLOADING
    DOMElementGetScrollLeftMethodInfo       ,
#endif
    dOMElementGetScrollLeft                 ,


-- ** getScrollTop #method:getScrollTop#

#if ENABLE_OVERLOADING
    DOMElementGetScrollTopMethodInfo        ,
#endif
    dOMElementGetScrollTop                  ,


-- ** getScrollWidth #method:getScrollWidth#

#if ENABLE_OVERLOADING
    DOMElementGetScrollWidthMethodInfo      ,
#endif
    dOMElementGetScrollWidth                ,


-- ** getStyle #method:getStyle#

#if ENABLE_OVERLOADING
    DOMElementGetStyleMethodInfo            ,
#endif
    dOMElementGetStyle                      ,


-- ** getTagName #method:getTagName#

#if ENABLE_OVERLOADING
    DOMElementGetTagNameMethodInfo          ,
#endif
    dOMElementGetTagName                    ,


-- ** getWebkitRegionOverset #method:getWebkitRegionOverset#

#if ENABLE_OVERLOADING
    DOMElementGetWebkitRegionOversetMethodInfo,
#endif
    dOMElementGetWebkitRegionOverset        ,


-- ** hasAttribute #method:hasAttribute#

#if ENABLE_OVERLOADING
    DOMElementHasAttributeMethodInfo        ,
#endif
    dOMElementHasAttribute                  ,


-- ** hasAttributeNs #method:hasAttributeNs#

#if ENABLE_OVERLOADING
    DOMElementHasAttributeNsMethodInfo      ,
#endif
    dOMElementHasAttributeNs                ,


-- ** hasAttributes #method:hasAttributes#

#if ENABLE_OVERLOADING
    DOMElementHasAttributesMethodInfo       ,
#endif
    dOMElementHasAttributes                 ,


-- ** htmlInputElementGetAutoFilled #method:htmlInputElementGetAutoFilled#

#if ENABLE_OVERLOADING
    DOMElementHtmlInputElementGetAutoFilledMethodInfo,
#endif
    dOMElementHtmlInputElementGetAutoFilled ,


-- ** htmlInputElementIsUserEdited #method:htmlInputElementIsUserEdited#

#if ENABLE_OVERLOADING
    DOMElementHtmlInputElementIsUserEditedMethodInfo,
#endif
    dOMElementHtmlInputElementIsUserEdited  ,


-- ** htmlInputElementSetAutoFilled #method:htmlInputElementSetAutoFilled#

#if ENABLE_OVERLOADING
    DOMElementHtmlInputElementSetAutoFilledMethodInfo,
#endif
    dOMElementHtmlInputElementSetAutoFilled ,


-- ** htmlInputElementSetEditingValue #method:htmlInputElementSetEditingValue#

#if ENABLE_OVERLOADING
    DOMElementHtmlInputElementSetEditingValueMethodInfo,
#endif
    dOMElementHtmlInputElementSetEditingValue,


-- ** insertAdjacentElement #method:insertAdjacentElement#

#if ENABLE_OVERLOADING
    DOMElementInsertAdjacentElementMethodInfo,
#endif
    dOMElementInsertAdjacentElement         ,


-- ** insertAdjacentHtml #method:insertAdjacentHtml#

#if ENABLE_OVERLOADING
    DOMElementInsertAdjacentHtmlMethodInfo  ,
#endif
    dOMElementInsertAdjacentHtml            ,


-- ** insertAdjacentText #method:insertAdjacentText#

#if ENABLE_OVERLOADING
    DOMElementInsertAdjacentTextMethodInfo  ,
#endif
    dOMElementInsertAdjacentText            ,


-- ** matches #method:matches#

#if ENABLE_OVERLOADING
    DOMElementMatchesMethodInfo             ,
#endif
    dOMElementMatches                       ,


-- ** querySelector #method:querySelector#

#if ENABLE_OVERLOADING
    DOMElementQuerySelectorMethodInfo       ,
#endif
    dOMElementQuerySelector                 ,


-- ** querySelectorAll #method:querySelectorAll#

#if ENABLE_OVERLOADING
    DOMElementQuerySelectorAllMethodInfo    ,
#endif
    dOMElementQuerySelectorAll              ,


-- ** remove #method:remove#

#if ENABLE_OVERLOADING
    DOMElementRemoveMethodInfo              ,
#endif
    dOMElementRemove                        ,


-- ** removeAttribute #method:removeAttribute#

#if ENABLE_OVERLOADING
    DOMElementRemoveAttributeMethodInfo     ,
#endif
    dOMElementRemoveAttribute               ,


-- ** removeAttributeNode #method:removeAttributeNode#

#if ENABLE_OVERLOADING
    DOMElementRemoveAttributeNodeMethodInfo ,
#endif
    dOMElementRemoveAttributeNode           ,


-- ** removeAttributeNs #method:removeAttributeNs#

#if ENABLE_OVERLOADING
    DOMElementRemoveAttributeNsMethodInfo   ,
#endif
    dOMElementRemoveAttributeNs             ,


-- ** requestPointerLock #method:requestPointerLock#

#if ENABLE_OVERLOADING
    DOMElementRequestPointerLockMethodInfo  ,
#endif
    dOMElementRequestPointerLock            ,


-- ** scrollByLines #method:scrollByLines#

#if ENABLE_OVERLOADING
    DOMElementScrollByLinesMethodInfo       ,
#endif
    dOMElementScrollByLines                 ,


-- ** scrollByPages #method:scrollByPages#

#if ENABLE_OVERLOADING
    DOMElementScrollByPagesMethodInfo       ,
#endif
    dOMElementScrollByPages                 ,


-- ** scrollIntoView #method:scrollIntoView#

#if ENABLE_OVERLOADING
    DOMElementScrollIntoViewMethodInfo      ,
#endif
    dOMElementScrollIntoView                ,


-- ** scrollIntoViewIfNeeded #method:scrollIntoViewIfNeeded#

#if ENABLE_OVERLOADING
    DOMElementScrollIntoViewIfNeededMethodInfo,
#endif
    dOMElementScrollIntoViewIfNeeded        ,


-- ** setAttribute #method:setAttribute#

#if ENABLE_OVERLOADING
    DOMElementSetAttributeMethodInfo        ,
#endif
    dOMElementSetAttribute                  ,


-- ** setAttributeNode #method:setAttributeNode#

#if ENABLE_OVERLOADING
    DOMElementSetAttributeNodeMethodInfo    ,
#endif
    dOMElementSetAttributeNode              ,


-- ** setAttributeNodeNs #method:setAttributeNodeNs#

#if ENABLE_OVERLOADING
    DOMElementSetAttributeNodeNsMethodInfo  ,
#endif
    dOMElementSetAttributeNodeNs            ,


-- ** setAttributeNs #method:setAttributeNs#

#if ENABLE_OVERLOADING
    DOMElementSetAttributeNsMethodInfo      ,
#endif
    dOMElementSetAttributeNs                ,


-- ** setClassName #method:setClassName#

#if ENABLE_OVERLOADING
    DOMElementSetClassNameMethodInfo        ,
#endif
    dOMElementSetClassName                  ,


-- ** setId #method:setId#

#if ENABLE_OVERLOADING
    DOMElementSetIdMethodInfo               ,
#endif
    dOMElementSetId                         ,


-- ** setInnerHtml #method:setInnerHtml#

#if ENABLE_OVERLOADING
    DOMElementSetInnerHtmlMethodInfo        ,
#endif
    dOMElementSetInnerHtml                  ,


-- ** setOuterHtml #method:setOuterHtml#

#if ENABLE_OVERLOADING
    DOMElementSetOuterHtmlMethodInfo        ,
#endif
    dOMElementSetOuterHtml                  ,


-- ** setScrollLeft #method:setScrollLeft#

#if ENABLE_OVERLOADING
    DOMElementSetScrollLeftMethodInfo       ,
#endif
    dOMElementSetScrollLeft                 ,


-- ** setScrollTop #method:setScrollTop#

#if ENABLE_OVERLOADING
    DOMElementSetScrollTopMethodInfo        ,
#endif
    dOMElementSetScrollTop                  ,


-- ** webkitMatchesSelector #method:webkitMatchesSelector#

#if ENABLE_OVERLOADING
    DOMElementWebkitMatchesSelectorMethodInfo,
#endif
    dOMElementWebkitMatchesSelector         ,


-- ** webkitRequestFullscreen #method:webkitRequestFullscreen#

#if ENABLE_OVERLOADING
    DOMElementWebkitRequestFullscreenMethodInfo,
#endif
    dOMElementWebkitRequestFullscreen       ,




 -- * Properties
-- ** attributes #attr:attributes#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementAttributesPropertyInfo        ,
#endif
#if ENABLE_OVERLOADING
    dOMElementAttributes                    ,
#endif
    getDOMElementAttributes                 ,


-- ** childElementCount #attr:childElementCount#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementChildElementCountPropertyInfo ,
#endif
#if ENABLE_OVERLOADING
    dOMElementChildElementCount             ,
#endif
    getDOMElementChildElementCount          ,


-- ** children #attr:children#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementChildrenPropertyInfo          ,
#endif
#if ENABLE_OVERLOADING
    dOMElementChildren                      ,
#endif
    getDOMElementChildren                   ,


-- ** classList #attr:classList#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementClassListPropertyInfo         ,
#endif
#if ENABLE_OVERLOADING
    dOMElementClassList                     ,
#endif
    getDOMElementClassList                  ,


-- ** className #attr:className#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementClassNamePropertyInfo         ,
#endif
    constructDOMElementClassName            ,
#if ENABLE_OVERLOADING
    dOMElementClassName                     ,
#endif
    getDOMElementClassName                  ,
    setDOMElementClassName                  ,


-- ** clientHeight #attr:clientHeight#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementClientHeightPropertyInfo      ,
#endif
#if ENABLE_OVERLOADING
    dOMElementClientHeight                  ,
#endif
    getDOMElementClientHeight               ,


-- ** clientLeft #attr:clientLeft#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementClientLeftPropertyInfo        ,
#endif
#if ENABLE_OVERLOADING
    dOMElementClientLeft                    ,
#endif
    getDOMElementClientLeft                 ,


-- ** clientTop #attr:clientTop#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementClientTopPropertyInfo         ,
#endif
#if ENABLE_OVERLOADING
    dOMElementClientTop                     ,
#endif
    getDOMElementClientTop                  ,


-- ** clientWidth #attr:clientWidth#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementClientWidthPropertyInfo       ,
#endif
#if ENABLE_OVERLOADING
    dOMElementClientWidth                   ,
#endif
    getDOMElementClientWidth                ,


-- ** firstElementChild #attr:firstElementChild#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementFirstElementChildPropertyInfo ,
#endif
#if ENABLE_OVERLOADING
    dOMElementFirstElementChild             ,
#endif
    getDOMElementFirstElementChild          ,


-- ** id #attr:id#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementIdPropertyInfo                ,
#endif
    constructDOMElementId                   ,
#if ENABLE_OVERLOADING
    dOMElementId                            ,
#endif
    getDOMElementId                         ,
    setDOMElementId                         ,


-- ** innerHtml #attr:innerHtml#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementInnerHtmlPropertyInfo         ,
#endif
    clearDOMElementInnerHtml                ,
    constructDOMElementInnerHtml            ,
#if ENABLE_OVERLOADING
    dOMElementInnerHtml                     ,
#endif
    getDOMElementInnerHtml                  ,
    setDOMElementInnerHtml                  ,


-- ** lastElementChild #attr:lastElementChild#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementLastElementChildPropertyInfo  ,
#endif
#if ENABLE_OVERLOADING
    dOMElementLastElementChild              ,
#endif
    getDOMElementLastElementChild           ,


-- ** localName #attr:localName#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementLocalNamePropertyInfo         ,
#endif
#if ENABLE_OVERLOADING
    dOMElementLocalName                     ,
#endif
    getDOMElementLocalName                  ,


-- ** namespaceUri #attr:namespaceUri#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementNamespaceUriPropertyInfo      ,
#endif
#if ENABLE_OVERLOADING
    dOMElementNamespaceUri                  ,
#endif
    getDOMElementNamespaceUri               ,


-- ** nextElementSibling #attr:nextElementSibling#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementNextElementSiblingPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMElementNextElementSibling            ,
#endif
    getDOMElementNextElementSibling         ,


-- ** offsetHeight #attr:offsetHeight#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementOffsetHeightPropertyInfo      ,
#endif
#if ENABLE_OVERLOADING
    dOMElementOffsetHeight                  ,
#endif
    getDOMElementOffsetHeight               ,


-- ** offsetLeft #attr:offsetLeft#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementOffsetLeftPropertyInfo        ,
#endif
#if ENABLE_OVERLOADING
    dOMElementOffsetLeft                    ,
#endif
    getDOMElementOffsetLeft                 ,


-- ** offsetParent #attr:offsetParent#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementOffsetParentPropertyInfo      ,
#endif
#if ENABLE_OVERLOADING
    dOMElementOffsetParent                  ,
#endif
    getDOMElementOffsetParent               ,


-- ** offsetTop #attr:offsetTop#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementOffsetTopPropertyInfo         ,
#endif
#if ENABLE_OVERLOADING
    dOMElementOffsetTop                     ,
#endif
    getDOMElementOffsetTop                  ,


-- ** offsetWidth #attr:offsetWidth#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementOffsetWidthPropertyInfo       ,
#endif
#if ENABLE_OVERLOADING
    dOMElementOffsetWidth                   ,
#endif
    getDOMElementOffsetWidth                ,


-- ** outerHtml #attr:outerHtml#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementOuterHtmlPropertyInfo         ,
#endif
    clearDOMElementOuterHtml                ,
    constructDOMElementOuterHtml            ,
#if ENABLE_OVERLOADING
    dOMElementOuterHtml                     ,
#endif
    getDOMElementOuterHtml                  ,
    setDOMElementOuterHtml                  ,


-- ** prefix #attr:prefix#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementPrefixPropertyInfo            ,
#endif
#if ENABLE_OVERLOADING
    dOMElementPrefix                        ,
#endif
    getDOMElementPrefix                     ,


-- ** previousElementSibling #attr:previousElementSibling#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementPreviousElementSiblingPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMElementPreviousElementSibling        ,
#endif
    getDOMElementPreviousElementSibling     ,


-- ** scrollHeight #attr:scrollHeight#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementScrollHeightPropertyInfo      ,
#endif
#if ENABLE_OVERLOADING
    dOMElementScrollHeight                  ,
#endif
    getDOMElementScrollHeight               ,


-- ** scrollLeft #attr:scrollLeft#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementScrollLeftPropertyInfo        ,
#endif
    constructDOMElementScrollLeft           ,
#if ENABLE_OVERLOADING
    dOMElementScrollLeft                    ,
#endif
    getDOMElementScrollLeft                 ,
    setDOMElementScrollLeft                 ,


-- ** scrollTop #attr:scrollTop#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementScrollTopPropertyInfo         ,
#endif
    constructDOMElementScrollTop            ,
#if ENABLE_OVERLOADING
    dOMElementScrollTop                     ,
#endif
    getDOMElementScrollTop                  ,
    setDOMElementScrollTop                  ,


-- ** scrollWidth #attr:scrollWidth#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementScrollWidthPropertyInfo       ,
#endif
#if ENABLE_OVERLOADING
    dOMElementScrollWidth                   ,
#endif
    getDOMElementScrollWidth                ,


-- ** style #attr:style#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementStylePropertyInfo             ,
#endif
#if ENABLE_OVERLOADING
    dOMElementStyle                         ,
#endif
    getDOMElementStyle                      ,


-- ** tagName #attr:tagName#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementTagNamePropertyInfo           ,
#endif
#if ENABLE_OVERLOADING
    dOMElementTagName                       ,
#endif
    getDOMElementTagName                    ,


-- ** webkitRegionOverset #attr:webkitRegionOverset#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMElementWebkitRegionOversetPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMElementWebkitRegionOverset           ,
#endif
    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.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
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 GHC.OverloadedLabels as OL

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.DOMClientRect as WebKit2WebExtension.DOMClientRect
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMClientRectList as WebKit2WebExtension.DOMClientRectList
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

-- | Memory-managed wrapper type.
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


-- | Type class for types which can be safely cast to `DOMElement`, for instance with `toDOMElement`.
class (GObject o, O.IsDescendantOf DOMElement o) => IsDOMElement o
instance (GObject o, O.IsDescendantOf DOMElement o) => IsDOMElement o

instance O.HasParentTypes DOMElement
type instance O.ParentTypes DOMElement = '[WebKit2WebExtension.DOMNode.DOMNode, WebKit2WebExtension.DOMObject.DOMObject, GObject.Object.Object, WebKit2WebExtension.DOMEventTarget.DOMEventTarget]

-- | Cast to `DOMElement`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toDOMElement :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
toDOMElement = liftIO . unsafeCastTo DOMElement

-- | A convenience alias for `Nothing` :: `Maybe` `DOMElement`.
noDOMElement :: Maybe DOMElement
noDOMElement = Nothing

#if ENABLE_OVERLOADING
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 "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveDOMElementMethod "hasAttribute" o = DOMElementHasAttributeMethodInfo
    ResolveDOMElementMethod "hasAttributeNs" o = DOMElementHasAttributeNsMethodInfo
    ResolveDOMElementMethod "hasAttributes" o = DOMElementHasAttributesMethodInfo
    ResolveDOMElementMethod "hasChildNodes" o = WebKit2WebExtension.DOMNode.DOMNodeHasChildNodesMethodInfo
    ResolveDOMElementMethod "htmlInputElementGetAutoFilled" o = DOMElementHtmlInputElementGetAutoFilledMethodInfo
    ResolveDOMElementMethod "htmlInputElementIsUserEdited" o = DOMElementHtmlInputElementIsUserEditedMethodInfo
    ResolveDOMElementMethod "htmlInputElementSetAutoFilled" o = DOMElementHtmlInputElementSetAutoFilledMethodInfo
    ResolveDOMElementMethod "htmlInputElementSetEditingValue" o = DOMElementHtmlInputElementSetEditingValueMethodInfo
    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 "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 "getBoundingClientRect" o = DOMElementGetBoundingClientRectMethodInfo
    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 "getClientRects" o = DOMElementGetClientRectsMethodInfo
    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) => OL.IsLabel t (DOMElement -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

#endif

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

{- |
Get the value of the “@attributes@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #attributes
@
-}
getDOMElementAttributes :: (MonadIO m, IsDOMElement o) => o -> m (Maybe WebKit2WebExtension.DOMNamedNodeMap.DOMNamedNodeMap)
getDOMElementAttributes obj = liftIO $ B.Properties.getObjectPropertyObject obj "attributes" WebKit2WebExtension.DOMNamedNodeMap.DOMNamedNodeMap

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@child-element-count@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #childElementCount
@
-}
getDOMElementChildElementCount :: (MonadIO m, IsDOMElement o) => o -> m CULong
getDOMElementChildElementCount obj = liftIO $ B.Properties.getObjectPropertyULong obj "child-element-count"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@children@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #children
@
-}
getDOMElementChildren :: (MonadIO m, IsDOMElement o) => o -> m (Maybe WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)
getDOMElementChildren obj = liftIO $ B.Properties.getObjectPropertyObject obj "children" WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@class-list@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #classList
@
-}
getDOMElementClassList :: (MonadIO m, IsDOMElement o) => o -> m (Maybe WebKit2WebExtension.DOMDOMTokenList.DOMDOMTokenList)
getDOMElementClassList obj = liftIO $ B.Properties.getObjectPropertyObject obj "class-list" WebKit2WebExtension.DOMDOMTokenList.DOMDOMTokenList

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@class-name@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #className
@
-}
getDOMElementClassName :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementClassName obj = liftIO $ B.Properties.getObjectPropertyString obj "class-name"

{- |
Set the value of the “@class-name@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' dOMElement [ #className 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMElementClassName :: (MonadIO m, IsDOMElement o) => o -> T.Text -> m ()
setDOMElementClassName obj val = liftIO $ B.Properties.setObjectPropertyString obj "class-name" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@class-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMElementClassName :: (IsDOMElement o) => T.Text -> IO (GValueConstruct o)
constructDOMElementClassName val = B.Properties.constructObjectPropertyString "class-name" (Just val)

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@client-height@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #clientHeight
@
-}
getDOMElementClientHeight :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementClientHeight obj = liftIO $ B.Properties.getObjectPropertyDouble obj "client-height"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@client-left@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #clientLeft
@
-}
getDOMElementClientLeft :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementClientLeft obj = liftIO $ B.Properties.getObjectPropertyDouble obj "client-left"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@client-top@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #clientTop
@
-}
getDOMElementClientTop :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementClientTop obj = liftIO $ B.Properties.getObjectPropertyDouble obj "client-top"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@client-width@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #clientWidth
@
-}
getDOMElementClientWidth :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementClientWidth obj = liftIO $ B.Properties.getObjectPropertyDouble obj "client-width"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@first-element-child@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #firstElementChild
@
-}
getDOMElementFirstElementChild :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
getDOMElementFirstElementChild obj = liftIO $ checkUnexpectedNothing "getDOMElementFirstElementChild" $ B.Properties.getObjectPropertyObject obj "first-element-child" DOMElement

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@id@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #id
@
-}
getDOMElementId :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementId obj = liftIO $ B.Properties.getObjectPropertyString obj "id"

{- |
Set the value of the “@id@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' dOMElement [ #id 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMElementId :: (MonadIO m, IsDOMElement o) => o -> T.Text -> m ()
setDOMElementId obj val = liftIO $ B.Properties.setObjectPropertyString obj "id" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMElementId :: (IsDOMElement o) => T.Text -> IO (GValueConstruct o)
constructDOMElementId val = B.Properties.constructObjectPropertyString "id" (Just val)

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@inner-html@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #innerHtml
@
-}
getDOMElementInnerHtml :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementInnerHtml obj = liftIO $ B.Properties.getObjectPropertyString obj "inner-html"

{- |
Set the value of the “@inner-html@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' dOMElement [ #innerHtml 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMElementInnerHtml :: (MonadIO m, IsDOMElement o) => o -> T.Text -> m ()
setDOMElementInnerHtml obj val = liftIO $ B.Properties.setObjectPropertyString obj "inner-html" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@inner-html@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMElementInnerHtml :: (IsDOMElement o) => T.Text -> IO (GValueConstruct o)
constructDOMElementInnerHtml val = B.Properties.constructObjectPropertyString "inner-html" (Just val)

{- |
Set the value of the “@inner-html@” property to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #innerHtml
@
-}
clearDOMElementInnerHtml :: (MonadIO m, IsDOMElement o) => o -> m ()
clearDOMElementInnerHtml obj = liftIO $ B.Properties.setObjectPropertyString obj "inner-html" (Nothing :: Maybe T.Text)

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@last-element-child@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #lastElementChild
@
-}
getDOMElementLastElementChild :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
getDOMElementLastElementChild obj = liftIO $ checkUnexpectedNothing "getDOMElementLastElementChild" $ B.Properties.getObjectPropertyObject obj "last-element-child" DOMElement

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@local-name@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #localName
@
-}
getDOMElementLocalName :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementLocalName obj = liftIO $ B.Properties.getObjectPropertyString obj "local-name"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@namespace-uri@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #namespaceUri
@
-}
getDOMElementNamespaceUri :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementNamespaceUri obj = liftIO $ B.Properties.getObjectPropertyString obj "namespace-uri"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@next-element-sibling@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #nextElementSibling
@
-}
getDOMElementNextElementSibling :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
getDOMElementNextElementSibling obj = liftIO $ checkUnexpectedNothing "getDOMElementNextElementSibling" $ B.Properties.getObjectPropertyObject obj "next-element-sibling" DOMElement

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@offset-height@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #offsetHeight
@
-}
getDOMElementOffsetHeight :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementOffsetHeight obj = liftIO $ B.Properties.getObjectPropertyDouble obj "offset-height"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@offset-left@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #offsetLeft
@
-}
getDOMElementOffsetLeft :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementOffsetLeft obj = liftIO $ B.Properties.getObjectPropertyDouble obj "offset-left"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@offset-parent@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #offsetParent
@
-}
getDOMElementOffsetParent :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
getDOMElementOffsetParent obj = liftIO $ checkUnexpectedNothing "getDOMElementOffsetParent" $ B.Properties.getObjectPropertyObject obj "offset-parent" DOMElement

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@offset-top@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #offsetTop
@
-}
getDOMElementOffsetTop :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementOffsetTop obj = liftIO $ B.Properties.getObjectPropertyDouble obj "offset-top"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@offset-width@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #offsetWidth
@
-}
getDOMElementOffsetWidth :: (MonadIO m, IsDOMElement o) => o -> m Double
getDOMElementOffsetWidth obj = liftIO $ B.Properties.getObjectPropertyDouble obj "offset-width"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@outer-html@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #outerHtml
@
-}
getDOMElementOuterHtml :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementOuterHtml obj = liftIO $ B.Properties.getObjectPropertyString obj "outer-html"

{- |
Set the value of the “@outer-html@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' dOMElement [ #outerHtml 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMElementOuterHtml :: (MonadIO m, IsDOMElement o) => o -> T.Text -> m ()
setDOMElementOuterHtml obj val = liftIO $ B.Properties.setObjectPropertyString obj "outer-html" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@outer-html@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMElementOuterHtml :: (IsDOMElement o) => T.Text -> IO (GValueConstruct o)
constructDOMElementOuterHtml val = B.Properties.constructObjectPropertyString "outer-html" (Just val)

{- |
Set the value of the “@outer-html@” property to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #outerHtml
@
-}
clearDOMElementOuterHtml :: (MonadIO m, IsDOMElement o) => o -> m ()
clearDOMElementOuterHtml obj = liftIO $ B.Properties.setObjectPropertyString obj "outer-html" (Nothing :: Maybe T.Text)

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@prefix@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #prefix
@
-}
getDOMElementPrefix :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementPrefix obj = liftIO $ B.Properties.getObjectPropertyString obj "prefix"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@previous-element-sibling@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #previousElementSibling
@
-}
getDOMElementPreviousElementSibling :: (MonadIO m, IsDOMElement o) => o -> m DOMElement
getDOMElementPreviousElementSibling obj = liftIO $ checkUnexpectedNothing "getDOMElementPreviousElementSibling" $ B.Properties.getObjectPropertyObject obj "previous-element-sibling" DOMElement

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@scroll-height@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #scrollHeight
@
-}
getDOMElementScrollHeight :: (MonadIO m, IsDOMElement o) => o -> m CLong
getDOMElementScrollHeight obj = liftIO $ B.Properties.getObjectPropertyLong obj "scroll-height"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@scroll-left@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #scrollLeft
@
-}
getDOMElementScrollLeft :: (MonadIO m, IsDOMElement o) => o -> m CLong
getDOMElementScrollLeft obj = liftIO $ B.Properties.getObjectPropertyLong obj "scroll-left"

{- |
Set the value of the “@scroll-left@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' dOMElement [ #scrollLeft 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMElementScrollLeft :: (MonadIO m, IsDOMElement o) => o -> CLong -> m ()
setDOMElementScrollLeft obj val = liftIO $ B.Properties.setObjectPropertyLong obj "scroll-left" val

{- |
Construct a `GValueConstruct` with valid value for the “@scroll-left@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMElementScrollLeft :: (IsDOMElement o) => CLong -> IO (GValueConstruct o)
constructDOMElementScrollLeft val = B.Properties.constructObjectPropertyLong "scroll-left" val

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@scroll-top@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #scrollTop
@
-}
getDOMElementScrollTop :: (MonadIO m, IsDOMElement o) => o -> m CLong
getDOMElementScrollTop obj = liftIO $ B.Properties.getObjectPropertyLong obj "scroll-top"

{- |
Set the value of the “@scroll-top@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' dOMElement [ #scrollTop 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMElementScrollTop :: (MonadIO m, IsDOMElement o) => o -> CLong -> m ()
setDOMElementScrollTop obj val = liftIO $ B.Properties.setObjectPropertyLong obj "scroll-top" val

{- |
Construct a `GValueConstruct` with valid value for the “@scroll-top@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMElementScrollTop :: (IsDOMElement o) => CLong -> IO (GValueConstruct o)
constructDOMElementScrollTop val = B.Properties.constructObjectPropertyLong "scroll-top" val

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@scroll-width@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #scrollWidth
@
-}
getDOMElementScrollWidth :: (MonadIO m, IsDOMElement o) => o -> m CLong
getDOMElementScrollWidth obj = liftIO $ B.Properties.getObjectPropertyLong obj "scroll-width"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@style@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #style
@
-}
getDOMElementStyle :: (MonadIO m, IsDOMElement o) => o -> m (Maybe WebKit2WebExtension.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration)
getDOMElementStyle obj = liftIO $ B.Properties.getObjectPropertyObject obj "style" WebKit2WebExtension.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@tag-name@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #tagName
@
-}
getDOMElementTagName :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementTagName obj = liftIO $ B.Properties.getObjectPropertyString obj "tag-name"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@webkit-region-overset@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMElement #webkitRegionOverset
@
-}
getDOMElementWebkitRegionOverset :: (MonadIO m, IsDOMElement o) => o -> m (Maybe T.Text)
getDOMElementWebkitRegionOverset obj = liftIO $ B.Properties.getObjectPropertyString obj "webkit-region-overset"

#if ENABLE_OVERLOADING
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
#endif

#if ENABLE_OVERLOADING
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, *)])
#endif

#if ENABLE_OVERLOADING
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

#endif

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementBlur ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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)

{-# DEPRECATED dOMElementClosest ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementFocus ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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

{-# DEPRECATED dOMElementGetAttribute ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetAttributeNode ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetAttributeNodeNs ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetAttributeNs ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetAttributes ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- method DOMElement::get_bounding_client_rect
-- 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 = "DOMClientRect"}))
-- throws : False
-- Skip return : False

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

{-# DEPRECATED dOMElementGetBoundingClientRect ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
Returns a 'GI.WebKit2WebExtension.Objects.DOMClientRect.DOMClientRect' representing the size and position of /@self@/
relative to the viewport.

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

#if ENABLE_OVERLOADING
data DOMElementGetBoundingClientRectMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMClientRect.DOMClientRect), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetBoundingClientRectMethodInfo a signature where
    overloadedMethod _ = dOMElementGetBoundingClientRect

#endif

-- 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

{-# DEPRECATED dOMElementGetChildElementCount ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetChildren ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetClassList ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetClassName ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetClientHeight ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetClientLeft ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- method DOMElement::get_client_rects
-- 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 = "DOMClientRectList"}))
-- throws : False
-- Skip return : False

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

{-# DEPRECATED dOMElementGetClientRects ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
Returns a collection of 'GI.WebKit2WebExtension.Objects.DOMClientRect.DOMClientRect' objects, each of which describe
the size and position of a CSS border box relative to the viewport.

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

#if ENABLE_OVERLOADING
data DOMElementGetClientRectsMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMClientRectList.DOMClientRectList), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementGetClientRectsMethodInfo a signature where
    overloadedMethod _ = dOMElementGetClientRects

#endif

-- 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

{-# DEPRECATED dOMElementGetClientTop ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetClientWidth ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetElementsByClassNameAsHtmlCollection ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetElementsByTagNameAsHtmlCollection ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetElementsByTagNameNsAsHtmlCollection ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetFirstElementChild ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetId ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetInnerHtml ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetLastElementChild ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetLocalName ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetNamespaceUri ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetNextElementSibling ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetOffsetHeight ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetOffsetLeft ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetOffsetParent ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetOffsetTop ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetOffsetWidth ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetOuterHtml ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetPrefix ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetPreviousElementSibling ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetScrollHeight ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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

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

#endif

-- 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

{-# DEPRECATED dOMElementGetScrollLeft ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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

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

#endif

-- 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

{-# DEPRECATED dOMElementGetScrollTop ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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

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

#endif

-- 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

{-# DEPRECATED dOMElementGetScrollWidth ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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

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

#endif

-- 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)

{-# DEPRECATED dOMElementGetStyle ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetTagName ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementGetWebkitRegionOverset ["(Since version 2.20)"] #-}
{- |
CSS Regions support has been removed. This function does nothing.
-}
dOMElementGetWebkitRegionOverset ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m T.Text
    {- ^ __Returns:__ 'Nothing' -}
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'

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

#endif

-- 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

{-# DEPRECATED dOMElementHasAttribute ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementHasAttributeNs ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMElementHasAttributes ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- method DOMElement::html_input_element_get_auto_filled
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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_html_input_element_get_auto_filled" webkit_dom_element_html_input_element_get_auto_filled ::
    Ptr DOMElement ->                       -- element : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMElementHtmlInputElementGetAutoFilled ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    -> m Bool
dOMElementHtmlInputElementGetAutoFilled element = liftIO $ do
    element' <- unsafeManagedPtrCastPtr element
    result <- webkit_dom_element_html_input_element_get_auto_filled element'
    let result' = (/= 0) result
    touchManagedPtr element
    return result'

#if ENABLE_OVERLOADING
data DOMElementHtmlInputElementGetAutoFilledMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementHtmlInputElementGetAutoFilledMethodInfo a signature where
    overloadedMethod _ = dOMElementHtmlInputElementGetAutoFilled

#endif

-- method DOMElement::html_input_element_is_user_edited
-- method type : OrdinaryMethod
-- Args : [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 (TBasicType TBoolean)
-- throws : False
-- Skip return : False

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

{- |
Get whether /@element@/ is an HTML text input element that has been edited by a user action.

/Since: 2.22/
-}
dOMElementHtmlInputElementIsUserEdited ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@element@/: a 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> m Bool
    {- ^ __Returns:__ whether /@element@/ has been edited by a user action. -}
dOMElementHtmlInputElementIsUserEdited element = liftIO $ do
    element' <- unsafeManagedPtrCastPtr element
    result <- webkit_dom_element_html_input_element_is_user_edited element'
    let result' = (/= 0) result
    touchManagedPtr element
    return result'

#if ENABLE_OVERLOADING
data DOMElementHtmlInputElementIsUserEditedMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementHtmlInputElementIsUserEditedMethodInfo a signature where
    overloadedMethod _ = dOMElementHtmlInputElementIsUserEdited

#endif

-- method DOMElement::html_input_element_set_auto_filled
-- method type : OrdinaryMethod
-- Args : [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},Arg {argCName = "auto_filled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value to set", 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_html_input_element_set_auto_filled" webkit_dom_element_html_input_element_set_auto_filled ::
    Ptr DOMElement ->                       -- element : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CInt ->                                 -- auto_filled : TBasicType TBoolean
    IO ()

{- |
Set whether the element is an HTML input element that has been filled automatically.
If /@element@/ is not an HTML input element this function does nothing.

/Since: 2.22/
-}
dOMElementHtmlInputElementSetAutoFilled ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@element@/: a 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> Bool
    {- ^ /@autoFilled@/: value to set -}
    -> m ()
dOMElementHtmlInputElementSetAutoFilled element autoFilled = liftIO $ do
    element' <- unsafeManagedPtrCastPtr element
    let autoFilled' = (fromIntegral . fromEnum) autoFilled
    webkit_dom_element_html_input_element_set_auto_filled element' autoFilled'
    touchManagedPtr element
    return ()

#if ENABLE_OVERLOADING
data DOMElementHtmlInputElementSetAutoFilledMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementHtmlInputElementSetAutoFilledMethodInfo a signature where
    overloadedMethod _ = dOMElementHtmlInputElementSetAutoFilled

#endif

-- method DOMElement::html_input_element_set_editing_value
-- method type : OrdinaryMethod
-- Args : [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},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to set", 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_html_input_element_set_editing_value" webkit_dom_element_html_input_element_set_editing_value ::
    Ptr DOMElement ->                       -- element : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMElement"})
    CString ->                              -- value : TBasicType TUTF8
    IO ()

{- |
Set the value of an HTML input element as if it had been edited by
the user, triggering a change event. If /@element@/ is not an HTML input
element this function does nothing.

/Since: 2.22/
-}
dOMElementHtmlInputElementSetEditingValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMElement a) =>
    a
    {- ^ /@element@/: a 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
    -> T.Text
    {- ^ /@value@/: the text to set -}
    -> m ()
dOMElementHtmlInputElementSetEditingValue element value = liftIO $ do
    element' <- unsafeManagedPtrCastPtr element
    value' <- textToCString value
    webkit_dom_element_html_input_element_set_editing_value element' value'
    touchManagedPtr element
    freeMem value'
    return ()

#if ENABLE_OVERLOADING
data DOMElementHtmlInputElementSetEditingValueMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMElement a) => O.MethodInfo DOMElementHtmlInputElementSetEditingValueMethodInfo a signature where
    overloadedMethod _ = dOMElementHtmlInputElementSetEditingValue

#endif

-- 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)

{-# DEPRECATED dOMElementInsertAdjacentElement ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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_'
     )

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementInsertAdjacentHtml ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementInsertAdjacentText ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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

{-# DEPRECATED dOMElementMatches ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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)

{-# DEPRECATED dOMElementQuerySelector ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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)

{-# DEPRECATED dOMElementQuerySelectorAll ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementRemove ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()
     )

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementRemoveAttribute ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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)

{-# DEPRECATED dOMElementRemoveAttributeNode ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()
     )

#if ENABLE_OVERLOADING
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

#endif

-- 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 ()

{-# DEPRECATED dOMElementRemoveAttributeNs ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementRequestPointerLock ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementScrollByLines ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementScrollByPages ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementScrollIntoView ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementScrollIntoViewIfNeeded ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementSetAttribute ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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)

{-# DEPRECATED dOMElementSetAttributeNode ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()
     )

#if ENABLE_OVERLOADING
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

#endif

-- 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)

{-# DEPRECATED dOMElementSetAttributeNodeNs ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()
     )

#if ENABLE_OVERLOADING
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

#endif

-- 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 ()

{-# DEPRECATED dOMElementSetAttributeNs ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementSetClassName ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementSetId ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementSetInnerHtml ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementSetOuterHtml ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementSetScrollLeft ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementSetScrollTop ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif

-- 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

{-# DEPRECATED dOMElementWebkitMatchesSelector ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'
     )

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

#endif

-- 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 ()

{-# DEPRECATED dOMElementWebkitRequestFullscreen ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

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

#endif