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

module GI.WebKit.Objects.WebFrame
    ( 

-- * Exported types
    WebFrame(..)                            ,
    WebFrameK                               ,
    toWebFrame                              ,
    noWebFrame                              ,


 -- * Methods
-- ** webFrameFindFrame
    webFrameFindFrame                       ,


-- ** webFrameGetDataSource
    webFrameGetDataSource                   ,


-- ** webFrameGetDomDocument
    webFrameGetDomDocument                  ,


-- ** webFrameGetGlobalContext
    webFrameGetGlobalContext                ,


-- ** webFrameGetHorizontalScrollbarPolicy
    webFrameGetHorizontalScrollbarPolicy    ,


-- ** webFrameGetLoadStatus
    webFrameGetLoadStatus                   ,


-- ** webFrameGetName
    webFrameGetName                         ,


-- ** webFrameGetNetworkResponse
    webFrameGetNetworkResponse              ,


-- ** webFrameGetParent
    webFrameGetParent                       ,


-- ** webFrameGetProvisionalDataSource
    webFrameGetProvisionalDataSource        ,


-- ** webFrameGetRangeForWordAroundCaret
    webFrameGetRangeForWordAroundCaret      ,


-- ** webFrameGetSecurityOrigin
    webFrameGetSecurityOrigin               ,


-- ** webFrameGetTitle
    webFrameGetTitle                        ,


-- ** webFrameGetUri
    webFrameGetUri                          ,


-- ** webFrameGetVerticalScrollbarPolicy
    webFrameGetVerticalScrollbarPolicy      ,


-- ** webFrameGetWebView
    webFrameGetWebView                      ,


-- ** webFrameLoadAlternateString
    webFrameLoadAlternateString             ,


-- ** webFrameLoadRequest
    webFrameLoadRequest                     ,


-- ** webFrameLoadString
    webFrameLoadString                      ,


-- ** webFrameLoadUri
    webFrameLoadUri                         ,


-- ** webFrameNew
    webFrameNew                             ,


-- ** webFramePrint
    webFramePrint                           ,


-- ** webFramePrintFull
    webFramePrintFull                       ,


-- ** webFrameReload
    webFrameReload                          ,


-- ** webFrameReplaceSelection
    webFrameReplaceSelection                ,


-- ** webFrameStopLoading
    webFrameStopLoading                     ,




 -- * Properties
-- ** HorizontalScrollbarPolicy
    WebFrameHorizontalScrollbarPolicyPropertyInfo,
    getWebFrameHorizontalScrollbarPolicy    ,


-- ** LoadStatus
    WebFrameLoadStatusPropertyInfo          ,
    getWebFrameLoadStatus                   ,


-- ** Name
    WebFrameNamePropertyInfo                ,
    getWebFrameName                         ,


-- ** Title
    WebFrameTitlePropertyInfo               ,
    getWebFrameTitle                        ,


-- ** Uri
    WebFrameUriPropertyInfo                 ,
    getWebFrameUri                          ,


-- ** VerticalScrollbarPolicy
    WebFrameVerticalScrollbarPolicyPropertyInfo,
    getWebFrameVerticalScrollbarPolicy      ,




 -- * Signals
-- ** Cleared
    WebFrameClearedCallback                 ,
    WebFrameClearedCallbackC                ,
    WebFrameClearedSignalInfo               ,
    afterWebFrameCleared                    ,
    mkWebFrameClearedCallback               ,
    noWebFrameClearedCallback               ,
    onWebFrameCleared                       ,
    webFrameClearedCallbackWrapper          ,
    webFrameClearedClosure                  ,


-- ** HoveringOverLink
    WebFrameHoveringOverLinkCallback        ,
    WebFrameHoveringOverLinkCallbackC       ,
    WebFrameHoveringOverLinkSignalInfo      ,
    afterWebFrameHoveringOverLink           ,
    mkWebFrameHoveringOverLinkCallback      ,
    noWebFrameHoveringOverLinkCallback      ,
    onWebFrameHoveringOverLink              ,
    webFrameHoveringOverLinkCallbackWrapper ,
    webFrameHoveringOverLinkClosure         ,


-- ** InsecureContentRun
    WebFrameInsecureContentRunCallback      ,
    WebFrameInsecureContentRunCallbackC     ,
    WebFrameInsecureContentRunSignalInfo    ,
    afterWebFrameInsecureContentRun         ,
    mkWebFrameInsecureContentRunCallback    ,
    noWebFrameInsecureContentRunCallback    ,
    onWebFrameInsecureContentRun            ,
    webFrameInsecureContentRunCallbackWrapper,
    webFrameInsecureContentRunClosure       ,


-- ** LoadCommitted
    WebFrameLoadCommittedCallback           ,
    WebFrameLoadCommittedCallbackC          ,
    WebFrameLoadCommittedSignalInfo         ,
    afterWebFrameLoadCommitted              ,
    mkWebFrameLoadCommittedCallback         ,
    noWebFrameLoadCommittedCallback         ,
    onWebFrameLoadCommitted                 ,
    webFrameLoadCommittedCallbackWrapper    ,
    webFrameLoadCommittedClosure            ,


-- ** ResourceContentLengthReceived
    WebFrameResourceContentLengthReceivedCallback,
    WebFrameResourceContentLengthReceivedCallbackC,
    WebFrameResourceContentLengthReceivedSignalInfo,
    afterWebFrameResourceContentLengthReceived,
    mkWebFrameResourceContentLengthReceivedCallback,
    noWebFrameResourceContentLengthReceivedCallback,
    onWebFrameResourceContentLengthReceived ,
    webFrameResourceContentLengthReceivedCallbackWrapper,
    webFrameResourceContentLengthReceivedClosure,


-- ** ResourceLoadFailed
    WebFrameResourceLoadFailedCallback      ,
    WebFrameResourceLoadFailedCallbackC     ,
    WebFrameResourceLoadFailedSignalInfo    ,
    afterWebFrameResourceLoadFailed         ,
    mkWebFrameResourceLoadFailedCallback    ,
    noWebFrameResourceLoadFailedCallback    ,
    onWebFrameResourceLoadFailed            ,
    webFrameResourceLoadFailedCallbackWrapper,
    webFrameResourceLoadFailedClosure       ,


-- ** ResourceLoadFinished
    WebFrameResourceLoadFinishedCallback    ,
    WebFrameResourceLoadFinishedCallbackC   ,
    WebFrameResourceLoadFinishedSignalInfo  ,
    afterWebFrameResourceLoadFinished       ,
    mkWebFrameResourceLoadFinishedCallback  ,
    noWebFrameResourceLoadFinishedCallback  ,
    onWebFrameResourceLoadFinished          ,
    webFrameResourceLoadFinishedCallbackWrapper,
    webFrameResourceLoadFinishedClosure     ,


-- ** ResourceRequestStarting
    WebFrameResourceRequestStartingCallback ,
    WebFrameResourceRequestStartingCallbackC,
    WebFrameResourceRequestStartingSignalInfo,
    afterWebFrameResourceRequestStarting    ,
    mkWebFrameResourceRequestStartingCallback,
    noWebFrameResourceRequestStartingCallback,
    onWebFrameResourceRequestStarting       ,
    webFrameResourceRequestStartingCallbackWrapper,
    webFrameResourceRequestStartingClosure  ,


-- ** ResourceResponseReceived
    WebFrameResourceResponseReceivedCallback,
    WebFrameResourceResponseReceivedCallbackC,
    WebFrameResourceResponseReceivedSignalInfo,
    afterWebFrameResourceResponseReceived   ,
    mkWebFrameResourceResponseReceivedCallback,
    noWebFrameResourceResponseReceivedCallback,
    onWebFrameResourceResponseReceived      ,
    webFrameResourceResponseReceivedCallbackWrapper,
    webFrameResourceResponseReceivedClosure ,


-- ** ScrollbarsPolicyChanged
    WebFrameScrollbarsPolicyChangedCallback ,
    WebFrameScrollbarsPolicyChangedCallbackC,
    WebFrameScrollbarsPolicyChangedSignalInfo,
    afterWebFrameScrollbarsPolicyChanged    ,
    mkWebFrameScrollbarsPolicyChangedCallback,
    noWebFrameScrollbarsPolicyChangedCallback,
    onWebFrameScrollbarsPolicyChanged       ,
    webFrameScrollbarsPolicyChangedCallbackWrapper,
    webFrameScrollbarsPolicyChangedClosure  ,


-- ** TitleChanged
    WebFrameTitleChangedCallback            ,
    WebFrameTitleChangedCallbackC           ,
    WebFrameTitleChangedSignalInfo          ,
    afterWebFrameTitleChanged               ,
    mkWebFrameTitleChangedCallback          ,
    noWebFrameTitleChangedCallback          ,
    onWebFrameTitleChanged                  ,
    webFrameTitleChangedCallbackWrapper     ,
    webFrameTitleChangedClosure             ,




    ) where

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

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

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

