{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- /No description available in the introspection data./

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

module GI.WebKit2WebExtension.Objects.DOMNode
    ( 

-- * Exported types
    DOMNode(..)                             ,
    IsDOMNode                               ,
    toDOMNode                               ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [addEventListener]("GI.WebKit2WebExtension.Interfaces.DOMEventTarget#g:method:addEventListener"), [appendChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:appendChild"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [cloneNodeWithError]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:cloneNodeWithError"), [compareDocumentPosition]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:compareDocumentPosition"), [contains]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:contains"), [dispatchEvent]("GI.WebKit2WebExtension.Interfaces.DOMEventTarget#g:method:dispatchEvent"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [hasChildNodes]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:hasChildNodes"), [insertBefore]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:insertBefore"), [isDefaultNamespace]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:isDefaultNamespace"), [isEqualNode]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:isEqualNode"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [isSameNode]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:isSameNode"), [isSupported]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:isSupported"), [lookupNamespaceUri]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:lookupNamespaceUri"), [lookupPrefix]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:lookupPrefix"), [normalize]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:normalize"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [removeChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:removeChild"), [removeEventListener]("GI.WebKit2WebExtension.Interfaces.DOMEventTarget#g:method:removeEventListener"), [replaceChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:replaceChild"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getBaseUri]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getBaseUri"), [getChildNodes]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getChildNodes"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getFirstChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getFirstChild"), [getLastChild]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getLastChild"), [getLocalName]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getLocalName"), [getNamespaceUri]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getNamespaceUri"), [getNextSibling]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getNextSibling"), [getNodeName]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getNodeName"), [getNodeType]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getNodeType"), [getNodeValue]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getNodeValue"), [getOwnerDocument]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getOwnerDocument"), [getParentElement]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getParentElement"), [getParentNode]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getParentNode"), [getPrefix]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getPrefix"), [getPreviousSibling]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getPreviousSibling"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getTextContent]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:getTextContent").
-- 
-- ==== Setters
-- [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setNodeValue]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:setNodeValue"), [setPrefix]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:setPrefix"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setTextContent]("GI.WebKit2WebExtension.Objects.DOMNode#g:method:setTextContent").

#if defined(ENABLE_OVERLOADING)
    ResolveDOMNodeMethod                    ,
#endif

-- ** appendChild #method:appendChild#

#if defined(ENABLE_OVERLOADING)
    DOMNodeAppendChildMethodInfo            ,
#endif
    dOMNodeAppendChild                      ,


-- ** cloneNodeWithError #method:cloneNodeWithError#

#if defined(ENABLE_OVERLOADING)
    DOMNodeCloneNodeWithErrorMethodInfo     ,
#endif
    dOMNodeCloneNodeWithError               ,


-- ** compareDocumentPosition #method:compareDocumentPosition#

#if defined(ENABLE_OVERLOADING)
    DOMNodeCompareDocumentPositionMethodInfo,
#endif
    dOMNodeCompareDocumentPosition          ,


-- ** contains #method:contains#

#if defined(ENABLE_OVERLOADING)
    DOMNodeContainsMethodInfo               ,
#endif
    dOMNodeContains                         ,


-- ** forJsValue #method:forJsValue#

    dOMNodeForJsValue                       ,


-- ** getBaseUri #method:getBaseUri#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetBaseUriMethodInfo             ,
#endif
    dOMNodeGetBaseUri                       ,


-- ** getChildNodes #method:getChildNodes#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetChildNodesMethodInfo          ,
#endif
    dOMNodeGetChildNodes                    ,


-- ** getFirstChild #method:getFirstChild#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetFirstChildMethodInfo          ,
#endif
    dOMNodeGetFirstChild                    ,


-- ** getLastChild #method:getLastChild#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetLastChildMethodInfo           ,
#endif
    dOMNodeGetLastChild                     ,


-- ** getLocalName #method:getLocalName#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetLocalNameMethodInfo           ,
#endif
    dOMNodeGetLocalName                     ,


-- ** getNamespaceUri #method:getNamespaceUri#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetNamespaceUriMethodInfo        ,
#endif
    dOMNodeGetNamespaceUri                  ,


-- ** getNextSibling #method:getNextSibling#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetNextSiblingMethodInfo         ,
#endif
    dOMNodeGetNextSibling                   ,


-- ** getNodeName #method:getNodeName#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetNodeNameMethodInfo            ,
#endif
    dOMNodeGetNodeName                      ,


-- ** getNodeType #method:getNodeType#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetNodeTypeMethodInfo            ,
#endif
    dOMNodeGetNodeType                      ,


-- ** getNodeValue #method:getNodeValue#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetNodeValueMethodInfo           ,
#endif
    dOMNodeGetNodeValue                     ,


-- ** getOwnerDocument #method:getOwnerDocument#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetOwnerDocumentMethodInfo       ,
#endif
    dOMNodeGetOwnerDocument                 ,


-- ** getParentElement #method:getParentElement#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetParentElementMethodInfo       ,
#endif
    dOMNodeGetParentElement                 ,


-- ** getParentNode #method:getParentNode#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetParentNodeMethodInfo          ,
#endif
    dOMNodeGetParentNode                    ,


-- ** getPrefix #method:getPrefix#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetPrefixMethodInfo              ,
#endif
    dOMNodeGetPrefix                        ,


-- ** getPreviousSibling #method:getPreviousSibling#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetPreviousSiblingMethodInfo     ,
#endif
    dOMNodeGetPreviousSibling               ,


-- ** getTextContent #method:getTextContent#

#if defined(ENABLE_OVERLOADING)
    DOMNodeGetTextContentMethodInfo         ,
#endif
    dOMNodeGetTextContent                   ,


-- ** hasChildNodes #method:hasChildNodes#

#if defined(ENABLE_OVERLOADING)
    DOMNodeHasChildNodesMethodInfo          ,
#endif
    dOMNodeHasChildNodes                    ,


-- ** insertBefore #method:insertBefore#

#if defined(ENABLE_OVERLOADING)
    DOMNodeInsertBeforeMethodInfo           ,
#endif
    dOMNodeInsertBefore                     ,


-- ** isDefaultNamespace #method:isDefaultNamespace#

#if defined(ENABLE_OVERLOADING)
    DOMNodeIsDefaultNamespaceMethodInfo     ,
#endif
    dOMNodeIsDefaultNamespace               ,


-- ** isEqualNode #method:isEqualNode#

#if defined(ENABLE_OVERLOADING)
    DOMNodeIsEqualNodeMethodInfo            ,
#endif
    dOMNodeIsEqualNode                      ,


-- ** isSameNode #method:isSameNode#

#if defined(ENABLE_OVERLOADING)
    DOMNodeIsSameNodeMethodInfo             ,
#endif
    dOMNodeIsSameNode                       ,


-- ** isSupported #method:isSupported#

#if defined(ENABLE_OVERLOADING)
    DOMNodeIsSupportedMethodInfo            ,
#endif
    dOMNodeIsSupported                      ,


-- ** lookupNamespaceUri #method:lookupNamespaceUri#

#if defined(ENABLE_OVERLOADING)
    DOMNodeLookupNamespaceUriMethodInfo     ,
#endif
    dOMNodeLookupNamespaceUri               ,


-- ** lookupPrefix #method:lookupPrefix#

#if defined(ENABLE_OVERLOADING)
    DOMNodeLookupPrefixMethodInfo           ,
#endif
    dOMNodeLookupPrefix                     ,


-- ** normalize #method:normalize#

#if defined(ENABLE_OVERLOADING)
    DOMNodeNormalizeMethodInfo              ,
#endif
    dOMNodeNormalize                        ,


-- ** removeChild #method:removeChild#

#if defined(ENABLE_OVERLOADING)
    DOMNodeRemoveChildMethodInfo            ,
#endif
    dOMNodeRemoveChild                      ,


-- ** replaceChild #method:replaceChild#

#if defined(ENABLE_OVERLOADING)
    DOMNodeReplaceChildMethodInfo           ,
#endif
    dOMNodeReplaceChild                     ,


-- ** setNodeValue #method:setNodeValue#

#if defined(ENABLE_OVERLOADING)
    DOMNodeSetNodeValueMethodInfo           ,
#endif
    dOMNodeSetNodeValue                     ,


-- ** setPrefix #method:setPrefix#

#if defined(ENABLE_OVERLOADING)
    DOMNodeSetPrefixMethodInfo              ,
#endif
    dOMNodeSetPrefix                        ,


-- ** setTextContent #method:setTextContent#

#if defined(ENABLE_OVERLOADING)
    DOMNodeSetTextContentMethodInfo         ,
#endif
    dOMNodeSetTextContent                   ,




 -- * Properties


-- ** baseUri #attr:baseUri#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeBaseUriPropertyInfo              ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodeBaseUri                          ,
#endif
    getDOMNodeBaseUri                       ,


-- ** childNodes #attr:childNodes#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeChildNodesPropertyInfo           ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodeChildNodes                       ,
#endif
    getDOMNodeChildNodes                    ,


-- ** firstChild #attr:firstChild#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeFirstChildPropertyInfo           ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodeFirstChild                       ,
#endif
    getDOMNodeFirstChild                    ,


-- ** lastChild #attr:lastChild#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeLastChildPropertyInfo            ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodeLastChild                        ,
#endif
    getDOMNodeLastChild                     ,


-- ** nextSibling #attr:nextSibling#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeNextSiblingPropertyInfo          ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodeNextSibling                      ,
#endif
    getDOMNodeNextSibling                   ,


-- ** nodeName #attr:nodeName#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeNodeNamePropertyInfo             ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodeNodeName                         ,
#endif
    getDOMNodeNodeName                      ,


-- ** nodeType #attr:nodeType#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeNodeTypePropertyInfo             ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodeNodeType                         ,
#endif
    getDOMNodeNodeType                      ,


-- ** nodeValue #attr:nodeValue#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeNodeValuePropertyInfo            ,
#endif
    clearDOMNodeNodeValue                   ,
    constructDOMNodeNodeValue               ,
#if defined(ENABLE_OVERLOADING)
    dOMNodeNodeValue                        ,
#endif
    getDOMNodeNodeValue                     ,
    setDOMNodeNodeValue                     ,


