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

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

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

module GI.WebKit2WebExtension.Objects.DOMDocumentFragment
    (

-- * Exported types
    DOMDocumentFragment(..)                 ,
    IsDOMDocumentFragment                   ,
    toDOMDocumentFragment                   ,
    noDOMDocumentFragment                   ,


 -- * Methods
-- ** getChildElementCount #method:getChildElementCount#

#if ENABLE_OVERLOADING
    DOMDocumentFragmentGetChildElementCountMethodInfo,
#endif
    dOMDocumentFragmentGetChildElementCount ,


-- ** getChildren #method:getChildren#

#if ENABLE_OVERLOADING
    DOMDocumentFragmentGetChildrenMethodInfo,
#endif
    dOMDocumentFragmentGetChildren          ,


-- ** getElementById #method:getElementById#

#if ENABLE_OVERLOADING
    DOMDocumentFragmentGetElementByIdMethodInfo,
#endif
    dOMDocumentFragmentGetElementById       ,


-- ** getFirstElementChild #method:getFirstElementChild#

#if ENABLE_OVERLOADING
    DOMDocumentFragmentGetFirstElementChildMethodInfo,
#endif
    dOMDocumentFragmentGetFirstElementChild ,


-- ** getLastElementChild #method:getLastElementChild#

#if ENABLE_OVERLOADING
    DOMDocumentFragmentGetLastElementChildMethodInfo,
#endif
    dOMDocumentFragmentGetLastElementChild  ,


-- ** querySelector #method:querySelector#

#if ENABLE_OVERLOADING
    DOMDocumentFragmentQuerySelectorMethodInfo,
#endif
    dOMDocumentFragmentQuerySelector        ,


-- ** querySelectorAll #method:querySelectorAll#

#if ENABLE_OVERLOADING
    DOMDocumentFragmentQuerySelectorAllMethodInfo,
#endif
    dOMDocumentFragmentQuerySelectorAll     ,




 -- * Properties
-- ** childElementCount #attr:childElementCount#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMDocumentFragmentChildElementCountPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMDocumentFragmentChildElementCount    ,
#endif
    getDOMDocumentFragmentChildElementCount ,


-- ** children #attr:children#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMDocumentFragmentChildrenPropertyInfo ,
#endif
#if ENABLE_OVERLOADING
    dOMDocumentFragmentChildren             ,
#endif
    getDOMDocumentFragmentChildren          ,


-- ** firstElementChild #attr:firstElementChild#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMDocumentFragmentFirstElementChildPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMDocumentFragmentFirstElementChild    ,
#endif
    getDOMDocumentFragmentFirstElementChild ,


-- ** lastElementChild #attr:lastElementChild#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMDocumentFragmentLastElementChildPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMDocumentFragmentLastElementChild     ,
#endif
    getDOMDocumentFragmentLastElementChild  ,




    ) where

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

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL

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

-- | Memory-managed wrapper type.
newtype DOMDocumentFragment = DOMDocumentFragment (ManagedPtr DOMDocumentFragment)
foreign import ccall "webkit_dom_document_fragment_get_type"
    c_webkit_dom_document_fragment_get_type :: IO GType

instance GObject DOMDocumentFragment where
    gobjectType = c_webkit_dom_document_fragment_get_type


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

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

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

-- | A convenience alias for `Nothing` :: `Maybe` `DOMDocumentFragment`.
noDOMDocumentFragment :: Maybe DOMDocumentFragment
noDOMDocumentFragment = Nothing

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