newtype WebFrame = WebFrame (ForeignPtr WebFrame)
foreign import ccall "webkit_web_frame_get_type"
    c_webkit_web_frame_get_type :: IO GType

type instance ParentTypes WebFrame = WebFrameParentTypes
type WebFrameParentTypes = '[GObject.Object]

instance GObject WebFrame where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_web_frame_get_type
    

class GObject o => WebFrameK o
instance (GObject o, IsDescendantOf WebFrame o) => WebFrameK o

toWebFrame :: WebFrameK o => o -> IO WebFrame
toWebFrame = unsafeCastTo WebFrame

noWebFrame :: Maybe WebFrame
noWebFrame = Nothing

-- signal WebFrame::cleared
type WebFrameClearedCallback =
    IO ()

noWebFrameClearedCallback :: Maybe WebFrameClearedCallback
noWebFrameClearedCallback = Nothing

type WebFrameClearedCallbackC =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkWebFrameClearedCallback :: WebFrameClearedCallbackC -> IO (FunPtr WebFrameClearedCallbackC)

webFrameClearedClosure :: WebFrameClearedCallback -> IO Closure
webFrameClearedClosure cb = newCClosure =<< mkWebFrameClearedCallback wrapped
    where wrapped = webFrameClearedCallbackWrapper cb

webFrameClearedCallbackWrapper ::
    WebFrameClearedCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
webFrameClearedCallbackWrapper _cb _ _ = do
    _cb 

onWebFrameCleared :: (GObject a, MonadIO m) => a -> WebFrameClearedCallback -> m SignalHandlerId
onWebFrameCleared obj cb = liftIO $ connectWebFrameCleared obj cb SignalConnectBefore
afterWebFrameCleared :: (GObject a, MonadIO m) => a -> WebFrameClearedCallback -> m SignalHandlerId
afterWebFrameCleared obj cb = connectWebFrameCleared obj cb SignalConnectAfter

connectWebFrameCleared :: (GObject a, MonadIO m) =>
                          a -> WebFrameClearedCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameCleared obj cb after = liftIO $ do
    cb' <- mkWebFrameClearedCallback (webFrameClearedCallbackWrapper cb)
    connectSignalFunPtr obj "cleared" cb' after

-- signal WebFrame::hovering-over-link
type WebFrameHoveringOverLinkCallback =
    T.Text ->
    T.Text ->
    IO ()

noWebFrameHoveringOverLinkCallback :: Maybe WebFrameHoveringOverLinkCallback
noWebFrameHoveringOverLinkCallback = Nothing

type WebFrameHoveringOverLinkCallbackC =
    Ptr () ->                               -- object
    CString ->
    CString ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkWebFrameHoveringOverLinkCallback :: WebFrameHoveringOverLinkCallbackC -> IO (FunPtr WebFrameHoveringOverLinkCallbackC)

webFrameHoveringOverLinkClosure :: WebFrameHoveringOverLinkCallback -> IO Closure
webFrameHoveringOverLinkClosure cb = newCClosure =<< mkWebFrameHoveringOverLinkCallback wrapped
    where wrapped = webFrameHoveringOverLinkCallbackWrapper cb

webFrameHoveringOverLinkCallbackWrapper ::
    WebFrameHoveringOverLinkCallback ->
    Ptr () ->
    CString ->
    CString ->
    Ptr () ->
    IO ()
webFrameHoveringOverLinkCallbackWrapper _cb _ object p0 _ = do
    object' <- cstringToText object
    p0' <- cstringToText p0
    _cb  object' p0'

onWebFrameHoveringOverLink :: (GObject a, MonadIO m) => a -> WebFrameHoveringOverLinkCallback -> m SignalHandlerId
onWebFrameHoveringOverLink obj cb = liftIO $ connectWebFrameHoveringOverLink obj cb SignalConnectBefore
afterWebFrameHoveringOverLink :: (GObject a, MonadIO m) => a -> WebFrameHoveringOverLinkCallback -> m SignalHandlerId
afterWebFrameHoveringOverLink obj cb = connectWebFrameHoveringOverLink obj cb SignalConnectAfter

connectWebFrameHoveringOverLink :: (GObject a, MonadIO m) =>
                                   a -> WebFrameHoveringOverLinkCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameHoveringOverLink obj cb after = liftIO $ do
    cb' <- mkWebFrameHoveringOverLinkCallback (webFrameHoveringOverLinkCallbackWrapper cb)
    connectSignalFunPtr obj "hovering-over-link" cb' after

-- signal WebFrame::insecure-content-run
type WebFrameInsecureContentRunCallback =
    SecurityOrigin ->
    T.Text ->
    IO ()

noWebFrameInsecureContentRunCallback :: Maybe WebFrameInsecureContentRunCallback
noWebFrameInsecureContentRunCallback = Nothing