-- ** ownerDocument #attr:ownerDocument#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeOwnerDocumentPropertyInfo        ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodeOwnerDocument                    ,
#endif
    getDOMNodeOwnerDocument                 ,


-- ** parentElement #attr:parentElement#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeParentElementPropertyInfo        ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodeParentElement                    ,
#endif
    getDOMNodeParentElement                 ,


-- ** parentNode #attr:parentNode#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeParentNodePropertyInfo           ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodeParentNode                       ,
#endif
    getDOMNodeParentNode                    ,


-- ** previousSibling #attr:previousSibling#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodePreviousSiblingPropertyInfo      ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMNodePreviousSibling                  ,
#endif
    getDOMNodePreviousSibling               ,


-- ** textContent #attr:textContent#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMNodeTextContentPropertyInfo          ,
#endif
    clearDOMNodeTextContent                 ,
    constructDOMNodeTextContent             ,
#if defined(ENABLE_OVERLOADING)
    dOMNodeTextContent                      ,
#endif
    getDOMNodeTextContent                   ,
    setDOMNodeTextContent                   ,




    ) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
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 GHC.Records as R

import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.JavaScriptCore.Objects.Value as JavaScriptCore.Value
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Interfaces.DOMEventTarget as WebKit2WebExtension.DOMEventTarget
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDocument as WebKit2WebExtension.DOMDocument
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMElement as WebKit2WebExtension.DOMElement
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 DOMNode = DOMNode (SP.ManagedPtr DOMNode)
    deriving (DOMNode -> DOMNode -> Bool
(DOMNode -> DOMNode -> Bool)
-> (DOMNode -> DOMNode -> Bool) -> Eq DOMNode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DOMNode -> DOMNode -> Bool
$c/= :: DOMNode -> DOMNode -> Bool
== :: DOMNode -> DOMNode -> Bool
$c== :: DOMNode -> DOMNode -> Bool
Eq)

instance SP.ManagedPtrNewtype DOMNode where
    toManagedPtr :: DOMNode -> ManagedPtr DOMNode
toManagedPtr (DOMNode ManagedPtr DOMNode
p) = ManagedPtr DOMNode
p

foreign import ccall "webkit_dom_node_get_type"
    c_webkit_dom_node_get_type :: IO B.Types.GType

instance B.Types.TypedObject DOMNode where
    glibType :: IO GType
glibType = IO GType
c_webkit_dom_node_get_type

instance B.Types.GObject DOMNode

-- | Type class for types which can be safely cast to `DOMNode`, for instance with `toDOMNode`.
class (SP.GObject o, O.IsDescendantOf DOMNode o) => IsDOMNode o
instance (SP.GObject o, O.IsDescendantOf DOMNode o) => IsDOMNode o

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

-- | Cast to `DOMNode`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toDOMNode :: (MIO.MonadIO m, IsDOMNode o) => o -> m DOMNode
toDOMNode :: forall (m :: * -> *) o. (MonadIO m, IsDOMNode o) => o -> m DOMNode
toDOMNode = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMNode -> m DOMNode) -> (o -> IO DOMNode) -> o -> m DOMNode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr DOMNode -> DOMNode) -> o -> IO DOMNode
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr DOMNode -> DOMNode
DOMNode

-- | Convert 'DOMNode' to and from 'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue (Maybe DOMNode) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_dom_node_get_type
    gvalueSet_ :: Ptr GValue -> Maybe DOMNode -> IO ()
gvalueSet_ Ptr GValue
gv Maybe DOMNode
P.Nothing = Ptr GValue -> Ptr DOMNode -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr DOMNode
forall a. Ptr a
FP.nullPtr :: FP.Ptr DOMNode)
    gvalueSet_ Ptr GValue
gv (P.Just DOMNode
obj) = DOMNode -> (Ptr DOMNode -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DOMNode
obj (Ptr GValue -> Ptr DOMNode -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe DOMNode)
gvalueGet_ Ptr GValue
gv = do
        Ptr DOMNode
ptr <- Ptr GValue -> IO (Ptr DOMNode)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr DOMNode)
        if Ptr DOMNode
ptr Ptr DOMNode -> Ptr DOMNode -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr DOMNode
forall a. Ptr a
FP.nullPtr
        then DOMNode -> Maybe DOMNode
forall a. a -> Maybe a
P.Just (DOMNode -> Maybe DOMNode) -> IO DOMNode -> IO (Maybe DOMNode)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr DOMNode -> DOMNode
DOMNode Ptr DOMNode
ptr
        else Maybe DOMNode -> IO (Maybe DOMNode)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DOMNode
forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveDOMNodeMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMNodeMethod "addEventListener" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetAddEventListenerMethodInfo
    ResolveDOMNodeMethod "appendChild" o = DOMNodeAppendChildMethodInfo
    ResolveDOMNodeMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMNodeMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMNodeMethod "cloneNodeWithError" o = DOMNodeCloneNodeWithErrorMethodInfo
    ResolveDOMNodeMethod "compareDocumentPosition" o = DOMNodeCompareDocumentPositionMethodInfo
    ResolveDOMNodeMethod "contains" o = DOMNodeContainsMethodInfo
    ResolveDOMNodeMethod "dispatchEvent" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetDispatchEventMethodInfo
    ResolveDOMNodeMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMNodeMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMNodeMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveDOMNodeMethod "hasChildNodes" o = DOMNodeHasChildNodesMethodInfo
    ResolveDOMNodeMethod "insertBefore" o = DOMNodeInsertBeforeMethodInfo
    ResolveDOMNodeMethod "isDefaultNamespace" o = DOMNodeIsDefaultNamespaceMethodInfo
    ResolveDOMNodeMethod "isEqualNode" o = DOMNodeIsEqualNodeMethodInfo
    ResolveDOMNodeMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMNodeMethod "isSameNode" o = DOMNodeIsSameNodeMethodInfo
    ResolveDOMNodeMethod "isSupported" o = DOMNodeIsSupportedMethodInfo
    ResolveDOMNodeMethod "lookupNamespaceUri" o = DOMNodeLookupNamespaceUriMethodInfo
    ResolveDOMNodeMethod "lookupPrefix" o = DOMNodeLookupPrefixMethodInfo
    ResolveDOMNodeMethod "normalize" o = DOMNodeNormalizeMethodInfo
    ResolveDOMNodeMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMNodeMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMNodeMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMNodeMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMNodeMethod "removeChild" o = DOMNodeRemoveChildMethodInfo
    ResolveDOMNodeMethod "removeEventListener" o = WebKit2WebExtension.DOMEventTarget.DOMEventTargetRemoveEventListenerMethodInfo
    ResolveDOMNodeMethod "replaceChild" o = DOMNodeReplaceChildMethodInfo
    ResolveDOMNodeMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMNodeMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMNodeMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMNodeMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMNodeMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMNodeMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMNodeMethod "getBaseUri" o = DOMNodeGetBaseUriMethodInfo
    ResolveDOMNodeMethod "getChildNodes" o = DOMNodeGetChildNodesMethodInfo
    ResolveDOMNodeMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMNodeMethod "getFirstChild" o = DOMNodeGetFirstChildMethodInfo
    ResolveDOMNodeMethod "getLastChild" o = DOMNodeGetLastChildMethodInfo
    ResolveDOMNodeMethod "getLocalName" o = DOMNodeGetLocalNameMethodInfo
    ResolveDOMNodeMethod "getNamespaceUri" o = DOMNodeGetNamespaceUriMethodInfo
    ResolveDOMNodeMethod "getNextSibling" o = DOMNodeGetNextSiblingMethodInfo
    ResolveDOMNodeMethod "getNodeName" o = DOMNodeGetNodeNameMethodInfo
    ResolveDOMNodeMethod "getNodeType" o = DOMNodeGetNodeTypeMethodInfo
    ResolveDOMNodeMethod "getNodeValue" o = DOMNodeGetNodeValueMethodInfo
    ResolveDOMNodeMethod "getOwnerDocument" o = DOMNodeGetOwnerDocumentMethodInfo
    ResolveDOMNodeMethod "getParentElement" o = DOMNodeGetParentElementMethodInfo
    ResolveDOMNodeMethod "getParentNode" o = DOMNodeGetParentNodeMethodInfo
    ResolveDOMNodeMethod "getPrefix" o = DOMNodeGetPrefixMethodInfo
    ResolveDOMNodeMethod "getPreviousSibling" o = DOMNodeGetPreviousSiblingMethodInfo
    ResolveDOMNodeMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMNodeMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMNodeMethod "getTextContent" o = DOMNodeGetTextContentMethodInfo
    ResolveDOMNodeMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMNodeMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveDOMNodeMethod "setNodeValue" o = DOMNodeSetNodeValueMethodInfo
    ResolveDOMNodeMethod "setPrefix" o = DOMNodeSetPrefixMethodInfo
    ResolveDOMNodeMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMNodeMethod "setTextContent" o = DOMNodeSetTextContentMethodInfo
    ResolveDOMNodeMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMNodeMethod t DOMNode, O.OverloadedMethod info DOMNode p) => OL.IsLabel t (DOMNode -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveDOMNodeMethod t DOMNode, O.OverloadedMethod info DOMNode p, R.HasField t DOMNode p) => R.HasField t DOMNode p where
    getField = O.overloadedMethod @info

#endif

instance (info ~ ResolveDOMNodeMethod t DOMNode, O.OverloadedMethodInfo info DOMNode) => OL.IsLabel t (O.MethodProxy info DOMNode) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#endif

#endif

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

-- | Get the value of the “@base-uri@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #baseUri
-- @
getDOMNodeBaseUri :: (MonadIO m, IsDOMNode o) => o -> m (Maybe T.Text)
getDOMNodeBaseUri :: forall (m :: * -> *) o.
(MonadIO m, IsDOMNode o) =>
o -> m (Maybe Text)
getDOMNodeBaseUri o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"base-uri"