instance (info ~ ResolveDOMDocumentFragmentMethod t DOMDocumentFragment, O.MethodInfo info DOMDocumentFragment p) => OL.IsLabel t (DOMDocumentFragment -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

#endif

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

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

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

#if ENABLE_OVERLOADING
data DOMDocumentFragmentChildElementCountPropertyInfo
instance AttrInfo DOMDocumentFragmentChildElementCountPropertyInfo where
    type AttrAllowedOps DOMDocumentFragmentChildElementCountPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDocumentFragmentChildElementCountPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentFragmentChildElementCountPropertyInfo = IsDOMDocumentFragment
    type AttrGetType DOMDocumentFragmentChildElementCountPropertyInfo = CULong
    type AttrLabel DOMDocumentFragmentChildElementCountPropertyInfo = "child-element-count"
    type AttrOrigin DOMDocumentFragmentChildElementCountPropertyInfo = DOMDocumentFragment
    attrGet _ = getDOMDocumentFragmentChildElementCount
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

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

#if ENABLE_OVERLOADING
data DOMDocumentFragmentChildrenPropertyInfo
instance AttrInfo DOMDocumentFragmentChildrenPropertyInfo where
    type AttrAllowedOps DOMDocumentFragmentChildrenPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMDocumentFragmentChildrenPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentFragmentChildrenPropertyInfo = IsDOMDocumentFragment
    type AttrGetType DOMDocumentFragmentChildrenPropertyInfo = (Maybe WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection)
    type AttrLabel DOMDocumentFragmentChildrenPropertyInfo = "children"
    type AttrOrigin DOMDocumentFragmentChildrenPropertyInfo = DOMDocumentFragment
    attrGet _ = getDOMDocumentFragmentChildren
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

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

#if ENABLE_OVERLOADING
data DOMDocumentFragmentFirstElementChildPropertyInfo
instance AttrInfo DOMDocumentFragmentFirstElementChildPropertyInfo where
    type AttrAllowedOps DOMDocumentFragmentFirstElementChildPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMDocumentFragmentFirstElementChildPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentFragmentFirstElementChildPropertyInfo = IsDOMDocumentFragment
    type AttrGetType DOMDocumentFragmentFirstElementChildPropertyInfo = WebKit2WebExtension.DOMElement.DOMElement
    type AttrLabel DOMDocumentFragmentFirstElementChildPropertyInfo = "first-element-child"
    type AttrOrigin DOMDocumentFragmentFirstElementChildPropertyInfo = DOMDocumentFragment
    attrGet _ = getDOMDocumentFragmentFirstElementChild
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

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

#if ENABLE_OVERLOADING
data DOMDocumentFragmentLastElementChildPropertyInfo
instance AttrInfo DOMDocumentFragmentLastElementChildPropertyInfo where
    type AttrAllowedOps DOMDocumentFragmentLastElementChildPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMDocumentFragmentLastElementChildPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDocumentFragmentLastElementChildPropertyInfo = IsDOMDocumentFragment
    type AttrGetType DOMDocumentFragmentLastElementChildPropertyInfo = WebKit2WebExtension.DOMElement.DOMElement
    type AttrLabel DOMDocumentFragmentLastElementChildPropertyInfo = "last-element-child"
    type AttrOrigin DOMDocumentFragmentLastElementChildPropertyInfo = DOMDocumentFragment
    attrGet _ = getDOMDocumentFragmentLastElementChild
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

#if ENABLE_OVERLOADING
dOMDocumentFragmentChildElementCount :: AttrLabelProxy "childElementCount"
dOMDocumentFragmentChildElementCount = AttrLabelProxy

dOMDocumentFragmentChildren :: AttrLabelProxy "children"
dOMDocumentFragmentChildren = AttrLabelProxy

dOMDocumentFragmentFirstElementChild :: AttrLabelProxy "firstElementChild"
dOMDocumentFragmentFirstElementChild = AttrLabelProxy

dOMDocumentFragmentLastElementChild :: AttrLabelProxy "lastElementChild"
dOMDocumentFragmentLastElementChild = AttrLabelProxy

#endif

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

#endif

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

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

{-# DEPRECATED dOMDocumentFragmentGetChildElementCount ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./

/Since: 2.16/
-}
dOMDocumentFragmentGetChildElementCount ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ -}
dOMDocumentFragmentGetChildElementCount self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_document_fragment_get_child_element_count self'
    touchManagedPtr self
    return result

#if ENABLE_OVERLOADING
data DOMDocumentFragmentGetChildElementCountMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentGetChildElementCountMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentGetChildElementCount

#endif

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

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

