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

-- * Exported types
    WebSettings(..)                         ,
    WebSettingsK                            ,
    toWebSettings                           ,
    noWebSettings                           ,


 -- * Methods
-- ** webSettingsCopy
    webSettingsCopy                         ,


-- ** webSettingsGetUserAgent
    webSettingsGetUserAgent                 ,


-- ** webSettingsNew
    webSettingsNew                          ,




 -- * Properties
-- ** AutoLoadImages
    WebSettingsAutoLoadImagesPropertyInfo   ,
    constructWebSettingsAutoLoadImages      ,
    getWebSettingsAutoLoadImages            ,
    setWebSettingsAutoLoadImages            ,


-- ** AutoResizeWindow
    WebSettingsAutoResizeWindowPropertyInfo ,
    constructWebSettingsAutoResizeWindow    ,
    getWebSettingsAutoResizeWindow          ,
    setWebSettingsAutoResizeWindow          ,


-- ** AutoShrinkImages
    WebSettingsAutoShrinkImagesPropertyInfo ,
    constructWebSettingsAutoShrinkImages    ,
    getWebSettingsAutoShrinkImages          ,
    setWebSettingsAutoShrinkImages          ,


-- ** CursiveFontFamily
    WebSettingsCursiveFontFamilyPropertyInfo,
    constructWebSettingsCursiveFontFamily   ,
    getWebSettingsCursiveFontFamily         ,
    setWebSettingsCursiveFontFamily         ,


-- ** DefaultEncoding
    WebSettingsDefaultEncodingPropertyInfo  ,
    constructWebSettingsDefaultEncoding     ,
    getWebSettingsDefaultEncoding           ,
    setWebSettingsDefaultEncoding           ,


-- ** DefaultFontFamily
    WebSettingsDefaultFontFamilyPropertyInfo,
    constructWebSettingsDefaultFontFamily   ,
    getWebSettingsDefaultFontFamily         ,
    setWebSettingsDefaultFontFamily         ,


-- ** DefaultFontSize
    WebSettingsDefaultFontSizePropertyInfo  ,
    constructWebSettingsDefaultFontSize     ,
    getWebSettingsDefaultFontSize           ,
    setWebSettingsDefaultFontSize           ,


-- ** DefaultMonospaceFontSize
    WebSettingsDefaultMonospaceFontSizePropertyInfo,
    constructWebSettingsDefaultMonospaceFontSize,
    getWebSettingsDefaultMonospaceFontSize  ,
    setWebSettingsDefaultMonospaceFontSize  ,


-- ** EditingBehavior
    WebSettingsEditingBehaviorPropertyInfo  ,
    constructWebSettingsEditingBehavior     ,
    getWebSettingsEditingBehavior           ,
    setWebSettingsEditingBehavior           ,


-- ** EnableAcceleratedCompositing
    WebSettingsEnableAcceleratedCompositingPropertyInfo,
    constructWebSettingsEnableAcceleratedCompositing,
    getWebSettingsEnableAcceleratedCompositing,
    setWebSettingsEnableAcceleratedCompositing,


-- ** EnableCaretBrowsing
    WebSettingsEnableCaretBrowsingPropertyInfo,
    constructWebSettingsEnableCaretBrowsing ,
    getWebSettingsEnableCaretBrowsing       ,
    setWebSettingsEnableCaretBrowsing       ,


-- ** EnableDefaultContextMenu
    WebSettingsEnableDefaultContextMenuPropertyInfo,
    constructWebSettingsEnableDefaultContextMenu,
    getWebSettingsEnableDefaultContextMenu  ,
    setWebSettingsEnableDefaultContextMenu  ,


-- ** EnableDeveloperExtras
    WebSettingsEnableDeveloperExtrasPropertyInfo,
    constructWebSettingsEnableDeveloperExtras,
    getWebSettingsEnableDeveloperExtras     ,
    setWebSettingsEnableDeveloperExtras     ,


-- ** EnableDisplayOfInsecureContent
    WebSettingsEnableDisplayOfInsecureContentPropertyInfo,
    constructWebSettingsEnableDisplayOfInsecureContent,
    getWebSettingsEnableDisplayOfInsecureContent,
    setWebSettingsEnableDisplayOfInsecureContent,


-- ** EnableDnsPrefetching
    WebSettingsEnableDnsPrefetchingPropertyInfo,
    constructWebSettingsEnableDnsPrefetching,
    getWebSettingsEnableDnsPrefetching      ,
    setWebSettingsEnableDnsPrefetching      ,


-- ** EnableDomPaste
    WebSettingsEnableDomPastePropertyInfo   ,
    constructWebSettingsEnableDomPaste      ,
    getWebSettingsEnableDomPaste            ,
    setWebSettingsEnableDomPaste            ,


-- ** EnableFileAccessFromFileUris
    WebSettingsEnableFileAccessFromFileUrisPropertyInfo,
    constructWebSettingsEnableFileAccessFromFileUris,
    getWebSettingsEnableFileAccessFromFileUris,
    setWebSettingsEnableFileAccessFromFileUris,


-- ** EnableFrameFlattening
    WebSettingsEnableFrameFlatteningPropertyInfo,
    constructWebSettingsEnableFrameFlattening,
    getWebSettingsEnableFrameFlattening     ,
    setWebSettingsEnableFrameFlattening     ,


-- ** EnableFullscreen
    WebSettingsEnableFullscreenPropertyInfo ,
    constructWebSettingsEnableFullscreen    ,
    getWebSettingsEnableFullscreen          ,
    setWebSettingsEnableFullscreen          ,


-- ** EnableHtml5Database
    WebSettingsEnableHtml5DatabasePropertyInfo,
    constructWebSettingsEnableHtml5Database ,
    getWebSettingsEnableHtml5Database       ,
    setWebSettingsEnableHtml5Database       ,


-- ** EnableHtml5LocalStorage
    WebSettingsEnableHtml5LocalStoragePropertyInfo,
    constructWebSettingsEnableHtml5LocalStorage,
    getWebSettingsEnableHtml5LocalStorage   ,
    setWebSettingsEnableHtml5LocalStorage   ,


-- ** EnableHyperlinkAuditing
    WebSettingsEnableHyperlinkAuditingPropertyInfo,
    constructWebSettingsEnableHyperlinkAuditing,
    getWebSettingsEnableHyperlinkAuditing   ,
    setWebSettingsEnableHyperlinkAuditing   ,


-- ** EnableJavaApplet
    WebSettingsEnableJavaAppletPropertyInfo ,
    constructWebSettingsEnableJavaApplet    ,
    getWebSettingsEnableJavaApplet          ,
    setWebSettingsEnableJavaApplet          ,


-- ** EnableMediaStream
    WebSettingsEnableMediaStreamPropertyInfo,
    constructWebSettingsEnableMediaStream   ,
    getWebSettingsEnableMediaStream         ,
    setWebSettingsEnableMediaStream         ,


-- ** EnableMediasource
    WebSettingsEnableMediasourcePropertyInfo,
    constructWebSettingsEnableMediasource   ,
    getWebSettingsEnableMediasource         ,
    setWebSettingsEnableMediasource         ,


-- ** EnableOfflineWebApplicationCache
    WebSettingsEnableOfflineWebApplicationCachePropertyInfo,
    constructWebSettingsEnableOfflineWebApplicationCache,
    getWebSettingsEnableOfflineWebApplicationCache,
    setWebSettingsEnableOfflineWebApplicationCache,


-- ** EnablePageCache
    WebSettingsEnablePageCachePropertyInfo  ,
    constructWebSettingsEnablePageCache     ,
    getWebSettingsEnablePageCache           ,
    setWebSettingsEnablePageCache           ,


-- ** EnablePlugins
    WebSettingsEnablePluginsPropertyInfo    ,
    constructWebSettingsEnablePlugins       ,
    getWebSettingsEnablePlugins             ,
    setWebSettingsEnablePlugins             ,


-- ** EnablePrivateBrowsing
    WebSettingsEnablePrivateBrowsingPropertyInfo,
    constructWebSettingsEnablePrivateBrowsing,
    getWebSettingsEnablePrivateBrowsing     ,
    setWebSettingsEnablePrivateBrowsing     ,


-- ** EnableRunningOfInsecureContent
    WebSettingsEnableRunningOfInsecureContentPropertyInfo,
    constructWebSettingsEnableRunningOfInsecureContent,
    getWebSettingsEnableRunningOfInsecureContent,
    setWebSettingsEnableRunningOfInsecureContent,


-- ** EnableScripts
    WebSettingsEnableScriptsPropertyInfo    ,
    constructWebSettingsEnableScripts       ,
    getWebSettingsEnableScripts             ,
    setWebSettingsEnableScripts             ,


-- ** EnableSiteSpecificQuirks
    WebSettingsEnableSiteSpecificQuirksPropertyInfo,
    constructWebSettingsEnableSiteSpecificQuirks,
    getWebSettingsEnableSiteSpecificQuirks  ,
    setWebSettingsEnableSiteSpecificQuirks  ,


-- ** EnableSmoothScrolling
    WebSettingsEnableSmoothScrollingPropertyInfo,
    constructWebSettingsEnableSmoothScrolling,
    getWebSettingsEnableSmoothScrolling     ,
    setWebSettingsEnableSmoothScrolling     ,


-- ** EnableSpatialNavigation
    WebSettingsEnableSpatialNavigationPropertyInfo,
    constructWebSettingsEnableSpatialNavigation,
    getWebSettingsEnableSpatialNavigation   ,
    setWebSettingsEnableSpatialNavigation   ,


-- ** EnableSpellChecking
    WebSettingsEnableSpellCheckingPropertyInfo,
    constructWebSettingsEnableSpellChecking ,
    getWebSettingsEnableSpellChecking       ,
    setWebSettingsEnableSpellChecking       ,


-- ** EnableUniversalAccessFromFileUris
    WebSettingsEnableUniversalAccessFromFileUrisPropertyInfo,
    constructWebSettingsEnableUniversalAccessFromFileUris,
    getWebSettingsEnableUniversalAccessFromFileUris,
    setWebSettingsEnableUniversalAccessFromFileUris,


-- ** EnableWebaudio
    WebSettingsEnableWebaudioPropertyInfo   ,
    constructWebSettingsEnableWebaudio      ,
    getWebSettingsEnableWebaudio            ,
    setWebSettingsEnableWebaudio            ,


-- ** EnableWebgl
    WebSettingsEnableWebglPropertyInfo      ,
    constructWebSettingsEnableWebgl         ,
    getWebSettingsEnableWebgl               ,
    setWebSettingsEnableWebgl               ,


-- ** EnableXssAuditor
    WebSettingsEnableXssAuditorPropertyInfo ,
    constructWebSettingsEnableXssAuditor    ,
    getWebSettingsEnableXssAuditor          ,
    setWebSettingsEnableXssAuditor          ,


-- ** Enforce96Dpi
    WebSettingsEnforce96DpiPropertyInfo     ,
    constructWebSettingsEnforce96Dpi        ,
    getWebSettingsEnforce96Dpi              ,
    setWebSettingsEnforce96Dpi              ,


-- ** FantasyFontFamily
    WebSettingsFantasyFontFamilyPropertyInfo,
    constructWebSettingsFantasyFontFamily   ,
    getWebSettingsFantasyFontFamily         ,
    setWebSettingsFantasyFontFamily         ,


-- ** Html5LocalStorageDatabasePath
    WebSettingsHtml5LocalStorageDatabasePathPropertyInfo,
    constructWebSettingsHtml5LocalStorageDatabasePath,
    getWebSettingsHtml5LocalStorageDatabasePath,
    setWebSettingsHtml5LocalStorageDatabasePath,


-- ** JavascriptCanAccessClipboard
    WebSettingsJavascriptCanAccessClipboardPropertyInfo,
    constructWebSettingsJavascriptCanAccessClipboard,
    getWebSettingsJavascriptCanAccessClipboard,
    setWebSettingsJavascriptCanAccessClipboard,