#if defined(ENABLE_OVERLOADING)
data DOMNodeBaseUriPropertyInfo
instance AttrInfo DOMNodeBaseUriPropertyInfo where
    type AttrAllowedOps DOMNodeBaseUriPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeBaseUriPropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeBaseUriPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodeBaseUriPropertyInfo = (~) ()
    type AttrTransferType DOMNodeBaseUriPropertyInfo = ()
    type AttrGetType DOMNodeBaseUriPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNodeBaseUriPropertyInfo = "base-uri"
    type AttrOrigin DOMNodeBaseUriPropertyInfo = DOMNode
    attrGet = getDOMNodeBaseUri
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.baseUri"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:baseUri"
        })
#endif

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

-- | Get the value of the “@child-nodes@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #childNodes
-- @
getDOMNodeChildNodes :: (MonadIO m, IsDOMNode o) => o -> m (Maybe WebKit2WebExtension.DOMNodeList.DOMNodeList)
getDOMNodeChildNodes :: forall (m :: * -> *) o.
(MonadIO m, IsDOMNode o) =>
o -> m (Maybe DOMNodeList)
getDOMNodeChildNodes o
obj = IO (Maybe DOMNodeList) -> m (Maybe DOMNodeList)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe DOMNodeList) -> m (Maybe DOMNodeList))
-> IO (Maybe DOMNodeList) -> m (Maybe DOMNodeList)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr DOMNodeList -> DOMNodeList)
-> IO (Maybe DOMNodeList)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"child-nodes" ManagedPtr DOMNodeList -> DOMNodeList
WebKit2WebExtension.DOMNodeList.DOMNodeList

#if defined(ENABLE_OVERLOADING)
data DOMNodeChildNodesPropertyInfo
instance AttrInfo DOMNodeChildNodesPropertyInfo where
    type AttrAllowedOps DOMNodeChildNodesPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeChildNodesPropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeChildNodesPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodeChildNodesPropertyInfo = (~) ()
    type AttrTransferType DOMNodeChildNodesPropertyInfo = ()
    type AttrGetType DOMNodeChildNodesPropertyInfo = (Maybe WebKit2WebExtension.DOMNodeList.DOMNodeList)
    type AttrLabel DOMNodeChildNodesPropertyInfo = "child-nodes"
    type AttrOrigin DOMNodeChildNodesPropertyInfo = DOMNode
    attrGet = getDOMNodeChildNodes
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.childNodes"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:childNodes"
        })
#endif

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

-- | Get the value of the “@first-child@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #firstChild
-- @
getDOMNodeFirstChild :: (MonadIO m, IsDOMNode o) => o -> m DOMNode
getDOMNodeFirstChild :: forall (m :: * -> *) o. (MonadIO m, IsDOMNode o) => o -> m DOMNode
getDOMNodeFirstChild o
obj = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe DOMNode) -> IO DOMNode
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDOMNodeFirstChild" (IO (Maybe DOMNode) -> IO DOMNode)
-> IO (Maybe DOMNode) -> IO DOMNode
forall a b. (a -> b) -> a -> b
$ o
-> String -> (ManagedPtr DOMNode -> DOMNode) -> IO (Maybe DOMNode)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"first-child" ManagedPtr DOMNode -> DOMNode
DOMNode

#if defined(ENABLE_OVERLOADING)
data DOMNodeFirstChildPropertyInfo
instance AttrInfo DOMNodeFirstChildPropertyInfo where
    type AttrAllowedOps DOMNodeFirstChildPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeFirstChildPropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeFirstChildPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodeFirstChildPropertyInfo = (~) ()
    type AttrTransferType DOMNodeFirstChildPropertyInfo = ()
    type AttrGetType DOMNodeFirstChildPropertyInfo = DOMNode
    type AttrLabel DOMNodeFirstChildPropertyInfo = "first-child"
    type AttrOrigin DOMNodeFirstChildPropertyInfo = DOMNode
    attrGet = getDOMNodeFirstChild
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.firstChild"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:firstChild"
        })
#endif

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

-- | Get the value of the “@last-child@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #lastChild
-- @
getDOMNodeLastChild :: (MonadIO m, IsDOMNode o) => o -> m DOMNode
getDOMNodeLastChild :: forall (m :: * -> *) o. (MonadIO m, IsDOMNode o) => o -> m DOMNode
getDOMNodeLastChild o
obj = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe DOMNode) -> IO DOMNode
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDOMNodeLastChild" (IO (Maybe DOMNode) -> IO DOMNode)
-> IO (Maybe DOMNode) -> IO DOMNode
forall a b. (a -> b) -> a -> b
$ o
-> String -> (ManagedPtr DOMNode -> DOMNode) -> IO (Maybe DOMNode)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"last-child" ManagedPtr DOMNode -> DOMNode
DOMNode

#if defined(ENABLE_OVERLOADING)
data DOMNodeLastChildPropertyInfo
instance AttrInfo DOMNodeLastChildPropertyInfo where
    type AttrAllowedOps DOMNodeLastChildPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeLastChildPropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeLastChildPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodeLastChildPropertyInfo = (~) ()
    type AttrTransferType DOMNodeLastChildPropertyInfo = ()
    type AttrGetType DOMNodeLastChildPropertyInfo = DOMNode
    type AttrLabel DOMNodeLastChildPropertyInfo = "last-child"
    type AttrOrigin DOMNodeLastChildPropertyInfo = DOMNode
    attrGet = getDOMNodeLastChild
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.lastChild"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:lastChild"
        })
#endif

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

-- | Get the value of the “@next-sibling@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #nextSibling
-- @
getDOMNodeNextSibling :: (MonadIO m, IsDOMNode o) => o -> m DOMNode
getDOMNodeNextSibling :: forall (m :: * -> *) o. (MonadIO m, IsDOMNode o) => o -> m DOMNode
getDOMNodeNextSibling o
obj = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe DOMNode) -> IO DOMNode
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDOMNodeNextSibling" (IO (Maybe DOMNode) -> IO DOMNode)
-> IO (Maybe DOMNode) -> IO DOMNode
forall a b. (a -> b) -> a -> b
$ o
-> String -> (ManagedPtr DOMNode -> DOMNode) -> IO (Maybe DOMNode)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"next-sibling" ManagedPtr DOMNode -> DOMNode
DOMNode

#if defined(ENABLE_OVERLOADING)
data DOMNodeNextSiblingPropertyInfo
instance AttrInfo DOMNodeNextSiblingPropertyInfo where
    type AttrAllowedOps DOMNodeNextSiblingPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeNextSiblingPropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeNextSiblingPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodeNextSiblingPropertyInfo = (~) ()
    type AttrTransferType DOMNodeNextSiblingPropertyInfo = ()
    type AttrGetType DOMNodeNextSiblingPropertyInfo = DOMNode
    type AttrLabel DOMNodeNextSiblingPropertyInfo = "next-sibling"
    type AttrOrigin DOMNodeNextSiblingPropertyInfo = DOMNode
    attrGet = getDOMNodeNextSibling
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.nextSibling"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:nextSibling"
        })
#endif

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

-- | Get the value of the “@node-name@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #nodeName
-- @
getDOMNodeNodeName :: (MonadIO m, IsDOMNode o) => o -> m (Maybe T.Text)
getDOMNodeNodeName :: forall (m :: * -> *) o.
(MonadIO m, IsDOMNode o) =>
o -> m (Maybe Text)
getDOMNodeNodeName o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"node-name"

#if defined(ENABLE_OVERLOADING)
data DOMNodeNodeNamePropertyInfo
instance AttrInfo DOMNodeNodeNamePropertyInfo where
    type AttrAllowedOps DOMNodeNodeNamePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeNodeNamePropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeNodeNamePropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodeNodeNamePropertyInfo = (~) ()
    type AttrTransferType DOMNodeNodeNamePropertyInfo = ()
    type AttrGetType DOMNodeNodeNamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNodeNodeNamePropertyInfo = "node-name"
    type AttrOrigin DOMNodeNodeNamePropertyInfo = DOMNode
    attrGet = getDOMNodeNodeName
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.nodeName"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:nodeName"
        })
#endif

-- VVV Prop "node-type"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@node-type@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #nodeType
-- @
getDOMNodeNodeType :: (MonadIO m, IsDOMNode o) => o -> m Word32
getDOMNodeNodeType :: forall (m :: * -> *) o. (MonadIO m, IsDOMNode o) => o -> m Word32
getDOMNodeNodeType o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj String
"node-type"

#if defined(ENABLE_OVERLOADING)
data DOMNodeNodeTypePropertyInfo
instance AttrInfo DOMNodeNodeTypePropertyInfo where
    type AttrAllowedOps DOMNodeNodeTypePropertyInfo = '[ 'AttrGet]
    type AttrBaseTypeConstraint DOMNodeNodeTypePropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeNodeTypePropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodeNodeTypePropertyInfo = (~) ()
    type AttrTransferType DOMNodeNodeTypePropertyInfo = ()
    type AttrGetType DOMNodeNodeTypePropertyInfo = Word32
    type AttrLabel DOMNodeNodeTypePropertyInfo = "node-type"
    type AttrOrigin DOMNodeNodeTypePropertyInfo = DOMNode
    attrGet = getDOMNodeNodeType
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.nodeType"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:nodeType"
        })
#endif

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

-- | Get the value of the “@node-value@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #nodeValue
-- @
getDOMNodeNodeValue :: (MonadIO m, IsDOMNode o) => o -> m (Maybe T.Text)
getDOMNodeNodeValue :: forall (m :: * -> *) o.
(MonadIO m, IsDOMNode o) =>
o -> m (Maybe Text)
getDOMNodeNodeValue o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"node-value"