{-# DEPRECATED dOMDocumentFragmentGetChildren ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./

/Since: 2.16/
-}
dOMDocumentFragmentGetChildren ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMHTMLCollection.DOMHTMLCollection' -}
dOMDocumentFragmentGetChildren self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_document_fragment_get_children self'
    checkUnexpectedReturnNULL "dOMDocumentFragmentGetChildren" result
    result' <- (wrapObject WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection) result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMDocumentFragmentGetChildrenMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMHTMLCollection.DOMHTMLCollection), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentGetChildrenMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentGetChildren

#endif

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

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

{-# DEPRECATED dOMDocumentFragmentGetElementById ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./

/Since: 2.16/
-}
dOMDocumentFragmentGetElementById ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> T.Text
    {- ^ /@elementId@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMElement.DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMDocumentFragmentGetElementById self elementId = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    elementId' <- textToCString elementId
    result <- webkit_dom_document_fragment_get_element_by_id self' elementId'
    checkUnexpectedReturnNULL "dOMDocumentFragmentGetElementById" result
    result' <- (newObject WebKit2WebExtension.DOMElement.DOMElement) result
    touchManagedPtr self
    freeMem elementId'
    return result'

#if ENABLE_OVERLOADING
data DOMDocumentFragmentGetElementByIdMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMElement.DOMElement), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentGetElementByIdMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentGetElementById

#endif

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

{-# DEPRECATED dOMDocumentFragmentGetFirstElementChild ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./

/Since: 2.16/
-}
dOMDocumentFragmentGetFirstElementChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> m WebKit2WebExtension.DOMElement.DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMDocumentFragmentGetFirstElementChild self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_document_fragment_get_first_element_child self'
    checkUnexpectedReturnNULL "dOMDocumentFragmentGetFirstElementChild" result
    result' <- (newObject WebKit2WebExtension.DOMElement.DOMElement) result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMDocumentFragmentGetFirstElementChildMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMElement.DOMElement), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentGetFirstElementChildMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentGetFirstElementChild

#endif

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

{-# DEPRECATED dOMDocumentFragmentGetLastElementChild ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./

/Since: 2.16/
-}
dOMDocumentFragmentGetLastElementChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> m WebKit2WebExtension.DOMElement.DOMElement
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMElement.DOMElement' -}
dOMDocumentFragmentGetLastElementChild self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_document_fragment_get_last_element_child self'
    checkUnexpectedReturnNULL "dOMDocumentFragmentGetLastElementChild" result
    result' <- (newObject WebKit2WebExtension.DOMElement.DOMElement) result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMDocumentFragmentGetLastElementChildMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMElement.DOMElement), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentGetLastElementChildMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentGetLastElementChild

#endif

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

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

{-# DEPRECATED dOMDocumentFragmentQuerySelector ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./

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

#if ENABLE_OVERLOADING
data DOMDocumentFragmentQuerySelectorMethodInfo
instance (signature ~ (T.Text -> m WebKit2WebExtension.DOMElement.DOMElement), MonadIO m, IsDOMDocumentFragment a) => O.MethodInfo DOMDocumentFragmentQuerySelectorMethodInfo a signature where
    overloadedMethod _ = dOMDocumentFragmentQuerySelector

#endif

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

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

{-# DEPRECATED dOMDocumentFragmentQuerySelectorAll ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./

/Since: 2.16/
-}
dOMDocumentFragmentQuerySelectorAll ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMDocumentFragment a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMDocumentFragment.DOMDocumentFragment' -}
    -> T.Text
    {- ^ /@selectors@/: A @/gchar/@ -}
    -> m WebKit2WebExtension.DOMNodeList.DOMNodeList
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMNodeList.DOMNodeList' /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMDocumentFragmentQuerySelectorAll self selectors = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    selectors' <- textToCString selectors
    onException (do
        result <- propagateGError $ webkit_dom_document_fragment_query_selector_all self' selectors'
        checkUnexpectedReturnNULL "dOMDocumentFragmentQuerySelectorAll" result
        result' <- (wrapObject WebKit2WebExtension.DOMNodeList.DOMNodeList) result
        touchManagedPtr self
        freeMem selectors'
        return result'
     ) (do
        freeMem selectors'
     )

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

#endif