-- ** JavascriptCanOpenWindowsAutomatically
    WebSettingsJavascriptCanOpenWindowsAutomaticallyPropertyInfo,
    constructWebSettingsJavascriptCanOpenWindowsAutomatically,
    getWebSettingsJavascriptCanOpenWindowsAutomatically,
    setWebSettingsJavascriptCanOpenWindowsAutomatically,


-- ** MediaPlaybackAllowsInline
    WebSettingsMediaPlaybackAllowsInlinePropertyInfo,
    constructWebSettingsMediaPlaybackAllowsInline,
    getWebSettingsMediaPlaybackAllowsInline ,
    setWebSettingsMediaPlaybackAllowsInline ,


-- ** MediaPlaybackRequiresUserGesture
    WebSettingsMediaPlaybackRequiresUserGesturePropertyInfo,
    constructWebSettingsMediaPlaybackRequiresUserGesture,
    getWebSettingsMediaPlaybackRequiresUserGesture,
    setWebSettingsMediaPlaybackRequiresUserGesture,


-- ** MinimumFontSize
    WebSettingsMinimumFontSizePropertyInfo  ,
    constructWebSettingsMinimumFontSize     ,
    getWebSettingsMinimumFontSize           ,
    setWebSettingsMinimumFontSize           ,


-- ** MinimumLogicalFontSize
    WebSettingsMinimumLogicalFontSizePropertyInfo,
    constructWebSettingsMinimumLogicalFontSize,
    getWebSettingsMinimumLogicalFontSize    ,
    setWebSettingsMinimumLogicalFontSize    ,


-- ** MonospaceFontFamily
    WebSettingsMonospaceFontFamilyPropertyInfo,
    constructWebSettingsMonospaceFontFamily ,
    getWebSettingsMonospaceFontFamily       ,
    setWebSettingsMonospaceFontFamily       ,


-- ** PrintBackgrounds
    WebSettingsPrintBackgroundsPropertyInfo ,
    constructWebSettingsPrintBackgrounds    ,
    getWebSettingsPrintBackgrounds          ,
    setWebSettingsPrintBackgrounds          ,


-- ** ResizableTextAreas
    WebSettingsResizableTextAreasPropertyInfo,
    constructWebSettingsResizableTextAreas  ,
    getWebSettingsResizableTextAreas        ,
    setWebSettingsResizableTextAreas        ,


-- ** RespectImageOrientation
    WebSettingsRespectImageOrientationPropertyInfo,
    constructWebSettingsRespectImageOrientation,
    getWebSettingsRespectImageOrientation   ,
    setWebSettingsRespectImageOrientation   ,


-- ** SansSerifFontFamily
    WebSettingsSansSerifFontFamilyPropertyInfo,
    constructWebSettingsSansSerifFontFamily ,
    getWebSettingsSansSerifFontFamily       ,
    setWebSettingsSansSerifFontFamily       ,


-- ** SerifFontFamily
    WebSettingsSerifFontFamilyPropertyInfo  ,
    constructWebSettingsSerifFontFamily     ,
    getWebSettingsSerifFontFamily           ,
    setWebSettingsSerifFontFamily           ,


-- ** SpellCheckingLanguages
    WebSettingsSpellCheckingLanguagesPropertyInfo,
    constructWebSettingsSpellCheckingLanguages,
    getWebSettingsSpellCheckingLanguages    ,
    setWebSettingsSpellCheckingLanguages    ,


-- ** TabKeyCyclesThroughElements
    WebSettingsTabKeyCyclesThroughElementsPropertyInfo,
    constructWebSettingsTabKeyCyclesThroughElements,
    getWebSettingsTabKeyCyclesThroughElements,
    setWebSettingsTabKeyCyclesThroughElements,


-- ** UserAgent
    WebSettingsUserAgentPropertyInfo        ,
    constructWebSettingsUserAgent           ,
    getWebSettingsUserAgent                 ,
    setWebSettingsUserAgent                 ,


-- ** UserStylesheetUri
    WebSettingsUserStylesheetUriPropertyInfo,
    constructWebSettingsUserStylesheetUri   ,
    getWebSettingsUserStylesheetUri         ,
    setWebSettingsUserStylesheetUri         ,


-- ** ZoomStep
    WebSettingsZoomStepPropertyInfo         ,
    constructWebSettingsZoomStep            ,
    getWebSettingsZoomStep                  ,
    setWebSettingsZoomStep                  ,




    ) 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 WebSettings = WebSettings (ForeignPtr WebSettings)
foreign import ccall "webkit_web_settings_get_type"
    c_webkit_web_settings_get_type :: IO GType

type instance ParentTypes WebSettings = WebSettingsParentTypes
type WebSettingsParentTypes = '[GObject.Object]

instance GObject WebSettings where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_web_settings_get_type
    

class GObject o => WebSettingsK o
instance (GObject o, IsDescendantOf WebSettings o) => WebSettingsK o

toWebSettings :: WebSettingsK o => o -> IO WebSettings
toWebSettings = unsafeCastTo WebSettings

noWebSettings :: Maybe WebSettings
noWebSettings = Nothing

-- VVV Prop "auto-load-images"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsAutoLoadImages :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsAutoLoadImages obj = liftIO $ getObjectPropertyBool obj "auto-load-images"

setWebSettingsAutoLoadImages :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsAutoLoadImages obj val = liftIO $ setObjectPropertyBool obj "auto-load-images" val

constructWebSettingsAutoLoadImages :: Bool -> IO ([Char], GValue)
constructWebSettingsAutoLoadImages val = constructObjectPropertyBool "auto-load-images" val

data WebSettingsAutoLoadImagesPropertyInfo
instance AttrInfo WebSettingsAutoLoadImagesPropertyInfo where
    type AttrAllowedOps WebSettingsAutoLoadImagesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsAutoLoadImagesPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsAutoLoadImagesPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsAutoLoadImagesPropertyInfo = Bool
    type AttrLabel WebSettingsAutoLoadImagesPropertyInfo = "WebSettings::auto-load-images"
    attrGet _ = getWebSettingsAutoLoadImages
    attrSet _ = setWebSettingsAutoLoadImages
    attrConstruct _ = constructWebSettingsAutoLoadImages

-- VVV Prop "auto-resize-window"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsAutoResizeWindow :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsAutoResizeWindow obj = liftIO $ getObjectPropertyBool obj "auto-resize-window"

setWebSettingsAutoResizeWindow :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsAutoResizeWindow obj val = liftIO $ setObjectPropertyBool obj "auto-resize-window" val

constructWebSettingsAutoResizeWindow :: Bool -> IO ([Char], GValue)
constructWebSettingsAutoResizeWindow val = constructObjectPropertyBool "auto-resize-window" val

data WebSettingsAutoResizeWindowPropertyInfo
instance AttrInfo WebSettingsAutoResizeWindowPropertyInfo where
    type AttrAllowedOps WebSettingsAutoResizeWindowPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsAutoResizeWindowPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsAutoResizeWindowPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsAutoResizeWindowPropertyInfo = Bool
    type AttrLabel WebSettingsAutoResizeWindowPropertyInfo = "WebSettings::auto-resize-window"
    attrGet _ = getWebSettingsAutoResizeWindow
    attrSet _ = setWebSettingsAutoResizeWindow
    attrConstruct _ = constructWebSettingsAutoResizeWindow

-- VVV Prop "auto-shrink-images"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsAutoShrinkImages :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsAutoShrinkImages obj = liftIO $ getObjectPropertyBool obj "auto-shrink-images"

setWebSettingsAutoShrinkImages :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsAutoShrinkImages obj val = liftIO $ setObjectPropertyBool obj "auto-shrink-images" val

constructWebSettingsAutoShrinkImages :: Bool -> IO ([Char], GValue)
constructWebSettingsAutoShrinkImages val = constructObjectPropertyBool "auto-shrink-images" val

data WebSettingsAutoShrinkImagesPropertyInfo
instance AttrInfo WebSettingsAutoShrinkImagesPropertyInfo where
    type AttrAllowedOps WebSettingsAutoShrinkImagesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsAutoShrinkImagesPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsAutoShrinkImagesPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsAutoShrinkImagesPropertyInfo = Bool
    type AttrLabel WebSettingsAutoShrinkImagesPropertyInfo = "WebSettings::auto-shrink-images"
    attrGet _ = getWebSettingsAutoShrinkImages
    attrSet _ = setWebSettingsAutoShrinkImages
    attrConstruct _ = constructWebSettingsAutoShrinkImages

-- VVV Prop "cursive-font-family"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsCursiveFontFamily :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsCursiveFontFamily obj = liftIO $ getObjectPropertyString obj "cursive-font-family"

setWebSettingsCursiveFontFamily :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsCursiveFontFamily obj val = liftIO $ setObjectPropertyString obj "cursive-font-family" val

constructWebSettingsCursiveFontFamily :: T.Text -> IO ([Char], GValue)
constructWebSettingsCursiveFontFamily val = constructObjectPropertyString "cursive-font-family" val

data WebSettingsCursiveFontFamilyPropertyInfo
instance AttrInfo WebSettingsCursiveFontFamilyPropertyInfo where
    type AttrAllowedOps WebSettingsCursiveFontFamilyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsCursiveFontFamilyPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsCursiveFontFamilyPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsCursiveFontFamilyPropertyInfo = T.Text
    type AttrLabel WebSettingsCursiveFontFamilyPropertyInfo = "WebSettings::cursive-font-family"
    attrGet _ = getWebSettingsCursiveFontFamily
    attrSet _ = setWebSettingsCursiveFontFamily
    attrConstruct _ = constructWebSettingsCursiveFontFamily

-- VVV Prop "default-encoding"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsDefaultEncoding :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsDefaultEncoding obj = liftIO $ getObjectPropertyString obj "default-encoding"

setWebSettingsDefaultEncoding :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsDefaultEncoding obj val = liftIO $ setObjectPropertyString obj "default-encoding" val

constructWebSettingsDefaultEncoding :: T.Text -> IO ([Char], GValue)
constructWebSettingsDefaultEncoding val = constructObjectPropertyString "default-encoding" val

data WebSettingsDefaultEncodingPropertyInfo
instance AttrInfo WebSettingsDefaultEncodingPropertyInfo where
    type AttrAllowedOps WebSettingsDefaultEncodingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsDefaultEncodingPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsDefaultEncodingPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsDefaultEncodingPropertyInfo = T.Text
    type AttrLabel WebSettingsDefaultEncodingPropertyInfo = "WebSettings::default-encoding"
    attrGet _ = getWebSettingsDefaultEncoding
    attrSet _ = setWebSettingsDefaultEncoding
    attrConstruct _ = constructWebSettingsDefaultEncoding

-- VVV Prop "default-font-family"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsDefaultFontFamily :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsDefaultFontFamily obj = liftIO $ getObjectPropertyString obj "default-font-family"

setWebSettingsDefaultFontFamily :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsDefaultFontFamily obj val = liftIO $ setObjectPropertyString obj "default-font-family" val

constructWebSettingsDefaultFontFamily :: T.Text -> IO ([Char], GValue)
constructWebSettingsDefaultFontFamily val = constructObjectPropertyString "default-font-family" val

data WebSettingsDefaultFontFamilyPropertyInfo
instance AttrInfo WebSettingsDefaultFontFamilyPropertyInfo where
    type AttrAllowedOps WebSettingsDefaultFontFamilyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsDefaultFontFamilyPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsDefaultFontFamilyPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsDefaultFontFamilyPropertyInfo = T.Text
    type AttrLabel WebSettingsDefaultFontFamilyPropertyInfo = "WebSettings::default-font-family"
    attrGet _ = getWebSettingsDefaultFontFamily
    attrSet _ = setWebSettingsDefaultFontFamily
    attrConstruct _ = constructWebSettingsDefaultFontFamily