-- | Set the value of the “@node-value@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' dOMNode [ #nodeValue 'Data.GI.Base.Attributes.:=' value ]
-- @
setDOMNodeNodeValue :: (MonadIO m, IsDOMNode o) => o -> T.Text -> m ()
setDOMNodeNodeValue :: forall (m :: * -> *) o.
(MonadIO m, IsDOMNode o) =>
o -> Text -> m ()
setDOMNodeNodeValue o
obj Text
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"node-value" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a `GValueConstruct` with valid value for the “@node-value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructDOMNodeNodeValue :: (IsDOMNode o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructDOMNodeNodeValue :: forall o (m :: * -> *).
(IsDOMNode o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructDOMNodeNodeValue Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"node-value" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@node-value@” 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' #nodeValue
-- @
clearDOMNodeNodeValue :: (MonadIO m, IsDOMNode o) => o -> m ()
clearDOMNodeNodeValue :: forall (m :: * -> *) o. (MonadIO m, IsDOMNode o) => o -> m ()
clearDOMNodeNodeValue o
obj = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"node-value" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data DOMNodeNodeValuePropertyInfo
instance AttrInfo DOMNodeNodeValuePropertyInfo where
    type AttrAllowedOps DOMNodeNodeValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeNodeValuePropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeNodeValuePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint DOMNodeNodeValuePropertyInfo = (~) T.Text
    type AttrTransferType DOMNodeNodeValuePropertyInfo = T.Text
    type AttrGetType DOMNodeNodeValuePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNodeNodeValuePropertyInfo = "node-value"
    type AttrOrigin DOMNodeNodeValuePropertyInfo = DOMNode
    attrGet = getDOMNodeNodeValue
    attrSet = setDOMNodeNodeValue
    attrTransfer _ v = do
        return v
    attrConstruct = constructDOMNodeNodeValue
    attrClear = clearDOMNodeNodeValue
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.nodeValue"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:nodeValue"
        })
#endif

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

-- | Get the value of the “@owner-document@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #ownerDocument
-- @
getDOMNodeOwnerDocument :: (MonadIO m, IsDOMNode o) => o -> m WebKit2WebExtension.DOMDocument.DOMDocument
getDOMNodeOwnerDocument :: forall (m :: * -> *) o.
(MonadIO m, IsDOMNode o) =>
o -> m DOMDocument
getDOMNodeOwnerDocument o
obj = IO DOMDocument -> m DOMDocument
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMDocument -> m DOMDocument)
-> IO DOMDocument -> m DOMDocument
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe DOMDocument) -> IO DOMDocument
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDOMNodeOwnerDocument" (IO (Maybe DOMDocument) -> IO DOMDocument)
-> IO (Maybe DOMDocument) -> IO DOMDocument
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr DOMDocument -> DOMDocument)
-> IO (Maybe DOMDocument)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"owner-document" ManagedPtr DOMDocument -> DOMDocument
WebKit2WebExtension.DOMDocument.DOMDocument

#if defined(ENABLE_OVERLOADING)
data DOMNodeOwnerDocumentPropertyInfo
instance AttrInfo DOMNodeOwnerDocumentPropertyInfo where
    type AttrAllowedOps DOMNodeOwnerDocumentPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeOwnerDocumentPropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeOwnerDocumentPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodeOwnerDocumentPropertyInfo = (~) ()
    type AttrTransferType DOMNodeOwnerDocumentPropertyInfo = ()
    type AttrGetType DOMNodeOwnerDocumentPropertyInfo = WebKit2WebExtension.DOMDocument.DOMDocument
    type AttrLabel DOMNodeOwnerDocumentPropertyInfo = "owner-document"
    type AttrOrigin DOMNodeOwnerDocumentPropertyInfo = DOMNode
    attrGet = getDOMNodeOwnerDocument
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.ownerDocument"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:ownerDocument"
        })
#endif

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

-- | Get the value of the “@parent-element@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #parentElement
-- @
getDOMNodeParentElement :: (MonadIO m, IsDOMNode o) => o -> m WebKit2WebExtension.DOMElement.DOMElement
getDOMNodeParentElement :: forall (m :: * -> *) o.
(MonadIO m, IsDOMNode o) =>
o -> m DOMElement
getDOMNodeParentElement o
obj = IO DOMElement -> m DOMElement
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMElement -> m DOMElement) -> IO DOMElement -> m DOMElement
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe DOMElement) -> IO DOMElement
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDOMNodeParentElement" (IO (Maybe DOMElement) -> IO DOMElement)
-> IO (Maybe DOMElement) -> IO DOMElement
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr DOMElement -> DOMElement)
-> IO (Maybe DOMElement)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"parent-element" ManagedPtr DOMElement -> DOMElement
WebKit2WebExtension.DOMElement.DOMElement

#if defined(ENABLE_OVERLOADING)
data DOMNodeParentElementPropertyInfo
instance AttrInfo DOMNodeParentElementPropertyInfo where
    type AttrAllowedOps DOMNodeParentElementPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeParentElementPropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeParentElementPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodeParentElementPropertyInfo = (~) ()
    type AttrTransferType DOMNodeParentElementPropertyInfo = ()
    type AttrGetType DOMNodeParentElementPropertyInfo = WebKit2WebExtension.DOMElement.DOMElement
    type AttrLabel DOMNodeParentElementPropertyInfo = "parent-element"
    type AttrOrigin DOMNodeParentElementPropertyInfo = DOMNode
    attrGet = getDOMNodeParentElement
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.parentElement"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:parentElement"
        })
#endif

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

-- | Get the value of the “@parent-node@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #parentNode
-- @
getDOMNodeParentNode :: (MonadIO m, IsDOMNode o) => o -> m DOMNode
getDOMNodeParentNode :: forall (m :: * -> *) o. (MonadIO m, IsDOMNode o) => o -> m DOMNode
getDOMNodeParentNode o
obj = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe DOMNode) -> IO DOMNode
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDOMNodeParentNode" (IO (Maybe DOMNode) -> IO DOMNode)
-> IO (Maybe DOMNode) -> IO DOMNode
forall a b. (a -> b) -> a -> b
$ o
-> String -> (ManagedPtr DOMNode -> DOMNode) -> IO (Maybe DOMNode)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"parent-node" ManagedPtr DOMNode -> DOMNode
DOMNode

#if defined(ENABLE_OVERLOADING)
data DOMNodeParentNodePropertyInfo
instance AttrInfo DOMNodeParentNodePropertyInfo where
    type AttrAllowedOps DOMNodeParentNodePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeParentNodePropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeParentNodePropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodeParentNodePropertyInfo = (~) ()
    type AttrTransferType DOMNodeParentNodePropertyInfo = ()
    type AttrGetType DOMNodeParentNodePropertyInfo = DOMNode
    type AttrLabel DOMNodeParentNodePropertyInfo = "parent-node"
    type AttrOrigin DOMNodeParentNodePropertyInfo = DOMNode
    attrGet = getDOMNodeParentNode
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.parentNode"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:parentNode"
        })
#endif

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

-- | Get the value of the “@previous-sibling@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #previousSibling
-- @
getDOMNodePreviousSibling :: (MonadIO m, IsDOMNode o) => o -> m DOMNode
getDOMNodePreviousSibling :: forall (m :: * -> *) o. (MonadIO m, IsDOMNode o) => o -> m DOMNode
getDOMNodePreviousSibling o
obj = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe DOMNode) -> IO DOMNode
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDOMNodePreviousSibling" (IO (Maybe DOMNode) -> IO DOMNode)
-> IO (Maybe DOMNode) -> IO DOMNode
forall a b. (a -> b) -> a -> b
$ o
-> String -> (ManagedPtr DOMNode -> DOMNode) -> IO (Maybe DOMNode)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"previous-sibling" ManagedPtr DOMNode -> DOMNode
DOMNode

#if defined(ENABLE_OVERLOADING)
data DOMNodePreviousSiblingPropertyInfo
instance AttrInfo DOMNodePreviousSiblingPropertyInfo where
    type AttrAllowedOps DOMNodePreviousSiblingPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodePreviousSiblingPropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodePreviousSiblingPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMNodePreviousSiblingPropertyInfo = (~) ()
    type AttrTransferType DOMNodePreviousSiblingPropertyInfo = ()
    type AttrGetType DOMNodePreviousSiblingPropertyInfo = DOMNode
    type AttrLabel DOMNodePreviousSiblingPropertyInfo = "previous-sibling"
    type AttrOrigin DOMNodePreviousSiblingPropertyInfo = DOMNode
    attrGet = getDOMNodePreviousSibling
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.previousSibling"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:previousSibling"
        })
#endif

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

-- | Get the value of the “@text-content@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMNode #textContent
-- @
getDOMNodeTextContent :: (MonadIO m, IsDOMNode o) => o -> m (Maybe T.Text)
getDOMNodeTextContent :: forall (m :: * -> *) o.
(MonadIO m, IsDOMNode o) =>
o -> m (Maybe Text)
getDOMNodeTextContent o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"text-content"

