{-# LINE 2 "./Graphics/UI/Gtk/WebKit/CacheModel.chs" #-} -- -*-haskell-*- ----------------------------------------------------------------------------- -- Module : Graphics.UI.Gtk.WebKit.CacheModel -- Author : Andy Stewart -- Copyright : (c) 2010 Andy Stewart <lazycat.manatee@gmail.com> -- -- This library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- This library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- | -- Maintainer : gtk2hs-users@lists.sourceforge.net -- Stability : provisional -- Portability : portable (depends on GHC) -- -- Object used to communicate with the application when downloading ----------------------------------------------------------------------------- module Graphics.UI.Gtk.WebKit.CacheModel ( -- * Enums CacheModel (..), -- * Methods getCacheModel, setCacheModel, ) where import Control.Monad (liftM) import System.Glib.FFI import System.Glib.UTFString import System.Glib.GList import System.Glib.Attributes import System.Glib.Properties import System.Glib.GError import Graphics.UI.Gtk.Gdk.Events import Graphics.UI.Gtk.Abstract.Object (makeNewObject) import Graphics.UI.Gtk.WebKit.Types {-# LINE 49 "./Graphics/UI/Gtk/WebKit/CacheModel.chs" #-} import Graphics.UI.Gtk.WebKit.Signals {-# LINE 50 "./Graphics/UI/Gtk/WebKit/CacheModel.chs" #-} import Graphics.UI.Gtk.WebKit.Internal {-# LINE 51 "./Graphics/UI/Gtk/WebKit/CacheModel.chs" #-} import System.Glib.GObject {-# LINE 52 "./Graphics/UI/Gtk/WebKit/CacheModel.chs" #-} import Graphics.UI.Gtk.General.Selection ( TargetList ) import Graphics.UI.Gtk.MenuComboToolbar.Menu {-# LINE 54 "./Graphics/UI/Gtk/WebKit/CacheModel.chs" #-} import Graphics.UI.Gtk.General.Enums {-# LINE 55 "./Graphics/UI/Gtk/WebKit/CacheModel.chs" #-} {-# LINE 57 "./Graphics/UI/Gtk/WebKit/CacheModel.chs" #-} ------------------ -- Enums data CacheModel = CacheModelDefault | CacheModelDocumentViewer | CacheModelWebBrowser | CacheModelDocumentBrowser deriving (Enum) {-# LINE 63 "./Graphics/UI/Gtk/WebKit/CacheModel.chs" #-} ------------------ -- Methods -- | Returns the current cache model. For more information about this value check the documentation of -- the function 'setCacheModel'. -- -- * Since 1.1.18 getCacheModel :: IO CacheModel getCacheModel = liftM (toEnum . fromIntegral) $ webkit_get_cache_model {-# LINE 74 "./Graphics/UI/Gtk/WebKit/CacheModel.chs" #-} -- | Specifies a usage model for WebViews, which WebKit will use to determine its caching behavior. All -- web views follow the cache model. This cache model determines the RAM and disk space to use for -- caching previously viewed content . -- -- Research indicates that users tend to browse within clusters of documents that hold resources in -- common, and to revisit previously visited documents. WebKit and the frameworks below it include -- built-in caches that take advantage of these patterns, substantially improving document load speed -- in browsing situations. The WebKit cache model controls the behaviors of all of these caches, -- including various WebCore caches. -- -- Browsers can improve document load speed substantially by specifying -- WebkitCacheModelWebBrowser. Applications without a browsing interface can reduce memory usage -- substantially by specifying WebkitCacheModelDocumentViewer. Default value is -- WebkitCacheModelWebBrowser. -- -- * Since 1.1.18 setCacheModel :: CacheModel -> IO () setCacheModel model = webkit_set_cache_model ((fromIntegral . fromEnum) model) foreign import ccall safe "webkit_get_cache_model" webkit_get_cache_model :: (IO CInt) foreign import ccall safe "webkit_set_cache_model" webkit_set_cache_model :: (CInt -> (IO ()))