-- VVV Prop "default-font-size"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsDefaultFontSize :: (MonadIO m, WebSettingsK o) => o -> m Int32
getWebSettingsDefaultFontSize obj = liftIO $ getObjectPropertyCInt obj "default-font-size"

setWebSettingsDefaultFontSize :: (MonadIO m, WebSettingsK o) => o -> Int32 -> m ()
setWebSettingsDefaultFontSize obj val = liftIO $ setObjectPropertyCInt obj "default-font-size" val

constructWebSettingsDefaultFontSize :: Int32 -> IO ([Char], GValue)
constructWebSettingsDefaultFontSize val = constructObjectPropertyCInt "default-font-size" val

data WebSettingsDefaultFontSizePropertyInfo
instance AttrInfo WebSettingsDefaultFontSizePropertyInfo where
    type AttrAllowedOps WebSettingsDefaultFontSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsDefaultFontSizePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint WebSettingsDefaultFontSizePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsDefaultFontSizePropertyInfo = Int32
    type AttrLabel WebSettingsDefaultFontSizePropertyInfo = "WebSettings::default-font-size"
    attrGet _ = getWebSettingsDefaultFontSize
    attrSet _ = setWebSettingsDefaultFontSize
    attrConstruct _ = constructWebSettingsDefaultFontSize

-- VVV Prop "default-monospace-font-size"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsDefaultMonospaceFontSize :: (MonadIO m, WebSettingsK o) => o -> m Int32
getWebSettingsDefaultMonospaceFontSize obj = liftIO $ getObjectPropertyCInt obj "default-monospace-font-size"

setWebSettingsDefaultMonospaceFontSize :: (MonadIO m, WebSettingsK o) => o -> Int32 -> m ()
setWebSettingsDefaultMonospaceFontSize obj val = liftIO $ setObjectPropertyCInt obj "default-monospace-font-size" val

constructWebSettingsDefaultMonospaceFontSize :: Int32 -> IO ([Char], GValue)
constructWebSettingsDefaultMonospaceFontSize val = constructObjectPropertyCInt "default-monospace-font-size" val

data WebSettingsDefaultMonospaceFontSizePropertyInfo
instance AttrInfo WebSettingsDefaultMonospaceFontSizePropertyInfo where
    type AttrAllowedOps WebSettingsDefaultMonospaceFontSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsDefaultMonospaceFontSizePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint WebSettingsDefaultMonospaceFontSizePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsDefaultMonospaceFontSizePropertyInfo = Int32
    type AttrLabel WebSettingsDefaultMonospaceFontSizePropertyInfo = "WebSettings::default-monospace-font-size"
    attrGet _ = getWebSettingsDefaultMonospaceFontSize
    attrSet _ = setWebSettingsDefaultMonospaceFontSize
    attrConstruct _ = constructWebSettingsDefaultMonospaceFontSize

-- VVV Prop "editing-behavior"
   -- Type: TInterface "WebKit" "EditingBehavior"
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEditingBehavior :: (MonadIO m, WebSettingsK o) => o -> m EditingBehavior
getWebSettingsEditingBehavior obj = liftIO $ getObjectPropertyEnum obj "editing-behavior"

setWebSettingsEditingBehavior :: (MonadIO m, WebSettingsK o) => o -> EditingBehavior -> m ()
setWebSettingsEditingBehavior obj val = liftIO $ setObjectPropertyEnum obj "editing-behavior" val

constructWebSettingsEditingBehavior :: EditingBehavior -> IO ([Char], GValue)
constructWebSettingsEditingBehavior val = constructObjectPropertyEnum "editing-behavior" val

data WebSettingsEditingBehaviorPropertyInfo
instance AttrInfo WebSettingsEditingBehaviorPropertyInfo where
    type AttrAllowedOps WebSettingsEditingBehaviorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEditingBehaviorPropertyInfo = (~) EditingBehavior
    type AttrBaseTypeConstraint WebSettingsEditingBehaviorPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEditingBehaviorPropertyInfo = EditingBehavior
    type AttrLabel WebSettingsEditingBehaviorPropertyInfo = "WebSettings::editing-behavior"
    attrGet _ = getWebSettingsEditingBehavior
    attrSet _ = setWebSettingsEditingBehavior
    attrConstruct _ = constructWebSettingsEditingBehavior

-- VVV Prop "enable-accelerated-compositing"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableAcceleratedCompositing :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableAcceleratedCompositing obj = liftIO $ getObjectPropertyBool obj "enable-accelerated-compositing"

setWebSettingsEnableAcceleratedCompositing :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableAcceleratedCompositing obj val = liftIO $ setObjectPropertyBool obj "enable-accelerated-compositing" val

constructWebSettingsEnableAcceleratedCompositing :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableAcceleratedCompositing val = constructObjectPropertyBool "enable-accelerated-compositing" val

data WebSettingsEnableAcceleratedCompositingPropertyInfo
instance AttrInfo WebSettingsEnableAcceleratedCompositingPropertyInfo where
    type AttrAllowedOps WebSettingsEnableAcceleratedCompositingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableAcceleratedCompositingPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableAcceleratedCompositingPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableAcceleratedCompositingPropertyInfo = Bool
    type AttrLabel WebSettingsEnableAcceleratedCompositingPropertyInfo = "WebSettings::enable-accelerated-compositing"
    attrGet _ = getWebSettingsEnableAcceleratedCompositing
    attrSet _ = setWebSettingsEnableAcceleratedCompositing
    attrConstruct _ = constructWebSettingsEnableAcceleratedCompositing

-- VVV Prop "enable-caret-browsing"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableCaretBrowsing :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableCaretBrowsing obj = liftIO $ getObjectPropertyBool obj "enable-caret-browsing"

setWebSettingsEnableCaretBrowsing :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableCaretBrowsing obj val = liftIO $ setObjectPropertyBool obj "enable-caret-browsing" val

constructWebSettingsEnableCaretBrowsing :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableCaretBrowsing val = constructObjectPropertyBool "enable-caret-browsing" val

data WebSettingsEnableCaretBrowsingPropertyInfo
instance AttrInfo WebSettingsEnableCaretBrowsingPropertyInfo where
    type AttrAllowedOps WebSettingsEnableCaretBrowsingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableCaretBrowsingPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableCaretBrowsingPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableCaretBrowsingPropertyInfo = Bool
    type AttrLabel WebSettingsEnableCaretBrowsingPropertyInfo = "WebSettings::enable-caret-browsing"
    attrGet _ = getWebSettingsEnableCaretBrowsing
    attrSet _ = setWebSettingsEnableCaretBrowsing
    attrConstruct _ = constructWebSettingsEnableCaretBrowsing

-- VVV Prop "enable-default-context-menu"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableDefaultContextMenu :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableDefaultContextMenu obj = liftIO $ getObjectPropertyBool obj "enable-default-context-menu"

setWebSettingsEnableDefaultContextMenu :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableDefaultContextMenu obj val = liftIO $ setObjectPropertyBool obj "enable-default-context-menu" val

constructWebSettingsEnableDefaultContextMenu :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableDefaultContextMenu val = constructObjectPropertyBool "enable-default-context-menu" val

data WebSettingsEnableDefaultContextMenuPropertyInfo
instance AttrInfo WebSettingsEnableDefaultContextMenuPropertyInfo where
    type AttrAllowedOps WebSettingsEnableDefaultContextMenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableDefaultContextMenuPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableDefaultContextMenuPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableDefaultContextMenuPropertyInfo = Bool
    type AttrLabel WebSettingsEnableDefaultContextMenuPropertyInfo = "WebSettings::enable-default-context-menu"
    attrGet _ = getWebSettingsEnableDefaultContextMenu
    attrSet _ = setWebSettingsEnableDefaultContextMenu
    attrConstruct _ = constructWebSettingsEnableDefaultContextMenu

-- VVV Prop "enable-developer-extras"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableDeveloperExtras :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableDeveloperExtras obj = liftIO $ getObjectPropertyBool obj "enable-developer-extras"

setWebSettingsEnableDeveloperExtras :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableDeveloperExtras obj val = liftIO $ setObjectPropertyBool obj "enable-developer-extras" val

constructWebSettingsEnableDeveloperExtras :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableDeveloperExtras val = constructObjectPropertyBool "enable-developer-extras" val

data WebSettingsEnableDeveloperExtrasPropertyInfo
instance AttrInfo WebSettingsEnableDeveloperExtrasPropertyInfo where
    type AttrAllowedOps WebSettingsEnableDeveloperExtrasPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableDeveloperExtrasPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableDeveloperExtrasPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableDeveloperExtrasPropertyInfo = Bool
    type AttrLabel WebSettingsEnableDeveloperExtrasPropertyInfo = "WebSettings::enable-developer-extras"
    attrGet _ = getWebSettingsEnableDeveloperExtras
    attrSet _ = setWebSettingsEnableDeveloperExtras
    attrConstruct _ = constructWebSettingsEnableDeveloperExtras

-- VVV Prop "enable-display-of-insecure-content"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableDisplayOfInsecureContent :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableDisplayOfInsecureContent obj = liftIO $ getObjectPropertyBool obj "enable-display-of-insecure-content"

setWebSettingsEnableDisplayOfInsecureContent :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableDisplayOfInsecureContent obj val = liftIO $ setObjectPropertyBool obj "enable-display-of-insecure-content" val

constructWebSettingsEnableDisplayOfInsecureContent :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableDisplayOfInsecureContent val = constructObjectPropertyBool "enable-display-of-insecure-content" val

data WebSettingsEnableDisplayOfInsecureContentPropertyInfo
instance AttrInfo WebSettingsEnableDisplayOfInsecureContentPropertyInfo where
    type AttrAllowedOps WebSettingsEnableDisplayOfInsecureContentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableDisplayOfInsecureContentPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableDisplayOfInsecureContentPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableDisplayOfInsecureContentPropertyInfo = Bool
    type AttrLabel WebSettingsEnableDisplayOfInsecureContentPropertyInfo = "WebSettings::enable-display-of-insecure-content"
    attrGet _ = getWebSettingsEnableDisplayOfInsecureContent
    attrSet _ = setWebSettingsEnableDisplayOfInsecureContent
    attrConstruct _ = constructWebSettingsEnableDisplayOfInsecureContent

-- VVV Prop "enable-dns-prefetching"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableDnsPrefetching :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableDnsPrefetching obj = liftIO $ getObjectPropertyBool obj "enable-dns-prefetching"

setWebSettingsEnableDnsPrefetching :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableDnsPrefetching obj val = liftIO $ setObjectPropertyBool obj "enable-dns-prefetching" val

constructWebSettingsEnableDnsPrefetching :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableDnsPrefetching val = constructObjectPropertyBool "enable-dns-prefetching" val

data WebSettingsEnableDnsPrefetchingPropertyInfo
instance AttrInfo WebSettingsEnableDnsPrefetchingPropertyInfo where
    type AttrAllowedOps WebSettingsEnableDnsPrefetchingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableDnsPrefetchingPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableDnsPrefetchingPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableDnsPrefetchingPropertyInfo = Bool
    type AttrLabel WebSettingsEnableDnsPrefetchingPropertyInfo = "WebSettings::enable-dns-prefetching"
    attrGet _ = getWebSettingsEnableDnsPrefetching
    attrSet _ = setWebSettingsEnableDnsPrefetching
    attrConstruct _ = constructWebSettingsEnableDnsPrefetching

-- VVV Prop "enable-dom-paste"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableDomPaste :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableDomPaste obj = liftIO $ getObjectPropertyBool obj "enable-dom-paste"

setWebSettingsEnableDomPaste :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableDomPaste obj val = liftIO $ setObjectPropertyBool obj "enable-dom-paste" val

constructWebSettingsEnableDomPaste :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableDomPaste val = constructObjectPropertyBool "enable-dom-paste" val