-- | Set the value of the “@text-content@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' dOMNode [ #textContent 'Data.GI.Base.Attributes.:=' value ]
-- @
setDOMNodeTextContent :: (MonadIO m, IsDOMNode o) => o -> T.Text -> m ()
setDOMNodeTextContent :: forall (m :: * -> *) o.
(MonadIO m, IsDOMNode o) =>
o -> Text -> m ()
setDOMNodeTextContent o
obj Text
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"text-content" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a `GValueConstruct` with valid value for the “@text-content@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructDOMNodeTextContent :: (IsDOMNode o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructDOMNodeTextContent :: forall o (m :: * -> *).
(IsDOMNode o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructDOMNodeTextContent Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"text-content" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@text-content@” 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' #textContent
-- @
clearDOMNodeTextContent :: (MonadIO m, IsDOMNode o) => o -> m ()
clearDOMNodeTextContent :: forall (m :: * -> *) o. (MonadIO m, IsDOMNode o) => o -> m ()
clearDOMNodeTextContent o
obj = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"text-content" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data DOMNodeTextContentPropertyInfo
instance AttrInfo DOMNodeTextContentPropertyInfo where
    type AttrAllowedOps DOMNodeTextContentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMNodeTextContentPropertyInfo = IsDOMNode
    type AttrSetTypeConstraint DOMNodeTextContentPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint DOMNodeTextContentPropertyInfo = (~) T.Text
    type AttrTransferType DOMNodeTextContentPropertyInfo = T.Text
    type AttrGetType DOMNodeTextContentPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNodeTextContentPropertyInfo = "text-content"
    type AttrOrigin DOMNodeTextContentPropertyInfo = DOMNode
    attrGet = getDOMNodeTextContent
    attrSet = setDOMNodeTextContent
    attrTransfer _ v = do
        return v
    attrConstruct = constructDOMNodeTextContent
    attrClear = clearDOMNodeTextContent
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.textContent"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#g:attr:textContent"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DOMNode
type instance O.AttributeList DOMNode = DOMNodeAttributeList
type DOMNodeAttributeList = ('[ '("baseUri", DOMNodeBaseUriPropertyInfo), '("childNodes", DOMNodeChildNodesPropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("firstChild", DOMNodeFirstChildPropertyInfo), '("lastChild", DOMNodeLastChildPropertyInfo), '("nextSibling", DOMNodeNextSiblingPropertyInfo), '("nodeName", DOMNodeNodeNamePropertyInfo), '("nodeType", DOMNodeNodeTypePropertyInfo), '("nodeValue", DOMNodeNodeValuePropertyInfo), '("ownerDocument", DOMNodeOwnerDocumentPropertyInfo), '("parentElement", DOMNodeParentElementPropertyInfo), '("parentNode", DOMNodeParentNodePropertyInfo), '("previousSibling", DOMNodePreviousSiblingPropertyInfo), '("textContent", DOMNodeTextContentPropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
dOMNodeBaseUri :: AttrLabelProxy "baseUri"
dOMNodeBaseUri = AttrLabelProxy

dOMNodeChildNodes :: AttrLabelProxy "childNodes"
dOMNodeChildNodes = AttrLabelProxy

dOMNodeFirstChild :: AttrLabelProxy "firstChild"
dOMNodeFirstChild = AttrLabelProxy

dOMNodeLastChild :: AttrLabelProxy "lastChild"
dOMNodeLastChild = AttrLabelProxy

dOMNodeNextSibling :: AttrLabelProxy "nextSibling"
dOMNodeNextSibling = AttrLabelProxy

dOMNodeNodeName :: AttrLabelProxy "nodeName"
dOMNodeNodeName = AttrLabelProxy

dOMNodeNodeType :: AttrLabelProxy "nodeType"
dOMNodeNodeType = AttrLabelProxy

dOMNodeNodeValue :: AttrLabelProxy "nodeValue"
dOMNodeNodeValue = AttrLabelProxy

dOMNodeOwnerDocument :: AttrLabelProxy "ownerDocument"
dOMNodeOwnerDocument = AttrLabelProxy

dOMNodeParentElement :: AttrLabelProxy "parentElement"
dOMNodeParentElement = AttrLabelProxy

dOMNodeParentNode :: AttrLabelProxy "parentNode"
dOMNodeParentNode = AttrLabelProxy

dOMNodePreviousSibling :: AttrLabelProxy "previousSibling"
dOMNodePreviousSibling = AttrLabelProxy

dOMNodeTextContent :: AttrLabelProxy "textContent"
dOMNodeTextContent = AttrLabelProxy

#endif

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

#endif

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

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

{-# DEPRECATED dOMNodeAppendChild ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeAppendChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> b
    -- ^ /@newChild@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m DOMNode
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/
dOMNodeAppendChild :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
a -> b -> m DOMNode
dOMNodeAppendChild a
self b
newChild = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
newChild' <- b -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
newChild
    IO DOMNode -> IO () -> IO DOMNode
forall a b. IO a -> IO b -> IO a
onException (do
        Ptr DOMNode
result <- (Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode))
-> (Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode)
forall a b. (a -> b) -> a -> b
$ Ptr DOMNode -> Ptr DOMNode -> Ptr (Ptr GError) -> IO (Ptr DOMNode)
webkit_dom_node_append_child Ptr DOMNode
self' Ptr DOMNode
newChild'
        Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeAppendChild" Ptr DOMNode
result
        DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
newChild
        DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'
     ) (do
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     )

#if defined(ENABLE_OVERLOADING)
data DOMNodeAppendChildMethodInfo
instance (signature ~ (b -> m DOMNode), MonadIO m, IsDOMNode a, IsDOMNode b) => O.OverloadedMethod DOMNodeAppendChildMethodInfo a signature where
    overloadedMethod = dOMNodeAppendChild

instance O.OverloadedMethodInfo DOMNodeAppendChildMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeAppendChild",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeAppendChild"
        })


#endif

-- method DOMNode::clone_node_with_error
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "deep"
--           , 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: Just
--               (TInterface
--                  Name { namespace = "WebKit2WebExtension" , name = "DOMNode" })
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_node_clone_node_with_error" webkit_dom_node_clone_node_with_error :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    CInt ->                                 -- deep : TBasicType TBoolean
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMNode)

{-# DEPRECATED dOMNodeCloneNodeWithError ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
-- 
-- /Since: 2.14/
dOMNodeCloneNodeWithError ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> Bool
    -- ^ /@deep@/: A t'P.Bool'
    -> m DOMNode
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/
dOMNodeCloneNodeWithError :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> Bool -> m DOMNode
dOMNodeCloneNodeWithError a
self Bool
deep = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let deep' :: CInt
deep' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
deep
    IO DOMNode -> IO () -> IO DOMNode
forall a b. IO a -> IO b -> IO a
onException (do
        Ptr DOMNode
result <- (Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode))
-> (Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode)
forall a b. (a -> b) -> a -> b
$ Ptr DOMNode -> CInt -> Ptr (Ptr GError) -> IO (Ptr DOMNode)
webkit_dom_node_clone_node_with_error Ptr DOMNode
self' CInt
deep'
        Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeCloneNodeWithError" Ptr DOMNode
result
        DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'
     ) (do
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     )

#if defined(ENABLE_OVERLOADING)
data DOMNodeCloneNodeWithErrorMethodInfo
instance (signature ~ (Bool -> m DOMNode), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeCloneNodeWithErrorMethodInfo a signature where
    overloadedMethod = dOMNodeCloneNodeWithError

instance O.OverloadedMethodInfo DOMNodeCloneNodeWithErrorMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeCloneNodeWithError",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeCloneNodeWithError"
        })


#endif

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

foreign import ccall "webkit_dom_node_compare_document_position" webkit_dom_node_compare_document_position :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr DOMNode ->                          -- other : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO Word16

{-# DEPRECATED dOMNodeCompareDocumentPosition ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeCompareDocumentPosition ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> b
    -- ^ /@other@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m Word16
    -- ^ __Returns:__ A @/gushort/@
dOMNodeCompareDocumentPosition :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
a -> b -> m Word16
dOMNodeCompareDocumentPosition a
self b
other = IO Word16 -> m Word16
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word16 -> m Word16) -> IO Word16 -> m Word16
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
other' <- b -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
other
    Word16
result <- Ptr DOMNode -> Ptr DOMNode -> IO Word16
webkit_dom_node_compare_document_position Ptr DOMNode
self' Ptr DOMNode
other'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
other
    Word16 -> IO Word16
forall (m :: * -> *) a. Monad m => a -> m a
return Word16
result

#if defined(ENABLE_OVERLOADING)
data DOMNodeCompareDocumentPositionMethodInfo
instance (signature ~ (b -> m Word16), MonadIO m, IsDOMNode a, IsDOMNode b) => O.OverloadedMethod DOMNodeCompareDocumentPositionMethodInfo a signature where
    overloadedMethod = dOMNodeCompareDocumentPosition

instance O.OverloadedMethodInfo DOMNodeCompareDocumentPositionMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeCompareDocumentPosition",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeCompareDocumentPosition"
        })


#endif

-- method DOMNode::contains
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "other"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_contains" webkit_dom_node_contains :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr DOMNode ->                          -- other : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CInt

{-# DEPRECATED dOMNodeContains ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeContains ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> b
    -- ^ /@other@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMNodeContains :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
a -> b -> m Bool
dOMNodeContains a
self b
other = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
other' <- b -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
other
    CInt
result <- Ptr DOMNode -> Ptr DOMNode -> IO CInt
webkit_dom_node_contains Ptr DOMNode
self' Ptr DOMNode
other'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
other
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeContainsMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsDOMNode a, IsDOMNode b) => O.OverloadedMethod DOMNodeContainsMethodInfo a signature where
    overloadedMethod = dOMNodeContains

instance O.OverloadedMethodInfo DOMNodeContainsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeContains",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeContains"
        })


#endif

-- method DOMNode::get_base_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_get_base_uri" webkit_dom_node_get_base_uri :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CString

{-# DEPRECATED dOMNodeGetBaseUri ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetBaseUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMNodeGetBaseUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m Text
dOMNodeGetBaseUri a
self = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMNode -> IO CString
webkit_dom_node_get_base_uri Ptr DOMNode
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetBaseUri" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetBaseUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetBaseUriMethodInfo a signature where
    overloadedMethod = dOMNodeGetBaseUri

instance O.OverloadedMethodInfo DOMNodeGetBaseUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetBaseUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetBaseUri"
        })


#endif

-- method DOMNode::get_child_nodes
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_get_child_nodes" webkit_dom_node_get_child_nodes :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO (Ptr WebKit2WebExtension.DOMNodeList.DOMNodeList)

{-# DEPRECATED dOMNodeGetChildNodes ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetChildNodes ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m WebKit2WebExtension.DOMNodeList.DOMNodeList
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNodeList.DOMNodeList'
dOMNodeGetChildNodes :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m DOMNodeList
dOMNodeGetChildNodes a
self = IO DOMNodeList -> m DOMNodeList
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNodeList -> m DOMNodeList)
-> IO DOMNodeList -> m DOMNodeList
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNodeList
result <- Ptr DOMNode -> IO (Ptr DOMNodeList)
webkit_dom_node_get_child_nodes Ptr DOMNode
self'
    Text -> Ptr DOMNodeList -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetChildNodes" Ptr DOMNodeList
result
    DOMNodeList
result' <- ((ManagedPtr DOMNodeList -> DOMNodeList)
-> Ptr DOMNodeList -> IO DOMNodeList
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DOMNodeList -> DOMNodeList
WebKit2WebExtension.DOMNodeList.DOMNodeList) Ptr DOMNodeList
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMNodeList -> IO DOMNodeList
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNodeList
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetChildNodesMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMNodeList.DOMNodeList), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetChildNodesMethodInfo a signature where
    overloadedMethod = dOMNodeGetChildNodes

instance O.OverloadedMethodInfo DOMNodeGetChildNodesMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetChildNodes",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetChildNodes"
        })


#endif

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

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