type WebFrameInsecureContentRunCallbackC =
    Ptr () ->                               -- object
    Ptr SecurityOrigin ->
    CString ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkWebFrameInsecureContentRunCallback :: WebFrameInsecureContentRunCallbackC -> IO (FunPtr WebFrameInsecureContentRunCallbackC)

webFrameInsecureContentRunClosure :: WebFrameInsecureContentRunCallback -> IO Closure
webFrameInsecureContentRunClosure cb = newCClosure =<< mkWebFrameInsecureContentRunCallback wrapped
    where wrapped = webFrameInsecureContentRunCallbackWrapper cb

webFrameInsecureContentRunCallbackWrapper ::
    WebFrameInsecureContentRunCallback ->
    Ptr () ->
    Ptr SecurityOrigin ->
    CString ->
    Ptr () ->
    IO ()
webFrameInsecureContentRunCallbackWrapper _cb _ security_origin url _ = do
    security_origin' <- (newObject SecurityOrigin) security_origin
    url' <- cstringToText url
    _cb  security_origin' url'

onWebFrameInsecureContentRun :: (GObject a, MonadIO m) => a -> WebFrameInsecureContentRunCallback -> m SignalHandlerId
onWebFrameInsecureContentRun obj cb = liftIO $ connectWebFrameInsecureContentRun obj cb SignalConnectBefore
afterWebFrameInsecureContentRun :: (GObject a, MonadIO m) => a -> WebFrameInsecureContentRunCallback -> m SignalHandlerId
afterWebFrameInsecureContentRun obj cb = connectWebFrameInsecureContentRun obj cb SignalConnectAfter

connectWebFrameInsecureContentRun :: (GObject a, MonadIO m) =>
                                     a -> WebFrameInsecureContentRunCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameInsecureContentRun obj cb after = liftIO $ do
    cb' <- mkWebFrameInsecureContentRunCallback (webFrameInsecureContentRunCallbackWrapper cb)
    connectSignalFunPtr obj "insecure-content-run" cb' after

-- signal WebFrame::load-committed
type WebFrameLoadCommittedCallback =
    IO ()

noWebFrameLoadCommittedCallback :: Maybe WebFrameLoadCommittedCallback
noWebFrameLoadCommittedCallback = Nothing

type WebFrameLoadCommittedCallbackC =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkWebFrameLoadCommittedCallback :: WebFrameLoadCommittedCallbackC -> IO (FunPtr WebFrameLoadCommittedCallbackC)

webFrameLoadCommittedClosure :: WebFrameLoadCommittedCallback -> IO Closure
webFrameLoadCommittedClosure cb = newCClosure =<< mkWebFrameLoadCommittedCallback wrapped
    where wrapped = webFrameLoadCommittedCallbackWrapper cb

webFrameLoadCommittedCallbackWrapper ::
    WebFrameLoadCommittedCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
webFrameLoadCommittedCallbackWrapper _cb _ _ = do
    _cb 

onWebFrameLoadCommitted :: (GObject a, MonadIO m) => a -> WebFrameLoadCommittedCallback -> m SignalHandlerId
onWebFrameLoadCommitted obj cb = liftIO $ connectWebFrameLoadCommitted obj cb SignalConnectBefore
afterWebFrameLoadCommitted :: (GObject a, MonadIO m) => a -> WebFrameLoadCommittedCallback -> m SignalHandlerId
afterWebFrameLoadCommitted obj cb = connectWebFrameLoadCommitted obj cb SignalConnectAfter

connectWebFrameLoadCommitted :: (GObject a, MonadIO m) =>
                                a -> WebFrameLoadCommittedCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameLoadCommitted obj cb after = liftIO $ do
    cb' <- mkWebFrameLoadCommittedCallback (webFrameLoadCommittedCallbackWrapper cb)
    connectSignalFunPtr obj "load-committed" cb' after

-- signal WebFrame::resource-content-length-received
type WebFrameResourceContentLengthReceivedCallback =
    WebResource ->
    Int32 ->
    IO ()

noWebFrameResourceContentLengthReceivedCallback :: Maybe WebFrameResourceContentLengthReceivedCallback
noWebFrameResourceContentLengthReceivedCallback = Nothing

type WebFrameResourceContentLengthReceivedCallbackC =
    Ptr () ->                               -- object
    Ptr WebResource ->
    Int32 ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkWebFrameResourceContentLengthReceivedCallback :: WebFrameResourceContentLengthReceivedCallbackC -> IO (FunPtr WebFrameResourceContentLengthReceivedCallbackC)

webFrameResourceContentLengthReceivedClosure :: WebFrameResourceContentLengthReceivedCallback -> IO Closure
webFrameResourceContentLengthReceivedClosure cb = newCClosure =<< mkWebFrameResourceContentLengthReceivedCallback wrapped
    where wrapped = webFrameResourceContentLengthReceivedCallbackWrapper cb

webFrameResourceContentLengthReceivedCallbackWrapper ::
    WebFrameResourceContentLengthReceivedCallback ->
    Ptr () ->
    Ptr WebResource ->
    Int32 ->
    Ptr () ->
    IO ()
webFrameResourceContentLengthReceivedCallbackWrapper _cb _ web_resource length_received _ = do
    web_resource' <- (newObject WebResource) web_resource
    _cb  web_resource' length_received

onWebFrameResourceContentLengthReceived :: (GObject a, MonadIO m) => a -> WebFrameResourceContentLengthReceivedCallback -> m SignalHandlerId
onWebFrameResourceContentLengthReceived obj cb = liftIO $ connectWebFrameResourceContentLengthReceived obj cb SignalConnectBefore
afterWebFrameResourceContentLengthReceived :: (GObject a, MonadIO m) => a -> WebFrameResourceContentLengthReceivedCallback -> m SignalHandlerId
afterWebFrameResourceContentLengthReceived obj cb = connectWebFrameResourceContentLengthReceived obj cb SignalConnectAfter

connectWebFrameResourceContentLengthReceived :: (GObject a, MonadIO m) =>
                                                a -> WebFrameResourceContentLengthReceivedCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameResourceContentLengthReceived obj cb after = liftIO $ do
    cb' <- mkWebFrameResourceContentLengthReceivedCallback (webFrameResourceContentLengthReceivedCallbackWrapper cb)
    connectSignalFunPtr obj "resource-content-length-received" cb' after

-- signal WebFrame::resource-load-failed
type WebFrameResourceLoadFailedCallback =
    WebResource ->
    Ptr () ->
    IO ()

noWebFrameResourceLoadFailedCallback :: Maybe WebFrameResourceLoadFailedCallback
noWebFrameResourceLoadFailedCallback = Nothing

type WebFrameResourceLoadFailedCallbackC =
    Ptr () ->                               -- object
    Ptr WebResource ->
    Ptr () ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkWebFrameResourceLoadFailedCallback :: WebFrameResourceLoadFailedCallbackC -> IO (FunPtr WebFrameResourceLoadFailedCallbackC)