data WebSettingsEnableDomPastePropertyInfo
instance AttrInfo WebSettingsEnableDomPastePropertyInfo where
    type AttrAllowedOps WebSettingsEnableDomPastePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableDomPastePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableDomPastePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableDomPastePropertyInfo = Bool
    type AttrLabel WebSettingsEnableDomPastePropertyInfo = "WebSettings::enable-dom-paste"
    attrGet _ = getWebSettingsEnableDomPaste
    attrSet _ = setWebSettingsEnableDomPaste
    attrConstruct _ = constructWebSettingsEnableDomPaste

-- VVV Prop "enable-file-access-from-file-uris"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableFileAccessFromFileUris :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableFileAccessFromFileUris obj = liftIO $ getObjectPropertyBool obj "enable-file-access-from-file-uris"

setWebSettingsEnableFileAccessFromFileUris :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableFileAccessFromFileUris obj val = liftIO $ setObjectPropertyBool obj "enable-file-access-from-file-uris" val

constructWebSettingsEnableFileAccessFromFileUris :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableFileAccessFromFileUris val = constructObjectPropertyBool "enable-file-access-from-file-uris" val

data WebSettingsEnableFileAccessFromFileUrisPropertyInfo
instance AttrInfo WebSettingsEnableFileAccessFromFileUrisPropertyInfo where
    type AttrAllowedOps WebSettingsEnableFileAccessFromFileUrisPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableFileAccessFromFileUrisPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableFileAccessFromFileUrisPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableFileAccessFromFileUrisPropertyInfo = Bool
    type AttrLabel WebSettingsEnableFileAccessFromFileUrisPropertyInfo = "WebSettings::enable-file-access-from-file-uris"
    attrGet _ = getWebSettingsEnableFileAccessFromFileUris
    attrSet _ = setWebSettingsEnableFileAccessFromFileUris
    attrConstruct _ = constructWebSettingsEnableFileAccessFromFileUris

-- VVV Prop "enable-frame-flattening"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableFrameFlattening :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableFrameFlattening obj = liftIO $ getObjectPropertyBool obj "enable-frame-flattening"

setWebSettingsEnableFrameFlattening :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableFrameFlattening obj val = liftIO $ setObjectPropertyBool obj "enable-frame-flattening" val

constructWebSettingsEnableFrameFlattening :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableFrameFlattening val = constructObjectPropertyBool "enable-frame-flattening" val

data WebSettingsEnableFrameFlatteningPropertyInfo
instance AttrInfo WebSettingsEnableFrameFlatteningPropertyInfo where
    type AttrAllowedOps WebSettingsEnableFrameFlatteningPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableFrameFlatteningPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableFrameFlatteningPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableFrameFlatteningPropertyInfo = Bool
    type AttrLabel WebSettingsEnableFrameFlatteningPropertyInfo = "WebSettings::enable-frame-flattening"
    attrGet _ = getWebSettingsEnableFrameFlattening
    attrSet _ = setWebSettingsEnableFrameFlattening
    attrConstruct _ = constructWebSettingsEnableFrameFlattening

-- VVV Prop "enable-fullscreen"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableFullscreen :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableFullscreen obj = liftIO $ getObjectPropertyBool obj "enable-fullscreen"

setWebSettingsEnableFullscreen :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableFullscreen obj val = liftIO $ setObjectPropertyBool obj "enable-fullscreen" val

constructWebSettingsEnableFullscreen :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableFullscreen val = constructObjectPropertyBool "enable-fullscreen" val

data WebSettingsEnableFullscreenPropertyInfo
instance AttrInfo WebSettingsEnableFullscreenPropertyInfo where
    type AttrAllowedOps WebSettingsEnableFullscreenPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableFullscreenPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableFullscreenPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableFullscreenPropertyInfo = Bool
    type AttrLabel WebSettingsEnableFullscreenPropertyInfo = "WebSettings::enable-fullscreen"
    attrGet _ = getWebSettingsEnableFullscreen
    attrSet _ = setWebSettingsEnableFullscreen
    attrConstruct _ = constructWebSettingsEnableFullscreen

-- VVV Prop "enable-html5-database"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableHtml5Database :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableHtml5Database obj = liftIO $ getObjectPropertyBool obj "enable-html5-database"

setWebSettingsEnableHtml5Database :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableHtml5Database obj val = liftIO $ setObjectPropertyBool obj "enable-html5-database" val

constructWebSettingsEnableHtml5Database :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableHtml5Database val = constructObjectPropertyBool "enable-html5-database" val

data WebSettingsEnableHtml5DatabasePropertyInfo
instance AttrInfo WebSettingsEnableHtml5DatabasePropertyInfo where
    type AttrAllowedOps WebSettingsEnableHtml5DatabasePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableHtml5DatabasePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableHtml5DatabasePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableHtml5DatabasePropertyInfo = Bool
    type AttrLabel WebSettingsEnableHtml5DatabasePropertyInfo = "WebSettings::enable-html5-database"
    attrGet _ = getWebSettingsEnableHtml5Database
    attrSet _ = setWebSettingsEnableHtml5Database
    attrConstruct _ = constructWebSettingsEnableHtml5Database

-- VVV Prop "enable-html5-local-storage"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableHtml5LocalStorage :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableHtml5LocalStorage obj = liftIO $ getObjectPropertyBool obj "enable-html5-local-storage"

setWebSettingsEnableHtml5LocalStorage :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableHtml5LocalStorage obj val = liftIO $ setObjectPropertyBool obj "enable-html5-local-storage" val

constructWebSettingsEnableHtml5LocalStorage :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableHtml5LocalStorage val = constructObjectPropertyBool "enable-html5-local-storage" val

data WebSettingsEnableHtml5LocalStoragePropertyInfo
instance AttrInfo WebSettingsEnableHtml5LocalStoragePropertyInfo where
    type AttrAllowedOps WebSettingsEnableHtml5LocalStoragePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableHtml5LocalStoragePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableHtml5LocalStoragePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableHtml5LocalStoragePropertyInfo = Bool
    type AttrLabel WebSettingsEnableHtml5LocalStoragePropertyInfo = "WebSettings::enable-html5-local-storage"
    attrGet _ = getWebSettingsEnableHtml5LocalStorage
    attrSet _ = setWebSettingsEnableHtml5LocalStorage
    attrConstruct _ = constructWebSettingsEnableHtml5LocalStorage

-- VVV Prop "enable-hyperlink-auditing"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableHyperlinkAuditing :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableHyperlinkAuditing obj = liftIO $ getObjectPropertyBool obj "enable-hyperlink-auditing"

setWebSettingsEnableHyperlinkAuditing :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableHyperlinkAuditing obj val = liftIO $ setObjectPropertyBool obj "enable-hyperlink-auditing" val

constructWebSettingsEnableHyperlinkAuditing :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableHyperlinkAuditing val = constructObjectPropertyBool "enable-hyperlink-auditing" val

data WebSettingsEnableHyperlinkAuditingPropertyInfo
instance AttrInfo WebSettingsEnableHyperlinkAuditingPropertyInfo where
    type AttrAllowedOps WebSettingsEnableHyperlinkAuditingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableHyperlinkAuditingPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableHyperlinkAuditingPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableHyperlinkAuditingPropertyInfo = Bool
    type AttrLabel WebSettingsEnableHyperlinkAuditingPropertyInfo = "WebSettings::enable-hyperlink-auditing"
    attrGet _ = getWebSettingsEnableHyperlinkAuditing
    attrSet _ = setWebSettingsEnableHyperlinkAuditing
    attrConstruct _ = constructWebSettingsEnableHyperlinkAuditing

-- VVV Prop "enable-java-applet"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableJavaApplet :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableJavaApplet obj = liftIO $ getObjectPropertyBool obj "enable-java-applet"

setWebSettingsEnableJavaApplet :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableJavaApplet obj val = liftIO $ setObjectPropertyBool obj "enable-java-applet" val

constructWebSettingsEnableJavaApplet :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableJavaApplet val = constructObjectPropertyBool "enable-java-applet" val

data WebSettingsEnableJavaAppletPropertyInfo
instance AttrInfo WebSettingsEnableJavaAppletPropertyInfo where
    type AttrAllowedOps WebSettingsEnableJavaAppletPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableJavaAppletPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableJavaAppletPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableJavaAppletPropertyInfo = Bool
    type AttrLabel WebSettingsEnableJavaAppletPropertyInfo = "WebSettings::enable-java-applet"
    attrGet _ = getWebSettingsEnableJavaApplet
    attrSet _ = setWebSettingsEnableJavaApplet
    attrConstruct _ = constructWebSettingsEnableJavaApplet

-- VVV Prop "enable-media-stream"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableMediaStream :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableMediaStream obj = liftIO $ getObjectPropertyBool obj "enable-media-stream"

setWebSettingsEnableMediaStream :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableMediaStream obj val = liftIO $ setObjectPropertyBool obj "enable-media-stream" val

constructWebSettingsEnableMediaStream :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableMediaStream val = constructObjectPropertyBool "enable-media-stream" val

data WebSettingsEnableMediaStreamPropertyInfo
instance AttrInfo WebSettingsEnableMediaStreamPropertyInfo where
    type AttrAllowedOps WebSettingsEnableMediaStreamPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableMediaStreamPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableMediaStreamPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableMediaStreamPropertyInfo = Bool
    type AttrLabel WebSettingsEnableMediaStreamPropertyInfo = "WebSettings::enable-media-stream"
    attrGet _ = getWebSettingsEnableMediaStream
    attrSet _ = setWebSettingsEnableMediaStream
    attrConstruct _ = constructWebSettingsEnableMediaStream

-- VVV Prop "enable-mediasource"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableMediasource :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableMediasource obj = liftIO $ getObjectPropertyBool obj "enable-mediasource"

setWebSettingsEnableMediasource :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableMediasource obj val = liftIO $ setObjectPropertyBool obj "enable-mediasource" val

constructWebSettingsEnableMediasource :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableMediasource val = constructObjectPropertyBool "enable-mediasource" val

data WebSettingsEnableMediasourcePropertyInfo
instance AttrInfo WebSettingsEnableMediasourcePropertyInfo where
    type AttrAllowedOps WebSettingsEnableMediasourcePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableMediasourcePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableMediasourcePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableMediasourcePropertyInfo = Bool
    type AttrLabel WebSettingsEnableMediasourcePropertyInfo = "WebSettings::enable-mediasource"
    attrGet _ = getWebSettingsEnableMediasource
    attrSet _ = setWebSettingsEnableMediasource
    attrConstruct _ = constructWebSettingsEnableMediasource

-- VVV Prop "enable-offline-web-application-cache"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableOfflineWebApplicationCache :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableOfflineWebApplicationCache obj = liftIO $ getObjectPropertyBool obj "enable-offline-web-application-cache"

setWebSettingsEnableOfflineWebApplicationCache :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableOfflineWebApplicationCache obj val = liftIO $ setObjectPropertyBool obj "enable-offline-web-application-cache" val

constructWebSettingsEnableOfflineWebApplicationCache :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableOfflineWebApplicationCache val = constructObjectPropertyBool "enable-offline-web-application-cache" val

data WebSettingsEnableOfflineWebApplicationCachePropertyInfo
instance AttrInfo WebSettingsEnableOfflineWebApplicationCachePropertyInfo where
    type AttrAllowedOps WebSettingsEnableOfflineWebApplicationCachePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableOfflineWebApplicationCachePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableOfflineWebApplicationCachePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableOfflineWebApplicationCachePropertyInfo = Bool
    type AttrLabel WebSettingsEnableOfflineWebApplicationCachePropertyInfo = "WebSettings::enable-offline-web-application-cache"
    attrGet _ = getWebSettingsEnableOfflineWebApplicationCache
    attrSet _ = setWebSettingsEnableOfflineWebApplicationCache
    attrConstruct _ = constructWebSettingsEnableOfflineWebApplicationCache