{-# DEPRECATED dOMNodeGetFirstChild ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetFirstChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m DOMNode
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
dOMNodeGetFirstChild :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m DOMNode
dOMNodeGetFirstChild a
self = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
result <- Ptr DOMNode -> IO (Ptr DOMNode)
webkit_dom_node_get_first_child Ptr DOMNode
self'
    Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetFirstChild" Ptr DOMNode
result
    DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetFirstChildMethodInfo
instance (signature ~ (m DOMNode), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetFirstChildMethodInfo a signature where
    overloadedMethod = dOMNodeGetFirstChild

instance O.OverloadedMethodInfo DOMNodeGetFirstChildMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetFirstChild",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetFirstChild"
        })


#endif

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

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

{-# DEPRECATED dOMNodeGetLastChild ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetLastChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m DOMNode
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
dOMNodeGetLastChild :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m DOMNode
dOMNodeGetLastChild a
self = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
result <- Ptr DOMNode -> IO (Ptr DOMNode)
webkit_dom_node_get_last_child Ptr DOMNode
self'
    Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetLastChild" Ptr DOMNode
result
    DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetLastChildMethodInfo
instance (signature ~ (m DOMNode), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetLastChildMethodInfo a signature where
    overloadedMethod = dOMNodeGetLastChild

instance O.OverloadedMethodInfo DOMNodeGetLastChildMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetLastChild",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetLastChild"
        })


#endif

-- method DOMNode::get_local_name
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_get_local_name" webkit_dom_node_get_local_name :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CString

{-# DEPRECATED dOMNodeGetLocalName ["(Since version 2.14)","Use 'GI.WebKit2WebExtension.Objects.DOMAttr.dOMAttrGetLocalName' or 'GI.WebKit2WebExtension.Objects.DOMElement.dOMElementGetLocalName' instead."] #-}
-- | /No description available in the introspection data./
dOMNodeGetLocalName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMNodeGetLocalName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m Text
dOMNodeGetLocalName a
self = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMNode -> IO CString
webkit_dom_node_get_local_name Ptr DOMNode
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetLocalName" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetLocalNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetLocalNameMethodInfo a signature where
    overloadedMethod = dOMNodeGetLocalName

instance O.OverloadedMethodInfo DOMNodeGetLocalNameMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetLocalName",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetLocalName"
        })


#endif

-- method DOMNode::get_namespace_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_get_namespace_uri" webkit_dom_node_get_namespace_uri :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CString

{-# DEPRECATED dOMNodeGetNamespaceUri ["(Since version 2.14)","Use 'GI.WebKit2WebExtension.Objects.DOMAttr.dOMAttrGetNamespaceUri' or 'GI.WebKit2WebExtension.Objects.DOMElement.dOMElementGetNamespaceUri' instead."] #-}
-- | /No description available in the introspection data./
dOMNodeGetNamespaceUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMNodeGetNamespaceUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m Text
dOMNodeGetNamespaceUri a
self = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMNode -> IO CString
webkit_dom_node_get_namespace_uri Ptr DOMNode
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetNamespaceUri" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetNamespaceUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetNamespaceUriMethodInfo a signature where
    overloadedMethod = dOMNodeGetNamespaceUri

instance O.OverloadedMethodInfo DOMNodeGetNamespaceUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetNamespaceUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetNamespaceUri"
        })


#endif

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

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

{-# DEPRECATED dOMNodeGetNextSibling ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetNextSibling ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m DOMNode
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
dOMNodeGetNextSibling :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m DOMNode
dOMNodeGetNextSibling a
self = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
result <- Ptr DOMNode -> IO (Ptr DOMNode)
webkit_dom_node_get_next_sibling Ptr DOMNode
self'
    Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetNextSibling" Ptr DOMNode
result
    DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetNextSiblingMethodInfo
instance (signature ~ (m DOMNode), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetNextSiblingMethodInfo a signature where
    overloadedMethod = dOMNodeGetNextSibling

instance O.OverloadedMethodInfo DOMNodeGetNextSiblingMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetNextSibling",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetNextSibling"
        })


#endif

-- method DOMNode::get_node_name
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_get_node_name" webkit_dom_node_get_node_name :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CString

{-# DEPRECATED dOMNodeGetNodeName ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetNodeName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMNodeGetNodeName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m Text
dOMNodeGetNodeName a
self = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMNode -> IO CString
webkit_dom_node_get_node_name Ptr DOMNode
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetNodeName" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetNodeNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetNodeNameMethodInfo a signature where
    overloadedMethod = dOMNodeGetNodeName

instance O.OverloadedMethodInfo DOMNodeGetNodeNameMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetNodeName",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetNodeName"
        })


#endif

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

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

{-# DEPRECATED dOMNodeGetNodeType ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetNodeType ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m Word16
    -- ^ __Returns:__ A @/gushort/@
dOMNodeGetNodeType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m Word16
dOMNodeGetNodeType a
self = IO Word16 -> m Word16
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word16 -> m Word16) -> IO Word16 -> m Word16
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Word16
result <- Ptr DOMNode -> IO Word16
webkit_dom_node_get_node_type Ptr DOMNode
self'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Word16 -> IO Word16
forall (m :: * -> *) a. Monad m => a -> m a
return Word16
result

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetNodeTypeMethodInfo
instance (signature ~ (m Word16), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetNodeTypeMethodInfo a signature where
    overloadedMethod = dOMNodeGetNodeType

instance O.OverloadedMethodInfo DOMNodeGetNodeTypeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetNodeType",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetNodeType"
        })


#endif

-- method DOMNode::get_node_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_get_node_value" webkit_dom_node_get_node_value :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CString

{-# DEPRECATED dOMNodeGetNodeValue ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetNodeValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMNodeGetNodeValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m Text
dOMNodeGetNodeValue a
self = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMNode -> IO CString
webkit_dom_node_get_node_value Ptr DOMNode
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetNodeValue" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetNodeValueMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetNodeValueMethodInfo a signature where
    overloadedMethod = dOMNodeGetNodeValue

instance O.OverloadedMethodInfo DOMNodeGetNodeValueMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetNodeValue",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetNodeValue"
        })


#endif

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

foreign import ccall "webkit_dom_node_get_owner_document" webkit_dom_node_get_owner_document :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO (Ptr WebKit2WebExtension.DOMDocument.DOMDocument)

{-# DEPRECATED dOMNodeGetOwnerDocument ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetOwnerDocument ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m WebKit2WebExtension.DOMDocument.DOMDocument
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMDocument.DOMDocument'
dOMNodeGetOwnerDocument :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m DOMDocument
dOMNodeGetOwnerDocument a
self = IO DOMDocument -> m DOMDocument
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMDocument -> m DOMDocument)
-> IO DOMDocument -> m DOMDocument
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMDocument
result <- Ptr DOMNode -> IO (Ptr DOMDocument)
webkit_dom_node_get_owner_document Ptr DOMNode
self'
    Text -> Ptr DOMDocument -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetOwnerDocument" Ptr DOMDocument
result
    DOMDocument
result' <- ((ManagedPtr DOMDocument -> DOMDocument)
-> Ptr DOMDocument -> IO DOMDocument
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMDocument -> DOMDocument
WebKit2WebExtension.DOMDocument.DOMDocument) Ptr DOMDocument
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMDocument -> IO DOMDocument
forall (m :: * -> *) a. Monad m => a -> m a
return DOMDocument
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetOwnerDocumentMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMDocument.DOMDocument), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetOwnerDocumentMethodInfo a signature where
    overloadedMethod = dOMNodeGetOwnerDocument

instance O.OverloadedMethodInfo DOMNodeGetOwnerDocumentMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetOwnerDocument",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetOwnerDocument"
        })


#endif

-- method DOMNode::get_parent_element
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_get_parent_element" webkit_dom_node_get_parent_element :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO (Ptr WebKit2WebExtension.DOMElement.DOMElement)

{-# DEPRECATED dOMNodeGetParentElement ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetParentElement ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m WebKit2WebExtension.DOMElement.DOMElement
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement'
dOMNodeGetParentElement :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m DOMElement
dOMNodeGetParentElement a
self = IO DOMElement -> m DOMElement
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMElement -> m DOMElement) -> IO DOMElement -> m DOMElement
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMElement
result <- Ptr DOMNode -> IO (Ptr DOMElement)
webkit_dom_node_get_parent_element Ptr DOMNode
self'
    Text -> Ptr DOMElement -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetParentElement" Ptr DOMElement
result
    DOMElement
result' <- ((ManagedPtr DOMElement -> DOMElement)
-> Ptr DOMElement -> IO DOMElement
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMElement -> DOMElement
WebKit2WebExtension.DOMElement.DOMElement) Ptr DOMElement
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMElement -> IO DOMElement
forall (m :: * -> *) a. Monad m => a -> m a
return DOMElement
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetParentElementMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMElement.DOMElement), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetParentElementMethodInfo a signature where
    overloadedMethod = dOMNodeGetParentElement

instance O.OverloadedMethodInfo DOMNodeGetParentElementMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetParentElement",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetParentElement"
        })


#endif

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

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

{-# DEPRECATED dOMNodeGetParentNode ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetParentNode ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m DOMNode
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
dOMNodeGetParentNode :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m DOMNode
dOMNodeGetParentNode a
self = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
result <- Ptr DOMNode -> IO (Ptr DOMNode)
webkit_dom_node_get_parent_node Ptr DOMNode
self'
    Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetParentNode" Ptr DOMNode
result
    DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetParentNodeMethodInfo
instance (signature ~ (m DOMNode), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetParentNodeMethodInfo a signature where
    overloadedMethod = dOMNodeGetParentNode

instance O.OverloadedMethodInfo DOMNodeGetParentNodeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetParentNode",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetParentNode"
        })


#endif

-- method DOMNode::get_prefix
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_get_prefix" webkit_dom_node_get_prefix :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CString