webFrameResourceLoadFailedClosure :: WebFrameResourceLoadFailedCallback -> IO Closure
webFrameResourceLoadFailedClosure cb = newCClosure =<< mkWebFrameResourceLoadFailedCallback wrapped
    where wrapped = webFrameResourceLoadFailedCallbackWrapper cb

webFrameResourceLoadFailedCallbackWrapper ::
    WebFrameResourceLoadFailedCallback ->
    Ptr () ->
    Ptr WebResource ->
    Ptr () ->
    Ptr () ->
    IO ()
webFrameResourceLoadFailedCallbackWrapper _cb _ web_resource error_ _ = do
    web_resource' <- (newObject WebResource) web_resource
    _cb  web_resource' error_

onWebFrameResourceLoadFailed :: (GObject a, MonadIO m) => a -> WebFrameResourceLoadFailedCallback -> m SignalHandlerId
onWebFrameResourceLoadFailed obj cb = liftIO $ connectWebFrameResourceLoadFailed obj cb SignalConnectBefore
afterWebFrameResourceLoadFailed :: (GObject a, MonadIO m) => a -> WebFrameResourceLoadFailedCallback -> m SignalHandlerId
afterWebFrameResourceLoadFailed obj cb = connectWebFrameResourceLoadFailed obj cb SignalConnectAfter

connectWebFrameResourceLoadFailed :: (GObject a, MonadIO m) =>
                                     a -> WebFrameResourceLoadFailedCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameResourceLoadFailed obj cb after = liftIO $ do
    cb' <- mkWebFrameResourceLoadFailedCallback (webFrameResourceLoadFailedCallbackWrapper cb)
    connectSignalFunPtr obj "resource-load-failed" cb' after

-- signal WebFrame::resource-load-finished
type WebFrameResourceLoadFinishedCallback =
    WebResource ->
    IO ()

noWebFrameResourceLoadFinishedCallback :: Maybe WebFrameResourceLoadFinishedCallback
noWebFrameResourceLoadFinishedCallback = Nothing

type WebFrameResourceLoadFinishedCallbackC =
    Ptr () ->                               -- object
    Ptr WebResource ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkWebFrameResourceLoadFinishedCallback :: WebFrameResourceLoadFinishedCallbackC -> IO (FunPtr WebFrameResourceLoadFinishedCallbackC)

webFrameResourceLoadFinishedClosure :: WebFrameResourceLoadFinishedCallback -> IO Closure
webFrameResourceLoadFinishedClosure cb = newCClosure =<< mkWebFrameResourceLoadFinishedCallback wrapped
    where wrapped = webFrameResourceLoadFinishedCallbackWrapper cb

webFrameResourceLoadFinishedCallbackWrapper ::
    WebFrameResourceLoadFinishedCallback ->
    Ptr () ->
    Ptr WebResource ->
    Ptr () ->
    IO ()
webFrameResourceLoadFinishedCallbackWrapper _cb _ web_resource _ = do
    web_resource' <- (newObject WebResource) web_resource
    _cb  web_resource'

onWebFrameResourceLoadFinished :: (GObject a, MonadIO m) => a -> WebFrameResourceLoadFinishedCallback -> m SignalHandlerId
onWebFrameResourceLoadFinished obj cb = liftIO $ connectWebFrameResourceLoadFinished obj cb SignalConnectBefore
afterWebFrameResourceLoadFinished :: (GObject a, MonadIO m) => a -> WebFrameResourceLoadFinishedCallback -> m SignalHandlerId
afterWebFrameResourceLoadFinished obj cb = connectWebFrameResourceLoadFinished obj cb SignalConnectAfter

connectWebFrameResourceLoadFinished :: (GObject a, MonadIO m) =>
                                       a -> WebFrameResourceLoadFinishedCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameResourceLoadFinished obj cb after = liftIO $ do
    cb' <- mkWebFrameResourceLoadFinishedCallback (webFrameResourceLoadFinishedCallbackWrapper cb)
    connectSignalFunPtr obj "resource-load-finished" cb' after

-- signal WebFrame::resource-request-starting
type WebFrameResourceRequestStartingCallback =
    WebResource ->
    NetworkRequest ->
    NetworkResponse ->
    IO ()

noWebFrameResourceRequestStartingCallback :: Maybe WebFrameResourceRequestStartingCallback
noWebFrameResourceRequestStartingCallback = Nothing

type WebFrameResourceRequestStartingCallbackC =
    Ptr () ->                               -- object
    Ptr WebResource ->
    Ptr NetworkRequest ->
    Ptr NetworkResponse ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkWebFrameResourceRequestStartingCallback :: WebFrameResourceRequestStartingCallbackC -> IO (FunPtr WebFrameResourceRequestStartingCallbackC)

webFrameResourceRequestStartingClosure :: WebFrameResourceRequestStartingCallback -> IO Closure
webFrameResourceRequestStartingClosure cb = newCClosure =<< mkWebFrameResourceRequestStartingCallback wrapped
    where wrapped = webFrameResourceRequestStartingCallbackWrapper cb

webFrameResourceRequestStartingCallbackWrapper ::
    WebFrameResourceRequestStartingCallback ->
    Ptr () ->
    Ptr WebResource ->
    Ptr NetworkRequest ->
    Ptr NetworkResponse ->
    Ptr () ->
    IO ()
webFrameResourceRequestStartingCallbackWrapper _cb _ web_resource request response _ = do
    web_resource' <- (newObject WebResource) web_resource
    request' <- (newObject NetworkRequest) request
    response' <- (newObject NetworkResponse) response
    _cb  web_resource' request' response'

onWebFrameResourceRequestStarting :: (GObject a, MonadIO m) => a -> WebFrameResourceRequestStartingCallback -> m SignalHandlerId
onWebFrameResourceRequestStarting obj cb = liftIO $ connectWebFrameResourceRequestStarting obj cb SignalConnectBefore
afterWebFrameResourceRequestStarting :: (GObject a, MonadIO m) => a -> WebFrameResourceRequestStartingCallback -> m SignalHandlerId
afterWebFrameResourceRequestStarting obj cb = connectWebFrameResourceRequestStarting obj cb SignalConnectAfter

connectWebFrameResourceRequestStarting :: (GObject a, MonadIO m) =>
                                          a -> WebFrameResourceRequestStartingCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameResourceRequestStarting obj cb after = liftIO $ do
    cb' <- mkWebFrameResourceRequestStartingCallback (webFrameResourceRequestStartingCallbackWrapper cb)
    connectSignalFunPtr obj "resource-request-starting" cb' after

-- signal WebFrame::resource-response-received
type WebFrameResourceResponseReceivedCallback =
    WebResource ->
    NetworkResponse ->
    IO ()

noWebFrameResourceResponseReceivedCallback :: Maybe WebFrameResourceResponseReceivedCallback
noWebFrameResourceResponseReceivedCallback = Nothing

