{- |
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.DOMDOMSecurityPolicy
    ( 

-- * Exported types
    DOMDOMSecurityPolicy(..)                ,
    DOMDOMSecurityPolicyK                   ,
    toDOMDOMSecurityPolicy                  ,
    noDOMDOMSecurityPolicy                  ,


 -- * Methods
-- ** dOMDOMSecurityPolicyAllowsConnectionTo
    dOMDOMSecurityPolicyAllowsConnectionTo  ,


-- ** dOMDOMSecurityPolicyAllowsFontFrom
    dOMDOMSecurityPolicyAllowsFontFrom      ,


-- ** dOMDOMSecurityPolicyAllowsFormAction
    dOMDOMSecurityPolicyAllowsFormAction    ,


-- ** dOMDOMSecurityPolicyAllowsFrameFrom
    dOMDOMSecurityPolicyAllowsFrameFrom     ,


-- ** dOMDOMSecurityPolicyAllowsImageFrom
    dOMDOMSecurityPolicyAllowsImageFrom     ,


-- ** dOMDOMSecurityPolicyAllowsMediaFrom
    dOMDOMSecurityPolicyAllowsMediaFrom     ,


-- ** dOMDOMSecurityPolicyAllowsObjectFrom
    dOMDOMSecurityPolicyAllowsObjectFrom    ,


-- ** dOMDOMSecurityPolicyAllowsPluginType
    dOMDOMSecurityPolicyAllowsPluginType    ,


-- ** dOMDOMSecurityPolicyAllowsScriptFrom
    dOMDOMSecurityPolicyAllowsScriptFrom    ,


-- ** dOMDOMSecurityPolicyAllowsStyleFrom
    dOMDOMSecurityPolicyAllowsStyleFrom     ,


-- ** dOMDOMSecurityPolicyGetAllowsEval
    dOMDOMSecurityPolicyGetAllowsEval       ,


-- ** dOMDOMSecurityPolicyGetAllowsInlineScript
    dOMDOMSecurityPolicyGetAllowsInlineScript,


-- ** dOMDOMSecurityPolicyGetAllowsInlineStyle
    dOMDOMSecurityPolicyGetAllowsInlineStyle,


-- ** dOMDOMSecurityPolicyGetIsActive
    dOMDOMSecurityPolicyGetIsActive         ,


-- ** dOMDOMSecurityPolicyGetReportUrIs
    dOMDOMSecurityPolicyGetReportUrIs       ,




 -- * Properties
-- ** AllowsEval
    DOMDOMSecurityPolicyAllowsEvalPropertyInfo,
    getDOMDOMSecurityPolicyAllowsEval       ,


-- ** AllowsInlineScript
    DOMDOMSecurityPolicyAllowsInlineScriptPropertyInfo,
    getDOMDOMSecurityPolicyAllowsInlineScript,


-- ** AllowsInlineStyle
    DOMDOMSecurityPolicyAllowsInlineStylePropertyInfo,
    getDOMDOMSecurityPolicyAllowsInlineStyle,


-- ** IsActive
    DOMDOMSecurityPolicyIsActivePropertyInfo,
    getDOMDOMSecurityPolicyIsActive         ,


-- ** ReportUrIs
    DOMDOMSecurityPolicyReportUrIsPropertyInfo,
    getDOMDOMSecurityPolicyReportUrIs       ,




    ) 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

newtype DOMDOMSecurityPolicy = DOMDOMSecurityPolicy (ForeignPtr DOMDOMSecurityPolicy)
foreign import ccall "webkit_dom_dom_security_policy_get_type"
    c_webkit_dom_dom_security_policy_get_type :: IO GType

type instance ParentTypes DOMDOMSecurityPolicy = DOMDOMSecurityPolicyParentTypes
type DOMDOMSecurityPolicyParentTypes = '[DOMObject, GObject.Object]

instance GObject DOMDOMSecurityPolicy where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_dom_security_policy_get_type
    

class GObject o => DOMDOMSecurityPolicyK o
instance (GObject o, IsDescendantOf DOMDOMSecurityPolicy o) => DOMDOMSecurityPolicyK o

toDOMDOMSecurityPolicy :: DOMDOMSecurityPolicyK o => o -> IO DOMDOMSecurityPolicy
toDOMDOMSecurityPolicy = unsafeCastTo DOMDOMSecurityPolicy

noDOMDOMSecurityPolicy :: Maybe DOMDOMSecurityPolicy
noDOMDOMSecurityPolicy = Nothing

-- VVV Prop "allows-eval"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMDOMSecurityPolicyAllowsEval :: (MonadIO m, DOMDOMSecurityPolicyK o) => o -> m Bool
getDOMDOMSecurityPolicyAllowsEval obj = liftIO $ getObjectPropertyBool obj "allows-eval"

data DOMDOMSecurityPolicyAllowsEvalPropertyInfo
instance AttrInfo DOMDOMSecurityPolicyAllowsEvalPropertyInfo where
    type AttrAllowedOps DOMDOMSecurityPolicyAllowsEvalPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDOMSecurityPolicyAllowsEvalPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDOMSecurityPolicyAllowsEvalPropertyInfo = DOMDOMSecurityPolicyK
    type AttrGetType DOMDOMSecurityPolicyAllowsEvalPropertyInfo = Bool
    type AttrLabel DOMDOMSecurityPolicyAllowsEvalPropertyInfo = "DOMDOMSecurityPolicy::allows-eval"
    attrGet _ = getDOMDOMSecurityPolicyAllowsEval
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "allows-inline-script"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMDOMSecurityPolicyAllowsInlineScript :: (MonadIO m, DOMDOMSecurityPolicyK o) => o -> m Bool
getDOMDOMSecurityPolicyAllowsInlineScript obj = liftIO $ getObjectPropertyBool obj "allows-inline-script"

data DOMDOMSecurityPolicyAllowsInlineScriptPropertyInfo
instance AttrInfo DOMDOMSecurityPolicyAllowsInlineScriptPropertyInfo where
    type AttrAllowedOps DOMDOMSecurityPolicyAllowsInlineScriptPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDOMSecurityPolicyAllowsInlineScriptPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDOMSecurityPolicyAllowsInlineScriptPropertyInfo = DOMDOMSecurityPolicyK
    type AttrGetType DOMDOMSecurityPolicyAllowsInlineScriptPropertyInfo = Bool
    type AttrLabel DOMDOMSecurityPolicyAllowsInlineScriptPropertyInfo = "DOMDOMSecurityPolicy::allows-inline-script"
    attrGet _ = getDOMDOMSecurityPolicyAllowsInlineScript
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "allows-inline-style"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMDOMSecurityPolicyAllowsInlineStyle :: (MonadIO m, DOMDOMSecurityPolicyK o) => o -> m Bool
getDOMDOMSecurityPolicyAllowsInlineStyle obj = liftIO $ getObjectPropertyBool obj "allows-inline-style"

data DOMDOMSecurityPolicyAllowsInlineStylePropertyInfo
instance AttrInfo DOMDOMSecurityPolicyAllowsInlineStylePropertyInfo where
    type AttrAllowedOps DOMDOMSecurityPolicyAllowsInlineStylePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDOMSecurityPolicyAllowsInlineStylePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDOMSecurityPolicyAllowsInlineStylePropertyInfo = DOMDOMSecurityPolicyK
    type AttrGetType DOMDOMSecurityPolicyAllowsInlineStylePropertyInfo = Bool
    type AttrLabel DOMDOMSecurityPolicyAllowsInlineStylePropertyInfo = "DOMDOMSecurityPolicy::allows-inline-style"
    attrGet _ = getDOMDOMSecurityPolicyAllowsInlineStyle
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "is-active"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMDOMSecurityPolicyIsActive :: (MonadIO m, DOMDOMSecurityPolicyK o) => o -> m Bool
getDOMDOMSecurityPolicyIsActive obj = liftIO $ getObjectPropertyBool obj "is-active"

data DOMDOMSecurityPolicyIsActivePropertyInfo
instance AttrInfo DOMDOMSecurityPolicyIsActivePropertyInfo where
    type AttrAllowedOps DOMDOMSecurityPolicyIsActivePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDOMSecurityPolicyIsActivePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDOMSecurityPolicyIsActivePropertyInfo = DOMDOMSecurityPolicyK
    type AttrGetType DOMDOMSecurityPolicyIsActivePropertyInfo = Bool
    type AttrLabel DOMDOMSecurityPolicyIsActivePropertyInfo = "DOMDOMSecurityPolicy::is-active"
    attrGet _ = getDOMDOMSecurityPolicyIsActive
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "report-ur-is"
   -- Type: TInterface "WebKit" "DOMDOMStringList"
   -- Flags: [PropertyReadable]

getDOMDOMSecurityPolicyReportUrIs :: (MonadIO m, DOMDOMSecurityPolicyK o) => o -> m DOMDOMStringList
getDOMDOMSecurityPolicyReportUrIs obj = liftIO $ getObjectPropertyObject obj "report-ur-is" DOMDOMStringList

data DOMDOMSecurityPolicyReportUrIsPropertyInfo
instance AttrInfo DOMDOMSecurityPolicyReportUrIsPropertyInfo where
    type AttrAllowedOps DOMDOMSecurityPolicyReportUrIsPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMDOMSecurityPolicyReportUrIsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMDOMSecurityPolicyReportUrIsPropertyInfo = DOMDOMSecurityPolicyK
    type AttrGetType DOMDOMSecurityPolicyReportUrIsPropertyInfo = DOMDOMStringList
    type AttrLabel DOMDOMSecurityPolicyReportUrIsPropertyInfo = "DOMDOMSecurityPolicy::report-ur-is"
    attrGet _ = getDOMDOMSecurityPolicyReportUrIs
    attrSet _ = undefined
    attrConstruct _ = undefined

type instance AttributeList DOMDOMSecurityPolicy = DOMDOMSecurityPolicyAttributeList
type DOMDOMSecurityPolicyAttributeList = ('[ '("allows-eval", DOMDOMSecurityPolicyAllowsEvalPropertyInfo), '("allows-inline-script", DOMDOMSecurityPolicyAllowsInlineScriptPropertyInfo), '("allows-inline-style", DOMDOMSecurityPolicyAllowsInlineStylePropertyInfo), '("core-object", DOMObjectCoreObjectPropertyInfo), '("is-active", DOMDOMSecurityPolicyIsActivePropertyInfo), '("report-ur-is", DOMDOMSecurityPolicyReportUrIsPropertyInfo)] :: [(Symbol, *)])

type instance SignalList DOMDOMSecurityPolicy = DOMDOMSecurityPolicySignalList
type DOMDOMSecurityPolicySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

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

foreign import ccall "webkit_dom_dom_security_policy_allows_connection_to" webkit_dom_dom_security_policy_allows_connection_to :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    CString ->                              -- url : TBasicType TUTF8
    IO CInt


dOMDOMSecurityPolicyAllowsConnectionTo ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- url
    m Bool
dOMDOMSecurityPolicyAllowsConnectionTo _obj url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    url' <- textToCString url
    result <- webkit_dom_dom_security_policy_allows_connection_to _obj' url'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem url'
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_allows_font_from" webkit_dom_dom_security_policy_allows_font_from :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    CString ->                              -- url : TBasicType TUTF8
    IO CInt


dOMDOMSecurityPolicyAllowsFontFrom ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- url
    m Bool
dOMDOMSecurityPolicyAllowsFontFrom _obj url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    url' <- textToCString url
    result <- webkit_dom_dom_security_policy_allows_font_from _obj' url'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem url'
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_allows_form_action" webkit_dom_dom_security_policy_allows_form_action :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    CString ->                              -- url : TBasicType TUTF8
    IO CInt


dOMDOMSecurityPolicyAllowsFormAction ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- url
    m Bool
dOMDOMSecurityPolicyAllowsFormAction _obj url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    url' <- textToCString url
    result <- webkit_dom_dom_security_policy_allows_form_action _obj' url'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem url'
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_allows_frame_from" webkit_dom_dom_security_policy_allows_frame_from :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    CString ->                              -- url : TBasicType TUTF8
    IO CInt


dOMDOMSecurityPolicyAllowsFrameFrom ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- url
    m Bool
dOMDOMSecurityPolicyAllowsFrameFrom _obj url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    url' <- textToCString url
    result <- webkit_dom_dom_security_policy_allows_frame_from _obj' url'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem url'
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_allows_image_from" webkit_dom_dom_security_policy_allows_image_from :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    CString ->                              -- url : TBasicType TUTF8
    IO CInt


dOMDOMSecurityPolicyAllowsImageFrom ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- url
    m Bool
dOMDOMSecurityPolicyAllowsImageFrom _obj url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    url' <- textToCString url
    result <- webkit_dom_dom_security_policy_allows_image_from _obj' url'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem url'
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_allows_media_from" webkit_dom_dom_security_policy_allows_media_from :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    CString ->                              -- url : TBasicType TUTF8
    IO CInt


dOMDOMSecurityPolicyAllowsMediaFrom ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- url
    m Bool
dOMDOMSecurityPolicyAllowsMediaFrom _obj url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    url' <- textToCString url
    result <- webkit_dom_dom_security_policy_allows_media_from _obj' url'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem url'
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_allows_object_from" webkit_dom_dom_security_policy_allows_object_from :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    CString ->                              -- url : TBasicType TUTF8
    IO CInt


dOMDOMSecurityPolicyAllowsObjectFrom ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- url
    m Bool
dOMDOMSecurityPolicyAllowsObjectFrom _obj url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    url' <- textToCString url
    result <- webkit_dom_dom_security_policy_allows_object_from _obj' url'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem url'
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_allows_plugin_type" webkit_dom_dom_security_policy_allows_plugin_type :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    CString ->                              -- type : TBasicType TUTF8
    IO CInt


dOMDOMSecurityPolicyAllowsPluginType ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- type
    m Bool
dOMDOMSecurityPolicyAllowsPluginType _obj type_ = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    type_' <- textToCString type_
    result <- webkit_dom_dom_security_policy_allows_plugin_type _obj' type_'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem type_'
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_allows_script_from" webkit_dom_dom_security_policy_allows_script_from :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    CString ->                              -- url : TBasicType TUTF8
    IO CInt


dOMDOMSecurityPolicyAllowsScriptFrom ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- url
    m Bool
dOMDOMSecurityPolicyAllowsScriptFrom _obj url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    url' <- textToCString url
    result <- webkit_dom_dom_security_policy_allows_script_from _obj' url'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem url'
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_allows_style_from" webkit_dom_dom_security_policy_allows_style_from :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    CString ->                              -- url : TBasicType TUTF8
    IO CInt


dOMDOMSecurityPolicyAllowsStyleFrom ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- url
    m Bool
dOMDOMSecurityPolicyAllowsStyleFrom _obj url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    url' <- textToCString url
    result <- webkit_dom_dom_security_policy_allows_style_from _obj' url'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem url'
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_get_allows_eval" webkit_dom_dom_security_policy_get_allows_eval :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    IO CInt


dOMDOMSecurityPolicyGetAllowsEval ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    m Bool
dOMDOMSecurityPolicyGetAllowsEval _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_dom_security_policy_get_allows_eval _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_get_allows_inline_script" webkit_dom_dom_security_policy_get_allows_inline_script :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    IO CInt


dOMDOMSecurityPolicyGetAllowsInlineScript ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    m Bool
dOMDOMSecurityPolicyGetAllowsInlineScript _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_dom_security_policy_get_allows_inline_script _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_get_allows_inline_style" webkit_dom_dom_security_policy_get_allows_inline_style :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    IO CInt


dOMDOMSecurityPolicyGetAllowsInlineStyle ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    m Bool
dOMDOMSecurityPolicyGetAllowsInlineStyle _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_dom_security_policy_get_allows_inline_style _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_get_is_active" webkit_dom_dom_security_policy_get_is_active :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    IO CInt


dOMDOMSecurityPolicyGetIsActive ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    m Bool
dOMDOMSecurityPolicyGetIsActive _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_dom_security_policy_get_is_active _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

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

foreign import ccall "webkit_dom_dom_security_policy_get_report_ur_is" webkit_dom_dom_security_policy_get_report_ur_is :: 
    Ptr DOMDOMSecurityPolicy ->             -- _obj : TInterface "WebKit" "DOMDOMSecurityPolicy"
    IO (Ptr DOMDOMStringList)


dOMDOMSecurityPolicyGetReportUrIs ::
    (MonadIO m, DOMDOMSecurityPolicyK a) =>
    a ->                                    -- _obj
    m DOMDOMStringList
dOMDOMSecurityPolicyGetReportUrIs _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_dom_security_policy_get_report_ur_is _obj'
    checkUnexpectedReturnNULL "webkit_dom_dom_security_policy_get_report_ur_is" result
    result' <- (wrapObject DOMDOMStringList) result
    touchManagedPtr _obj
    return result'