{-# DEPRECATED dOMNodeGetPrefix ["(Since version 2.14)","Use 'GI.WebKit2WebExtension.Objects.DOMAttr.dOMAttrGetPrefix' or 'GI.WebKit2WebExtension.Objects.DOMElement.dOMElementGetPrefix' instead."] #-}
-- | /No description available in the introspection data./
dOMNodeGetPrefix ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMNodeGetPrefix :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m Text
dOMNodeGetPrefix a
self = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMNode -> IO CString
webkit_dom_node_get_prefix Ptr DOMNode
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetPrefix" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetPrefixMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetPrefixMethodInfo a signature where
    overloadedMethod = dOMNodeGetPrefix

instance O.OverloadedMethodInfo DOMNodeGetPrefixMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetPrefix",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetPrefix"
        })


#endif

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

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

{-# DEPRECATED dOMNodeGetPreviousSibling ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetPreviousSibling ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m DOMNode
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
dOMNodeGetPreviousSibling :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m DOMNode
dOMNodeGetPreviousSibling a
self = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
result <- Ptr DOMNode -> IO (Ptr DOMNode)
webkit_dom_node_get_previous_sibling Ptr DOMNode
self'
    Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetPreviousSibling" Ptr DOMNode
result
    DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetPreviousSiblingMethodInfo
instance (signature ~ (m DOMNode), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetPreviousSiblingMethodInfo a signature where
    overloadedMethod = dOMNodeGetPreviousSibling

instance O.OverloadedMethodInfo DOMNodeGetPreviousSiblingMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetPreviousSibling",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetPreviousSibling"
        })


#endif

-- method DOMNode::get_text_content
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_get_text_content" webkit_dom_node_get_text_content :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CString

{-# DEPRECATED dOMNodeGetTextContent ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeGetTextContent ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMNodeGetTextContent :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m Text
dOMNodeGetTextContent a
self = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
result <- Ptr DOMNode -> IO CString
webkit_dom_node_get_text_content Ptr DOMNode
self'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeGetTextContent" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeGetTextContentMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeGetTextContentMethodInfo a signature where
    overloadedMethod = dOMNodeGetTextContent

instance O.OverloadedMethodInfo DOMNodeGetTextContentMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeGetTextContent",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeGetTextContent"
        })


#endif

-- method DOMNode::has_child_nodes
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_has_child_nodes" webkit_dom_node_has_child_nodes :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CInt

{-# DEPRECATED dOMNodeHasChildNodes ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeHasChildNodes ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMNodeHasChildNodes :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m Bool
dOMNodeHasChildNodes a
self = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CInt
result <- Ptr DOMNode -> IO CInt
webkit_dom_node_has_child_nodes Ptr DOMNode
self'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeHasChildNodesMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeHasChildNodesMethodInfo a signature where
    overloadedMethod = dOMNodeHasChildNodes

instance O.OverloadedMethodInfo DOMNodeHasChildNodesMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeHasChildNodes",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeHasChildNodes"
        })


#endif

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

foreign import ccall "webkit_dom_node_insert_before" webkit_dom_node_insert_before :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr DOMNode ->                          -- newChild : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr DOMNode ->                          -- refChild : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMNode)

{-# DEPRECATED dOMNodeInsertBefore ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeInsertBefore ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b, IsDOMNode c) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> b
    -- ^ /@newChild@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> Maybe (c)
    -- ^ /@refChild@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m DOMNode
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/
dOMNodeInsertBefore :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b, IsDOMNode c) =>
a -> b -> Maybe c -> m DOMNode
dOMNodeInsertBefore a
self b
newChild Maybe c
refChild = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
newChild' <- b -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
newChild
    Ptr DOMNode
maybeRefChild <- case Maybe c
refChild of
        Maybe c
Nothing -> Ptr DOMNode -> IO (Ptr DOMNode)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr DOMNode
forall a. Ptr a
nullPtr
        Just c
jRefChild -> do
            Ptr DOMNode
jRefChild' <- c -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
jRefChild
            Ptr DOMNode -> IO (Ptr DOMNode)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr DOMNode
jRefChild'
    IO DOMNode -> IO () -> IO DOMNode
forall a b. IO a -> IO b -> IO a
onException (do
        Ptr DOMNode
result <- (Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode))
-> (Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode)
forall a b. (a -> b) -> a -> b
$ Ptr DOMNode
-> Ptr DOMNode
-> Ptr DOMNode
-> Ptr (Ptr GError)
-> IO (Ptr DOMNode)
webkit_dom_node_insert_before Ptr DOMNode
self' Ptr DOMNode
newChild' Ptr DOMNode
maybeRefChild
        Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeInsertBefore" Ptr DOMNode
result
        DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
newChild
        Maybe c -> (c -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe c
refChild c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
        DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'
     ) (do
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     )

#if defined(ENABLE_OVERLOADING)
data DOMNodeInsertBeforeMethodInfo
instance (signature ~ (b -> Maybe (c) -> m DOMNode), MonadIO m, IsDOMNode a, IsDOMNode b, IsDOMNode c) => O.OverloadedMethod DOMNodeInsertBeforeMethodInfo a signature where
    overloadedMethod = dOMNodeInsertBefore

instance O.OverloadedMethodInfo DOMNodeInsertBeforeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeInsertBefore",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeInsertBefore"
        })


#endif

-- method DOMNode::is_default_namespace
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

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

{-# DEPRECATED dOMNodeIsDefaultNamespace ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeIsDefaultNamespace ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> T.Text
    -- ^ /@namespaceURI@/: A @/gchar/@
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMNodeIsDefaultNamespace :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> Text -> m Bool
dOMNodeIsDefaultNamespace a
self Text
namespaceURI = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
namespaceURI' <- Text -> IO CString
textToCString Text
namespaceURI
    CInt
result <- Ptr DOMNode -> CString -> IO CInt
webkit_dom_node_is_default_namespace Ptr DOMNode
self' CString
namespaceURI'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
namespaceURI'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeIsDefaultNamespaceMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeIsDefaultNamespaceMethodInfo a signature where
    overloadedMethod = dOMNodeIsDefaultNamespace

instance O.OverloadedMethodInfo DOMNodeIsDefaultNamespaceMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeIsDefaultNamespace",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeIsDefaultNamespace"
        })


#endif

-- method DOMNode::is_equal_node
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "other"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_is_equal_node" webkit_dom_node_is_equal_node :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr DOMNode ->                          -- other : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CInt

{-# DEPRECATED dOMNodeIsEqualNode ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeIsEqualNode ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> b
    -- ^ /@other@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMNodeIsEqualNode :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
a -> b -> m Bool
dOMNodeIsEqualNode a
self b
other = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
other' <- b -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
other
    CInt
result <- Ptr DOMNode -> Ptr DOMNode -> IO CInt
webkit_dom_node_is_equal_node Ptr DOMNode
self' Ptr DOMNode
other'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
other
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeIsEqualNodeMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsDOMNode a, IsDOMNode b) => O.OverloadedMethod DOMNodeIsEqualNodeMethodInfo a signature where
    overloadedMethod = dOMNodeIsEqualNode

instance O.OverloadedMethodInfo DOMNodeIsEqualNodeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeIsEqualNode",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeIsEqualNode"
        })


#endif

-- method DOMNode::is_same_node
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "other"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_is_same_node" webkit_dom_node_is_same_node :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr DOMNode ->                          -- other : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO CInt

{-# DEPRECATED dOMNodeIsSameNode ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeIsSameNode ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> b
    -- ^ /@other@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMNodeIsSameNode :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
a -> b -> m Bool
dOMNodeIsSameNode a
self b
other = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
other' <- b -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
other
    CInt
result <- Ptr DOMNode -> Ptr DOMNode -> IO CInt
webkit_dom_node_is_same_node Ptr DOMNode
self' Ptr DOMNode
other'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
other
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeIsSameNodeMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsDOMNode a, IsDOMNode b) => O.OverloadedMethod DOMNodeIsSameNodeMethodInfo a signature where
    overloadedMethod = dOMNodeIsSameNode

instance O.OverloadedMethodInfo DOMNodeIsSameNodeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeIsSameNode",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeIsSameNode"
        })


#endif

-- method DOMNode::is_supported
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "feature"
--           , 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 = "version"
--           , 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_node_is_supported" webkit_dom_node_is_supported :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    CString ->                              -- feature : TBasicType TUTF8
    CString ->                              -- version : TBasicType TUTF8
    IO CInt

{-# DEPRECATED dOMNodeIsSupported ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeIsSupported ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> T.Text
    -- ^ /@feature@/: A @/gchar/@
    -> T.Text
    -- ^ /@version@/: A @/gchar/@
    -> m Bool
    -- ^ __Returns:__ A t'P.Bool'
dOMNodeIsSupported :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> Text -> Text -> m Bool
dOMNodeIsSupported a
self Text
feature Text
version = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
feature' <- Text -> IO CString
textToCString Text
feature
    CString
version' <- Text -> IO CString
textToCString Text
version
    CInt
result <- Ptr DOMNode -> CString -> CString -> IO CInt
webkit_dom_node_is_supported Ptr DOMNode
self' CString
feature' CString
version'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
feature'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
version'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeIsSupportedMethodInfo
instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeIsSupportedMethodInfo a signature where
    overloadedMethod = dOMNodeIsSupported

instance O.OverloadedMethodInfo DOMNodeIsSupportedMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeIsSupported",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeIsSupported"
        })


#endif

-- method DOMNode::lookup_namespace_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "prefix"
--           , 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_node_lookup_namespace_uri" webkit_dom_node_lookup_namespace_uri :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    CString ->                              -- prefix : TBasicType TUTF8
    IO CString

{-# DEPRECATED dOMNodeLookupNamespaceUri ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeLookupNamespaceUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> T.Text
    -- ^ /@prefix@/: A @/gchar/@
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMNodeLookupNamespaceUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> Text -> m Text
dOMNodeLookupNamespaceUri a
self Text
prefix = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
prefix' <- Text -> IO CString
textToCString Text
prefix
    CString
result <- Ptr DOMNode -> CString -> IO CString
webkit_dom_node_lookup_namespace_uri Ptr DOMNode
self' CString
prefix'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeLookupNamespaceUri" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
prefix'
    Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeLookupNamespaceUriMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeLookupNamespaceUriMethodInfo a signature where
    overloadedMethod = dOMNodeLookupNamespaceUri

instance O.OverloadedMethodInfo DOMNodeLookupNamespaceUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeLookupNamespaceUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeLookupNamespaceUri"
        })


#endif