type WebFrameResourceResponseReceivedCallbackC =
    Ptr () ->                               -- object
    Ptr WebResource ->
    Ptr NetworkResponse ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkWebFrameResourceResponseReceivedCallback :: WebFrameResourceResponseReceivedCallbackC -> IO (FunPtr WebFrameResourceResponseReceivedCallbackC)

webFrameResourceResponseReceivedClosure :: WebFrameResourceResponseReceivedCallback -> IO Closure
webFrameResourceResponseReceivedClosure cb = newCClosure =<< mkWebFrameResourceResponseReceivedCallback wrapped
    where wrapped = webFrameResourceResponseReceivedCallbackWrapper cb

webFrameResourceResponseReceivedCallbackWrapper ::
    WebFrameResourceResponseReceivedCallback ->
    Ptr () ->
    Ptr WebResource ->
    Ptr NetworkResponse ->
    Ptr () ->
    IO ()
webFrameResourceResponseReceivedCallbackWrapper _cb _ web_resource response _ = do
    web_resource' <- (newObject WebResource) web_resource
    response' <- (newObject NetworkResponse) response
    _cb  web_resource' response'

onWebFrameResourceResponseReceived :: (GObject a, MonadIO m) => a -> WebFrameResourceResponseReceivedCallback -> m SignalHandlerId
onWebFrameResourceResponseReceived obj cb = liftIO $ connectWebFrameResourceResponseReceived obj cb SignalConnectBefore
afterWebFrameResourceResponseReceived :: (GObject a, MonadIO m) => a -> WebFrameResourceResponseReceivedCallback -> m SignalHandlerId
afterWebFrameResourceResponseReceived obj cb = connectWebFrameResourceResponseReceived obj cb SignalConnectAfter

connectWebFrameResourceResponseReceived :: (GObject a, MonadIO m) =>
                                           a -> WebFrameResourceResponseReceivedCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameResourceResponseReceived obj cb after = liftIO $ do
    cb' <- mkWebFrameResourceResponseReceivedCallback (webFrameResourceResponseReceivedCallbackWrapper cb)
    connectSignalFunPtr obj "resource-response-received" cb' after

-- signal WebFrame::scrollbars-policy-changed
type WebFrameScrollbarsPolicyChangedCallback =
    IO Bool

noWebFrameScrollbarsPolicyChangedCallback :: Maybe WebFrameScrollbarsPolicyChangedCallback
noWebFrameScrollbarsPolicyChangedCallback = Nothing

type WebFrameScrollbarsPolicyChangedCallbackC =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO CInt

foreign import ccall "wrapper"
    mkWebFrameScrollbarsPolicyChangedCallback :: WebFrameScrollbarsPolicyChangedCallbackC -> IO (FunPtr WebFrameScrollbarsPolicyChangedCallbackC)

webFrameScrollbarsPolicyChangedClosure :: WebFrameScrollbarsPolicyChangedCallback -> IO Closure
webFrameScrollbarsPolicyChangedClosure cb = newCClosure =<< mkWebFrameScrollbarsPolicyChangedCallback wrapped
    where wrapped = webFrameScrollbarsPolicyChangedCallbackWrapper cb

webFrameScrollbarsPolicyChangedCallbackWrapper ::
    WebFrameScrollbarsPolicyChangedCallback ->
    Ptr () ->
    Ptr () ->
    IO CInt
webFrameScrollbarsPolicyChangedCallbackWrapper _cb _ _ = do
    result <- _cb 
    let result' = (fromIntegral . fromEnum) result
    return result'

onWebFrameScrollbarsPolicyChanged :: (GObject a, MonadIO m) => a -> WebFrameScrollbarsPolicyChangedCallback -> m SignalHandlerId
onWebFrameScrollbarsPolicyChanged obj cb = liftIO $ connectWebFrameScrollbarsPolicyChanged obj cb SignalConnectBefore
afterWebFrameScrollbarsPolicyChanged :: (GObject a, MonadIO m) => a -> WebFrameScrollbarsPolicyChangedCallback -> m SignalHandlerId
afterWebFrameScrollbarsPolicyChanged obj cb = connectWebFrameScrollbarsPolicyChanged obj cb SignalConnectAfter

connectWebFrameScrollbarsPolicyChanged :: (GObject a, MonadIO m) =>
                                          a -> WebFrameScrollbarsPolicyChangedCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameScrollbarsPolicyChanged obj cb after = liftIO $ do
    cb' <- mkWebFrameScrollbarsPolicyChangedCallback (webFrameScrollbarsPolicyChangedCallbackWrapper cb)
    connectSignalFunPtr obj "scrollbars-policy-changed" cb' after

-- signal WebFrame::title-changed
type WebFrameTitleChangedCallback =
    T.Text ->
    IO ()

noWebFrameTitleChangedCallback :: Maybe WebFrameTitleChangedCallback
noWebFrameTitleChangedCallback = Nothing

type WebFrameTitleChangedCallbackC =
    Ptr () ->                               -- object
    CString ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mkWebFrameTitleChangedCallback :: WebFrameTitleChangedCallbackC -> IO (FunPtr WebFrameTitleChangedCallbackC)

webFrameTitleChangedClosure :: WebFrameTitleChangedCallback -> IO Closure
webFrameTitleChangedClosure cb = newCClosure =<< mkWebFrameTitleChangedCallback wrapped
    where wrapped = webFrameTitleChangedCallbackWrapper cb

webFrameTitleChangedCallbackWrapper ::
    WebFrameTitleChangedCallback ->
    Ptr () ->
    CString ->
    Ptr () ->
    IO ()
webFrameTitleChangedCallbackWrapper _cb _ title _ = do
    title' <- cstringToText title
    _cb  title'

onWebFrameTitleChanged :: (GObject a, MonadIO m) => a -> WebFrameTitleChangedCallback -> m SignalHandlerId
onWebFrameTitleChanged obj cb = liftIO $ connectWebFrameTitleChanged obj cb SignalConnectBefore
afterWebFrameTitleChanged :: (GObject a, MonadIO m) => a -> WebFrameTitleChangedCallback -> m SignalHandlerId
afterWebFrameTitleChanged obj cb = connectWebFrameTitleChanged obj cb SignalConnectAfter

connectWebFrameTitleChanged :: (GObject a, MonadIO m) =>
                               a -> WebFrameTitleChangedCallback -> SignalConnectMode -> m SignalHandlerId
connectWebFrameTitleChanged obj cb after = liftIO $ do
    cb' <- mkWebFrameTitleChangedCallback (webFrameTitleChangedCallbackWrapper cb)
    connectSignalFunPtr obj "title-changed" cb' after

-- VVV Prop "horizontal-scrollbar-policy"
   -- Type: TInterface "Gtk" "PolicyType"
   -- Flags: [PropertyReadable]

