{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2WebExtension.Objects.Frame
(
Frame(..) ,
IsFrame ,
toFrame ,
#if defined(ENABLE_OVERLOADING)
ResolveFrameMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
FrameGetIdMethodInfo ,
#endif
frameGetId ,
#if defined(ENABLE_OVERLOADING)
FrameGetJsContextMethodInfo ,
#endif
frameGetJsContext ,
#if defined(ENABLE_OVERLOADING)
FrameGetJsContextForScriptWorldMethodInfo,
#endif
frameGetJsContextForScriptWorld ,
#if defined(ENABLE_OVERLOADING)
FrameGetJsValueForDomObjectMethodInfo ,
#endif
frameGetJsValueForDomObject ,
#if defined(ENABLE_OVERLOADING)
FrameGetJsValueForDomObjectInScriptWorldMethodInfo,
#endif
frameGetJsValueForDomObjectInScriptWorld,
#if defined(ENABLE_OVERLOADING)
FrameGetUriMethodInfo ,
#endif
frameGetUri ,
#if defined(ENABLE_OVERLOADING)
FrameIsMainFrameMethodInfo ,
#endif
frameIsMainFrame ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.JavaScriptCore.Objects.Context as JavaScriptCore.Context
import qualified GI.JavaScriptCore.Objects.Value as JavaScriptCore.Value
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.ScriptWorld as WebKit2WebExtension.ScriptWorld
newtype Frame = Frame (SP.ManagedPtr Frame)
deriving (Frame -> Frame -> Bool
(Frame -> Frame -> Bool) -> (Frame -> Frame -> Bool) -> Eq Frame
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Frame -> Frame -> Bool
$c/= :: Frame -> Frame -> Bool
== :: Frame -> Frame -> Bool
$c== :: Frame -> Frame -> Bool
Eq)
instance SP.ManagedPtrNewtype Frame where
toManagedPtr :: Frame -> ManagedPtr Frame
toManagedPtr (Frame ManagedPtr Frame
p) = ManagedPtr Frame
p
foreign import ccall "webkit_frame_get_type"
c_webkit_frame_get_type :: IO B.Types.GType
instance B.Types.TypedObject Frame where
glibType :: IO GType
glibType = IO GType
c_webkit_frame_get_type
instance B.Types.GObject Frame
class (SP.GObject o, O.IsDescendantOf Frame o) => IsFrame o
instance (SP.GObject o, O.IsDescendantOf Frame o) => IsFrame o
instance O.HasParentTypes Frame
type instance O.ParentTypes Frame = '[GObject.Object.Object]
toFrame :: (MIO.MonadIO m, IsFrame o) => o -> m Frame
toFrame :: forall (m :: * -> *) o. (MonadIO m, IsFrame o) => o -> m Frame
toFrame = IO Frame -> m Frame
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Frame -> m Frame) -> (o -> IO Frame) -> o -> m Frame
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Frame -> Frame) -> o -> IO Frame
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Frame -> Frame
Frame
instance B.GValue.IsGValue (Maybe Frame) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_frame_get_type
gvalueSet_ :: Ptr GValue -> Maybe Frame -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Frame
P.Nothing = Ptr GValue -> Ptr Frame -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Frame
forall a. Ptr a
FP.nullPtr :: FP.Ptr Frame)
gvalueSet_ Ptr GValue
gv (P.Just Frame
obj) = Frame -> (Ptr Frame -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Frame
obj (Ptr GValue -> Ptr Frame -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Frame)
gvalueGet_ Ptr GValue
gv = do
Ptr Frame
ptr <- Ptr GValue -> IO (Ptr Frame)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Frame)
if Ptr Frame
ptr Ptr Frame -> Ptr Frame -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Frame
forall a. Ptr a
FP.nullPtr
then Frame -> Maybe Frame
forall a. a -> Maybe a
P.Just (Frame -> Maybe Frame) -> IO Frame -> IO (Maybe Frame)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Frame -> Frame) -> Ptr Frame -> IO Frame
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Frame -> Frame
Frame Ptr Frame
ptr
else Maybe Frame -> IO (Maybe Frame)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Frame
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveFrameMethod (t :: Symbol) (o :: *) :: * where
ResolveFrameMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveFrameMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveFrameMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveFrameMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveFrameMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveFrameMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveFrameMethod "isMainFrame" o = FrameIsMainFrameMethodInfo
ResolveFrameMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveFrameMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveFrameMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveFrameMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveFrameMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveFrameMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveFrameMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveFrameMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveFrameMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveFrameMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveFrameMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveFrameMethod "getId" o = FrameGetIdMethodInfo
ResolveFrameMethod "getJsContext" o = FrameGetJsContextMethodInfo
ResolveFrameMethod "getJsContextForScriptWorld" o = FrameGetJsContextForScriptWorldMethodInfo
ResolveFrameMethod "getJsValueForDomObject" o = FrameGetJsValueForDomObjectMethodInfo
ResolveFrameMethod "getJsValueForDomObjectInScriptWorld" o = FrameGetJsValueForDomObjectInScriptWorldMethodInfo
ResolveFrameMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveFrameMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveFrameMethod "getUri" o = FrameGetUriMethodInfo
ResolveFrameMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveFrameMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveFrameMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveFrameMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFrameMethod t Frame, O.OverloadedMethod info Frame p) => OL.IsLabel t (Frame -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveFrameMethod t Frame, O.OverloadedMethod info Frame p, R.HasField t Frame p) => R.HasField t Frame p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveFrameMethod t Frame, O.OverloadedMethodInfo info Frame) => OL.IsLabel t (O.MethodProxy info Frame) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Frame
type instance O.AttributeList Frame = FrameAttributeList
type FrameAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Frame = FrameSignalList
type FrameSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_frame_get_id" webkit_frame_get_id ::
Ptr Frame ->
IO Word64
frameGetId ::
(B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
a
-> m Word64
frameGetId :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFrame a) =>
a -> m Word64
frameGetId a
frame = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ do
Ptr Frame
frame' <- a -> IO (Ptr Frame)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
frame
Word64
result <- Ptr Frame -> IO Word64
webkit_frame_get_id Ptr Frame
frame'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
frame
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data FrameGetIdMethodInfo
instance (signature ~ (m Word64), MonadIO m, IsFrame a) => O.OverloadedMethod FrameGetIdMethodInfo a signature where
overloadedMethod = frameGetId
instance O.OverloadedMethodInfo FrameGetIdMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.Frame.frameGetId",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-Frame.html#v:frameGetId"
})
#endif
foreign import ccall "webkit_frame_get_js_context" webkit_frame_get_js_context ::
Ptr Frame ->
IO (Ptr JavaScriptCore.Context.Context)
frameGetJsContext ::
(B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
a
-> m JavaScriptCore.Context.Context
frameGetJsContext :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFrame a) =>
a -> m Context
frameGetJsContext a
frame = IO Context -> m Context
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Context -> m Context) -> IO Context -> m Context
forall a b. (a -> b) -> a -> b
$ do
Ptr Frame
frame' <- a -> IO (Ptr Frame)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
frame
Ptr Context
result <- Ptr Frame -> IO (Ptr Context)
webkit_frame_get_js_context Ptr Frame
frame'
Text -> Ptr Context -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"frameGetJsContext" Ptr Context
result
Context
result' <- ((ManagedPtr Context -> Context) -> Ptr Context -> IO Context
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Context -> Context
JavaScriptCore.Context.Context) Ptr Context
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
frame
Context -> IO Context
forall (m :: * -> *) a. Monad m => a -> m a
return Context
result'
#if defined(ENABLE_OVERLOADING)
data FrameGetJsContextMethodInfo
instance (signature ~ (m JavaScriptCore.Context.Context), MonadIO m, IsFrame a) => O.OverloadedMethod FrameGetJsContextMethodInfo a signature where
overloadedMethod = frameGetJsContext
instance O.OverloadedMethodInfo FrameGetJsContextMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.Frame.frameGetJsContext",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-Frame.html#v:frameGetJsContext"
})
#endif
foreign import ccall "webkit_frame_get_js_context_for_script_world" webkit_frame_get_js_context_for_script_world ::
Ptr Frame ->
Ptr WebKit2WebExtension.ScriptWorld.ScriptWorld ->
IO (Ptr JavaScriptCore.Context.Context)
frameGetJsContextForScriptWorld ::
(B.CallStack.HasCallStack, MonadIO m, IsFrame a, WebKit2WebExtension.ScriptWorld.IsScriptWorld b) =>
a
-> b
-> m JavaScriptCore.Context.Context
frameGetJsContextForScriptWorld :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsFrame a, IsScriptWorld b) =>
a -> b -> m Context
frameGetJsContextForScriptWorld a
frame b
world = IO Context -> m Context
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Context -> m Context) -> IO Context -> m Context
forall a b. (a -> b) -> a -> b
$ do
Ptr Frame
frame' <- a -> IO (Ptr Frame)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
frame
Ptr ScriptWorld
world' <- b -> IO (Ptr ScriptWorld)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
world
Ptr Context
result <- Ptr Frame -> Ptr ScriptWorld -> IO (Ptr Context)
webkit_frame_get_js_context_for_script_world Ptr Frame
frame' Ptr ScriptWorld
world'
Text -> Ptr Context -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"frameGetJsContextForScriptWorld" Ptr Context
result
Context
result' <- ((ManagedPtr Context -> Context) -> Ptr Context -> IO Context
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Context -> Context
JavaScriptCore.Context.Context) Ptr Context
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
frame
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
world
Context -> IO Context
forall (m :: * -> *) a. Monad m => a -> m a
return Context
result'
#if defined(ENABLE_OVERLOADING)
data FrameGetJsContextForScriptWorldMethodInfo
instance (signature ~ (b -> m JavaScriptCore.Context.Context), MonadIO m, IsFrame a, WebKit2WebExtension.ScriptWorld.IsScriptWorld b) => O.OverloadedMethod FrameGetJsContextForScriptWorldMethodInfo a signature where
overloadedMethod = frameGetJsContextForScriptWorld
instance O.OverloadedMethodInfo FrameGetJsContextForScriptWorldMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.Frame.frameGetJsContextForScriptWorld",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-Frame.html#v:frameGetJsContextForScriptWorld"
})
#endif
foreign import ccall "webkit_frame_get_js_value_for_dom_object" webkit_frame_get_js_value_for_dom_object ::
Ptr Frame ->
Ptr WebKit2WebExtension.DOMObject.DOMObject ->
IO (Ptr JavaScriptCore.Value.Value)
frameGetJsValueForDomObject ::
(B.CallStack.HasCallStack, MonadIO m, IsFrame a, WebKit2WebExtension.DOMObject.IsDOMObject b) =>
a
-> b
-> m JavaScriptCore.Value.Value
frameGetJsValueForDomObject :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsFrame a, IsDOMObject b) =>
a -> b -> m Value
frameGetJsValueForDomObject a
frame b
domObject = IO Value -> m Value
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Value -> m Value) -> IO Value -> m Value
forall a b. (a -> b) -> a -> b
$ do
Ptr Frame
frame' <- a -> IO (Ptr Frame)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
frame
Ptr DOMObject
domObject' <- b -> IO (Ptr DOMObject)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
domObject
Ptr Value
result <- Ptr Frame -> Ptr DOMObject -> IO (Ptr Value)
webkit_frame_get_js_value_for_dom_object Ptr Frame
frame' Ptr DOMObject
domObject'
Text -> Ptr Value -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"frameGetJsValueForDomObject" Ptr Value
result
Value
result' <- ((ManagedPtr Value -> Value) -> Ptr Value -> IO Value
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Value -> Value
JavaScriptCore.Value.Value) Ptr Value
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
frame
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
domObject
Value -> IO Value
forall (m :: * -> *) a. Monad m => a -> m a
return Value
result'
#if defined(ENABLE_OVERLOADING)
data FrameGetJsValueForDomObjectMethodInfo
instance (signature ~ (b -> m JavaScriptCore.Value.Value), MonadIO m, IsFrame a, WebKit2WebExtension.DOMObject.IsDOMObject b) => O.OverloadedMethod FrameGetJsValueForDomObjectMethodInfo a signature where
overloadedMethod = frameGetJsValueForDomObject
instance O.OverloadedMethodInfo FrameGetJsValueForDomObjectMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.Frame.frameGetJsValueForDomObject",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-Frame.html#v:frameGetJsValueForDomObject"
})
#endif
foreign import ccall "webkit_frame_get_js_value_for_dom_object_in_script_world" webkit_frame_get_js_value_for_dom_object_in_script_world ::
Ptr Frame ->
Ptr WebKit2WebExtension.DOMObject.DOMObject ->
Ptr WebKit2WebExtension.ScriptWorld.ScriptWorld ->
IO (Ptr JavaScriptCore.Value.Value)
frameGetJsValueForDomObjectInScriptWorld ::
(B.CallStack.HasCallStack, MonadIO m, IsFrame a, WebKit2WebExtension.DOMObject.IsDOMObject b, WebKit2WebExtension.ScriptWorld.IsScriptWorld c) =>
a
-> b
-> c
-> m JavaScriptCore.Value.Value
frameGetJsValueForDomObjectInScriptWorld :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsFrame a, IsDOMObject b,
IsScriptWorld c) =>
a -> b -> c -> m Value
frameGetJsValueForDomObjectInScriptWorld a
frame b
domObject c
world = IO Value -> m Value
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Value -> m Value) -> IO Value -> m Value
forall a b. (a -> b) -> a -> b
$ do
Ptr Frame
frame' <- a -> IO (Ptr Frame)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
frame
Ptr DOMObject
domObject' <- b -> IO (Ptr DOMObject)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
domObject
Ptr ScriptWorld
world' <- c -> IO (Ptr ScriptWorld)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
world
Ptr Value
result <- Ptr Frame -> Ptr DOMObject -> Ptr ScriptWorld -> IO (Ptr Value)
webkit_frame_get_js_value_for_dom_object_in_script_world Ptr Frame
frame' Ptr DOMObject
domObject' Ptr ScriptWorld
world'
Text -> Ptr Value -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"frameGetJsValueForDomObjectInScriptWorld" Ptr Value
result
Value
result' <- ((ManagedPtr Value -> Value) -> Ptr Value -> IO Value
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Value -> Value
JavaScriptCore.Value.Value) Ptr Value
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
frame
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
domObject
c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr c
world
Value -> IO Value
forall (m :: * -> *) a. Monad m => a -> m a
return Value
result'
#if defined(ENABLE_OVERLOADING)
data FrameGetJsValueForDomObjectInScriptWorldMethodInfo
instance (signature ~ (b -> c -> m JavaScriptCore.Value.Value), MonadIO m, IsFrame a, WebKit2WebExtension.DOMObject.IsDOMObject b, WebKit2WebExtension.ScriptWorld.IsScriptWorld c) => O.OverloadedMethod FrameGetJsValueForDomObjectInScriptWorldMethodInfo a signature where
overloadedMethod = frameGetJsValueForDomObjectInScriptWorld
instance O.OverloadedMethodInfo FrameGetJsValueForDomObjectInScriptWorldMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.Frame.frameGetJsValueForDomObjectInScriptWorld",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-Frame.html#v:frameGetJsValueForDomObjectInScriptWorld"
})
#endif
foreign import ccall "webkit_frame_get_uri" webkit_frame_get_uri ::
Ptr Frame ->
IO CString
frameGetUri ::
(B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
a
-> m (Maybe T.Text)
frameGetUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFrame a) =>
a -> m (Maybe Text)
frameGetUri a
frame = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr Frame
frame' <- a -> IO (Ptr Frame)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
frame
CString
result <- Ptr Frame -> IO CString
webkit_frame_get_uri Ptr Frame
frame'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
frame
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data FrameGetUriMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsFrame a) => O.OverloadedMethod FrameGetUriMethodInfo a signature where
overloadedMethod = frameGetUri
instance O.OverloadedMethodInfo FrameGetUriMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.Frame.frameGetUri",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-Frame.html#v:frameGetUri"
})
#endif
foreign import ccall "webkit_frame_is_main_frame" webkit_frame_is_main_frame ::
Ptr Frame ->
IO CInt
frameIsMainFrame ::
(B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
a
-> m Bool
frameIsMainFrame :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFrame a) =>
a -> m Bool
frameIsMainFrame a
frame = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr Frame
frame' <- a -> IO (Ptr Frame)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
frame
CInt
result <- Ptr Frame -> IO CInt
webkit_frame_is_main_frame Ptr Frame
frame'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
frame
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data FrameIsMainFrameMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsFrame a) => O.OverloadedMethod FrameIsMainFrameMethodInfo a signature where
overloadedMethod = frameIsMainFrame
instance O.OverloadedMethodInfo FrameIsMainFrameMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.Frame.frameIsMainFrame",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.27/docs/GI-WebKit2WebExtension-Objects-Frame.html#v:frameIsMainFrame"
})
#endif