-- VVV Prop "enable-page-cache"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnablePageCache :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnablePageCache obj = liftIO $ getObjectPropertyBool obj "enable-page-cache"

setWebSettingsEnablePageCache :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnablePageCache obj val = liftIO $ setObjectPropertyBool obj "enable-page-cache" val

constructWebSettingsEnablePageCache :: Bool -> IO ([Char], GValue)
constructWebSettingsEnablePageCache val = constructObjectPropertyBool "enable-page-cache" val

data WebSettingsEnablePageCachePropertyInfo
instance AttrInfo WebSettingsEnablePageCachePropertyInfo where
    type AttrAllowedOps WebSettingsEnablePageCachePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnablePageCachePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnablePageCachePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnablePageCachePropertyInfo = Bool
    type AttrLabel WebSettingsEnablePageCachePropertyInfo = "WebSettings::enable-page-cache"
    attrGet _ = getWebSettingsEnablePageCache
    attrSet _ = setWebSettingsEnablePageCache
    attrConstruct _ = constructWebSettingsEnablePageCache

-- VVV Prop "enable-plugins"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnablePlugins :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnablePlugins obj = liftIO $ getObjectPropertyBool obj "enable-plugins"

setWebSettingsEnablePlugins :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnablePlugins obj val = liftIO $ setObjectPropertyBool obj "enable-plugins" val

constructWebSettingsEnablePlugins :: Bool -> IO ([Char], GValue)
constructWebSettingsEnablePlugins val = constructObjectPropertyBool "enable-plugins" val

data WebSettingsEnablePluginsPropertyInfo
instance AttrInfo WebSettingsEnablePluginsPropertyInfo where
    type AttrAllowedOps WebSettingsEnablePluginsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnablePluginsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnablePluginsPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnablePluginsPropertyInfo = Bool
    type AttrLabel WebSettingsEnablePluginsPropertyInfo = "WebSettings::enable-plugins"
    attrGet _ = getWebSettingsEnablePlugins
    attrSet _ = setWebSettingsEnablePlugins
    attrConstruct _ = constructWebSettingsEnablePlugins

-- VVV Prop "enable-private-browsing"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnablePrivateBrowsing :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnablePrivateBrowsing obj = liftIO $ getObjectPropertyBool obj "enable-private-browsing"

setWebSettingsEnablePrivateBrowsing :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnablePrivateBrowsing obj val = liftIO $ setObjectPropertyBool obj "enable-private-browsing" val

constructWebSettingsEnablePrivateBrowsing :: Bool -> IO ([Char], GValue)
constructWebSettingsEnablePrivateBrowsing val = constructObjectPropertyBool "enable-private-browsing" val

data WebSettingsEnablePrivateBrowsingPropertyInfo
instance AttrInfo WebSettingsEnablePrivateBrowsingPropertyInfo where
    type AttrAllowedOps WebSettingsEnablePrivateBrowsingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnablePrivateBrowsingPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnablePrivateBrowsingPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnablePrivateBrowsingPropertyInfo = Bool
    type AttrLabel WebSettingsEnablePrivateBrowsingPropertyInfo = "WebSettings::enable-private-browsing"
    attrGet _ = getWebSettingsEnablePrivateBrowsing
    attrSet _ = setWebSettingsEnablePrivateBrowsing
    attrConstruct _ = constructWebSettingsEnablePrivateBrowsing

-- VVV Prop "enable-running-of-insecure-content"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableRunningOfInsecureContent :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableRunningOfInsecureContent obj = liftIO $ getObjectPropertyBool obj "enable-running-of-insecure-content"

setWebSettingsEnableRunningOfInsecureContent :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableRunningOfInsecureContent obj val = liftIO $ setObjectPropertyBool obj "enable-running-of-insecure-content" val

constructWebSettingsEnableRunningOfInsecureContent :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableRunningOfInsecureContent val = constructObjectPropertyBool "enable-running-of-insecure-content" val

data WebSettingsEnableRunningOfInsecureContentPropertyInfo
instance AttrInfo WebSettingsEnableRunningOfInsecureContentPropertyInfo where
    type AttrAllowedOps WebSettingsEnableRunningOfInsecureContentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableRunningOfInsecureContentPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableRunningOfInsecureContentPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableRunningOfInsecureContentPropertyInfo = Bool
    type AttrLabel WebSettingsEnableRunningOfInsecureContentPropertyInfo = "WebSettings::enable-running-of-insecure-content"
    attrGet _ = getWebSettingsEnableRunningOfInsecureContent
    attrSet _ = setWebSettingsEnableRunningOfInsecureContent
    attrConstruct _ = constructWebSettingsEnableRunningOfInsecureContent

-- VVV Prop "enable-scripts"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableScripts :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableScripts obj = liftIO $ getObjectPropertyBool obj "enable-scripts"

setWebSettingsEnableScripts :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableScripts obj val = liftIO $ setObjectPropertyBool obj "enable-scripts" val

constructWebSettingsEnableScripts :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableScripts val = constructObjectPropertyBool "enable-scripts" val

data WebSettingsEnableScriptsPropertyInfo
instance AttrInfo WebSettingsEnableScriptsPropertyInfo where
    type AttrAllowedOps WebSettingsEnableScriptsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableScriptsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableScriptsPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableScriptsPropertyInfo = Bool
    type AttrLabel WebSettingsEnableScriptsPropertyInfo = "WebSettings::enable-scripts"
    attrGet _ = getWebSettingsEnableScripts
    attrSet _ = setWebSettingsEnableScripts
    attrConstruct _ = constructWebSettingsEnableScripts

-- VVV Prop "enable-site-specific-quirks"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableSiteSpecificQuirks :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableSiteSpecificQuirks obj = liftIO $ getObjectPropertyBool obj "enable-site-specific-quirks"

setWebSettingsEnableSiteSpecificQuirks :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableSiteSpecificQuirks obj val = liftIO $ setObjectPropertyBool obj "enable-site-specific-quirks" val

constructWebSettingsEnableSiteSpecificQuirks :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableSiteSpecificQuirks val = constructObjectPropertyBool "enable-site-specific-quirks" val

data WebSettingsEnableSiteSpecificQuirksPropertyInfo
instance AttrInfo WebSettingsEnableSiteSpecificQuirksPropertyInfo where
    type AttrAllowedOps WebSettingsEnableSiteSpecificQuirksPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableSiteSpecificQuirksPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableSiteSpecificQuirksPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableSiteSpecificQuirksPropertyInfo = Bool
    type AttrLabel WebSettingsEnableSiteSpecificQuirksPropertyInfo = "WebSettings::enable-site-specific-quirks"
    attrGet _ = getWebSettingsEnableSiteSpecificQuirks
    attrSet _ = setWebSettingsEnableSiteSpecificQuirks
    attrConstruct _ = constructWebSettingsEnableSiteSpecificQuirks

-- VVV Prop "enable-smooth-scrolling"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableSmoothScrolling :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableSmoothScrolling obj = liftIO $ getObjectPropertyBool obj "enable-smooth-scrolling"

setWebSettingsEnableSmoothScrolling :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableSmoothScrolling obj val = liftIO $ setObjectPropertyBool obj "enable-smooth-scrolling" val

constructWebSettingsEnableSmoothScrolling :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableSmoothScrolling val = constructObjectPropertyBool "enable-smooth-scrolling" val

data WebSettingsEnableSmoothScrollingPropertyInfo
instance AttrInfo WebSettingsEnableSmoothScrollingPropertyInfo where
    type AttrAllowedOps WebSettingsEnableSmoothScrollingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableSmoothScrollingPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableSmoothScrollingPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableSmoothScrollingPropertyInfo = Bool
    type AttrLabel WebSettingsEnableSmoothScrollingPropertyInfo = "WebSettings::enable-smooth-scrolling"
    attrGet _ = getWebSettingsEnableSmoothScrolling
    attrSet _ = setWebSettingsEnableSmoothScrolling
    attrConstruct _ = constructWebSettingsEnableSmoothScrolling

-- VVV Prop "enable-spatial-navigation"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableSpatialNavigation :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableSpatialNavigation obj = liftIO $ getObjectPropertyBool obj "enable-spatial-navigation"

setWebSettingsEnableSpatialNavigation :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableSpatialNavigation obj val = liftIO $ setObjectPropertyBool obj "enable-spatial-navigation" val

constructWebSettingsEnableSpatialNavigation :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableSpatialNavigation val = constructObjectPropertyBool "enable-spatial-navigation" val

data WebSettingsEnableSpatialNavigationPropertyInfo
instance AttrInfo WebSettingsEnableSpatialNavigationPropertyInfo where
    type AttrAllowedOps WebSettingsEnableSpatialNavigationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableSpatialNavigationPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableSpatialNavigationPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableSpatialNavigationPropertyInfo = Bool
    type AttrLabel WebSettingsEnableSpatialNavigationPropertyInfo = "WebSettings::enable-spatial-navigation"
    attrGet _ = getWebSettingsEnableSpatialNavigation
    attrSet _ = setWebSettingsEnableSpatialNavigation
    attrConstruct _ = constructWebSettingsEnableSpatialNavigation

-- VVV Prop "enable-spell-checking"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableSpellChecking :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableSpellChecking obj = liftIO $ getObjectPropertyBool obj "enable-spell-checking"

setWebSettingsEnableSpellChecking :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableSpellChecking obj val = liftIO $ setObjectPropertyBool obj "enable-spell-checking" val

constructWebSettingsEnableSpellChecking :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableSpellChecking val = constructObjectPropertyBool "enable-spell-checking" val

data WebSettingsEnableSpellCheckingPropertyInfo
instance AttrInfo WebSettingsEnableSpellCheckingPropertyInfo where
    type AttrAllowedOps WebSettingsEnableSpellCheckingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableSpellCheckingPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableSpellCheckingPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableSpellCheckingPropertyInfo = Bool
    type AttrLabel WebSettingsEnableSpellCheckingPropertyInfo = "WebSettings::enable-spell-checking"
    attrGet _ = getWebSettingsEnableSpellChecking
    attrSet _ = setWebSettingsEnableSpellChecking
    attrConstruct _ = constructWebSettingsEnableSpellChecking

-- VVV Prop "enable-universal-access-from-file-uris"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableUniversalAccessFromFileUris :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableUniversalAccessFromFileUris obj = liftIO $ getObjectPropertyBool obj "enable-universal-access-from-file-uris"

setWebSettingsEnableUniversalAccessFromFileUris :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableUniversalAccessFromFileUris obj val = liftIO $ setObjectPropertyBool obj "enable-universal-access-from-file-uris" val

constructWebSettingsEnableUniversalAccessFromFileUris :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableUniversalAccessFromFileUris val = constructObjectPropertyBool "enable-universal-access-from-file-uris" val

data WebSettingsEnableUniversalAccessFromFileUrisPropertyInfo
instance AttrInfo WebSettingsEnableUniversalAccessFromFileUrisPropertyInfo where
    type AttrAllowedOps WebSettingsEnableUniversalAccessFromFileUrisPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableUniversalAccessFromFileUrisPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableUniversalAccessFromFileUrisPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableUniversalAccessFromFileUrisPropertyInfo = Bool
    type AttrLabel WebSettingsEnableUniversalAccessFromFileUrisPropertyInfo = "WebSettings::enable-universal-access-from-file-uris"
    attrGet _ = getWebSettingsEnableUniversalAccessFromFileUris
    attrSet _ = setWebSettingsEnableUniversalAccessFromFileUris
    attrConstruct _ = constructWebSettingsEnableUniversalAccessFromFileUris

-- VVV Prop "enable-webaudio"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableWebaudio :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableWebaudio obj = liftIO $ getObjectPropertyBool obj "enable-webaudio"

