module GI.WebKit2WebExtension.Objects.WebPage
(
WebPage(..) ,
WebPageK ,
toWebPage ,
noWebPage ,
webPageGetDomDocument ,
webPageGetEditor ,
webPageGetId ,
webPageGetMainFrame ,
webPageGetUri ,
WebPageUriPropertyInfo ,
getWebPageUri ,
WebPageContextMenuCallback ,
WebPageContextMenuCallbackC ,
WebPageContextMenuSignalInfo ,
afterWebPageContextMenu ,
mkWebPageContextMenuCallback ,
noWebPageContextMenuCallback ,
onWebPageContextMenu ,
webPageContextMenuCallbackWrapper ,
webPageContextMenuClosure ,
WebPageDocumentLoadedCallback ,
WebPageDocumentLoadedCallbackC ,
WebPageDocumentLoadedSignalInfo ,
afterWebPageDocumentLoaded ,
mkWebPageDocumentLoadedCallback ,
noWebPageDocumentLoadedCallback ,
onWebPageDocumentLoaded ,
webPageDocumentLoadedCallbackWrapper ,
webPageDocumentLoadedClosure ,
WebPageSendRequestCallback ,
WebPageSendRequestCallbackC ,
WebPageSendRequestSignalInfo ,
afterWebPageSendRequest ,
mkWebPageSendRequestCallback ,
noWebPageSendRequestCallback ,
onWebPageSendRequest ,
webPageSendRequestCallbackWrapper ,
webPageSendRequestClosure ,
) 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.WebKit2WebExtension.Types
import GI.WebKit2WebExtension.Callbacks
import qualified GI.GObject as GObject
newtype WebPage = WebPage (ForeignPtr WebPage)
foreign import ccall "webkit_web_page_get_type"
c_webkit_web_page_get_type :: IO GType
type instance ParentTypes WebPage = WebPageParentTypes
type WebPageParentTypes = '[GObject.Object]
instance GObject WebPage where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_webkit_web_page_get_type
class GObject o => WebPageK o
instance (GObject o, IsDescendantOf WebPage o) => WebPageK o
toWebPage :: WebPageK o => o -> IO WebPage
toWebPage = unsafeCastTo WebPage
noWebPage :: Maybe WebPage
noWebPage = Nothing
type WebPageContextMenuCallback =
ContextMenu ->
WebHitTestResult ->
IO Bool
noWebPageContextMenuCallback :: Maybe WebPageContextMenuCallback
noWebPageContextMenuCallback = Nothing
type WebPageContextMenuCallbackC =
Ptr () ->
Ptr ContextMenu ->
Ptr WebHitTestResult ->
Ptr () ->
IO CInt
foreign import ccall "wrapper"
mkWebPageContextMenuCallback :: WebPageContextMenuCallbackC -> IO (FunPtr WebPageContextMenuCallbackC)
webPageContextMenuClosure :: WebPageContextMenuCallback -> IO Closure
webPageContextMenuClosure cb = newCClosure =<< mkWebPageContextMenuCallback wrapped
where wrapped = webPageContextMenuCallbackWrapper cb
webPageContextMenuCallbackWrapper ::
WebPageContextMenuCallback ->
Ptr () ->
Ptr ContextMenu ->
Ptr WebHitTestResult ->
Ptr () ->
IO CInt
webPageContextMenuCallbackWrapper _cb _ context_menu hit_test_result _ = do
context_menu' <- (newObject ContextMenu) context_menu
hit_test_result' <- (newObject WebHitTestResult) hit_test_result
result <- _cb context_menu' hit_test_result'
let result' = (fromIntegral . fromEnum) result
return result'
onWebPageContextMenu :: (GObject a, MonadIO m) => a -> WebPageContextMenuCallback -> m SignalHandlerId
onWebPageContextMenu obj cb = liftIO $ connectWebPageContextMenu obj cb SignalConnectBefore
afterWebPageContextMenu :: (GObject a, MonadIO m) => a -> WebPageContextMenuCallback -> m SignalHandlerId
afterWebPageContextMenu obj cb = connectWebPageContextMenu obj cb SignalConnectAfter
connectWebPageContextMenu :: (GObject a, MonadIO m) =>
a -> WebPageContextMenuCallback -> SignalConnectMode -> m SignalHandlerId
connectWebPageContextMenu obj cb after = liftIO $ do
cb' <- mkWebPageContextMenuCallback (webPageContextMenuCallbackWrapper cb)
connectSignalFunPtr obj "context-menu" cb' after
type WebPageDocumentLoadedCallback =
IO ()
noWebPageDocumentLoadedCallback :: Maybe WebPageDocumentLoadedCallback
noWebPageDocumentLoadedCallback = Nothing
type WebPageDocumentLoadedCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkWebPageDocumentLoadedCallback :: WebPageDocumentLoadedCallbackC -> IO (FunPtr WebPageDocumentLoadedCallbackC)
webPageDocumentLoadedClosure :: WebPageDocumentLoadedCallback -> IO Closure
webPageDocumentLoadedClosure cb = newCClosure =<< mkWebPageDocumentLoadedCallback wrapped
where wrapped = webPageDocumentLoadedCallbackWrapper cb
webPageDocumentLoadedCallbackWrapper ::
WebPageDocumentLoadedCallback ->
Ptr () ->
Ptr () ->
IO ()
webPageDocumentLoadedCallbackWrapper _cb _ _ = do
_cb
onWebPageDocumentLoaded :: (GObject a, MonadIO m) => a -> WebPageDocumentLoadedCallback -> m SignalHandlerId
onWebPageDocumentLoaded obj cb = liftIO $ connectWebPageDocumentLoaded obj cb SignalConnectBefore
afterWebPageDocumentLoaded :: (GObject a, MonadIO m) => a -> WebPageDocumentLoadedCallback -> m SignalHandlerId
afterWebPageDocumentLoaded obj cb = connectWebPageDocumentLoaded obj cb SignalConnectAfter
connectWebPageDocumentLoaded :: (GObject a, MonadIO m) =>
a -> WebPageDocumentLoadedCallback -> SignalConnectMode -> m SignalHandlerId
connectWebPageDocumentLoaded obj cb after = liftIO $ do
cb' <- mkWebPageDocumentLoadedCallback (webPageDocumentLoadedCallbackWrapper cb)
connectSignalFunPtr obj "document-loaded" cb' after
type WebPageSendRequestCallback =
URIRequest ->
URIResponse ->
IO Bool
noWebPageSendRequestCallback :: Maybe WebPageSendRequestCallback
noWebPageSendRequestCallback = Nothing
type WebPageSendRequestCallbackC =
Ptr () ->
Ptr URIRequest ->
Ptr URIResponse ->
Ptr () ->
IO CInt
foreign import ccall "wrapper"
mkWebPageSendRequestCallback :: WebPageSendRequestCallbackC -> IO (FunPtr WebPageSendRequestCallbackC)
webPageSendRequestClosure :: WebPageSendRequestCallback -> IO Closure
webPageSendRequestClosure cb = newCClosure =<< mkWebPageSendRequestCallback wrapped
where wrapped = webPageSendRequestCallbackWrapper cb
webPageSendRequestCallbackWrapper ::
WebPageSendRequestCallback ->
Ptr () ->
Ptr URIRequest ->
Ptr URIResponse ->
Ptr () ->
IO CInt
webPageSendRequestCallbackWrapper _cb _ request redirected_response _ = do
request' <- (newObject URIRequest) request
redirected_response' <- (newObject URIResponse) redirected_response
result <- _cb request' redirected_response'
let result' = (fromIntegral . fromEnum) result
return result'
onWebPageSendRequest :: (GObject a, MonadIO m) => a -> WebPageSendRequestCallback -> m SignalHandlerId
onWebPageSendRequest obj cb = liftIO $ connectWebPageSendRequest obj cb SignalConnectBefore
afterWebPageSendRequest :: (GObject a, MonadIO m) => a -> WebPageSendRequestCallback -> m SignalHandlerId
afterWebPageSendRequest obj cb = connectWebPageSendRequest obj cb SignalConnectAfter
connectWebPageSendRequest :: (GObject a, MonadIO m) =>
a -> WebPageSendRequestCallback -> SignalConnectMode -> m SignalHandlerId
connectWebPageSendRequest obj cb after = liftIO $ do
cb' <- mkWebPageSendRequestCallback (webPageSendRequestCallbackWrapper cb)
connectSignalFunPtr obj "send-request" cb' after
getWebPageUri :: (MonadIO m, WebPageK o) => o -> m T.Text
getWebPageUri obj = liftIO $ getObjectPropertyString obj "uri"
data WebPageUriPropertyInfo
instance AttrInfo WebPageUriPropertyInfo where
type AttrAllowedOps WebPageUriPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint WebPageUriPropertyInfo = (~) ()
type AttrBaseTypeConstraint WebPageUriPropertyInfo = WebPageK
type AttrGetType WebPageUriPropertyInfo = T.Text
type AttrLabel WebPageUriPropertyInfo = "WebPage::uri"
attrGet _ = getWebPageUri
attrSet _ = undefined
attrConstruct _ = undefined
type instance AttributeList WebPage = WebPageAttributeList
type WebPageAttributeList = ('[ '("uri", WebPageUriPropertyInfo)] :: [(Symbol, *)])
data WebPageContextMenuSignalInfo
instance SignalInfo WebPageContextMenuSignalInfo where
type HaskellCallbackType WebPageContextMenuSignalInfo = WebPageContextMenuCallback
connectSignal _ = connectWebPageContextMenu
data WebPageDocumentLoadedSignalInfo
instance SignalInfo WebPageDocumentLoadedSignalInfo where
type HaskellCallbackType WebPageDocumentLoadedSignalInfo = WebPageDocumentLoadedCallback
connectSignal _ = connectWebPageDocumentLoaded
data WebPageSendRequestSignalInfo
instance SignalInfo WebPageSendRequestSignalInfo where
type HaskellCallbackType WebPageSendRequestSignalInfo = WebPageSendRequestCallback
connectSignal _ = connectWebPageSendRequest
type instance SignalList WebPage = WebPageSignalList
type WebPageSignalList = ('[ '("context-menu", WebPageContextMenuSignalInfo), '("document-loaded", WebPageDocumentLoadedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("send-request", WebPageSendRequestSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "webkit_web_page_get_dom_document" webkit_web_page_get_dom_document ::
Ptr WebPage ->
IO (Ptr DOMDocument)
webPageGetDomDocument ::
(MonadIO m, WebPageK a) =>
a ->
m DOMDocument
webPageGetDomDocument _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_web_page_get_dom_document _obj'
checkUnexpectedReturnNULL "webkit_web_page_get_dom_document" result
result' <- (newObject DOMDocument) result
touchManagedPtr _obj
return result'
foreign import ccall "webkit_web_page_get_editor" webkit_web_page_get_editor ::
Ptr WebPage ->
IO (Ptr WebEditor)
webPageGetEditor ::
(MonadIO m, WebPageK a) =>
a ->
m WebEditor
webPageGetEditor _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_web_page_get_editor _obj'
checkUnexpectedReturnNULL "webkit_web_page_get_editor" result
result' <- (newObject WebEditor) result
touchManagedPtr _obj
return result'
foreign import ccall "webkit_web_page_get_id" webkit_web_page_get_id ::
Ptr WebPage ->
IO Word64
webPageGetId ::
(MonadIO m, WebPageK a) =>
a ->
m Word64
webPageGetId _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_web_page_get_id _obj'
touchManagedPtr _obj
return result
foreign import ccall "webkit_web_page_get_main_frame" webkit_web_page_get_main_frame ::
Ptr WebPage ->
IO (Ptr Frame)
webPageGetMainFrame ::
(MonadIO m, WebPageK a) =>
a ->
m Frame
webPageGetMainFrame _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_web_page_get_main_frame _obj'
checkUnexpectedReturnNULL "webkit_web_page_get_main_frame" result
result' <- (newObject Frame) result
touchManagedPtr _obj
return result'
foreign import ccall "webkit_web_page_get_uri" webkit_web_page_get_uri ::
Ptr WebPage ->
IO CString
webPageGetUri ::
(MonadIO m, WebPageK a) =>
a ->
m T.Text
webPageGetUri _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_web_page_get_uri _obj'
checkUnexpectedReturnNULL "webkit_web_page_get_uri" result
result' <- cstringToText result
touchManagedPtr _obj
return result'