// JavaScript default policy

// User-Agent name changing
//user_pref("general.useragent.override", "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv 0.9.5+) Gecko/20011014");

// Turn on Unix-style autocopy
user_pref("clipboard.autocopy", true);

// disable any dialog
user_pref("capability.policy.default.Window.alert", "noAccess");
user_pref("capability.policy.default.Window.confirm", "noAccess");
user_pref("capability.policy.default.Window.prompt", "noAccess");

// disable middle mouse prefs: true by default on Unix, false on other platforms.
user_pref("middlemouse.paste", false);
user_pref("middlemouse.contentLoadURL", false);
user_pref("middlemouse.scrollbarPosition", false);

// New tab browsing

// middle mouse button -> new tab
user_pref("browser.tabs.opentabfor.middleclick", true);
// open tab for URL bar
user_pref("browser.tabs.opentabfor.urlbar", true);
// open tab for bookmarks
user_pref("browser.tabs.opentabfor.bookmarks", true);
// open tab for personal toolbar
user_pref("browser.tabs.opentabfor.personaltoolbar", true);

// disable JavaScript pop up new window on load
user_pref("dom.disable_open_during_load", true);

// Override popping up new windows on target=anything
user_pref("browser.target_new_blocked", true);

// JavaScript all off
//user_pref("capability.policy.default.javascript.enabled", false);

// disable Window size changing properties
// disable Window.innerWidth.set
user_pref("capability.policy.default.Window.innerHeight.set", "noAccess");
// disable Window.innerHeight.set
user_pref("capability.policy.default.Window.innerWidth.set", "noAccess");
// disable Window.outerHeight.set
user_pref("capability.policy.default.Window.outerHeight.set", "noAccess");
// disable Window.outerWidth.set
user_pref("capability.policy.default.Window.outerWidth.set", "noAccess");
// disable Window.sizeToContent
user_pref("capability.policy.default.Window.sizeToContent", "noAccess");
// disable Window.resizeBy
user_pref("capability.policy.default.Window.resizeBy", "noAccess");
// disable Window.resizeTo
user_pref("capability.policy.default.Window.resizeTo", "noAccess");

// disable Window move

// disable Window.moveBy
user_pref("capability.policy.default.Window.moveBy", "noAccess");
// disable Window.moveTo
user_pref("capability.policy.default.Window.moveTo", "noAccess");
// disable Window.screenX.set
user_pref("capability.policy.default.Window.screenX.set", "noAccess");
// disable Window.screenY.set
user_pref("capability.policy.default.Window.screenY.set", "noAccess");

// disable Color depth and setting reading

// disable Screen.top
user_pref("capability.policy.default.Screen.top", "noAccess");
// disable Screen.left
user_pref("capability.policy.default.Screen.left", "noAccess");
// disable Screen.width
user_pref("capability.policy.default.Screen.width", "noAccess");
// disable Screen.height
user_pref("capability.policy.default.Screen.height", "noAccess");
// disable Screen.pixelDepth
user_pref("capability.policy.default.Screen.pixelDepth", "noAccess");
// disable Screen.colorDepth
user_pref("capability.policy.default.Screen.colorDepth", "noAccess");
// disable Screen.availWidth
user_pref("capability.policy.default.Screen.availWidth", "noAccess");
// disable Screen.availHeight
user_pref("capability.policy.default.Screen.availHeight", "noAccess");
// disable Screen.availLeft
user_pref("capability.policy.default.Screen.availLeft", "noAccess");
// disable Screen.availTop
user_pref("capability.policy.default.Screen.availTop", "noAccess");

// disable Window.focus
user_pref("capability.policy.default.Window.focus", "noAccess");
// disable Window.open/close
user_pref("capability.policy.default.Window.close", "noAccess");
user_pref("capability.policy.default.Window.open", "noAccess");
// disable Window.status
user_pref("capability.policy.default.Window.status", "noAccess");

// disable history control
user_pref("capability.policy.default.History.back", "noAccess");
user_pref("capability.policy.default.History.current", "noAccess");
user_pref("capability.policy.default.History.forward", "noAccess");
user_pref("capability.policy.default.History.go", "noAccess");
user_pref("capability.policy.default.History.item", "noAccess");
user_pref("capability.policy.default.History.next", "noAccess");
user_pref("capability.policy.default.History.previous", "noAccess");
user_pref("capability.policy.default.History.toString", "noAccess");
user_pref("capability.policy.default.Window.history", "noAccess");

// disable HTML document control
//user_pref("capability.policy.default.HTMLDocument.close", "noAccess");
//user_pref("capability.policy.default.HTMLDocument.open", "noAccess");

// disable Location control
user_pref("capability.policy.default.Location.hash.set", "noAccess");
user_pref("capability.policy.default.Location.href.set", "noAccess");
user_pref("capability.policy.default.Location.reload", "noAccess");
user_pref("capability.policy.default.Location.replace", "noAccess");
user_pref("capability.policy.default.Window.location", "noAccess");

// disable other window control
user_pref("capability.policy.default.Window.self", "noAccess");
user_pref("capability.policy.default.Window.window", "noAccess");
user_pref("capability.policy.default.Window.openDialog", "noAccess");
user_pref("capability.policy.default.Window.focus", "allAccess");
user_pref("capability.policy.default.Window.blur", "allAccess");

// image loading is blocked from other servers
user_pref("imageblocker.enable", true);

// Highlighting syntax on view source window
user_pref("browser.view_source.syntax_highlight", true);

// browser turbo mode
user_pref("browser.turbo.enabled", true);

// disable frame rendering
user_pref("browser.frames.enabled", true);

// CSS2 hover pref
user_pref("nglayout.events.showHierarchicalHover", false);

// send HTTP referrer setting
// 0: don't send, 1: send only on clicks, 2: send on image requests as well
user_pref("network.http.sendRefererHeader", 1);

// HTTP pipelining
user_pref("network.http.pipelining.firstrequest", false);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 4);

// HTTP pipelining with proxy
user_pref("network.http.proxy.pipelining", true);

// image behavior
// 0: Accept, 1: don't Accept Foreign, 2: don't use
//user_pref("network.image.imageBehavior", 1);

// font size control
user_pref("font.min-size.variable.ja", 5);
user_pref("font.min-size.fixed.ja", 5);
user_pref("font.default", "sans-serif");

// trusted sites
user_pref("capability.policy.trusted.sites", "http://www.alib.jp http://manami.alib.jp http://www2.jcss.ne.jp http://najo.cc.sakura.ne.jp");
user_pref("capability.policy.trusted.Window.self", "sameOrigin");
user_pref("capability.policy.trusted.Location.reload", "sameOrigin");