getWebFrameHorizontalScrollbarPolicy :: (MonadIO m, WebFrameK o) => o -> m Gtk.PolicyType
getWebFrameHorizontalScrollbarPolicy obj = liftIO $ getObjectPropertyEnum obj "horizontal-scrollbar-policy"

data WebFrameHorizontalScrollbarPolicyPropertyInfo
instance AttrInfo WebFrameHorizontalScrollbarPolicyPropertyInfo where
    type AttrAllowedOps WebFrameHorizontalScrollbarPolicyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint WebFrameHorizontalScrollbarPolicyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint WebFrameHorizontalScrollbarPolicyPropertyInfo = WebFrameK
    type AttrGetType WebFrameHorizontalScrollbarPolicyPropertyInfo = Gtk.PolicyType
    type AttrLabel WebFrameHorizontalScrollbarPolicyPropertyInfo = "WebFrame::horizontal-scrollbar-policy"
    attrGet _ = getWebFrameHorizontalScrollbarPolicy
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "load-status"
   -- Type: TInterface "WebKit" "LoadStatus"
   -- Flags: [PropertyReadable]

getWebFrameLoadStatus :: (MonadIO m, WebFrameK o) => o -> m LoadStatus
getWebFrameLoadStatus obj = liftIO $ getObjectPropertyEnum obj "load-status"

data WebFrameLoadStatusPropertyInfo
instance AttrInfo WebFrameLoadStatusPropertyInfo where
    type AttrAllowedOps WebFrameLoadStatusPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint WebFrameLoadStatusPropertyInfo = (~) ()
    type AttrBaseTypeConstraint WebFrameLoadStatusPropertyInfo = WebFrameK
    type AttrGetType WebFrameLoadStatusPropertyInfo = LoadStatus
    type AttrLabel WebFrameLoadStatusPropertyInfo = "WebFrame::load-status"
    attrGet _ = getWebFrameLoadStatus
    attrSet _ = undefined
    attrConstruct _ = undefined

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

getWebFrameName :: (MonadIO m, WebFrameK o) => o -> m T.Text
getWebFrameName obj = liftIO $ getObjectPropertyString obj "name"

data WebFrameNamePropertyInfo
instance AttrInfo WebFrameNamePropertyInfo where
    type AttrAllowedOps WebFrameNamePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint WebFrameNamePropertyInfo = (~) ()
    type AttrBaseTypeConstraint WebFrameNamePropertyInfo = WebFrameK
    type AttrGetType WebFrameNamePropertyInfo = T.Text
    type AttrLabel WebFrameNamePropertyInfo = "WebFrame::name"
    attrGet _ = getWebFrameName
    attrSet _ = undefined
    attrConstruct _ = undefined

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

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

data WebFrameTitlePropertyInfo
instance AttrInfo WebFrameTitlePropertyInfo where
    type AttrAllowedOps WebFrameTitlePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint WebFrameTitlePropertyInfo = (~) ()
    type AttrBaseTypeConstraint WebFrameTitlePropertyInfo = WebFrameK
    type AttrGetType WebFrameTitlePropertyInfo = T.Text
    type AttrLabel WebFrameTitlePropertyInfo = "WebFrame::title"
    attrGet _ = getWebFrameTitle
    attrSet _ = undefined
    attrConstruct _ = undefined

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

getWebFrameUri :: (MonadIO m, WebFrameK o) => o -> m T.Text
getWebFrameUri obj = liftIO $ getObjectPropertyString obj "uri"

data WebFrameUriPropertyInfo
instance AttrInfo WebFrameUriPropertyInfo where
    type AttrAllowedOps WebFrameUriPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint WebFrameUriPropertyInfo = (~) ()
    type AttrBaseTypeConstraint WebFrameUriPropertyInfo = WebFrameK
    type AttrGetType WebFrameUriPropertyInfo = T.Text
    type AttrLabel WebFrameUriPropertyInfo = "WebFrame::uri"
    attrGet _ = getWebFrameUri
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "vertical-scrollbar-policy"
   -- Type: TInterface "Gtk" "PolicyType"
   -- Flags: [PropertyReadable]

getWebFrameVerticalScrollbarPolicy :: (MonadIO m, WebFrameK o) => o -> m Gtk.PolicyType
getWebFrameVerticalScrollbarPolicy obj = liftIO $ getObjectPropertyEnum obj "vertical-scrollbar-policy"

data WebFrameVerticalScrollbarPolicyPropertyInfo
instance AttrInfo WebFrameVerticalScrollbarPolicyPropertyInfo where
    type AttrAllowedOps WebFrameVerticalScrollbarPolicyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint WebFrameVerticalScrollbarPolicyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint WebFrameVerticalScrollbarPolicyPropertyInfo = WebFrameK
    type AttrGetType WebFrameVerticalScrollbarPolicyPropertyInfo = Gtk.PolicyType
    type AttrLabel WebFrameVerticalScrollbarPolicyPropertyInfo = "WebFrame::vertical-scrollbar-policy"
    attrGet _ = getWebFrameVerticalScrollbarPolicy
    attrSet _ = undefined
    attrConstruct _ = undefined