-- method DOMNode::lookup_prefix
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

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

{-# DEPRECATED dOMNodeLookupPrefix ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeLookupPrefix ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> T.Text
    -- ^ /@namespaceURI@/: A @/gchar/@
    -> m T.Text
    -- ^ __Returns:__ A @/gchar/@
dOMNodeLookupPrefix :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> Text -> m Text
dOMNodeLookupPrefix a
self Text
namespaceURI = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
namespaceURI' <- Text -> IO CString
textToCString Text
namespaceURI
    CString
result <- Ptr DOMNode -> CString -> IO CString
webkit_dom_node_lookup_prefix Ptr DOMNode
self' CString
namespaceURI'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeLookupPrefix" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
namespaceURI'
    Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data DOMNodeLookupPrefixMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeLookupPrefixMethodInfo a signature where
    overloadedMethod = dOMNodeLookupPrefix

instance O.OverloadedMethodInfo DOMNodeLookupPrefixMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeLookupPrefix",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeLookupPrefix"
        })


#endif

-- method DOMNode::normalize
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_normalize" webkit_dom_node_normalize :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    IO ()

{-# DEPRECATED dOMNodeNormalize ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeNormalize ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m ()
dOMNodeNormalize :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> m ()
dOMNodeNormalize a
self = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode -> IO ()
webkit_dom_node_normalize Ptr DOMNode
self'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data DOMNodeNormalizeMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeNormalizeMethodInfo a signature where
    overloadedMethod = dOMNodeNormalize

instance O.OverloadedMethodInfo DOMNodeNormalizeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeNormalize",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeNormalize"
        })


#endif

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

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

{-# DEPRECATED dOMNodeRemoveChild ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeRemoveChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> b
    -- ^ /@oldChild@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m DOMNode
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/
dOMNodeRemoveChild :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b) =>
a -> b -> m DOMNode
dOMNodeRemoveChild a
self b
oldChild = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
oldChild' <- b -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
oldChild
    IO DOMNode -> IO () -> IO DOMNode
forall a b. IO a -> IO b -> IO a
onException (do
        Ptr DOMNode
result <- (Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode))
-> (Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode)
forall a b. (a -> b) -> a -> b
$ Ptr DOMNode -> Ptr DOMNode -> Ptr (Ptr GError) -> IO (Ptr DOMNode)
webkit_dom_node_remove_child Ptr DOMNode
self' Ptr DOMNode
oldChild'
        Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeRemoveChild" Ptr DOMNode
result
        DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
oldChild
        DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'
     ) (do
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     )

#if defined(ENABLE_OVERLOADING)
data DOMNodeRemoveChildMethodInfo
instance (signature ~ (b -> m DOMNode), MonadIO m, IsDOMNode a, IsDOMNode b) => O.OverloadedMethod DOMNodeRemoveChildMethodInfo a signature where
    overloadedMethod = dOMNodeRemoveChild

instance O.OverloadedMethodInfo DOMNodeRemoveChildMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeRemoveChild",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeRemoveChild"
        })


#endif

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

foreign import ccall "webkit_dom_node_replace_child" webkit_dom_node_replace_child :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr DOMNode ->                          -- newChild : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr DOMNode ->                          -- oldChild : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMNode)

{-# DEPRECATED dOMNodeReplaceChild ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeReplaceChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b, IsDOMNode c) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> b
    -- ^ /@newChild@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> c
    -- ^ /@oldChild@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> m DOMNode
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' /(Can throw 'Data.GI.Base.GError.GError')/
dOMNodeReplaceChild :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsDOMNode a, IsDOMNode b, IsDOMNode c) =>
a -> b -> c -> m DOMNode
dOMNodeReplaceChild a
self b
newChild c
oldChild = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMNode
newChild' <- b -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
newChild
    Ptr DOMNode
oldChild' <- c -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
oldChild
    IO DOMNode -> IO () -> IO DOMNode
forall a b. IO a -> IO b -> IO a
onException (do
        Ptr DOMNode
result <- (Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode))
-> (Ptr (Ptr GError) -> IO (Ptr DOMNode)) -> IO (Ptr DOMNode)
forall a b. (a -> b) -> a -> b
$ Ptr DOMNode
-> Ptr DOMNode
-> Ptr DOMNode
-> Ptr (Ptr GError)
-> IO (Ptr DOMNode)
webkit_dom_node_replace_child Ptr DOMNode
self' Ptr DOMNode
newChild' Ptr DOMNode
oldChild'
        Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeReplaceChild" Ptr DOMNode
result
        DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
newChild
        c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr c
oldChild
        DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'
     ) (do
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     )

#if defined(ENABLE_OVERLOADING)
data DOMNodeReplaceChildMethodInfo
instance (signature ~ (b -> c -> m DOMNode), MonadIO m, IsDOMNode a, IsDOMNode b, IsDOMNode c) => O.OverloadedMethod DOMNodeReplaceChildMethodInfo a signature where
    overloadedMethod = dOMNodeReplaceChild

instance O.OverloadedMethodInfo DOMNodeReplaceChildMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeReplaceChild",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeReplaceChild"
        })


#endif

-- method DOMNode::set_node_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_set_node_value" webkit_dom_node_set_node_value :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMNodeSetNodeValue ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeSetNodeValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> T.Text
    -- ^ /@value@/: A @/gchar/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMNodeSetNodeValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> Text -> m ()
dOMNodeSetNodeValue a
self Text
value = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
value' <- Text -> IO CString
textToCString Text
value
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DOMNode -> CString -> Ptr (Ptr GError) -> IO ()
webkit_dom_node_set_node_value Ptr DOMNode
self' CString
value'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
     )

#if defined(ENABLE_OVERLOADING)
data DOMNodeSetNodeValueMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeSetNodeValueMethodInfo a signature where
    overloadedMethod = dOMNodeSetNodeValue

instance O.OverloadedMethodInfo DOMNodeSetNodeValueMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeSetNodeValue",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeSetNodeValue"
        })


#endif

-- method DOMNode::set_prefix
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_set_prefix" webkit_dom_node_set_prefix :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMNodeSetPrefix ["(Since version 2.14)"] #-}
-- | /No description available in the introspection data./
dOMNodeSetPrefix ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> T.Text
    -- ^ /@value@/: A @/gchar/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMNodeSetPrefix :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> Text -> m ()
dOMNodeSetPrefix a
self Text
value = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
value' <- Text -> IO CString
textToCString Text
value
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DOMNode -> CString -> Ptr (Ptr GError) -> IO ()
webkit_dom_node_set_prefix Ptr DOMNode
self' CString
value'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
     )

#if defined(ENABLE_OVERLOADING)
data DOMNodeSetPrefixMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeSetPrefixMethodInfo a signature where
    overloadedMethod = dOMNodeSetPrefix

instance O.OverloadedMethodInfo DOMNodeSetPrefixMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeSetPrefix",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeSetPrefix"
        })


#endif

-- method DOMNode::set_text_content
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name { namespace = "WebKit2WebExtension" , name = "DOMNode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMNode" , 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_node_set_text_content" webkit_dom_node_set_text_content :: 
    Ptr DOMNode ->                          -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMNode"})
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMNodeSetTextContent ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMNodeSetTextContent ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNode a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode'
    -> T.Text
    -- ^ /@value@/: A @/gchar/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMNodeSetTextContent :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMNode a) =>
a -> Text -> m ()
dOMNodeSetTextContent a
self Text
value = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMNode
self' <- a -> IO (Ptr DOMNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
value' <- Text -> IO CString
textToCString Text
value
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DOMNode -> CString -> Ptr (Ptr GError) -> IO ()
webkit_dom_node_set_text_content Ptr DOMNode
self' CString
value'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
     )

#if defined(ENABLE_OVERLOADING)
data DOMNodeSetTextContentMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMNode a) => O.OverloadedMethod DOMNodeSetTextContentMethodInfo a signature where
    overloadedMethod = dOMNodeSetTextContent

instance O.OverloadedMethodInfo DOMNodeSetTextContentMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMNode.dOMNodeSetTextContent",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-DOMNode.html#v:dOMNodeSetTextContent"
        })


#endif

-- method DOMNode::for_js_value
-- method type : MemberFunction
-- Args: [ Arg
--           { argCName = "value"
--           , argType =
--               TInterface Name { namespace = "JavaScriptCore" , name = "Value" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #JSCValue" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "WebKit2WebExtension" , name = "DOMNode" })
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_node_for_js_value" webkit_dom_node_for_js_value :: 
    Ptr JavaScriptCore.Value.Value ->       -- value : TInterface (Name {namespace = "JavaScriptCore", name = "Value"})
    IO (Ptr DOMNode)

-- | Get the t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode' for the DOM node referenced by /@value@/.
-- 
-- /Since: 2.22/
dOMNodeForJsValue ::
    (B.CallStack.HasCallStack, MonadIO m, JavaScriptCore.Value.IsValue a) =>
    a
    -- ^ /@value@/: a t'GI.JavaScriptCore.Objects.Value.Value'
    -> m DOMNode
    -- ^ __Returns:__ a t'GI.WebKit2WebExtension.Objects.DOMNode.DOMNode', or 'P.Nothing' if /@value@/ doesn\'t reference a DOM node.
dOMNodeForJsValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsValue a) =>
a -> m DOMNode
dOMNodeForJsValue a
value = IO DOMNode -> m DOMNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMNode -> m DOMNode) -> IO DOMNode -> m DOMNode
forall a b. (a -> b) -> a -> b
$ do
    Ptr Value
value' <- a -> IO (Ptr Value)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
value
    Ptr DOMNode
result <- Ptr Value -> IO (Ptr DOMNode)
webkit_dom_node_for_js_value Ptr Value
value'
    Text -> Ptr DOMNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMNodeForJsValue" Ptr DOMNode
result
    DOMNode
result' <- ((ManagedPtr DOMNode -> DOMNode) -> Ptr DOMNode -> IO DOMNode
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DOMNode -> DOMNode
DOMNode) Ptr DOMNode
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
value
    DOMNode -> IO DOMNode
forall (m :: * -> *) a. Monad m => a -> m a
return DOMNode
result'

#if defined(ENABLE_OVERLOADING)
#endif