setWebSettingsEnableWebaudio :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableWebaudio obj val = liftIO $ setObjectPropertyBool obj "enable-webaudio" val

constructWebSettingsEnableWebaudio :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableWebaudio val = constructObjectPropertyBool "enable-webaudio" val

data WebSettingsEnableWebaudioPropertyInfo
instance AttrInfo WebSettingsEnableWebaudioPropertyInfo where
    type AttrAllowedOps WebSettingsEnableWebaudioPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableWebaudioPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableWebaudioPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableWebaudioPropertyInfo = Bool
    type AttrLabel WebSettingsEnableWebaudioPropertyInfo = "WebSettings::enable-webaudio"
    attrGet _ = getWebSettingsEnableWebaudio
    attrSet _ = setWebSettingsEnableWebaudio
    attrConstruct _ = constructWebSettingsEnableWebaudio

-- VVV Prop "enable-webgl"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableWebgl :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableWebgl obj = liftIO $ getObjectPropertyBool obj "enable-webgl"

setWebSettingsEnableWebgl :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableWebgl obj val = liftIO $ setObjectPropertyBool obj "enable-webgl" val

constructWebSettingsEnableWebgl :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableWebgl val = constructObjectPropertyBool "enable-webgl" val

data WebSettingsEnableWebglPropertyInfo
instance AttrInfo WebSettingsEnableWebglPropertyInfo where
    type AttrAllowedOps WebSettingsEnableWebglPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableWebglPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableWebglPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableWebglPropertyInfo = Bool
    type AttrLabel WebSettingsEnableWebglPropertyInfo = "WebSettings::enable-webgl"
    attrGet _ = getWebSettingsEnableWebgl
    attrSet _ = setWebSettingsEnableWebgl
    attrConstruct _ = constructWebSettingsEnableWebgl

-- VVV Prop "enable-xss-auditor"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnableXssAuditor :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnableXssAuditor obj = liftIO $ getObjectPropertyBool obj "enable-xss-auditor"

setWebSettingsEnableXssAuditor :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnableXssAuditor obj val = liftIO $ setObjectPropertyBool obj "enable-xss-auditor" val

constructWebSettingsEnableXssAuditor :: Bool -> IO ([Char], GValue)
constructWebSettingsEnableXssAuditor val = constructObjectPropertyBool "enable-xss-auditor" val

data WebSettingsEnableXssAuditorPropertyInfo
instance AttrInfo WebSettingsEnableXssAuditorPropertyInfo where
    type AttrAllowedOps WebSettingsEnableXssAuditorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnableXssAuditorPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnableXssAuditorPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnableXssAuditorPropertyInfo = Bool
    type AttrLabel WebSettingsEnableXssAuditorPropertyInfo = "WebSettings::enable-xss-auditor"
    attrGet _ = getWebSettingsEnableXssAuditor
    attrSet _ = setWebSettingsEnableXssAuditor
    attrConstruct _ = constructWebSettingsEnableXssAuditor

-- VVV Prop "enforce-96-dpi"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsEnforce96Dpi :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsEnforce96Dpi obj = liftIO $ getObjectPropertyBool obj "enforce-96-dpi"

setWebSettingsEnforce96Dpi :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsEnforce96Dpi obj val = liftIO $ setObjectPropertyBool obj "enforce-96-dpi" val

constructWebSettingsEnforce96Dpi :: Bool -> IO ([Char], GValue)
constructWebSettingsEnforce96Dpi val = constructObjectPropertyBool "enforce-96-dpi" val

data WebSettingsEnforce96DpiPropertyInfo
instance AttrInfo WebSettingsEnforce96DpiPropertyInfo where
    type AttrAllowedOps WebSettingsEnforce96DpiPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsEnforce96DpiPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsEnforce96DpiPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsEnforce96DpiPropertyInfo = Bool
    type AttrLabel WebSettingsEnforce96DpiPropertyInfo = "WebSettings::enforce-96-dpi"
    attrGet _ = getWebSettingsEnforce96Dpi
    attrSet _ = setWebSettingsEnforce96Dpi
    attrConstruct _ = constructWebSettingsEnforce96Dpi

-- VVV Prop "fantasy-font-family"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsFantasyFontFamily :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsFantasyFontFamily obj = liftIO $ getObjectPropertyString obj "fantasy-font-family"

setWebSettingsFantasyFontFamily :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsFantasyFontFamily obj val = liftIO $ setObjectPropertyString obj "fantasy-font-family" val

constructWebSettingsFantasyFontFamily :: T.Text -> IO ([Char], GValue)
constructWebSettingsFantasyFontFamily val = constructObjectPropertyString "fantasy-font-family" val

data WebSettingsFantasyFontFamilyPropertyInfo
instance AttrInfo WebSettingsFantasyFontFamilyPropertyInfo where
    type AttrAllowedOps WebSettingsFantasyFontFamilyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsFantasyFontFamilyPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsFantasyFontFamilyPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsFantasyFontFamilyPropertyInfo = T.Text
    type AttrLabel WebSettingsFantasyFontFamilyPropertyInfo = "WebSettings::fantasy-font-family"
    attrGet _ = getWebSettingsFantasyFontFamily
    attrSet _ = setWebSettingsFantasyFontFamily
    attrConstruct _ = constructWebSettingsFantasyFontFamily

-- VVV Prop "html5-local-storage-database-path"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsHtml5LocalStorageDatabasePath :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsHtml5LocalStorageDatabasePath obj = liftIO $ getObjectPropertyString obj "html5-local-storage-database-path"

setWebSettingsHtml5LocalStorageDatabasePath :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsHtml5LocalStorageDatabasePath obj val = liftIO $ setObjectPropertyString obj "html5-local-storage-database-path" val

constructWebSettingsHtml5LocalStorageDatabasePath :: T.Text -> IO ([Char], GValue)
constructWebSettingsHtml5LocalStorageDatabasePath val = constructObjectPropertyString "html5-local-storage-database-path" val

data WebSettingsHtml5LocalStorageDatabasePathPropertyInfo
instance AttrInfo WebSettingsHtml5LocalStorageDatabasePathPropertyInfo where
    type AttrAllowedOps WebSettingsHtml5LocalStorageDatabasePathPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsHtml5LocalStorageDatabasePathPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsHtml5LocalStorageDatabasePathPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsHtml5LocalStorageDatabasePathPropertyInfo = T.Text
    type AttrLabel WebSettingsHtml5LocalStorageDatabasePathPropertyInfo = "WebSettings::html5-local-storage-database-path"
    attrGet _ = getWebSettingsHtml5LocalStorageDatabasePath
    attrSet _ = setWebSettingsHtml5LocalStorageDatabasePath
    attrConstruct _ = constructWebSettingsHtml5LocalStorageDatabasePath

-- VVV Prop "javascript-can-access-clipboard"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsJavascriptCanAccessClipboard :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsJavascriptCanAccessClipboard obj = liftIO $ getObjectPropertyBool obj "javascript-can-access-clipboard"

setWebSettingsJavascriptCanAccessClipboard :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsJavascriptCanAccessClipboard obj val = liftIO $ setObjectPropertyBool obj "javascript-can-access-clipboard" val

constructWebSettingsJavascriptCanAccessClipboard :: Bool -> IO ([Char], GValue)
constructWebSettingsJavascriptCanAccessClipboard val = constructObjectPropertyBool "javascript-can-access-clipboard" val

data WebSettingsJavascriptCanAccessClipboardPropertyInfo
instance AttrInfo WebSettingsJavascriptCanAccessClipboardPropertyInfo where
    type AttrAllowedOps WebSettingsJavascriptCanAccessClipboardPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsJavascriptCanAccessClipboardPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsJavascriptCanAccessClipboardPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsJavascriptCanAccessClipboardPropertyInfo = Bool
    type AttrLabel WebSettingsJavascriptCanAccessClipboardPropertyInfo = "WebSettings::javascript-can-access-clipboard"
    attrGet _ = getWebSettingsJavascriptCanAccessClipboard
    attrSet _ = setWebSettingsJavascriptCanAccessClipboard
    attrConstruct _ = constructWebSettingsJavascriptCanAccessClipboard

-- VVV Prop "javascript-can-open-windows-automatically"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsJavascriptCanOpenWindowsAutomatically :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsJavascriptCanOpenWindowsAutomatically obj = liftIO $ getObjectPropertyBool obj "javascript-can-open-windows-automatically"

setWebSettingsJavascriptCanOpenWindowsAutomatically :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsJavascriptCanOpenWindowsAutomatically obj val = liftIO $ setObjectPropertyBool obj "javascript-can-open-windows-automatically" val

constructWebSettingsJavascriptCanOpenWindowsAutomatically :: Bool -> IO ([Char], GValue)
constructWebSettingsJavascriptCanOpenWindowsAutomatically val = constructObjectPropertyBool "javascript-can-open-windows-automatically" val

data WebSettingsJavascriptCanOpenWindowsAutomaticallyPropertyInfo
instance AttrInfo WebSettingsJavascriptCanOpenWindowsAutomaticallyPropertyInfo where
    type AttrAllowedOps WebSettingsJavascriptCanOpenWindowsAutomaticallyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsJavascriptCanOpenWindowsAutomaticallyPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsJavascriptCanOpenWindowsAutomaticallyPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsJavascriptCanOpenWindowsAutomaticallyPropertyInfo = Bool
    type AttrLabel WebSettingsJavascriptCanOpenWindowsAutomaticallyPropertyInfo = "WebSettings::javascript-can-open-windows-automatically"
    attrGet _ = getWebSettingsJavascriptCanOpenWindowsAutomatically
    attrSet _ = setWebSettingsJavascriptCanOpenWindowsAutomatically
    attrConstruct _ = constructWebSettingsJavascriptCanOpenWindowsAutomatically

-- VVV Prop "media-playback-allows-inline"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsMediaPlaybackAllowsInline :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsMediaPlaybackAllowsInline obj = liftIO $ getObjectPropertyBool obj "media-playback-allows-inline"

setWebSettingsMediaPlaybackAllowsInline :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsMediaPlaybackAllowsInline obj val = liftIO $ setObjectPropertyBool obj "media-playback-allows-inline" val

constructWebSettingsMediaPlaybackAllowsInline :: Bool -> IO ([Char], GValue)
constructWebSettingsMediaPlaybackAllowsInline val = constructObjectPropertyBool "media-playback-allows-inline" val

data WebSettingsMediaPlaybackAllowsInlinePropertyInfo
instance AttrInfo WebSettingsMediaPlaybackAllowsInlinePropertyInfo where
    type AttrAllowedOps WebSettingsMediaPlaybackAllowsInlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsMediaPlaybackAllowsInlinePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsMediaPlaybackAllowsInlinePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsMediaPlaybackAllowsInlinePropertyInfo = Bool
    type AttrLabel WebSettingsMediaPlaybackAllowsInlinePropertyInfo = "WebSettings::media-playback-allows-inline"
    attrGet _ = getWebSettingsMediaPlaybackAllowsInline
    attrSet _ = setWebSettingsMediaPlaybackAllowsInline
    attrConstruct _ = constructWebSettingsMediaPlaybackAllowsInline

-- VVV Prop "media-playback-requires-user-gesture"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsMediaPlaybackRequiresUserGesture :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsMediaPlaybackRequiresUserGesture obj = liftIO $ getObjectPropertyBool obj "media-playback-requires-user-gesture"

setWebSettingsMediaPlaybackRequiresUserGesture :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsMediaPlaybackRequiresUserGesture obj val = liftIO $ setObjectPropertyBool obj "media-playback-requires-user-gesture" val

constructWebSettingsMediaPlaybackRequiresUserGesture :: Bool -> IO ([Char], GValue)
constructWebSettingsMediaPlaybackRequiresUserGesture val = constructObjectPropertyBool "media-playback-requires-user-gesture" val