type instance AttributeList WebFrame = WebFrameAttributeList
type WebFrameAttributeList = ('[ '("horizontal-scrollbar-policy", WebFrameHorizontalScrollbarPolicyPropertyInfo), '("load-status", WebFrameLoadStatusPropertyInfo), '("name", WebFrameNamePropertyInfo), '("title", WebFrameTitlePropertyInfo), '("uri", WebFrameUriPropertyInfo), '("vertical-scrollbar-policy", WebFrameVerticalScrollbarPolicyPropertyInfo)] :: [(Symbol, *)])

data WebFrameClearedSignalInfo
instance SignalInfo WebFrameClearedSignalInfo where
    type HaskellCallbackType WebFrameClearedSignalInfo = WebFrameClearedCallback
    connectSignal _ = connectWebFrameCleared

data WebFrameHoveringOverLinkSignalInfo
instance SignalInfo WebFrameHoveringOverLinkSignalInfo where
    type HaskellCallbackType WebFrameHoveringOverLinkSignalInfo = WebFrameHoveringOverLinkCallback
    connectSignal _ = connectWebFrameHoveringOverLink

data WebFrameInsecureContentRunSignalInfo
instance SignalInfo WebFrameInsecureContentRunSignalInfo where
    type HaskellCallbackType WebFrameInsecureContentRunSignalInfo = WebFrameInsecureContentRunCallback
    connectSignal _ = connectWebFrameInsecureContentRun

data WebFrameLoadCommittedSignalInfo
instance SignalInfo WebFrameLoadCommittedSignalInfo where
    type HaskellCallbackType WebFrameLoadCommittedSignalInfo = WebFrameLoadCommittedCallback
    connectSignal _ = connectWebFrameLoadCommitted

data WebFrameResourceContentLengthReceivedSignalInfo
instance SignalInfo WebFrameResourceContentLengthReceivedSignalInfo where
    type HaskellCallbackType WebFrameResourceContentLengthReceivedSignalInfo = WebFrameResourceContentLengthReceivedCallback
    connectSignal _ = connectWebFrameResourceContentLengthReceived

data WebFrameResourceLoadFailedSignalInfo
instance SignalInfo WebFrameResourceLoadFailedSignalInfo where
    type HaskellCallbackType WebFrameResourceLoadFailedSignalInfo = WebFrameResourceLoadFailedCallback
    connectSignal _ = connectWebFrameResourceLoadFailed

data WebFrameResourceLoadFinishedSignalInfo
instance SignalInfo WebFrameResourceLoadFinishedSignalInfo where
    type HaskellCallbackType WebFrameResourceLoadFinishedSignalInfo = WebFrameResourceLoadFinishedCallback
    connectSignal _ = connectWebFrameResourceLoadFinished

data WebFrameResourceRequestStartingSignalInfo
instance SignalInfo WebFrameResourceRequestStartingSignalInfo where
    type HaskellCallbackType WebFrameResourceRequestStartingSignalInfo = WebFrameResourceRequestStartingCallback
    connectSignal _ = connectWebFrameResourceRequestStarting

data WebFrameResourceResponseReceivedSignalInfo
instance SignalInfo WebFrameResourceResponseReceivedSignalInfo where
    type HaskellCallbackType WebFrameResourceResponseReceivedSignalInfo = WebFrameResourceResponseReceivedCallback
    connectSignal _ = connectWebFrameResourceResponseReceived

data WebFrameScrollbarsPolicyChangedSignalInfo
instance SignalInfo WebFrameScrollbarsPolicyChangedSignalInfo where
    type HaskellCallbackType WebFrameScrollbarsPolicyChangedSignalInfo = WebFrameScrollbarsPolicyChangedCallback
    connectSignal _ = connectWebFrameScrollbarsPolicyChanged

data WebFrameTitleChangedSignalInfo
instance SignalInfo WebFrameTitleChangedSignalInfo where
    type HaskellCallbackType WebFrameTitleChangedSignalInfo = WebFrameTitleChangedCallback
    connectSignal _ = connectWebFrameTitleChanged

type instance SignalList WebFrame = WebFrameSignalList
type WebFrameSignalList = ('[ '("cleared", WebFrameClearedSignalInfo), '("hovering-over-link", WebFrameHoveringOverLinkSignalInfo), '("insecure-content-run", WebFrameInsecureContentRunSignalInfo), '("load-committed", WebFrameLoadCommittedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("resource-content-length-received", WebFrameResourceContentLengthReceivedSignalInfo), '("resource-load-failed", WebFrameResourceLoadFailedSignalInfo), '("resource-load-finished", WebFrameResourceLoadFinishedSignalInfo), '("resource-request-starting", WebFrameResourceRequestStartingSignalInfo), '("resource-response-received", WebFrameResourceResponseReceivedSignalInfo), '("scrollbars-policy-changed", WebFrameScrollbarsPolicyChangedSignalInfo), '("title-changed", WebFrameTitleChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method WebFrame::new
-- method type : Constructor
-- Args : [Arg {argName = "web_view", argType = TInterface "WebKit" "WebView", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "web_view", argType = TInterface "WebKit" "WebView", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "WebFrame"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_web_frame_new" webkit_web_frame_new :: 
    Ptr WebView ->                          -- web_view : TInterface "WebKit" "WebView"
    IO (Ptr WebFrame)

{-# DEPRECATED webFrameNew ["(Since version 1.0.2)","#WebKitWebFrame can only be used to inspect existing","frames."]#-}
webFrameNew ::
    (MonadIO m, WebViewK a) =>
    a ->                                    -- web_view
    m WebFrame
webFrameNew web_view = liftIO $ do
    let web_view' = unsafeManagedPtrCastPtr web_view
    result <- webkit_web_frame_new web_view'
    checkUnexpectedReturnNULL "webkit_web_frame_new" result
    result' <- (wrapObject WebFrame) result
    touchManagedPtr web_view
    return result'

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

foreign import ccall "webkit_web_frame_find_frame" webkit_web_frame_find_frame :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    CString ->                              -- name : TBasicType TUTF8
    IO (Ptr WebFrame)


webFrameFindFrame ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- name
    m WebFrame
webFrameFindFrame _obj name = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    name' <- textToCString name
    result <- webkit_web_frame_find_frame _obj' name'
    checkUnexpectedReturnNULL "webkit_web_frame_find_frame" result
    result' <- (newObject WebFrame) result
    touchManagedPtr _obj
    freeMem name'
    return result'

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

foreign import ccall "webkit_web_frame_get_data_source" webkit_web_frame_get_data_source :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO (Ptr WebDataSource)


webFrameGetDataSource ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m WebDataSource
webFrameGetDataSource _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_data_source _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_data_source" result
    result' <- (newObject WebDataSource) result
    touchManagedPtr _obj
    return result'

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

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


webFrameGetDomDocument ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m DOMDocument
webFrameGetDomDocument _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_dom_document _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_dom_document" result
    result' <- (newObject DOMDocument) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_global_context" webkit_web_frame_get_global_context :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO (Ptr JavaScriptCore.GlobalContext)


webFrameGetGlobalContext ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m JavaScriptCore.GlobalContext
webFrameGetGlobalContext _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_global_context _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_global_context" result
    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
    result' <- (\x -> JavaScriptCore.GlobalContext <$> newForeignPtr_ x) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_horizontal_scrollbar_policy" webkit_web_frame_get_horizontal_scrollbar_policy :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO CUInt


webFrameGetHorizontalScrollbarPolicy ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m Gtk.PolicyType
webFrameGetHorizontalScrollbarPolicy _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_horizontal_scrollbar_policy _obj'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_load_status" webkit_web_frame_get_load_status :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO CUInt


webFrameGetLoadStatus ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m LoadStatus
webFrameGetLoadStatus _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_load_status _obj'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_name" webkit_web_frame_get_name :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO CString


webFrameGetName ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m T.Text
webFrameGetName _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_name _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_name" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_network_response" webkit_web_frame_get_network_response :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO (Ptr NetworkResponse)


webFrameGetNetworkResponse ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m NetworkResponse
webFrameGetNetworkResponse _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_network_response _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_network_response" result
    result' <- (wrapObject NetworkResponse) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_parent" webkit_web_frame_get_parent :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO (Ptr WebFrame)


webFrameGetParent ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m WebFrame
webFrameGetParent _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_parent _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_parent" result
    result' <- (newObject WebFrame) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_provisional_data_source" webkit_web_frame_get_provisional_data_source :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO (Ptr WebDataSource)


webFrameGetProvisionalDataSource ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m WebDataSource
webFrameGetProvisionalDataSource _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_provisional_data_source _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_provisional_data_source" result
    result' <- (newObject WebDataSource) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_range_for_word_around_caret" webkit_web_frame_get_range_for_word_around_caret :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO (Ptr DOMRange)


webFrameGetRangeForWordAroundCaret ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m DOMRange
webFrameGetRangeForWordAroundCaret _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_range_for_word_around_caret _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_range_for_word_around_caret" result
    result' <- (newObject DOMRange) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_security_origin" webkit_web_frame_get_security_origin :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO (Ptr SecurityOrigin)


webFrameGetSecurityOrigin ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m SecurityOrigin
webFrameGetSecurityOrigin _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_security_origin _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_security_origin" result
    result' <- (newObject SecurityOrigin) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_title" webkit_web_frame_get_title :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO CString


webFrameGetTitle ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m T.Text
webFrameGetTitle _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_title _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_title" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_uri" webkit_web_frame_get_uri :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO CString


webFrameGetUri ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m T.Text
webFrameGetUri _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_uri _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_uri" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_vertical_scrollbar_policy" webkit_web_frame_get_vertical_scrollbar_policy :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO CUInt


webFrameGetVerticalScrollbarPolicy ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m Gtk.PolicyType
webFrameGetVerticalScrollbarPolicy _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_vertical_scrollbar_policy _obj'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_get_web_view" webkit_web_frame_get_web_view :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO (Ptr WebView)


webFrameGetWebView ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m WebView
webFrameGetWebView _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_frame_get_web_view _obj'
    checkUnexpectedReturnNULL "webkit_web_frame_get_web_view" result
    result' <- (newObject WebView) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_web_frame_load_alternate_string" webkit_web_frame_load_alternate_string :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    CString ->                              -- content : TBasicType TUTF8
    CString ->                              -- base_url : TBasicType TUTF8
    CString ->                              -- unreachable_url : TBasicType TUTF8
    IO ()


webFrameLoadAlternateString ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- content
    T.Text ->                               -- base_url
    T.Text ->                               -- unreachable_url
    m ()
webFrameLoadAlternateString _obj content base_url unreachable_url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    content' <- textToCString content
    base_url' <- textToCString base_url
    unreachable_url' <- textToCString unreachable_url
    webkit_web_frame_load_alternate_string _obj' content' base_url' unreachable_url'
    touchManagedPtr _obj
    freeMem content'
    freeMem base_url'
    freeMem unreachable_url'
    return ()

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

foreign import ccall "webkit_web_frame_load_request" webkit_web_frame_load_request :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    Ptr NetworkRequest ->                   -- request : TInterface "WebKit" "NetworkRequest"
    IO ()


webFrameLoadRequest ::
    (MonadIO m, WebFrameK a, NetworkRequestK b) =>
    a ->                                    -- _obj
    b ->                                    -- request
    m ()
webFrameLoadRequest _obj request = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let request' = unsafeManagedPtrCastPtr request
    webkit_web_frame_load_request _obj' request'
    touchManagedPtr _obj
    touchManagedPtr request
    return ()

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

foreign import ccall "webkit_web_frame_load_string" webkit_web_frame_load_string :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    CString ->                              -- content : TBasicType TUTF8
    CString ->                              -- mime_type : TBasicType TUTF8
    CString ->                              -- encoding : TBasicType TUTF8
    CString ->                              -- base_uri : TBasicType TUTF8
    IO ()


webFrameLoadString ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- content
    T.Text ->                               -- mime_type
    T.Text ->                               -- encoding
    T.Text ->                               -- base_uri
    m ()
webFrameLoadString _obj content mime_type encoding base_uri = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    content' <- textToCString content
    mime_type' <- textToCString mime_type
    encoding' <- textToCString encoding
    base_uri' <- textToCString base_uri
    webkit_web_frame_load_string _obj' content' mime_type' encoding' base_uri'
    touchManagedPtr _obj
    freeMem content'
    freeMem mime_type'
    freeMem encoding'
    freeMem base_uri'
    return ()

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

foreign import ccall "webkit_web_frame_load_uri" webkit_web_frame_load_uri :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    CString ->                              -- uri : TBasicType TUTF8
    IO ()


webFrameLoadUri ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- uri
    m ()
webFrameLoadUri _obj uri = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    uri' <- textToCString uri
    webkit_web_frame_load_uri _obj' uri'
    touchManagedPtr _obj
    freeMem uri'
    return ()

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

foreign import ccall "webkit_web_frame_print" webkit_web_frame_print :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO ()


webFramePrint ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m ()
webFramePrint _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_web_frame_print _obj'
    touchManagedPtr _obj
    return ()

-- method WebFrame::print_full
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "WebFrame", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "operation", argType = TInterface "Gtk" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action", argType = TInterface "Gtk" "PrintOperationAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "WebFrame", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "operation", argType = TInterface "Gtk" "PrintOperation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action", argType = TInterface "Gtk" "PrintOperationAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "PrintOperationResult"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_web_frame_print_full" webkit_web_frame_print_full :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    Ptr Gtk.PrintOperation ->               -- operation : TInterface "Gtk" "PrintOperation"
    CUInt ->                                -- action : TInterface "Gtk" "PrintOperationAction"
    Ptr (Ptr GError) ->                     -- error
    IO CUInt


webFramePrintFull ::
    (MonadIO m, WebFrameK a, Gtk.PrintOperationK b) =>
    a ->                                    -- _obj
    b ->                                    -- operation
    Gtk.PrintOperationAction ->             -- action
    m Gtk.PrintOperationResult
webFramePrintFull _obj operation action = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let operation' = unsafeManagedPtrCastPtr operation
    let action' = (fromIntegral . fromEnum) action
    onException (do
        result <- propagateGError $ webkit_web_frame_print_full _obj' operation' action'
        let result' = (toEnum . fromIntegral) result
        touchManagedPtr _obj
        touchManagedPtr operation
        return result'
     ) (do
        return ()
     )

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

foreign import ccall "webkit_web_frame_reload" webkit_web_frame_reload :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO ()


webFrameReload ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m ()
webFrameReload _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_web_frame_reload _obj'
    touchManagedPtr _obj
    return ()

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

foreign import ccall "webkit_web_frame_replace_selection" webkit_web_frame_replace_selection :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    CString ->                              -- text : TBasicType TUTF8
    IO ()


webFrameReplaceSelection ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- text
    m ()
webFrameReplaceSelection _obj text = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    text' <- textToCString text
    webkit_web_frame_replace_selection _obj' text'
    touchManagedPtr _obj
    freeMem text'
    return ()

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

foreign import ccall "webkit_web_frame_stop_loading" webkit_web_frame_stop_loading :: 
    Ptr WebFrame ->                         -- _obj : TInterface "WebKit" "WebFrame"
    IO ()


webFrameStopLoading ::
    (MonadIO m, WebFrameK a) =>
    a ->                                    -- _obj
    m ()
webFrameStopLoading _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_web_frame_stop_loading _obj'
    touchManagedPtr _obj
    return ()