packages feed

hbro-contrib-1.2.0.0: Hbro/Settings.hs

module Hbro.Settings where

-- {{{ Import
import Hbro.Gui
import Hbro.Prelude
import qualified Hbro.Webkit.WebSettings as Settings

import Control.Monad.Reader

import Graphics.UI.Gtk.WebKit.WebSettings
-- }}}

-- | Disable HTML5 database & local storage, plugins and scripts.
setParanoidWebSettings :: (BaseIO m, MonadReader t m, HasGUI t) => m ()
setParanoidWebSettings = do
    --webSettingsEnablePrivateBrowsing		:= False, --  Experimental
-- Privacy
    Settings.set webSettingsEnableHtml5Database              False
    Settings.set webSettingsEnableHtml5LocalStorage          False
    Settings.set webSettingsEnableOfflineWebApplicationCache False
    Settings.set webSettingsEnableSiteSpecificQuirks         False
    Settings.set webSettingsUserAgent                        firefoxUserAgent
-- Security
    Settings.set webSettingsEnablePlugins                    False
    Settings.set webSettingsEnableScripts                    False
    Settings.set webSettingsJSCanOpenWindowAuto              False

-- {{{ User agents
chromeUserAgent, epiphanyUserAgent, firefoxUserAgent, internetExplorerUserAgent, operaUserAgent, safariUserAgent :: String
chromeUserAgent           = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.12 Safari/535.11"
epiphanyUserAgent         = "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Epiphany/2.30.6 Safari/534.7"
firefoxUserAgent          = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0"
internetExplorerUserAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"
operaUserAgent            = "Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.9.168 Version/11.50"
safariUserAgent           = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27"
-- }}}