data WebSettingsMediaPlaybackRequiresUserGesturePropertyInfo
instance AttrInfo WebSettingsMediaPlaybackRequiresUserGesturePropertyInfo where
    type AttrAllowedOps WebSettingsMediaPlaybackRequiresUserGesturePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsMediaPlaybackRequiresUserGesturePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsMediaPlaybackRequiresUserGesturePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsMediaPlaybackRequiresUserGesturePropertyInfo = Bool
    type AttrLabel WebSettingsMediaPlaybackRequiresUserGesturePropertyInfo = "WebSettings::media-playback-requires-user-gesture"
    attrGet _ = getWebSettingsMediaPlaybackRequiresUserGesture
    attrSet _ = setWebSettingsMediaPlaybackRequiresUserGesture
    attrConstruct _ = constructWebSettingsMediaPlaybackRequiresUserGesture

-- VVV Prop "minimum-font-size"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsMinimumFontSize :: (MonadIO m, WebSettingsK o) => o -> m Int32
getWebSettingsMinimumFontSize obj = liftIO $ getObjectPropertyCInt obj "minimum-font-size"

setWebSettingsMinimumFontSize :: (MonadIO m, WebSettingsK o) => o -> Int32 -> m ()
setWebSettingsMinimumFontSize obj val = liftIO $ setObjectPropertyCInt obj "minimum-font-size" val

constructWebSettingsMinimumFontSize :: Int32 -> IO ([Char], GValue)
constructWebSettingsMinimumFontSize val = constructObjectPropertyCInt "minimum-font-size" val

data WebSettingsMinimumFontSizePropertyInfo
instance AttrInfo WebSettingsMinimumFontSizePropertyInfo where
    type AttrAllowedOps WebSettingsMinimumFontSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsMinimumFontSizePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint WebSettingsMinimumFontSizePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsMinimumFontSizePropertyInfo = Int32
    type AttrLabel WebSettingsMinimumFontSizePropertyInfo = "WebSettings::minimum-font-size"
    attrGet _ = getWebSettingsMinimumFontSize
    attrSet _ = setWebSettingsMinimumFontSize
    attrConstruct _ = constructWebSettingsMinimumFontSize

-- VVV Prop "minimum-logical-font-size"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsMinimumLogicalFontSize :: (MonadIO m, WebSettingsK o) => o -> m Int32
getWebSettingsMinimumLogicalFontSize obj = liftIO $ getObjectPropertyCInt obj "minimum-logical-font-size"

setWebSettingsMinimumLogicalFontSize :: (MonadIO m, WebSettingsK o) => o -> Int32 -> m ()
setWebSettingsMinimumLogicalFontSize obj val = liftIO $ setObjectPropertyCInt obj "minimum-logical-font-size" val

constructWebSettingsMinimumLogicalFontSize :: Int32 -> IO ([Char], GValue)
constructWebSettingsMinimumLogicalFontSize val = constructObjectPropertyCInt "minimum-logical-font-size" val

data WebSettingsMinimumLogicalFontSizePropertyInfo
instance AttrInfo WebSettingsMinimumLogicalFontSizePropertyInfo where
    type AttrAllowedOps WebSettingsMinimumLogicalFontSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsMinimumLogicalFontSizePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint WebSettingsMinimumLogicalFontSizePropertyInfo = WebSettingsK
    type AttrGetType WebSettingsMinimumLogicalFontSizePropertyInfo = Int32
    type AttrLabel WebSettingsMinimumLogicalFontSizePropertyInfo = "WebSettings::minimum-logical-font-size"
    attrGet _ = getWebSettingsMinimumLogicalFontSize
    attrSet _ = setWebSettingsMinimumLogicalFontSize
    attrConstruct _ = constructWebSettingsMinimumLogicalFontSize

-- VVV Prop "monospace-font-family"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsMonospaceFontFamily :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsMonospaceFontFamily obj = liftIO $ getObjectPropertyString obj "monospace-font-family"

setWebSettingsMonospaceFontFamily :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsMonospaceFontFamily obj val = liftIO $ setObjectPropertyString obj "monospace-font-family" val

constructWebSettingsMonospaceFontFamily :: T.Text -> IO ([Char], GValue)
constructWebSettingsMonospaceFontFamily val = constructObjectPropertyString "monospace-font-family" val

data WebSettingsMonospaceFontFamilyPropertyInfo
instance AttrInfo WebSettingsMonospaceFontFamilyPropertyInfo where
    type AttrAllowedOps WebSettingsMonospaceFontFamilyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsMonospaceFontFamilyPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsMonospaceFontFamilyPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsMonospaceFontFamilyPropertyInfo = T.Text
    type AttrLabel WebSettingsMonospaceFontFamilyPropertyInfo = "WebSettings::monospace-font-family"
    attrGet _ = getWebSettingsMonospaceFontFamily
    attrSet _ = setWebSettingsMonospaceFontFamily
    attrConstruct _ = constructWebSettingsMonospaceFontFamily

-- VVV Prop "print-backgrounds"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsPrintBackgrounds :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsPrintBackgrounds obj = liftIO $ getObjectPropertyBool obj "print-backgrounds"

setWebSettingsPrintBackgrounds :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsPrintBackgrounds obj val = liftIO $ setObjectPropertyBool obj "print-backgrounds" val

constructWebSettingsPrintBackgrounds :: Bool -> IO ([Char], GValue)
constructWebSettingsPrintBackgrounds val = constructObjectPropertyBool "print-backgrounds" val

data WebSettingsPrintBackgroundsPropertyInfo
instance AttrInfo WebSettingsPrintBackgroundsPropertyInfo where
    type AttrAllowedOps WebSettingsPrintBackgroundsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsPrintBackgroundsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsPrintBackgroundsPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsPrintBackgroundsPropertyInfo = Bool
    type AttrLabel WebSettingsPrintBackgroundsPropertyInfo = "WebSettings::print-backgrounds"
    attrGet _ = getWebSettingsPrintBackgrounds
    attrSet _ = setWebSettingsPrintBackgrounds
    attrConstruct _ = constructWebSettingsPrintBackgrounds

-- VVV Prop "resizable-text-areas"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsResizableTextAreas :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsResizableTextAreas obj = liftIO $ getObjectPropertyBool obj "resizable-text-areas"

setWebSettingsResizableTextAreas :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsResizableTextAreas obj val = liftIO $ setObjectPropertyBool obj "resizable-text-areas" val

constructWebSettingsResizableTextAreas :: Bool -> IO ([Char], GValue)
constructWebSettingsResizableTextAreas val = constructObjectPropertyBool "resizable-text-areas" val

data WebSettingsResizableTextAreasPropertyInfo
instance AttrInfo WebSettingsResizableTextAreasPropertyInfo where
    type AttrAllowedOps WebSettingsResizableTextAreasPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsResizableTextAreasPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsResizableTextAreasPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsResizableTextAreasPropertyInfo = Bool
    type AttrLabel WebSettingsResizableTextAreasPropertyInfo = "WebSettings::resizable-text-areas"
    attrGet _ = getWebSettingsResizableTextAreas
    attrSet _ = setWebSettingsResizableTextAreas
    attrConstruct _ = constructWebSettingsResizableTextAreas

-- VVV Prop "respect-image-orientation"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsRespectImageOrientation :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsRespectImageOrientation obj = liftIO $ getObjectPropertyBool obj "respect-image-orientation"

setWebSettingsRespectImageOrientation :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsRespectImageOrientation obj val = liftIO $ setObjectPropertyBool obj "respect-image-orientation" val

constructWebSettingsRespectImageOrientation :: Bool -> IO ([Char], GValue)
constructWebSettingsRespectImageOrientation val = constructObjectPropertyBool "respect-image-orientation" val

data WebSettingsRespectImageOrientationPropertyInfo
instance AttrInfo WebSettingsRespectImageOrientationPropertyInfo where
    type AttrAllowedOps WebSettingsRespectImageOrientationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsRespectImageOrientationPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsRespectImageOrientationPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsRespectImageOrientationPropertyInfo = Bool
    type AttrLabel WebSettingsRespectImageOrientationPropertyInfo = "WebSettings::respect-image-orientation"
    attrGet _ = getWebSettingsRespectImageOrientation
    attrSet _ = setWebSettingsRespectImageOrientation
    attrConstruct _ = constructWebSettingsRespectImageOrientation

-- VVV Prop "sans-serif-font-family"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsSansSerifFontFamily :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsSansSerifFontFamily obj = liftIO $ getObjectPropertyString obj "sans-serif-font-family"

setWebSettingsSansSerifFontFamily :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsSansSerifFontFamily obj val = liftIO $ setObjectPropertyString obj "sans-serif-font-family" val

constructWebSettingsSansSerifFontFamily :: T.Text -> IO ([Char], GValue)
constructWebSettingsSansSerifFontFamily val = constructObjectPropertyString "sans-serif-font-family" val

data WebSettingsSansSerifFontFamilyPropertyInfo
instance AttrInfo WebSettingsSansSerifFontFamilyPropertyInfo where
    type AttrAllowedOps WebSettingsSansSerifFontFamilyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsSansSerifFontFamilyPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsSansSerifFontFamilyPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsSansSerifFontFamilyPropertyInfo = T.Text
    type AttrLabel WebSettingsSansSerifFontFamilyPropertyInfo = "WebSettings::sans-serif-font-family"
    attrGet _ = getWebSettingsSansSerifFontFamily
    attrSet _ = setWebSettingsSansSerifFontFamily
    attrConstruct _ = constructWebSettingsSansSerifFontFamily

-- VVV Prop "serif-font-family"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsSerifFontFamily :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsSerifFontFamily obj = liftIO $ getObjectPropertyString obj "serif-font-family"

setWebSettingsSerifFontFamily :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsSerifFontFamily obj val = liftIO $ setObjectPropertyString obj "serif-font-family" val

constructWebSettingsSerifFontFamily :: T.Text -> IO ([Char], GValue)
constructWebSettingsSerifFontFamily val = constructObjectPropertyString "serif-font-family" val

data WebSettingsSerifFontFamilyPropertyInfo
instance AttrInfo WebSettingsSerifFontFamilyPropertyInfo where
    type AttrAllowedOps WebSettingsSerifFontFamilyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsSerifFontFamilyPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsSerifFontFamilyPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsSerifFontFamilyPropertyInfo = T.Text
    type AttrLabel WebSettingsSerifFontFamilyPropertyInfo = "WebSettings::serif-font-family"
    attrGet _ = getWebSettingsSerifFontFamily
    attrSet _ = setWebSettingsSerifFontFamily
    attrConstruct _ = constructWebSettingsSerifFontFamily

-- VVV Prop "spell-checking-languages"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsSpellCheckingLanguages :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsSpellCheckingLanguages obj = liftIO $ getObjectPropertyString obj "spell-checking-languages"

setWebSettingsSpellCheckingLanguages :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsSpellCheckingLanguages obj val = liftIO $ setObjectPropertyString obj "spell-checking-languages" val

constructWebSettingsSpellCheckingLanguages :: T.Text -> IO ([Char], GValue)
constructWebSettingsSpellCheckingLanguages val = constructObjectPropertyString "spell-checking-languages" val

data WebSettingsSpellCheckingLanguagesPropertyInfo
instance AttrInfo WebSettingsSpellCheckingLanguagesPropertyInfo where
    type AttrAllowedOps WebSettingsSpellCheckingLanguagesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsSpellCheckingLanguagesPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsSpellCheckingLanguagesPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsSpellCheckingLanguagesPropertyInfo = T.Text
    type AttrLabel WebSettingsSpellCheckingLanguagesPropertyInfo = "WebSettings::spell-checking-languages"
    attrGet _ = getWebSettingsSpellCheckingLanguages
    attrSet _ = setWebSettingsSpellCheckingLanguages
    attrConstruct _ = constructWebSettingsSpellCheckingLanguages

