packages feed

hbro-contrib-1.3.0.0: Hbro/Settings.hs

{-# LANGUAGE ConstraintKinds   #-}
{-# LANGUAGE FlexibleContexts  #-}
{-# LANGUAGE NoImplicitPrelude #-}
module Hbro.Settings where

-- {{{ Import
import           Hbro.Gui.MainView
import           Hbro.Logger
import           Hbro.Prelude

import           Graphics.UI.Gtk.General.General.Extended
import           Graphics.UI.Gtk.WebKit.WebSettings
import           Graphics.UI.Gtk.WebKit.WebView

import           System.Glib.Attributes.Extended
-- }}}

-- | Disable HTML5 database & local storage, plugins and scripts.
setParanoidWebSettings :: (BaseIO m, MonadLogger m, MonadReader r m, Has MainView r) => m ()
setParanoidWebSettings = do
    s <- gSync . webViewGetWebSettings =<< getWebView
    --set s webSettingsEnablePrivateBrowsing		False, --  Experimental
-- Privacy
    set s webSettingsEnableHtml5Database              False
    set s webSettingsEnableHtml5LocalStorage          False
    set s webSettingsEnableOfflineWebApplicationCache False
    set s webSettingsEnableSiteSpecificQuirks         False
    set s webSettingsUserAgent                        firefoxUserAgent
-- Security
    set s webSettingsEnablePlugins                    False
    set s webSettingsEnableScripts                    False
    set s webSettingsJSCanOpenWindowAuto              False
    return ()

-- {{{ 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"
-- }}}