-- VVV Prop "tab-key-cycles-through-elements"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsTabKeyCyclesThroughElements :: (MonadIO m, WebSettingsK o) => o -> m Bool
getWebSettingsTabKeyCyclesThroughElements obj = liftIO $ getObjectPropertyBool obj "tab-key-cycles-through-elements"

setWebSettingsTabKeyCyclesThroughElements :: (MonadIO m, WebSettingsK o) => o -> Bool -> m ()
setWebSettingsTabKeyCyclesThroughElements obj val = liftIO $ setObjectPropertyBool obj "tab-key-cycles-through-elements" val

constructWebSettingsTabKeyCyclesThroughElements :: Bool -> IO ([Char], GValue)
constructWebSettingsTabKeyCyclesThroughElements val = constructObjectPropertyBool "tab-key-cycles-through-elements" val

data WebSettingsTabKeyCyclesThroughElementsPropertyInfo
instance AttrInfo WebSettingsTabKeyCyclesThroughElementsPropertyInfo where
    type AttrAllowedOps WebSettingsTabKeyCyclesThroughElementsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsTabKeyCyclesThroughElementsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint WebSettingsTabKeyCyclesThroughElementsPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsTabKeyCyclesThroughElementsPropertyInfo = Bool
    type AttrLabel WebSettingsTabKeyCyclesThroughElementsPropertyInfo = "WebSettings::tab-key-cycles-through-elements"
    attrGet _ = getWebSettingsTabKeyCyclesThroughElements
    attrSet _ = setWebSettingsTabKeyCyclesThroughElements
    attrConstruct _ = constructWebSettingsTabKeyCyclesThroughElements

-- VVV Prop "user-agent"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsUserAgent :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsUserAgent obj = liftIO $ getObjectPropertyString obj "user-agent"

setWebSettingsUserAgent :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsUserAgent obj val = liftIO $ setObjectPropertyString obj "user-agent" val

constructWebSettingsUserAgent :: T.Text -> IO ([Char], GValue)
constructWebSettingsUserAgent val = constructObjectPropertyString "user-agent" val

data WebSettingsUserAgentPropertyInfo
instance AttrInfo WebSettingsUserAgentPropertyInfo where
    type AttrAllowedOps WebSettingsUserAgentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsUserAgentPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsUserAgentPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsUserAgentPropertyInfo = T.Text
    type AttrLabel WebSettingsUserAgentPropertyInfo = "WebSettings::user-agent"
    attrGet _ = getWebSettingsUserAgent
    attrSet _ = setWebSettingsUserAgent
    attrConstruct _ = constructWebSettingsUserAgent

-- VVV Prop "user-stylesheet-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsUserStylesheetUri :: (MonadIO m, WebSettingsK o) => o -> m T.Text
getWebSettingsUserStylesheetUri obj = liftIO $ getObjectPropertyString obj "user-stylesheet-uri"

setWebSettingsUserStylesheetUri :: (MonadIO m, WebSettingsK o) => o -> T.Text -> m ()
setWebSettingsUserStylesheetUri obj val = liftIO $ setObjectPropertyString obj "user-stylesheet-uri" val

constructWebSettingsUserStylesheetUri :: T.Text -> IO ([Char], GValue)
constructWebSettingsUserStylesheetUri val = constructObjectPropertyString "user-stylesheet-uri" val

data WebSettingsUserStylesheetUriPropertyInfo
instance AttrInfo WebSettingsUserStylesheetUriPropertyInfo where
    type AttrAllowedOps WebSettingsUserStylesheetUriPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsUserStylesheetUriPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebSettingsUserStylesheetUriPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsUserStylesheetUriPropertyInfo = T.Text
    type AttrLabel WebSettingsUserStylesheetUriPropertyInfo = "WebSettings::user-stylesheet-uri"
    attrGet _ = getWebSettingsUserStylesheetUri
    attrSet _ = setWebSettingsUserStylesheetUri
    attrConstruct _ = constructWebSettingsUserStylesheetUri

-- VVV Prop "zoom-step"
   -- Type: TBasicType TFloat
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]

getWebSettingsZoomStep :: (MonadIO m, WebSettingsK o) => o -> m Float
getWebSettingsZoomStep obj = liftIO $ getObjectPropertyFloat obj "zoom-step"

setWebSettingsZoomStep :: (MonadIO m, WebSettingsK o) => o -> Float -> m ()
setWebSettingsZoomStep obj val = liftIO $ setObjectPropertyFloat obj "zoom-step" val

constructWebSettingsZoomStep :: Float -> IO ([Char], GValue)
constructWebSettingsZoomStep val = constructObjectPropertyFloat "zoom-step" val

data WebSettingsZoomStepPropertyInfo
instance AttrInfo WebSettingsZoomStepPropertyInfo where
    type AttrAllowedOps WebSettingsZoomStepPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebSettingsZoomStepPropertyInfo = (~) Float
    type AttrBaseTypeConstraint WebSettingsZoomStepPropertyInfo = WebSettingsK
    type AttrGetType WebSettingsZoomStepPropertyInfo = Float
    type AttrLabel WebSettingsZoomStepPropertyInfo = "WebSettings::zoom-step"
    attrGet _ = getWebSettingsZoomStep
    attrSet _ = setWebSettingsZoomStep
    attrConstruct _ = constructWebSettingsZoomStep

type instance AttributeList WebSettings = WebSettingsAttributeList
type WebSettingsAttributeList = ('[ '("auto-load-images", WebSettingsAutoLoadImagesPropertyInfo), '("auto-resize-window", WebSettingsAutoResizeWindowPropertyInfo), '("auto-shrink-images", WebSettingsAutoShrinkImagesPropertyInfo), '("cursive-font-family", WebSettingsCursiveFontFamilyPropertyInfo), '("default-encoding", WebSettingsDefaultEncodingPropertyInfo), '("default-font-family", WebSettingsDefaultFontFamilyPropertyInfo), '("default-font-size", WebSettingsDefaultFontSizePropertyInfo), '("default-monospace-font-size", WebSettingsDefaultMonospaceFontSizePropertyInfo), '("editing-behavior", WebSettingsEditingBehaviorPropertyInfo), '("enable-accelerated-compositing", WebSettingsEnableAcceleratedCompositingPropertyInfo), '("enable-caret-browsing", WebSettingsEnableCaretBrowsingPropertyInfo), '("enable-default-context-menu", WebSettingsEnableDefaultContextMenuPropertyInfo), '("enable-developer-extras", WebSettingsEnableDeveloperExtrasPropertyInfo), '("enable-display-of-insecure-content", WebSettingsEnableDisplayOfInsecureContentPropertyInfo), '("enable-dns-prefetching", WebSettingsEnableDnsPrefetchingPropertyInfo), '("enable-dom-paste", WebSettingsEnableDomPastePropertyInfo), '("enable-file-access-from-file-uris", WebSettingsEnableFileAccessFromFileUrisPropertyInfo), '("enable-frame-flattening", WebSettingsEnableFrameFlatteningPropertyInfo), '("enable-fullscreen", WebSettingsEnableFullscreenPropertyInfo), '("enable-html5-database", WebSettingsEnableHtml5DatabasePropertyInfo), '("enable-html5-local-storage", WebSettingsEnableHtml5LocalStoragePropertyInfo), '("enable-hyperlink-auditing", WebSettingsEnableHyperlinkAuditingPropertyInfo), '("enable-java-applet", WebSettingsEnableJavaAppletPropertyInfo), '("enable-media-stream", WebSettingsEnableMediaStreamPropertyInfo), '("enable-mediasource", WebSettingsEnableMediasourcePropertyInfo), '("enable-offline-web-application-cache", WebSettingsEnableOfflineWebApplicationCachePropertyInfo), '("enable-page-cache", WebSettingsEnablePageCachePropertyInfo), '("enable-plugins", WebSettingsEnablePluginsPropertyInfo), '("enable-private-browsing", WebSettingsEnablePrivateBrowsingPropertyInfo), '("enable-running-of-insecure-content", WebSettingsEnableRunningOfInsecureContentPropertyInfo), '("enable-scripts", WebSettingsEnableScriptsPropertyInfo), '("enable-site-specific-quirks", WebSettingsEnableSiteSpecificQuirksPropertyInfo), '("enable-smooth-scrolling", WebSettingsEnableSmoothScrollingPropertyInfo), '("enable-spatial-navigation", WebSettingsEnableSpatialNavigationPropertyInfo), '("enable-spell-checking", WebSettingsEnableSpellCheckingPropertyInfo), '("enable-universal-access-from-file-uris", WebSettingsEnableUniversalAccessFromFileUrisPropertyInfo), '("enable-webaudio", WebSettingsEnableWebaudioPropertyInfo), '("enable-webgl", WebSettingsEnableWebglPropertyInfo), '("enable-xss-auditor", WebSettingsEnableXssAuditorPropertyInfo), '("enforce-96-dpi", WebSettingsEnforce96DpiPropertyInfo), '("fantasy-font-family", WebSettingsFantasyFontFamilyPropertyInfo), '("html5-local-storage-database-path", WebSettingsHtml5LocalStorageDatabasePathPropertyInfo), '("javascript-can-access-clipboard", WebSettingsJavascriptCanAccessClipboardPropertyInfo), '("javascript-can-open-windows-automatically", WebSettingsJavascriptCanOpenWindowsAutomaticallyPropertyInfo), '("media-playback-allows-inline", WebSettingsMediaPlaybackAllowsInlinePropertyInfo), '("media-playback-requires-user-gesture", WebSettingsMediaPlaybackRequiresUserGesturePropertyInfo), '("minimum-font-size", WebSettingsMinimumFontSizePropertyInfo), '("minimum-logical-font-size", WebSettingsMinimumLogicalFontSizePropertyInfo), '("monospace-font-family", WebSettingsMonospaceFontFamilyPropertyInfo), '("print-backgrounds", WebSettingsPrintBackgroundsPropertyInfo), '("resizable-text-areas", WebSettingsResizableTextAreasPropertyInfo), '("respect-image-orientation", WebSettingsRespectImageOrientationPropertyInfo), '("sans-serif-font-family", WebSettingsSansSerifFontFamilyPropertyInfo), '("serif-font-family", WebSettingsSerifFontFamilyPropertyInfo), '("spell-checking-languages", WebSettingsSpellCheckingLanguagesPropertyInfo), '("tab-key-cycles-through-elements", WebSettingsTabKeyCyclesThroughElementsPropertyInfo), '("user-agent", WebSettingsUserAgentPropertyInfo), '("user-stylesheet-uri", WebSettingsUserStylesheetUriPropertyInfo), '("zoom-step", WebSettingsZoomStepPropertyInfo)] :: [(Symbol, *)])

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

-- method WebSettings::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "WebKit" "WebSettings"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_web_settings_new" webkit_web_settings_new :: 
    IO (Ptr WebSettings)


webSettingsNew ::
    (MonadIO m) =>
    m WebSettings
webSettingsNew  = liftIO $ do
    result <- webkit_web_settings_new
    checkUnexpectedReturnNULL "webkit_web_settings_new" result
    result' <- (wrapObject WebSettings) result
    return result'

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

foreign import ccall "webkit_web_settings_copy" webkit_web_settings_copy :: 
    Ptr WebSettings ->                      -- _obj : TInterface "WebKit" "WebSettings"
    IO (Ptr WebSettings)


webSettingsCopy ::
    (MonadIO m, WebSettingsK a) =>
    a ->                                    -- _obj
    m WebSettings
webSettingsCopy _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_web_settings_copy _obj'
    checkUnexpectedReturnNULL "webkit_web_settings_copy" result
    result' <- (wrapObject WebSettings) result
    touchManagedPtr _obj
    return result'

-- method WebSettings::get_user_agent
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "WebSettings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "WebSettings", 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_settings_get_user_agent" webkit_web_settings_get_user_agent :: 
    Ptr WebSettings ->                      -- _obj : TInterface "WebKit" "WebSettings"
    IO CString


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