modules/libpref/src/init/all.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/modules/libpref/src/init/all.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,4463 @@
     1.4 +/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     1.5 +/* This Source Code Form is subject to the terms of the Mozilla Public
     1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this
     1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     1.8 +
     1.9 +/* The prefs in this file are shipped with the GRE and should apply to all
    1.10 + * embedding situations. Application-specific preferences belong somewhere else,
    1.11 + * for example xpfe/bootstrap/browser-prefs.js
    1.12 + *
    1.13 + * Platform-specific #ifdefs at the end of this file override the generic
    1.14 + * entries at the top.
    1.15 + */
    1.16 +
    1.17 +/*
    1.18 + * SYNTAX HINTS:
    1.19 + *
    1.20 + *  - Dashes are delimiters; use underscores instead.
    1.21 + *  - The first character after a period must be alphabetic.
    1.22 + *  - Computed values (e.g. 50 * 1024) don't work.
    1.23 + */
    1.24 +
    1.25 +pref("keyword.enabled", false);
    1.26 +pref("general.useragent.locale", "chrome://global/locale/intl.properties");
    1.27 +pref("general.useragent.compatMode.firefox", false);
    1.28 +
    1.29 +// This pref exists only for testing purposes. In order to disable all
    1.30 +// overrides by default, don't initialize UserAgentOverrides.jsm.
    1.31 +pref("general.useragent.site_specific_overrides", true);
    1.32 +
    1.33 +pref("general.config.obscure_value", 13); // for MCD .cfg files
    1.34 +
    1.35 +pref("general.warnOnAboutConfig", true);
    1.36 +
    1.37 +// maximum number of dated backups to keep at any time
    1.38 +pref("browser.bookmarks.max_backups",       5);
    1.39 +
    1.40 +// Preference for switching the cache backend, can be changed freely at runtime
    1.41 +// 0 - use the old (Darin's) cache [DEFAULT]
    1.42 +// 1 - use the new cache back-end (cache v2)
    1.43 +// 2 - do a random choise for A/B testing (browser chooses old or new back-end at startup
    1.44 +//     and keeps it per session)
    1.45 +pref("browser.cache.use_new_backend",       0);
    1.46 +
    1.47 +pref("browser.cache.disk.enable",           true);
    1.48 +// Is this the first-time smartsizing has been introduced?
    1.49 +pref("browser.cache.disk.smart_size.first_run", true);
    1.50 +// Does the user want smart-sizing?
    1.51 +pref("browser.cache.disk.smart_size.enabled", true);
    1.52 +// Which max value should we use for smart-sizing?
    1.53 +pref("browser.cache.disk.smart_size.use_old_max", true);
    1.54 +// Size (in KB) explicitly set by the user. Used when smart_size.enabled == false
    1.55 +pref("browser.cache.disk.capacity",         256000);
    1.56 +// Max-size (in KB) for entries in disk cache. Set to -1 for no limit.
    1.57 +// (Note: entries bigger than 1/8 of disk-cache are never cached)
    1.58 +pref("browser.cache.disk.max_entry_size",    51200);  // 50 MB
    1.59 +pref("browser.cache.memory.enable",         true);
    1.60 +// -1 = determine dynamically, 0 = none, n = memory capacity in kilobytes
    1.61 +//pref("browser.cache.memory.capacity",     -1);
    1.62 +// Max-size (in KB) for entries in memory cache. Set to -1 for no limit.
    1.63 +// (Note: entries bigger than than 90% of the mem-cache are never cached)
    1.64 +pref("browser.cache.memory.max_entry_size",  5120);
    1.65 +pref("browser.cache.disk_cache_ssl",        true);
    1.66 +// 0 = once-per-session, 1 = each-time, 2 = never, 3 = when-appropriate/automatically
    1.67 +pref("browser.cache.check_doc_frequency",   3);
    1.68 +
    1.69 +// Limit of recent metadata we keep in memory for faster access, in Kb
    1.70 +pref("browser.cache.disk.metadata_memory_limit", 250); // 0.25 MB
    1.71 +
    1.72 +pref("browser.cache.offline.enable",           true);
    1.73 +// enable offline apps by default, disable prompt
    1.74 +pref("offline-apps.allow_by_default",          true);
    1.75 +
    1.76 +// offline cache capacity in kilobytes
    1.77 +pref("browser.cache.offline.capacity",         512000);
    1.78 +
    1.79 +// the user should be warned if offline app disk usage exceeds this amount
    1.80 +// (in kilobytes)
    1.81 +pref("offline-apps.quota.warn",        51200);
    1.82 +
    1.83 +// zlib compression level used for cache compression:
    1.84 +// 0 => disable compression
    1.85 +// 1 => best speed
    1.86 +// 9 => best compression
    1.87 +// cache compression turned off for now - see bug #715198
    1.88 +pref("browser.cache.compression_level", 0);
    1.89 +
    1.90 +// Whether or not testing features are enabled.
    1.91 +pref("dom.quotaManager.testing", false);
    1.92 +
    1.93 +// Whether or not indexedDB is enabled.
    1.94 +pref("dom.indexedDB.enabled", true);
    1.95 +// Space to allow indexedDB databases before prompting (in MB).
    1.96 +pref("dom.indexedDB.warningQuota", 50);
    1.97 +// Whether or not indexedDB experimental features are enabled.
    1.98 +pref("dom.indexedDB.experimental", false);
    1.99 +
   1.100 +// Whether or not Web Workers are enabled.
   1.101 +pref("dom.workers.enabled", true);
   1.102 +// The number of workers per domain allowed to run concurrently.
   1.103 +pref("dom.workers.maxPerDomain", 20);
   1.104 +
   1.105 +// Whether or not Shared Web Workers are enabled.
   1.106 +pref("dom.workers.sharedWorkers.enabled", true);
   1.107 +
   1.108 +// Whether nonzero values can be returned from performance.timing.*
   1.109 +pref("dom.enable_performance", true);
   1.110 +
   1.111 +// Whether resource timing will be gathered and returned by performance.GetEntries*
   1.112 +pref("dom.enable_resource_timing", false);
   1.113 +
   1.114 +// Whether the Gamepad API is enabled
   1.115 +pref("dom.gamepad.enabled", true);
   1.116 +#ifdef RELEASE_BUILD
   1.117 +pref("dom.gamepad.non_standard_events.enabled", false);
   1.118 +#else
   1.119 +pref("dom.gamepad.non_standard_events.enabled", true);
   1.120 +#endif
   1.121 +
   1.122 +// Whether the UndoManager API is enabled
   1.123 +pref("dom.undo_manager.enabled", false);
   1.124 +
   1.125 +// Fastback caching - if this pref is negative, then we calculate the number
   1.126 +// of content viewers to cache based on the amount of available memory.
   1.127 +pref("browser.sessionhistory.max_total_viewers", -1);
   1.128 +
   1.129 +pref("ui.use_native_colors", true);
   1.130 +pref("ui.click_hold_context_menus", false);
   1.131 +pref("browser.display.use_document_fonts",  1);  // 0 = never, 1 = quick, 2 = always
   1.132 +pref("browser.display.use_document_colors", true);
   1.133 +pref("browser.display.use_system_colors",   false);
   1.134 +pref("browser.display.foreground_color",    "#000000");
   1.135 +pref("browser.display.background_color",    "#FFFFFF");
   1.136 +pref("browser.display.force_inline_alttext", false); // true = force ALT text for missing images to be layed out inline
   1.137 +// 0 = no external leading,
   1.138 +// 1 = use external leading only when font provides,
   1.139 +// 2 = add extra leading both internal leading and external leading are zero
   1.140 +pref("browser.display.normal_lineheight_calc_control", 2);
   1.141 +pref("browser.display.show_image_placeholders", true); // true = show image placeholders while image is loaded and when image is broken
   1.142 +// min font device pixel size at which to turn on high quality
   1.143 +pref("browser.display.auto_quality_min_font_size", 20);
   1.144 +pref("browser.anchor_color",                "#0000EE");
   1.145 +pref("browser.active_color",                "#EE0000");
   1.146 +pref("browser.visited_color",               "#551A8B");
   1.147 +pref("browser.underline_anchors",           true);
   1.148 +pref("browser.enable_automatic_image_resizing", false);
   1.149 +pref("browser.enable_click_image_resizing", true);
   1.150 +
   1.151 +// See http://dev.w3.org/html5/spec/forms.html#attr-fe-autofocus
   1.152 +pref("browser.autofocus", true);
   1.153 +
   1.154 +// See http://whatwg.org/specs/web-apps/current-work/#ping
   1.155 +pref("browser.send_pings", false);
   1.156 +pref("browser.send_pings.max_per_link", 1);           // limit the number of pings that are sent per link click
   1.157 +pref("browser.send_pings.require_same_host", false);  // only send pings to the same host if this is true
   1.158 +
   1.159 +pref("browser.display.use_focus_colors",    false);
   1.160 +pref("browser.display.focus_background_color", "#117722");
   1.161 +pref("browser.display.focus_text_color",     "#ffffff");
   1.162 +pref("browser.display.focus_ring_width",     1);
   1.163 +pref("browser.display.focus_ring_on_anything", false);
   1.164 +// focus ring border style.
   1.165 +// 0 = solid border, 1 = dotted border
   1.166 +pref("browser.display.focus_ring_style", 1);
   1.167 +
   1.168 +pref("browser.helperApps.alwaysAsk.force",  false);
   1.169 +pref("browser.helperApps.neverAsk.saveToDisk", "");
   1.170 +pref("browser.helperApps.neverAsk.openFile", "");
   1.171 +pref("browser.helperApps.deleteTempFileOnExit", false);
   1.172 +
   1.173 +// xxxbsmedberg: where should prefs for the toolkit go?
   1.174 +pref("browser.chrome.toolbar_tips",         true);
   1.175 +// 0 = Pictures Only, 1 = Text Only, 2 = Pictures and Text
   1.176 +pref("browser.chrome.toolbar_style",        2);
   1.177 +// max image size for which it is placed in the tab icon for tabbrowser.
   1.178 +// if 0, no images are used for tab icons for image documents.
   1.179 +pref("browser.chrome.image_icons.max_size", 1024);
   1.180 +
   1.181 +pref("browser.triple_click_selects_paragraph", true);
   1.182 +
   1.183 +// Print/Preview Shrink-To-Fit won't shrink below 20% for text-ish documents.
   1.184 +pref("print.shrink-to-fit.scale-limit-percent", 20);
   1.185 +
   1.186 +// Media cache size in kilobytes
   1.187 +pref("media.cache_size", 512000);
   1.188 +
   1.189 +// Master HTML5 media volume scale.
   1.190 +pref("media.volume_scale", "1.0");
   1.191 +
   1.192 +// Timeout for wakelock release
   1.193 +pref("media.wakelock_timeout", 2000);
   1.194 +
   1.195 +#ifdef MOZ_WMF
   1.196 +pref("media.windows-media-foundation.enabled", true);
   1.197 +pref("media.windows-media-foundation.use-dxva", true);
   1.198 +pref("media.windows-media-foundation.play-stand-alone", true);
   1.199 +#endif
   1.200 +#ifdef MOZ_DIRECTSHOW
   1.201 +pref("media.directshow.enabled", true);
   1.202 +#endif
   1.203 +#ifdef MOZ_FMP4
   1.204 +pref("media.fragmented-mp4.enabled", true);
   1.205 +pref("media.fragmented-mp4.ffmpeg.enabled", false);
   1.206 +// Denotes that the fragmented MP4 parser can be created by <video> elements.
   1.207 +// This is for testing, since the parser can't yet handle non-fragmented MP4,
   1.208 +// so it will fail to play most MP4 files.
   1.209 +pref("media.fragmented-mp4.exposed", false);
   1.210 +// Specifies whether the fragmented MP4 parser uses a test decoder that
   1.211 +// just outputs blank frames/audio instead of actually decoding. The blank
   1.212 +// decoder works on all platforms.
   1.213 +pref("media.fragmented-mp4.use-blank-decoder", false);
   1.214 +#endif
   1.215 +#ifdef MOZ_RAW
   1.216 +pref("media.raw.enabled", true);
   1.217 +#endif
   1.218 +pref("media.ogg.enabled", true);
   1.219 +#ifdef MOZ_OPUS
   1.220 +pref("media.opus.enabled", true);
   1.221 +#endif
   1.222 +#ifdef MOZ_WAVE
   1.223 +pref("media.wave.enabled", true);
   1.224 +#endif
   1.225 +#ifdef MOZ_WEBM
   1.226 +pref("media.webm.enabled", true);
   1.227 +#endif
   1.228 +#ifdef MOZ_GSTREAMER
   1.229 +pref("media.gstreamer.enabled", true);
   1.230 +#endif
   1.231 +#ifdef MOZ_APPLEMEDIA
   1.232 +pref("media.apple.mp3.enabled", true);
   1.233 +#endif
   1.234 +#ifdef MOZ_WEBRTC
   1.235 +pref("media.navigator.enabled", true);
   1.236 +pref("media.navigator.video.enabled", true);
   1.237 +pref("media.navigator.load_adapt", false);
   1.238 +pref("media.navigator.load_adapt.measure_interval",1000);
   1.239 +pref("media.navigator.load_adapt.avg_seconds",3);
   1.240 +pref("media.navigator.load_adapt.high_load","0.90");
   1.241 +pref("media.navigator.load_adapt.low_load","0.40");
   1.242 +pref("media.navigator.video.default_fps",30);
   1.243 +pref("media.navigator.video.default_minfps",10);
   1.244 +#ifdef MOZ_WIDGET_GONK
   1.245 +pref("media.navigator.video.default_width",320);
   1.246 +pref("media.navigator.video.default_height",240);
   1.247 +pref("media.peerconnection.enabled", true);
   1.248 +pref("media.peerconnection.video.enabled", true);
   1.249 +pref("media.navigator.video.max_fs", 1200); // 640x480 == 1200mb
   1.250 +pref("media.navigator.video.max_fr", 30);
   1.251 +pref("media.peerconnection.video.h264_enabled", false);
   1.252 +#else
   1.253 +pref("media.navigator.video.default_width",0);  // adaptive default
   1.254 +pref("media.navigator.video.default_height",0); // adaptive default
   1.255 +pref("media.peerconnection.enabled", true);
   1.256 +pref("media.peerconnection.video.enabled", true);
   1.257 +pref("media.navigator.video.max_fs", 0); // unrestricted
   1.258 +pref("media.navigator.video.max_fr", 0); // unrestricted
   1.259 +#endif
   1.260 +pref("media.navigator.permission.disabled", false);
   1.261 +pref("media.peerconnection.default_iceservers", "[{\"url\": \"stun:stun.services.mozilla.com\"}]");
   1.262 +pref("media.peerconnection.trickle_ice", true);
   1.263 +pref("media.peerconnection.use_document_iceservers", true);
   1.264 +// Do not enable identity before ensuring that the UX cannot be spoofed
   1.265 +// see Bug 884573 for details
   1.266 +// Do not enable identity before fixing domain comparison: see Bug 958741
   1.267 +// Do not enable identity before fixing origin spoofing: see Bug 968335
   1.268 +pref("media.peerconnection.identity.enabled", false);
   1.269 +pref("media.peerconnection.identity.timeout", 10000);
   1.270 +// These values (aec, agc, and noice) are from media/webrtc/trunk/webrtc/common_types.h
   1.271 +// kXxxUnchanged = 0, kXxxDefault = 1, and higher values are specific to each
   1.272 +// setting (for Xxx = Ec, Agc, or Ns).  Defaults are all set to kXxxDefault here.
   1.273 +pref("media.peerconnection.turn.disable", false);
   1.274 +pref("media.getusermedia.aec_enabled", true);
   1.275 +pref("media.getusermedia.aec", 1);
   1.276 +pref("media.getusermedia.agc_enabled", false);
   1.277 +pref("media.getusermedia.agc", 1);
   1.278 +pref("media.getusermedia.noise_enabled", true);
   1.279 +pref("media.getusermedia.noise", 1);
   1.280 +// Adjustments for OS-specific input delay (lower bound)
   1.281 +// Adjustments for OS-specific AudioStream+cubeb+output delay (lower bound)
   1.282 +#if defined(XP_MACOSX)
   1.283 +pref("media.peerconnection.capture_delay", 50);
   1.284 +pref("media.getusermedia.playout_delay", 10);
   1.285 +#elif defined(XP_WIN)
   1.286 +pref("media.peerconnection.capture_delay", 50);
   1.287 +pref("media.getusermedia.playout_delay", 40);
   1.288 +#elif defined(ANDROID)
   1.289 +pref("media.peerconnection.capture_delay", 100);
   1.290 +pref("media.getusermedia.playout_delay", 100);
   1.291 +// Whether to enable Webrtc Hardware acceleration support
   1.292 +pref("media.navigator.hardware.vp8_encode.acceleration_enabled", false);
   1.293 +pref("media.navigator.hardware.vp8_decode.acceleration_enabled", false);
   1.294 +#elif defined(XP_LINUX)
   1.295 +pref("media.peerconnection.capture_delay", 70);
   1.296 +pref("media.getusermedia.playout_delay", 50);
   1.297 +#else
   1.298 +// *BSD, others - merely a guess for now
   1.299 +pref("media.peerconnection.capture_delay", 50);
   1.300 +pref("media.getusermedia.playout_delay", 50);
   1.301 +#endif
   1.302 +#else
   1.303 +#ifdef ANDROID
   1.304 +pref("media.navigator.enabled", true);
   1.305 +#endif
   1.306 +#endif
   1.307 +
   1.308 +pref("media.tabstreaming.width", 320);
   1.309 +pref("media.tabstreaming.height", 240);
   1.310 +pref("media.tabstreaming.time_per_frame", 40);
   1.311 +
   1.312 +// TextTrack support
   1.313 +pref("media.webvtt.enabled", true);
   1.314 +pref("media.webvtt.regions.enabled", false);
   1.315 +
   1.316 +// Whether to enable MediaSource support
   1.317 +pref("media.mediasource.enabled", false);
   1.318 +
   1.319 +#ifdef MOZ_WEBSPEECH
   1.320 +pref("media.webspeech.recognition.enable", false);
   1.321 +#endif
   1.322 +#ifdef MOZ_WEBM_ENCODER
   1.323 +pref("media.encoder.webm.enabled", true);
   1.324 +#endif
   1.325 +#ifdef MOZ_OMX_ENCODER
   1.326 +pref("media.encoder.omx.enabled", true);
   1.327 +#endif
   1.328 +
   1.329 +// Whether to autostart a media element with an |autoplay| attribute
   1.330 +pref("media.autoplay.enabled", true);
   1.331 +
   1.332 +// The default number of decoded video frames that are enqueued in
   1.333 +// MediaDecoderReader's mVideoQueue.
   1.334 +pref("media.video-queue.default-size", 10);
   1.335 +
   1.336 +// Whether to disable the video stats to prevent fingerprinting
   1.337 +pref("media.video_stats.enabled", true);
   1.338 +
   1.339 +// Whether to enable the audio writing APIs on the audio element
   1.340 +pref("media.audio_data.enabled", false);
   1.341 +
   1.342 +// Whether to lock touch scrolling to one axis at a time
   1.343 +// 0 = FREE (No locking at all)
   1.344 +// 1 = STANDARD (Once locked, remain locked until scrolling ends)
   1.345 +// 2 = STICKY (Allow lock to be broken, with hysteresis)
   1.346 +pref("apz.axis_lock_mode", 0);
   1.347 +
   1.348 +// Whether to print the APZC tree for debugging
   1.349 +pref("apz.printtree", false);
   1.350 +
   1.351 +// Layerize scrollable subframes to allow async panning
   1.352 +pref("apz.subframe.enabled", false);
   1.353 +
   1.354 +#ifdef XP_MACOSX
   1.355 +// Whether to run in native HiDPI mode on machines with "Retina"/HiDPI display;
   1.356 +//   <= 0 : hidpi mode disabled, display will just use pixel-based upscaling
   1.357 +//   == 1 : hidpi supported if all screens share the same backingScaleFactor
   1.358 +//   >= 2 : hidpi supported even with mixed backingScaleFactors (somewhat broken)
   1.359 +pref("gfx.hidpi.enabled", 2);
   1.360 +#endif
   1.361 +
   1.362 +// Whether to enable LayerScope tool and default listening port
   1.363 +pref("gfx.layerscope.enabled", false);
   1.364 +pref("gfx.layerscope.port", 23456);
   1.365 +
   1.366 +// 0 = Off, 1 = Full, 2 = Tagged Images Only.
   1.367 +// See eCMSMode in gfx/thebes/gfxPlatform.h
   1.368 +pref("gfx.color_management.mode", 2);
   1.369 +pref("gfx.color_management.display_profile", "");
   1.370 +pref("gfx.color_management.rendering_intent", 0);
   1.371 +pref("gfx.color_management.enablev4", false);
   1.372 +
   1.373 +pref("gfx.downloadable_fonts.enabled", true);
   1.374 +pref("gfx.downloadable_fonts.fallback_delay", 3000);
   1.375 +
   1.376 +#ifdef ANDROID
   1.377 +pref("gfx.bundled_fonts.enabled", true);
   1.378 +pref("gfx.bundled_fonts.force-enabled", false);
   1.379 +#endif
   1.380 +
   1.381 +pref("gfx.filter.nearest.force-enabled", false);
   1.382 +
   1.383 +// prefs controlling the font (name/cmap) loader that runs shortly after startup
   1.384 +pref("gfx.font_loader.families_per_slice", 3); // read in info 3 families at a time
   1.385 +#ifdef XP_WIN
   1.386 +pref("gfx.font_loader.delay", 120000);         // 2 minutes after startup
   1.387 +pref("gfx.font_loader.interval", 1000);        // every 1 second until complete
   1.388 +#else
   1.389 +pref("gfx.font_loader.delay", 8000);           // 8 secs after startup
   1.390 +pref("gfx.font_loader.interval", 50);          // run every 50 ms
   1.391 +#endif
   1.392 +
   1.393 +// whether to always search all font cmaps during system font fallback
   1.394 +pref("gfx.font_rendering.fallback.always_use_cmaps", false);
   1.395 +
   1.396 +// cache shaped word results
   1.397 +pref("gfx.font_rendering.wordcache.charlimit", 32);
   1.398 +
   1.399 +// cache shaped word results
   1.400 +pref("gfx.font_rendering.wordcache.maxentries", 10000);
   1.401 +
   1.402 +pref("gfx.font_rendering.graphite.enabled", true);
   1.403 +
   1.404 +// Check intl/unicharutil/util/nsUnicodeProperties.h for definitions of script bits
   1.405 +// in the ShapingType enumeration
   1.406 +// Currently-defined bits:
   1.407 +//  SHAPING_DEFAULT   = 0x0001,
   1.408 +//  SHAPING_ARABIC    = 0x0002,
   1.409 +//  SHAPING_HEBREW    = 0x0004,
   1.410 +//  SHAPING_HANGUL    = 0x0008,
   1.411 +//  SHAPING_MONGOLIAN = 0x0010,
   1.412 +//  SHAPING_INDIC     = 0x0020,
   1.413 +//  SHAPING_THAI      = 0x0040
   1.414 +// (see http://mxr.mozilla.org/mozilla-central/ident?i=ShapingType)
   1.415 +// Scripts not listed are grouped in the default category.
   1.416 +// Set the pref to 255 to have all text shaped via the harfbuzz backend.
   1.417 +// Default setting:
   1.418 +// We use harfbuzz for all scripts (except when using AAT fonts on OS X).
   1.419 +pref("gfx.font_rendering.harfbuzz.scripts", 255);
   1.420 +
   1.421 +#ifdef XP_WIN
   1.422 +pref("gfx.font_rendering.directwrite.enabled", false);
   1.423 +pref("gfx.font_rendering.directwrite.use_gdi_table_loading", true);
   1.424 +#endif
   1.425 +
   1.426 +pref("gfx.font_rendering.opentype_svg.enabled", true);
   1.427 +
   1.428 +#ifdef XP_WIN
   1.429 +// comma separated list of backends to use in order of preference
   1.430 +// e.g., pref("gfx.canvas.azure.backends", "direct2d,skia,cairo");
   1.431 +pref("gfx.canvas.azure.backends", "direct2d,skia,cairo");
   1.432 +pref("gfx.content.azure.backends", "direct2d,cairo");
   1.433 +#else
   1.434 +#ifdef XP_MACOSX
   1.435 +pref("gfx.content.azure.backends", "cg");
   1.436 +pref("gfx.canvas.azure.backends", "cg");
   1.437 +// Accelerated cg canvas where available (10.7+)
   1.438 +pref("gfx.canvas.azure.accelerated", false);
   1.439 +#else
   1.440 +pref("gfx.canvas.azure.backends", "cairo");
   1.441 +pref("gfx.content.azure.backends", "cairo");
   1.442 +#endif
   1.443 +#endif
   1.444 +
   1.445 +#ifdef MOZ_WIDGET_GTK2
   1.446 +pref("gfx.content.azure.backends", "cairo");
   1.447 +#endif
   1.448 +#ifdef ANDROID
   1.449 +pref("gfx.content.azure.backends", "cairo");
   1.450 +#endif
   1.451 +
   1.452 +pref("gfx.work-around-driver-bugs", true);
   1.453 +pref("gfx.prefer-mesa-llvmpipe", false);
   1.454 +
   1.455 +pref("accessibility.browsewithcaret", false);
   1.456 +pref("accessibility.warn_on_browsewithcaret", true);
   1.457 +
   1.458 +pref("accessibility.browsewithcaret_shortcut.enabled", true);
   1.459 +
   1.460 +#ifndef XP_MACOSX
   1.461 +// Tab focus model bit field:
   1.462 +// 1 focuses text controls, 2 focuses other form elements, 4 adds links.
   1.463 +// Most users will want 1, 3, or 7.
   1.464 +// On OS X, we use Full Keyboard Access system preference,
   1.465 +// unless accessibility.tabfocus is set by the user.
   1.466 +pref("accessibility.tabfocus", 7);
   1.467 +pref("accessibility.tabfocus_applies_to_xul", false);
   1.468 +
   1.469 +// On OS X, we follow the "Click in the scrollbar to:" system preference
   1.470 +// unless this preference was set manually
   1.471 +pref("ui.scrollToClick", 0);
   1.472 +
   1.473 +#else
   1.474 +// Only on mac tabfocus is expected to handle UI widgets as well as web content
   1.475 +pref("accessibility.tabfocus_applies_to_xul", true);
   1.476 +#endif
   1.477 +
   1.478 +// provide ability to turn on support for canvas focus rings
   1.479 +pref("canvas.focusring.enabled", false);
   1.480 +pref("canvas.customfocusring.enabled", false);
   1.481 +pref("canvas.hitregions.enabled", false);
   1.482 +// Add support for canvas path objects
   1.483 +pref("canvas.path.enabled", true);
   1.484 +
   1.485 +// We want the ability to forcibly disable platform a11y, because
   1.486 +// some non-a11y-related components attempt to bring it up.  See bug
   1.487 +// 538530 for details about Windows; we have a pref here that allows it
   1.488 +// to be disabled for performance and testing resons.
   1.489 +// See bug 761589 for the crossplatform aspect.
   1.490 +//
   1.491 +// This pref is checked only once, and the browser needs a restart to
   1.492 +// pick up any changes.
   1.493 +//
   1.494 +// Values are -1 always on. 1 always off, 0 is auto as some platform perform
   1.495 +// further checks.
   1.496 +pref("accessibility.force_disabled", 0);
   1.497 +
   1.498 +#ifdef XP_WIN
   1.499 +// Some accessibility tools poke at windows in the plugin process during setup
   1.500 +// which can cause hangs.  To hack around this set accessibility.delay_plugins
   1.501 +// to true, you can also try increasing accessibility.delay_plugin_time if your
   1.502 +// machine is slow and you still experience hangs.
   1.503 +// See bug 781791.
   1.504 +pref("accessibility.delay_plugins", false);
   1.505 +pref("accessibility.delay_plugin_time", 10000);
   1.506 +#endif
   1.507 +
   1.508 +pref("focusmanager.testmode", false);
   1.509 +
   1.510 +pref("accessibility.usetexttospeech", "");
   1.511 +pref("accessibility.usebrailledisplay", "");
   1.512 +pref("accessibility.accesskeycausesactivation", true);
   1.513 +pref("accessibility.mouse_focuses_formcontrol", false);
   1.514 +
   1.515 +// Type Ahead Find
   1.516 +pref("accessibility.typeaheadfind", true);
   1.517 +pref("accessibility.typeaheadfind.autostart", true);
   1.518 +// casesensitive: controls the find bar's case-sensitivity
   1.519 +//     0 - "never"  (case-insensitive)
   1.520 +//     1 - "always" (case-sensitive)
   1.521 +// other - "auto"   (case-sensitive for mixed-case input, insensitive otherwise)
   1.522 +pref("accessibility.typeaheadfind.casesensitive", 0);
   1.523 +pref("accessibility.typeaheadfind.linksonly", true);
   1.524 +pref("accessibility.typeaheadfind.startlinksonly", false);
   1.525 +pref("accessibility.typeaheadfind.timeout", 4000);
   1.526 +pref("accessibility.typeaheadfind.enabletimeout", true);
   1.527 +pref("accessibility.typeaheadfind.soundURL", "beep");
   1.528 +pref("accessibility.typeaheadfind.enablesound", true);
   1.529 +#ifdef XP_MACOSX
   1.530 +pref("accessibility.typeaheadfind.prefillwithselection", false);
   1.531 +#else
   1.532 +pref("accessibility.typeaheadfind.prefillwithselection", true);
   1.533 +#endif
   1.534 +
   1.535 +// use Mac OS X Appearance panel text smoothing setting when rendering text, disabled by default
   1.536 +pref("gfx.use_text_smoothing_setting", false);
   1.537 +
   1.538 +// loading and rendering of framesets and iframes
   1.539 +pref("browser.frames.enabled", true);
   1.540 +
   1.541 +// Number of characters to consider emphasizing for rich autocomplete results
   1.542 +pref("toolkit.autocomplete.richBoundaryCutoff", 200);
   1.543 +
   1.544 +// Variable controlling logging for osfile.
   1.545 +pref("toolkit.osfile.log", false);
   1.546 +
   1.547 +pref("toolkit.scrollbox.smoothScroll", true);
   1.548 +pref("toolkit.scrollbox.scrollIncrement", 20);
   1.549 +pref("toolkit.scrollbox.verticalScrollDistance", 3);
   1.550 +pref("toolkit.scrollbox.horizontalScrollDistance", 5);
   1.551 +pref("toolkit.scrollbox.clickToScroll.scrollDelay", 150);
   1.552 +
   1.553 +pref("toolkit.telemetry.server", "https://incoming.telemetry.mozilla.org");
   1.554 +// Telemetry server owner. Please change if you set toolkit.telemetry.server to a different server
   1.555 +pref("toolkit.telemetry.server_owner", "Mozilla");
   1.556 +// Information page about telemetry (temporary ; will be about:telemetry in the end)
   1.557 +pref("toolkit.telemetry.infoURL", "https://www.mozilla.org/legal/privacy/firefox.html#telemetry");
   1.558 +// Determines whether full SQL strings are returned when they might contain sensitive info
   1.559 +// i.e. dynamically constructed SQL strings or SQL executed by addons against addon DBs
   1.560 +pref("toolkit.telemetry.debugSlowSql", false);
   1.561 +
   1.562 +// Identity module
   1.563 +pref("toolkit.identity.enabled", false);
   1.564 +pref("toolkit.identity.debug", false);
   1.565 +
   1.566 +// AsyncShutdown delay before crashing in case of shutdown freeze
   1.567 +pref("toolkit.asyncshutdown.timeout.crash", 60000);
   1.568 +
   1.569 +// Enable deprecation warnings.
   1.570 +pref("devtools.errorconsole.deprecation_warnings", true);
   1.571 +
   1.572 +// Disable debugging chrome
   1.573 +pref("devtools.chrome.enabled", false);
   1.574 +
   1.575 +// Disable remote debugging protocol logging
   1.576 +pref("devtools.debugger.log", false);
   1.577 +// Disable remote debugging connections
   1.578 +pref("devtools.debugger.remote-enabled", false);
   1.579 +pref("devtools.debugger.remote-port", 6000);
   1.580 +// Force debugger server binding on the loopback interface
   1.581 +pref("devtools.debugger.force-local", true);
   1.582 +// Display a prompt when a new connection starts to accept/reject it
   1.583 +pref("devtools.debugger.prompt-connection", true);
   1.584 +// Block tools from seeing / interacting with certified apps
   1.585 +pref("devtools.debugger.forbid-certified-apps", true);
   1.586 +
   1.587 +// DevTools default color unit
   1.588 +pref("devtools.defaultColorUnit", "hex");
   1.589 +
   1.590 +// Used for devtools debugging
   1.591 +pref("devtools.dump.emit", false);
   1.592 +
   1.593 +// view source
   1.594 +pref("view_source.syntax_highlight", true);
   1.595 +pref("view_source.wrap_long_lines", false);
   1.596 +pref("view_source.editor.external", false);
   1.597 +pref("view_source.editor.path", "");
   1.598 +// allows to add further arguments to the editor; use the %LINE% placeholder
   1.599 +// for jumping to a specific line (e.g. "/line:%LINE%" or "--goto %LINE%")
   1.600 +pref("view_source.editor.args", "");
   1.601 +
   1.602 +// When true this will word-wrap plain text documents.
   1.603 +pref("plain_text.wrap_long_lines", false);
   1.604 +
   1.605 +// whether or not to draw images while dragging
   1.606 +pref("nglayout.enable_drag_images", true);
   1.607 +
   1.608 +// enable/disable paint flashing --- useful for debugging
   1.609 +// the first one applies to everything, the second one only to chrome
   1.610 +pref("nglayout.debug.paint_flashing", false);
   1.611 +pref("nglayout.debug.paint_flashing_chrome", false);
   1.612 +
   1.613 +// enable/disable widget update area flashing --- only supported with
   1.614 +// BasicLayers (other layer managers always update the entire widget area)
   1.615 +pref("nglayout.debug.widget_update_flashing", false);
   1.616 +
   1.617 +// Whether image visibility is enabled globally (ie we will try to unlock images
   1.618 +// that are not visible).
   1.619 +pref("layout.imagevisibility.enabled", true);
   1.620 +// Whether image visibility is enabled in documents that are within a browser
   1.621 +// element as defined by nsDocShell::FrameType and GetInheritedFrameType. This
   1.622 +// pref only has an effect if layout.imagevisibility.enabled is false.
   1.623 +pref("layout.imagevisibility.enabled_for_browser_elements_only", false);
   1.624 +pref("layout.imagevisibility.numscrollportwidths", 0);
   1.625 +pref("layout.imagevisibility.numscrollportheights", 1);
   1.626 +
   1.627 +// scrollbar snapping region
   1.628 +// 0 - off
   1.629 +// 1 and higher - slider thickness multiple
   1.630 +pref("slider.snapMultiplier", 0);
   1.631 +
   1.632 +// option to choose plug-in finder
   1.633 +pref("application.use_ns_plugin_finder", false);
   1.634 +
   1.635 +// URI fixup prefs
   1.636 +pref("browser.fixup.alternate.enabled", true);
   1.637 +pref("browser.fixup.alternate.prefix", "www.");
   1.638 +pref("browser.fixup.alternate.suffix", ".com");
   1.639 +pref("browser.fixup.hide_user_pass", true);
   1.640 +
   1.641 +// Location Bar AutoComplete
   1.642 +pref("browser.urlbar.autocomplete.enabled", true);
   1.643 +
   1.644 +// Print header customization
   1.645 +// Use the following codes:
   1.646 +// &T - Title
   1.647 +// &U - Document URL
   1.648 +// &D - Date/Time
   1.649 +// &P - Page Number
   1.650 +// &PT - Page Number "of" Page total
   1.651 +// Set each header to a string containing zero or one of these codes
   1.652 +// and the code will be replaced in that string by the corresponding data
   1.653 +pref("print.print_headerleft", "&T");
   1.654 +pref("print.print_headercenter", "");
   1.655 +pref("print.print_headerright", "&U");
   1.656 +pref("print.print_footerleft", "&PT");
   1.657 +pref("print.print_footercenter", "");
   1.658 +pref("print.print_footerright", "&D");
   1.659 +pref("print.show_print_progress", true);
   1.660 +
   1.661 +// xxxbsmedberg: more toolkit prefs
   1.662 +
   1.663 +// When this is set to false each window has its own PrintSettings
   1.664 +// and a change in one window does not affect the others
   1.665 +pref("print.use_global_printsettings", true);
   1.666 +
   1.667 +// Save the Printings after each print job
   1.668 +pref("print.save_print_settings", true);
   1.669 +
   1.670 +// Cache old Presentation when going into Print Preview
   1.671 +pref("print.always_cache_old_pres", false);
   1.672 +
   1.673 +// Enables you to specify the amount of the paper that is to be treated
   1.674 +// as unwriteable.  The print_edge_XXX and print_margin_XXX preferences
   1.675 +// are treated as offsets that are added to this pref.
   1.676 +// Default is "-1", which means "use the system default".  (If there is
   1.677 +// no system default, then the -1 is treated as if it were 0.)
   1.678 +// This is used by both Printing and Print Preview.
   1.679 +// Units are in 1/100ths of an inch.
   1.680 +pref("print.print_unwriteable_margin_top",    -1);
   1.681 +pref("print.print_unwriteable_margin_left",   -1);
   1.682 +pref("print.print_unwriteable_margin_right",  -1);
   1.683 +pref("print.print_unwriteable_margin_bottom", -1);
   1.684 +
   1.685 +// Enables you to specify the gap from the edge of the paper's
   1.686 +// unwriteable area to the margin.
   1.687 +// This is used by both Printing and Print Preview
   1.688 +// Units are in 1/100ths of an inch.
   1.689 +pref("print.print_edge_top", 0);
   1.690 +pref("print.print_edge_left", 0);
   1.691 +pref("print.print_edge_right", 0);
   1.692 +pref("print.print_edge_bottom", 0);
   1.693 +
   1.694 +// Pref used by the spellchecker extension to control the
   1.695 +// maximum number of misspelled words that will be underlined
   1.696 +// in a document.
   1.697 +pref("extensions.spellcheck.inline.max-misspellings", 500);
   1.698 +
   1.699 +// Prefs used by libeditor. Prefs specific to seamonkey composer
   1.700 +// belong in comm-central/editor/ui/composer.js
   1.701 +
   1.702 +pref("editor.use_custom_colors", false);
   1.703 +pref("editor.singleLine.pasteNewlines",      2);
   1.704 +pref("editor.use_css",                       false);
   1.705 +pref("editor.css.default_length_unit",       "px");
   1.706 +pref("editor.resizing.preserve_ratio",       true);
   1.707 +pref("editor.positioning.offset",            0);
   1.708 +
   1.709 +// Scripts & Windows prefs
   1.710 +pref("dom.disable_beforeunload",            false);
   1.711 +pref("dom.disable_image_src_set",           false);
   1.712 +pref("dom.disable_window_flip",             false);
   1.713 +pref("dom.disable_window_move_resize",      false);
   1.714 +pref("dom.disable_window_status_change",    false);
   1.715 +
   1.716 +pref("dom.disable_window_open_feature.titlebar",    false);
   1.717 +pref("dom.disable_window_open_feature.close",       false);
   1.718 +pref("dom.disable_window_open_feature.toolbar",     false);
   1.719 +pref("dom.disable_window_open_feature.location",    false);
   1.720 +pref("dom.disable_window_open_feature.personalbar", false);
   1.721 +pref("dom.disable_window_open_feature.menubar",     false);
   1.722 +pref("dom.disable_window_open_feature.scrollbars",  false);
   1.723 +pref("dom.disable_window_open_feature.resizable",   true);
   1.724 +pref("dom.disable_window_open_feature.minimizable", false);
   1.725 +pref("dom.disable_window_open_feature.status",      true);
   1.726 +
   1.727 +pref("dom.allow_scripts_to_close_windows",          false);
   1.728 +
   1.729 +pref("dom.disable_open_during_load",                false);
   1.730 +pref("dom.popup_maximum",                           20);
   1.731 +pref("dom.popup_allowed_events", "change click dblclick mouseup reset submit touchend");
   1.732 +pref("dom.disable_open_click_delay", 1000);
   1.733 +
   1.734 +pref("dom.storage.enabled", true);
   1.735 +pref("dom.storage.default_quota",      5120);
   1.736 +
   1.737 +pref("dom.send_after_paint_to_content", false);
   1.738 +
   1.739 +// Timeout clamp in ms for timeouts we clamp
   1.740 +pref("dom.min_timeout_value", 4);
   1.741 +// And for background windows
   1.742 +pref("dom.min_background_timeout_value", 1000);
   1.743 +
   1.744 +// Don't use new input types
   1.745 +pref("dom.experimental_forms", false);
   1.746 +
   1.747 +// Enable <input type=number>:
   1.748 +pref("dom.forms.number", true);
   1.749 +
   1.750 +// Enable <input type=color> by default. It will be turned off for remaining
   1.751 +// platforms which don't have a color picker implemented yet.
   1.752 +pref("dom.forms.color", true);
   1.753 +
   1.754 +// Enables system messages and activities
   1.755 +pref("dom.sysmsg.enabled", false);
   1.756 +
   1.757 +// Enable pre-installed applications.
   1.758 +pref("dom.webapps.useCurrentProfile", false);
   1.759 +
   1.760 +pref("dom.cycle_collector.incremental", false);
   1.761 +
   1.762 +// Parsing perf prefs. For now just mimic what the old code did.
   1.763 +#ifndef XP_WIN
   1.764 +pref("content.sink.pending_event_mode", 0);
   1.765 +#endif
   1.766 +
   1.767 +// Disable popups from plugins by default
   1.768 +//   0 = openAllowed
   1.769 +//   1 = openControlled
   1.770 +//   2 = openAbused
   1.771 +pref("privacy.popups.disable_from_plugins", 2);
   1.772 +
   1.773 +// "do not track" HTTP header, disabled by default
   1.774 +pref("privacy.donottrackheader.enabled",    false);
   1.775 +//   0 = tracking is acceptable
   1.776 +//   1 = tracking is unacceptable
   1.777 +pref("privacy.donottrackheader.value",      1);
   1.778 +
   1.779 +pref("dom.event.contextmenu.enabled",       true);
   1.780 +pref("dom.event.clipboardevents.enabled",   true);
   1.781 +
   1.782 +pref("dom.webcomponents.enabled",           false);
   1.783 +
   1.784 +pref("javascript.enabled",                  true);
   1.785 +pref("javascript.options.strict",           false);
   1.786 +#ifdef DEBUG
   1.787 +pref("javascript.options.strict.debug",     true);
   1.788 +#endif
   1.789 +pref("javascript.options.baselinejit",      true);
   1.790 +pref("javascript.options.ion",              true);
   1.791 +pref("javascript.options.asmjs",            true);
   1.792 +pref("javascript.options.parallel_parsing", true);
   1.793 +pref("javascript.options.ion.parallel_compilation", true);
   1.794 +// This preference instructs the JS engine to discard the
   1.795 +// source of any privileged JS after compilation. This saves
   1.796 +// memory, but makes things like Function.prototype.toSource()
   1.797 +// fail.
   1.798 +pref("javascript.options.discardSystemSource", false);
   1.799 +// This preference limits the memory usage of javascript.
   1.800 +// If you want to change these values for your device,
   1.801 +// please find Bug 417052 comment 17 and Bug 456721
   1.802 +// Comment 32 and Bug 613551.
   1.803 +pref("javascript.options.mem.high_water_mark", 128);
   1.804 +pref("javascript.options.mem.max", -1);
   1.805 +pref("javascript.options.mem.gc_per_compartment", true);
   1.806 +pref("javascript.options.mem.gc_incremental", true);
   1.807 +pref("javascript.options.mem.gc_incremental_slice_ms", 10);
   1.808 +pref("javascript.options.mem.log", false);
   1.809 +pref("javascript.options.mem.notify", false);
   1.810 +pref("javascript.options.gc_on_memory_pressure", true);
   1.811 +
   1.812 +pref("javascript.options.mem.gc_high_frequency_time_limit_ms", 1000);
   1.813 +pref("javascript.options.mem.gc_high_frequency_low_limit_mb", 100);
   1.814 +pref("javascript.options.mem.gc_high_frequency_high_limit_mb", 500);
   1.815 +pref("javascript.options.mem.gc_high_frequency_heap_growth_max", 300);
   1.816 +pref("javascript.options.mem.gc_high_frequency_heap_growth_min", 150);
   1.817 +pref("javascript.options.mem.gc_low_frequency_heap_growth", 150);
   1.818 +pref("javascript.options.mem.gc_dynamic_heap_growth", true);
   1.819 +pref("javascript.options.mem.gc_dynamic_mark_slice", true);
   1.820 +pref("javascript.options.mem.gc_allocation_threshold_mb", 30);
   1.821 +pref("javascript.options.mem.gc_decommit_threshold_mb", 32);
   1.822 +
   1.823 +pref("javascript.options.showInConsole", false);
   1.824 +
   1.825 +// advanced prefs
   1.826 +pref("advanced.mailftp",                    false);
   1.827 +pref("image.animation_mode",                "normal");
   1.828 +
   1.829 +// Same-origin policy for file URIs, "false" is traditional
   1.830 +pref("security.fileuri.strict_origin_policy", true);
   1.831 +
   1.832 +// If there is ever a security firedrill that requires
   1.833 +// us to block certian ports global, this is the pref
   1.834 +// to use.  Is is a comma delimited list of port numbers
   1.835 +// for example:
   1.836 +//   pref("network.security.ports.banned", "1,2,3,4,5");
   1.837 +// prevents necko connecting to ports 1-5 unless the protocol
   1.838 +// overrides.
   1.839 +
   1.840 +// Allow necko to do A/B testing. Will generally only happen if
   1.841 +// telemetry is also enabled as otherwise there is no way to report
   1.842 +// the results
   1.843 +pref("network.allow-experiments", true);
   1.844 +
   1.845 +// Transmit UDP busy-work to the LAN when anticipating low latency
   1.846 +// network reads and on wifi to mitigate 802.11 Power Save Polling delays
   1.847 +pref("network.tickle-wifi.enabled", false);
   1.848 +pref("network.tickle-wifi.duration", 400);
   1.849 +pref("network.tickle-wifi.delay", 16);
   1.850 +
   1.851 +// Turn off interprocess security checks. Needed to run xpcshell tests.
   1.852 +pref("network.disable.ipc.security", false);
   1.853 +
   1.854 +// Default action for unlisted external protocol handlers
   1.855 +pref("network.protocol-handler.external-default", true);      // OK to load
   1.856 +pref("network.protocol-handler.warn-external-default", true); // warn before load
   1.857 +
   1.858 +// Prevent using external protocol handlers for these schemes
   1.859 +pref("network.protocol-handler.external.hcp", false);
   1.860 +pref("network.protocol-handler.external.vbscript", false);
   1.861 +pref("network.protocol-handler.external.javascript", false);
   1.862 +pref("network.protocol-handler.external.data", false);
   1.863 +pref("network.protocol-handler.external.ms-help", false);
   1.864 +pref("network.protocol-handler.external.shell", false);
   1.865 +pref("network.protocol-handler.external.vnd.ms.radio", false);
   1.866 +#ifdef XP_MACOSX
   1.867 +pref("network.protocol-handler.external.help", false);
   1.868 +#endif
   1.869 +pref("network.protocol-handler.external.disk", false);
   1.870 +pref("network.protocol-handler.external.disks", false);
   1.871 +pref("network.protocol-handler.external.afp", false);
   1.872 +pref("network.protocol-handler.external.moz-icon", false);
   1.873 +
   1.874 +// Don't allow  external protocol handlers for common typos
   1.875 +pref("network.protocol-handler.external.ttp", false);  // http
   1.876 +pref("network.protocol-handler.external.ttps", false); // https
   1.877 +pref("network.protocol-handler.external.tps", false);  // https
   1.878 +pref("network.protocol-handler.external.ps", false);   // https
   1.879 +pref("network.protocol-handler.external.ile", false);  // file
   1.880 +pref("network.protocol-handler.external.le", false);   // file
   1.881 +
   1.882 +// An exposed protocol handler is one that can be used in all contexts.  A
   1.883 +// non-exposed protocol handler is one that can only be used internally by the
   1.884 +// application.  For example, a non-exposed protocol would not be loaded by the
   1.885 +// application in response to a link click or a X-remote openURL command.
   1.886 +// Instead, it would be deferred to the system's external protocol handler.
   1.887 +// Only internal/built-in protocol handlers can be marked as exposed.
   1.888 +
   1.889 +// This pref controls the default settings.  Per protocol settings can be used
   1.890 +// to override this value.
   1.891 +pref("network.protocol-handler.expose-all", true);
   1.892 +
   1.893 +// Warning for about:networking page
   1.894 +pref("network.warnOnAboutNetworking", true);
   1.895 +
   1.896 +// Example: make IMAP an exposed protocol
   1.897 +// pref("network.protocol-handler.expose.imap", true);
   1.898 +
   1.899 +// <http>
   1.900 +pref("network.http.version", "1.1");      // default
   1.901 +// pref("network.http.version", "1.0");   // uncomment this out in case of problems
   1.902 +// pref("network.http.version", "0.9");   // it'll work too if you're crazy
   1.903 +// keep-alive option is effectively obsolete. Nevertheless it'll work with
   1.904 +// some older 1.0 servers:
   1.905 +
   1.906 +pref("network.http.proxy.version", "1.1");    // default
   1.907 +// pref("network.http.proxy.version", "1.0"); // uncomment this out in case of problems
   1.908 +                                              // (required if using junkbuster proxy)
   1.909 +
   1.910 +// enable caching of http documents
   1.911 +pref("network.http.use-cache", true);
   1.912 +
   1.913 +// this preference can be set to override the socket type used for normal
   1.914 +// HTTP traffic.  an empty value indicates the normal TCP/IP socket type.
   1.915 +pref("network.http.default-socket-type", "");
   1.916 +
   1.917 +// There is a problem with some IIS7 servers that don't close the connection
   1.918 +// properly after it times out (bug #491541). Default timeout on IIS7 is
   1.919 +// 120 seconds. We need to reuse or drop the connection within this time.
   1.920 +// We set the timeout a little shorter to keep a reserve for cases when
   1.921 +// the packet is lost or delayed on the route.
   1.922 +pref("network.http.keep-alive.timeout", 115);
   1.923 +
   1.924 +// Timeout connections if an initial response is not received after 5 mins.
   1.925 +pref("network.http.response.timeout", 300);
   1.926 +
   1.927 +// Limit the absolute number of http connections.
   1.928 +// Note: the socket transport service will clamp the number below 256 if the OS
   1.929 +// cannot allocate that many FDs, and it also always tries to reserve up to 250
   1.930 +// file descriptors for things other than sockets.
   1.931 +pref("network.http.max-connections", 256);
   1.932 +
   1.933 +// If NOT connecting via a proxy, then
   1.934 +// a new connection will only be attempted if the number of active persistent
   1.935 +// connections to the server is less then max-persistent-connections-per-server.
   1.936 +pref("network.http.max-persistent-connections-per-server", 6);
   1.937 +
   1.938 +// If connecting via a proxy, then a
   1.939 +// new connection will only be attempted if the number of active persistent
   1.940 +// connections to the proxy is less then max-persistent-connections-per-proxy.
   1.941 +pref("network.http.max-persistent-connections-per-proxy", 32);
   1.942 +
   1.943 +// amount of time (in seconds) to suspend pending requests, before spawning a
   1.944 +// new connection, once the limit on the number of persistent connections per
   1.945 +// host has been reached.  however, a new connection will not be created if
   1.946 +// max-connections or max-connections-per-server has also been reached.
   1.947 +pref("network.http.request.max-start-delay", 10);
   1.948 +
   1.949 +// Headers
   1.950 +pref("network.http.accept.default", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
   1.951 +
   1.952 +// Prefs allowing granular control of referers
   1.953 +// 0=don't send any, 1=send only on clicks, 2=send on image requests as well
   1.954 +pref("network.http.sendRefererHeader",      2);
   1.955 +// false=real referer, true=spoof referer (use target URI as referer)
   1.956 +pref("network.http.referer.spoofSource", false);
   1.957 +// 0=full URI, 1=scheme+host+port+path, 2=scheme+host+port
   1.958 +pref("network.http.referer.trimmingPolicy", 0);
   1.959 +// 0=always send, 1=send iff base domains match, 2=send iff hosts match
   1.960 +pref("network.http.referer.XOriginPolicy", 0);
   1.961 +
   1.962 +// Controls whether we send HTTPS referres to other HTTPS sites.
   1.963 +// By default this is enabled for compatibility (see bug 141641)
   1.964 +pref("network.http.sendSecureXSiteReferrer", true);
   1.965 +
   1.966 +// Maximum number of consecutive redirects before aborting.
   1.967 +pref("network.http.redirection-limit", 20);
   1.968 +
   1.969 +// Enable http compression: comment this out in case of problems with 1.1
   1.970 +// NOTE: support for "compress" has been disabled per bug 196406.
   1.971 +// NOTE: separate values with comma+space (", "): see bug 576033
   1.972 +pref("network.http.accept-encoding", "gzip, deflate");
   1.973 +
   1.974 +pref("network.http.pipelining"      , false);
   1.975 +pref("network.http.pipelining.ssl"  , false); // disable pipelining over SSL
   1.976 +pref("network.http.pipelining.abtest", false);
   1.977 +pref("network.http.proxy.pipelining", false);
   1.978 +
   1.979 +// Max number of requests in the pipeline
   1.980 +pref("network.http.pipelining.maxrequests" , 32);
   1.981 +
   1.982 +// An optimistic request is one pipelined when policy might allow a new
   1.983 +// connection instead
   1.984 +pref("network.http.pipelining.max-optimistic-requests" , 4);
   1.985 +
   1.986 +pref("network.http.pipelining.aggressive", false);
   1.987 +pref("network.http.pipelining.maxsize" , 300000);
   1.988 +pref("network.http.pipelining.reschedule-on-timeout", true);
   1.989 +pref("network.http.pipelining.reschedule-timeout", 1500);
   1.990 +
   1.991 +// The read-timeout is a ms timer that causes the transaction to be completely
   1.992 +// restarted without pipelining.
   1.993 +pref("network.http.pipelining.read-timeout", 30000);
   1.994 +
   1.995 +// Prompt for 307 redirects
   1.996 +pref("network.http.prompt-temp-redirect", true);
   1.997 +
   1.998 +// If true generate CORRUPTED_CONTENT errors for entities that
   1.999 +// contain an invalid Assoc-Req response header
  1.1000 +pref("network.http.assoc-req.enforce", false);
  1.1001 +
  1.1002 +// On networks deploying QoS, it is recommended that these be lockpref()'d,
  1.1003 +// since inappropriate marking can easily overwhelm bandwidth reservations
  1.1004 +// for certain services (i.e. EF for VoIP, AF4x for interactive video,
  1.1005 +// AF3x for broadcast/streaming video, etc)
  1.1006 +
  1.1007 +// default value for HTTP
  1.1008 +// in a DSCP environment this should be 40 (0x28, or AF11), per RFC-4594,
  1.1009 +// Section 4.8 "High-Throughput Data Service Class"
  1.1010 +pref("network.http.qos", 0);
  1.1011 +
  1.1012 +// The number of milliseconds after sending a SYN for an HTTP connection,
  1.1013 +// to wait before trying a different connection. 0 means do not use a second
  1.1014 +// connection.
  1.1015 +pref("network.http.connection-retry-timeout", 250);
  1.1016 +
  1.1017 +// The number of seconds after sending initial SYN for an HTTP connection
  1.1018 +// to give up if the OS does not give up first
  1.1019 +pref("network.http.connection-timeout", 90);
  1.1020 +
  1.1021 +// The maximum number of current global half open sockets allowable
  1.1022 +// when starting a new speculative connection.
  1.1023 +pref("network.http.speculative-parallel-limit", 6);
  1.1024 +
  1.1025 +// Whether or not to block requests for non head js/css items (e.g. media)
  1.1026 +// while those elements load.
  1.1027 +pref("network.http.rendering-critical-requests-prioritization", true);
  1.1028 +
  1.1029 +// Disable IPv6 for backup connections to workaround problems about broken
  1.1030 +// IPv6 connectivity.
  1.1031 +pref("network.http.fast-fallback-to-IPv4", true);
  1.1032 +
  1.1033 +// The maximum amount of time the cache session lock can be held
  1.1034 +// before a new transaction bypasses the cache. In milliseconds.
  1.1035 +#ifdef RELEASE_BUILD
  1.1036 +pref("network.http.bypass-cachelock-threshold", 200000);
  1.1037 +#else
  1.1038 +pref("network.http.bypass-cachelock-threshold", 250);
  1.1039 +#endif
  1.1040 +
  1.1041 +// Try and use SPDY when using SSL
  1.1042 +pref("network.http.spdy.enabled", true);
  1.1043 +pref("network.http.spdy.enabled.v3", true);
  1.1044 +pref("network.http.spdy.enabled.v3-1", true);
  1.1045 +pref("network.http.spdy.enabled.http2draft", false);
  1.1046 +pref("network.http.spdy.enforce-tls-profile", true);
  1.1047 +pref("network.http.spdy.chunk-size", 16000);
  1.1048 +pref("network.http.spdy.timeout", 180);
  1.1049 +pref("network.http.spdy.coalesce-hostnames", true);
  1.1050 +pref("network.http.spdy.persistent-settings", false);
  1.1051 +pref("network.http.spdy.ping-threshold", 58);
  1.1052 +pref("network.http.spdy.ping-timeout", 8);
  1.1053 +pref("network.http.spdy.send-buffer-size", 131072);
  1.1054 +pref("network.http.spdy.allow-push", true);
  1.1055 +pref("network.http.spdy.push-allowance", 131072);
  1.1056 +
  1.1057 +pref("network.http.diagnostics", false);
  1.1058 +
  1.1059 +pref("network.http.pacing.requests.enabled", true);
  1.1060 +pref("network.http.pacing.requests.min-parallelism", 6);
  1.1061 +pref("network.http.pacing.requests.hz", 100);
  1.1062 +pref("network.http.pacing.requests.burst", 32);
  1.1063 +
  1.1064 +// TCP Keepalive config for HTTP connections.
  1.1065 +pref("network.http.tcp_keepalive.short_lived_connections", true);
  1.1066 +// Max time from initial request during which conns are considered short-lived.
  1.1067 +pref("network.http.tcp_keepalive.short_lived_time", 60);
  1.1068 +// Idle time of TCP connection until first keepalive probe sent.
  1.1069 +pref("network.http.tcp_keepalive.short_lived_idle_time", 10);
  1.1070 +
  1.1071 +pref("network.http.tcp_keepalive.long_lived_connections", true);
  1.1072 +pref("network.http.tcp_keepalive.long_lived_idle_time", 600);
  1.1073 +
  1.1074 +// default values for FTP
  1.1075 +// in a DSCP environment this should be 40 (0x28, or AF11), per RFC-4594,
  1.1076 +// Section 4.8 "High-Throughput Data Service Class", and 80 (0x50, or AF22)
  1.1077 +// per Section 4.7 "Low-Latency Data Service Class".
  1.1078 +pref("network.ftp.data.qos", 0);
  1.1079 +pref("network.ftp.control.qos", 0);
  1.1080 +
  1.1081 +// </http>
  1.1082 +
  1.1083 +// <ws>: WebSocket
  1.1084 +pref("network.websocket.enabled", true);
  1.1085 +
  1.1086 +// 2147483647 == PR_INT32_MAX == ~2 GB
  1.1087 +pref("network.websocket.max-message-size", 2147483647);
  1.1088 +
  1.1089 +// Should we automatically follow http 3xx redirects during handshake
  1.1090 +pref("network.websocket.auto-follow-http-redirects", false);
  1.1091 +
  1.1092 +// the number of seconds to wait for websocket connection to be opened
  1.1093 +pref("network.websocket.timeout.open", 20);
  1.1094 +
  1.1095 +// the number of seconds to wait for a clean close after sending the client
  1.1096 +// close message
  1.1097 +pref("network.websocket.timeout.close", 20);
  1.1098 +
  1.1099 +// the number of seconds of idle read activity to sustain before sending a
  1.1100 +// ping probe. 0 to disable.
  1.1101 +pref("network.websocket.timeout.ping.request", 0);
  1.1102 +
  1.1103 +// the deadline, expressed in seconds, for some read activity to occur after
  1.1104 +// generating a ping. If no activity happens then an error and unclean close
  1.1105 +// event is sent to the javascript websockets application
  1.1106 +pref("network.websocket.timeout.ping.response", 10);
  1.1107 +
  1.1108 +// Defines whether or not to try and negotiate the stream-deflate compression
  1.1109 +// extension with the websocket server. Stream-Deflate has been removed from
  1.1110 +// the standards track document, but can still be used by servers who opt
  1.1111 +// into it.
  1.1112 +pref("network.websocket.extensions.stream-deflate", false);
  1.1113 +
  1.1114 +// the maximum number of concurrent websocket sessions. By specification there
  1.1115 +// is never more than one handshake oustanding to an individual host at
  1.1116 +// one time.
  1.1117 +pref("network.websocket.max-connections", 200);
  1.1118 +
  1.1119 +// by default scripts loaded from a https:// origin can only open secure
  1.1120 +// (i.e. wss://) websockets.
  1.1121 +pref("network.websocket.allowInsecureFromHTTPS", false);
  1.1122 +
  1.1123 +// by default we delay websocket reconnects to same host/port if previous
  1.1124 +// connection failed, per RFC 6455 section 7.2.3
  1.1125 +pref("network.websocket.delay-failed-reconnects", true);
  1.1126 +
  1.1127 +// </ws>
  1.1128 +
  1.1129 +// Server-Sent Events
  1.1130 +
  1.1131 +pref("dom.server-events.enabled", true);
  1.1132 +// Equal to the DEFAULT_RECONNECTION_TIME_VALUE value in nsEventSource.cpp
  1.1133 +pref("dom.server-events.default-reconnection-time", 5000); // in milliseconds
  1.1134 +
  1.1135 +// If false, remote JAR files that are served with a content type other than
  1.1136 +// application/java-archive or application/x-jar will not be opened
  1.1137 +// by the jar channel.
  1.1138 +pref("network.jar.open-unsafe-types", false);
  1.1139 +
  1.1140 +// This preference, if true, causes all UTF-8 domain names to be normalized to
  1.1141 +// punycode.  The intention is to allow UTF-8 domain names as input, but never
  1.1142 +// generate them from punycode.
  1.1143 +pref("network.IDN_show_punycode", false);
  1.1144 +
  1.1145 +// If "network.IDN.use_whitelist" is set to true, TLDs with
  1.1146 +// "network.IDN.whitelist.tld" explicitly set to true are treated as
  1.1147 +// IDN-safe. Otherwise, they're treated as unsafe and punycode will be used
  1.1148 +// for displaying them in the UI (e.g. URL bar), unless they conform to one of
  1.1149 +// the profiles specified in
  1.1150 +// http://www.unicode.org/reports/tr36/proposed.html#Security_Levels_and_Alerts
  1.1151 +// If "network.IDN.restriction_profile" is "high", the Highly Restrictive
  1.1152 +// profile is used.
  1.1153 +// If "network.IDN.restriction_profile" is "moderate", the Moderately
  1.1154 +// Restrictive profile is used.
  1.1155 +// In all other cases, the ASCII-Only profile is used.
  1.1156 +// Note that these preferences are referred to ONLY when
  1.1157 +// "network.IDN_show_punycode" is false. In other words, all IDNs will be shown
  1.1158 +// in punycode if "network.IDN_show_punycode" is true.
  1.1159 +pref("network.IDN.restriction_profile", "moderate");
  1.1160 +pref("network.IDN.use_whitelist", true);
  1.1161 +
  1.1162 +// ccTLDs
  1.1163 +pref("network.IDN.whitelist.ac", true);
  1.1164 +pref("network.IDN.whitelist.ar", true);
  1.1165 +pref("network.IDN.whitelist.at", true);
  1.1166 +pref("network.IDN.whitelist.br", true);
  1.1167 +pref("network.IDN.whitelist.ca", true);
  1.1168 +pref("network.IDN.whitelist.ch", true);
  1.1169 +pref("network.IDN.whitelist.cl", true);
  1.1170 +pref("network.IDN.whitelist.cn", true);
  1.1171 +pref("network.IDN.whitelist.de", true);
  1.1172 +pref("network.IDN.whitelist.dk", true);
  1.1173 +pref("network.IDN.whitelist.ee", true);
  1.1174 +pref("network.IDN.whitelist.es", true);
  1.1175 +pref("network.IDN.whitelist.fi", true);
  1.1176 +pref("network.IDN.whitelist.fr", true);
  1.1177 +pref("network.IDN.whitelist.gr", true);
  1.1178 +pref("network.IDN.whitelist.gt", true);
  1.1179 +pref("network.IDN.whitelist.hu", true);
  1.1180 +pref("network.IDN.whitelist.il", true);
  1.1181 +pref("network.IDN.whitelist.io", true);
  1.1182 +pref("network.IDN.whitelist.ir", true);
  1.1183 +pref("network.IDN.whitelist.is", true);
  1.1184 +pref("network.IDN.whitelist.jp", true);
  1.1185 +pref("network.IDN.whitelist.kr", true);
  1.1186 +pref("network.IDN.whitelist.li", true);
  1.1187 +pref("network.IDN.whitelist.lt", true);
  1.1188 +pref("network.IDN.whitelist.lu", true);
  1.1189 +pref("network.IDN.whitelist.lv", true);
  1.1190 +pref("network.IDN.whitelist.no", true);
  1.1191 +pref("network.IDN.whitelist.nu", true);
  1.1192 +pref("network.IDN.whitelist.nz", true);
  1.1193 +pref("network.IDN.whitelist.pl", true);
  1.1194 +pref("network.IDN.whitelist.pm", true);
  1.1195 +pref("network.IDN.whitelist.pr", true);
  1.1196 +pref("network.IDN.whitelist.re", true);
  1.1197 +pref("network.IDN.whitelist.se", true);
  1.1198 +pref("network.IDN.whitelist.sh", true);
  1.1199 +pref("network.IDN.whitelist.si", true);
  1.1200 +pref("network.IDN.whitelist.tf", true);
  1.1201 +pref("network.IDN.whitelist.th", true);
  1.1202 +pref("network.IDN.whitelist.tm", true);
  1.1203 +pref("network.IDN.whitelist.tw", true);
  1.1204 +pref("network.IDN.whitelist.ua", true);
  1.1205 +pref("network.IDN.whitelist.vn", true);
  1.1206 +pref("network.IDN.whitelist.wf", true);
  1.1207 +pref("network.IDN.whitelist.yt", true);
  1.1208 +
  1.1209 +// IDN ccTLDs
  1.1210 +// ae, UAE, .<Emarat>
  1.1211 +pref("network.IDN.whitelist.xn--mgbaam7a8h", true);
  1.1212 +// cn, China, .<China> with variants
  1.1213 +pref("network.IDN.whitelist.xn--fiqz9s", true); // Traditional
  1.1214 +pref("network.IDN.whitelist.xn--fiqs8s", true); // Simplified
  1.1215 +// eg, Egypt, .<Masr>
  1.1216 +pref("network.IDN.whitelist.xn--wgbh1c", true);
  1.1217 +// hk, Hong Kong, .<Hong Kong>
  1.1218 +pref("network.IDN.whitelist.xn--j6w193g", true);
  1.1219 +// ir, Iran, <.Iran> with variants
  1.1220 +pref("network.IDN.whitelist.xn--mgba3a4f16a", true);
  1.1221 +pref("network.IDN.whitelist.xn--mgba3a4fra", true);
  1.1222 +// jo, Jordan, .<Al-Ordon>
  1.1223 +pref("network.IDN.whitelist.xn--mgbayh7gpa", true);
  1.1224 +// lk, Sri Lanka, .<Lanka> and .<Ilangai>
  1.1225 +pref("network.IDN.whitelist.xn--fzc2c9e2c", true);
  1.1226 +pref("network.IDN.whitelist.xn--xkc2al3hye2a", true);
  1.1227 +// qa, Qatar, .<Qatar>
  1.1228 +pref("network.IDN.whitelist.xn--wgbl6a", true);
  1.1229 +// rs, Serbia, .<Srb>
  1.1230 +pref("network.IDN.whitelist.xn--90a3ac", true);
  1.1231 +// ru, Russian Federation, .<RF>
  1.1232 +pref("network.IDN.whitelist.xn--p1ai", true);
  1.1233 +// sa, Saudi Arabia, .<al-Saudiah> with variants
  1.1234 +pref("network.IDN.whitelist.xn--mgberp4a5d4ar", true);
  1.1235 +pref("network.IDN.whitelist.xn--mgberp4a5d4a87g", true);
  1.1236 +pref("network.IDN.whitelist.xn--mgbqly7c0a67fbc", true);
  1.1237 +pref("network.IDN.whitelist.xn--mgbqly7cvafr", true);
  1.1238 +// sy, Syria, .<Souria>
  1.1239 +pref("network.IDN.whitelist.xn--ogbpf8fl", true);
  1.1240 +// th, Thailand, .<Thai>
  1.1241 +pref("network.IDN.whitelist.xn--o3cw4h", true);
  1.1242 +// tw, Taiwan, <.Taiwan> with variants
  1.1243 +pref("network.IDN.whitelist.xn--kpry57d", true);  // Traditional
  1.1244 +pref("network.IDN.whitelist.xn--kprw13d", true);  // Simplified
  1.1245 +
  1.1246 +// gTLDs
  1.1247 +pref("network.IDN.whitelist.asia", true);
  1.1248 +pref("network.IDN.whitelist.biz", true);
  1.1249 +pref("network.IDN.whitelist.cat", true);
  1.1250 +pref("network.IDN.whitelist.info", true);
  1.1251 +pref("network.IDN.whitelist.museum", true);
  1.1252 +pref("network.IDN.whitelist.org", true);
  1.1253 +pref("network.IDN.whitelist.tel", true);
  1.1254 +
  1.1255 +// NOTE: Before these can be removed, one of bug 414812's tests must be updated
  1.1256 +//       or it will likely fail!  Please CC jwalden+bmo on the bug associated
  1.1257 +//       with removing these so he can provide a patch to make the necessary
  1.1258 +//       changes to avoid bustage.
  1.1259 +// ".test" localised TLDs for ICANN's top-level IDN trial
  1.1260 +pref("network.IDN.whitelist.xn--0zwm56d", true);
  1.1261 +pref("network.IDN.whitelist.xn--11b5bs3a9aj6g", true);
  1.1262 +pref("network.IDN.whitelist.xn--80akhbyknj4f", true);
  1.1263 +pref("network.IDN.whitelist.xn--9t4b11yi5a", true);
  1.1264 +pref("network.IDN.whitelist.xn--deba0ad", true);
  1.1265 +pref("network.IDN.whitelist.xn--g6w251d", true);
  1.1266 +pref("network.IDN.whitelist.xn--hgbk6aj7f53bba", true);
  1.1267 +pref("network.IDN.whitelist.xn--hlcj6aya9esc7a", true);
  1.1268 +pref("network.IDN.whitelist.xn--jxalpdlp", true);
  1.1269 +pref("network.IDN.whitelist.xn--kgbechtv", true);
  1.1270 +pref("network.IDN.whitelist.xn--zckzah", true);
  1.1271 +
  1.1272 +// If a domain includes any of the following characters, it may be a spoof
  1.1273 +// attempt and so we always display the domain name as punycode. This would
  1.1274 +// override the settings "network.IDN_show_punycode" and
  1.1275 +// "network.IDN.whitelist.*".
  1.1276 +pref("network.IDN.blacklist_chars", "\u0020\u00A0\u00BC\u00BD\u00BE\u01C3\u02D0\u0337\u0338\u0589\u05C3\u05F4\u0609\u060A\u066A\u06D4\u0701\u0702\u0703\u0704\u115F\u1160\u1735\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u200B\u2024\u2027\u2028\u2029\u202F\u2039\u203A\u2041\u2044\u2052\u205F\u2153\u2154\u2155\u2156\u2157\u2158\u2159\u215A\u215B\u215C\u215D\u215E\u215F\u2215\u2236\u23AE\u2571\u29F6\u29F8\u2AFB\u2AFD\u2FF0\u2FF1\u2FF2\u2FF3\u2FF4\u2FF5\u2FF6\u2FF7\u2FF8\u2FF9\u2FFA\u2FFB\u3000\u3002\u3014\u3015\u3033\u3164\u321D\u321E\u33AE\u33AF\u33C6\u33DF\uA789\uFE14\uFE15\uFE3F\uFE5D\uFE5E\uFEFF\uFF0E\uFF0F\uFF61\uFFA0\uFFF9\uFFFA\uFFFB\uFFFC\uFFFD");
  1.1277 +
  1.1278 +// This preference specifies a list of domains for which DNS lookups will be
  1.1279 +// IPv4 only. Works around broken DNS servers which can't handle IPv6 lookups
  1.1280 +// and/or allows the user to disable IPv6 on a per-domain basis. See bug 68796.
  1.1281 +pref("network.dns.ipv4OnlyDomains", "");
  1.1282 +
  1.1283 +// This preference can be used to turn off IPv6 name lookups. See bug 68796.
  1.1284 +pref("network.dns.disableIPv6", false);
  1.1285 +
  1.1286 +// This is the number of dns cache entries allowed
  1.1287 +pref("network.dnsCacheEntries", 400);
  1.1288 +
  1.1289 +// In the absence of OS TTLs, the DNS cache TTL value
  1.1290 +pref("network.dnsCacheExpiration", 60);
  1.1291 +
  1.1292 +// The grace period allows the DNS cache to use expired entries, while kicking off
  1.1293 +// a revalidation in the background.
  1.1294 +pref("network.dnsCacheExpirationGracePeriod", 60);
  1.1295 +
  1.1296 +// This preference can be used to turn off DNS prefetch.
  1.1297 +pref("network.dns.disablePrefetch", false);
  1.1298 +
  1.1299 +// This preference controls whether or not URLs with UTF-8 characters are
  1.1300 +// escaped.  Set this preference to TRUE for strict RFC2396 conformance.
  1.1301 +pref("network.standard-url.escape-utf8", true);
  1.1302 +
  1.1303 +// This preference controls whether or not URLs are always encoded and sent as
  1.1304 +// UTF-8.
  1.1305 +pref("network.standard-url.encode-utf8", true);
  1.1306 +
  1.1307 +// Idle timeout for ftp control connections - 5 minute default
  1.1308 +pref("network.ftp.idleConnectionTimeout", 300);
  1.1309 +
  1.1310 +// directory listing format
  1.1311 +// 2: HTML
  1.1312 +// 3: XUL directory viewer
  1.1313 +// all other values are treated like 2
  1.1314 +pref("network.dir.format", 2);
  1.1315 +
  1.1316 +// enables the prefetch service (i.e., prefetching of <link rel="next"> URLs).
  1.1317 +pref("network.prefetch-next", true);
  1.1318 +
  1.1319 +// enables the predictive service
  1.1320 +pref("network.seer.enabled", false);
  1.1321 +pref("network.seer.enable-hover-on-ssl", false);
  1.1322 +pref("network.seer.page-degradation.day", 0);
  1.1323 +pref("network.seer.page-degradation.week", 5);
  1.1324 +pref("network.seer.page-degradation.month", 10);
  1.1325 +pref("network.seer.page-degradation.year", 25);
  1.1326 +pref("network.seer.page-degradation.max", 50);
  1.1327 +pref("network.seer.subresource-degradation.day", 1);
  1.1328 +pref("network.seer.subresource-degradation.week", 10);
  1.1329 +pref("network.seer.subresource-degradation.month", 25);
  1.1330 +pref("network.seer.subresource-degradation.year", 50);
  1.1331 +pref("network.seer.subresource-degradation.max", 100);
  1.1332 +pref("network.seer.preconnect-min-confidence", 90);
  1.1333 +pref("network.seer.preresolve-min-confidence", 60);
  1.1334 +pref("network.seer.redirect-likely-confidence", 75);
  1.1335 +pref("network.seer.max-queue-size", 50);
  1.1336 +pref("network.seer.max-db-size", 157286400); // bytes
  1.1337 +pref("network.seer.preserve", 80); // percentage of seer data to keep when cleaning up
  1.1338 +
  1.1339 +
  1.1340 +// The following prefs pertain to the negotiate-auth extension (see bug 17578),
  1.1341 +// which provides transparent Kerberos or NTLM authentication using the SPNEGO
  1.1342 +// protocol.  Each pref is a comma-separated list of keys, where each key has
  1.1343 +// the format:
  1.1344 +//   [scheme "://"] [host [":" port]]
  1.1345 +// For example, "foo.com" would match "http://www.foo.com/bar", etc.
  1.1346 +
  1.1347 +// Allow insecure NTLMv1 when needed.
  1.1348 +pref("network.negotiate-auth.allow-insecure-ntlm-v1", false);
  1.1349 +// Allow insecure NTLMv1 for HTTPS protected sites by default.
  1.1350 +pref("network.negotiate-auth.allow-insecure-ntlm-v1-https", true);
  1.1351 +
  1.1352 +// This list controls which URIs can use the negotiate-auth protocol.  This
  1.1353 +// list should be limited to the servers you know you'll need to login to.
  1.1354 +pref("network.negotiate-auth.trusted-uris", "");
  1.1355 +// This list controls which URIs can support delegation.
  1.1356 +pref("network.negotiate-auth.delegation-uris", "");
  1.1357 +
  1.1358 +// Do not allow SPNEGO by default when challenged by a local server.
  1.1359 +pref("network.negotiate-auth.allow-non-fqdn", false);
  1.1360 +
  1.1361 +// Allow SPNEGO by default when challenged by a proxy server.
  1.1362 +pref("network.negotiate-auth.allow-proxies", true);
  1.1363 +
  1.1364 +// Path to a specific gssapi library
  1.1365 +pref("network.negotiate-auth.gsslib", "");
  1.1366 +
  1.1367 +// Specify if the gss lib comes standard with the OS
  1.1368 +pref("network.negotiate-auth.using-native-gsslib", true);
  1.1369 +
  1.1370 +#ifdef XP_WIN
  1.1371 +
  1.1372 +// Default to using the SSPI intead of GSSAPI on windows
  1.1373 +pref("network.auth.use-sspi", true);
  1.1374 +
  1.1375 +#endif
  1.1376 +
  1.1377 +// Controls which NTLM authentication implementation we default to. True forces
  1.1378 +// the use of our generic (internal) NTLM authentication implementation vs. any
  1.1379 +// native implementation provided by the os. This pref is for diagnosing issues
  1.1380 +// with native NTLM. (See bug 520607 for details.) Using generic NTLM authentication
  1.1381 +// can expose the user to reflection attack vulnerabilities. Do not change this
  1.1382 +// unless you know what you're doing!
  1.1383 +// This pref should be removed 6 months after the release of firefox 3.6.
  1.1384 +pref("network.auth.force-generic-ntlm", false);
  1.1385 +
  1.1386 +// The following prefs are used to enable automatic use of the operating
  1.1387 +// system's NTLM implementation to silently authenticate the user with their
  1.1388 +// Window's domain logon.  The trusted-uris pref follows the format of the
  1.1389 +// trusted-uris pref for negotiate authentication.
  1.1390 +pref("network.automatic-ntlm-auth.allow-proxies", true);
  1.1391 +pref("network.automatic-ntlm-auth.allow-non-fqdn", false);
  1.1392 +pref("network.automatic-ntlm-auth.trusted-uris", "");
  1.1393 +
  1.1394 +// This preference controls whether or not the LM hash will be included in
  1.1395 +// response to a NTLM challenge.  By default, this is disabled since servers
  1.1396 +// should almost never need the LM hash, and the LM hash is what makes NTLM
  1.1397 +// authentication less secure.  See bug 250691 for further details.
  1.1398 +// NOTE: automatic-ntlm-auth which leverages the OS-provided NTLM
  1.1399 +//       implementation will not be affected by this preference.
  1.1400 +pref("network.ntlm.send-lm-response", false);
  1.1401 +
  1.1402 +pref("permissions.default.image",           1); // 1-Accept, 2-Deny, 3-dontAcceptForeign
  1.1403 +
  1.1404 +pref("network.proxy.type",                  5);
  1.1405 +pref("network.proxy.ftp",                   "");
  1.1406 +pref("network.proxy.ftp_port",              0);
  1.1407 +pref("network.proxy.http",                  "");
  1.1408 +pref("network.proxy.http_port",             0);
  1.1409 +pref("network.proxy.ssl",                   "");
  1.1410 +pref("network.proxy.ssl_port",              0);
  1.1411 +pref("network.proxy.socks",                 "");
  1.1412 +pref("network.proxy.socks_port",            0);
  1.1413 +pref("network.proxy.socks_version",         5);
  1.1414 +pref("network.proxy.socks_remote_dns",      false);
  1.1415 +pref("network.proxy.no_proxies_on",         "localhost, 127.0.0.1");
  1.1416 +pref("network.proxy.failover_timeout",      1800); // 30 minutes
  1.1417 +pref("network.online",                      true); //online/offline
  1.1418 +#ifdef RELEASE_BUILD
  1.1419 +pref("network.cookie.cookieBehavior",       0); // 0-Accept, 1-dontAcceptForeign, 2-dontUse, 3-limitForeign
  1.1420 +#else
  1.1421 +pref("network.cookie.cookieBehavior",       3); // 0-Accept, 1-dontAcceptForeign, 2-dontUse, 3-limitForeign
  1.1422 +#endif
  1.1423 +#ifdef ANDROID
  1.1424 +pref("network.cookie.cookieBehavior",       0); // Keep the old default of accepting all cookies
  1.1425 +#endif
  1.1426 +#ifdef MOZ_WIDGET_GONK
  1.1427 +pref("network.cookie.cookieBehavior",       0); // Keep the old default of accepting all cookies
  1.1428 +#endif
  1.1429 +pref("network.cookie.thirdparty.sessionOnly", false);
  1.1430 +pref("network.cookie.lifetimePolicy",       0); // accept normally, 1-askBeforeAccepting, 2-acceptForSession,3-acceptForNDays
  1.1431 +pref("network.cookie.alwaysAcceptSessionCookies", false);
  1.1432 +pref("network.cookie.prefsMigrated",        false);
  1.1433 +pref("network.cookie.lifetime.days",        90);
  1.1434 +
  1.1435 +// The PAC file to load.  Ignored unless network.proxy.type is 2.
  1.1436 +pref("network.proxy.autoconfig_url", "");
  1.1437 +
  1.1438 +// If we cannot load the PAC file, then try again (doubling from interval_min
  1.1439 +// until we reach interval_max or the PAC file is successfully loaded).
  1.1440 +pref("network.proxy.autoconfig_retry_interval_min", 5);    // 5 seconds
  1.1441 +pref("network.proxy.autoconfig_retry_interval_max", 300);  // 5 minutes
  1.1442 +
  1.1443 +// Use the HSTS preload list by default
  1.1444 +pref("network.stricttransportsecurity.preloadlist", true);
  1.1445 +
  1.1446 +pref("converter.html2txt.structs",          true); // Output structured phrases (strong, em, code, sub, sup, b, i, u)
  1.1447 +pref("converter.html2txt.header_strategy",  1); // 0 = no indention; 1 = indention, increased with header level; 2 = numbering and slight indention
  1.1448 +
  1.1449 +pref("intl.accept_languages",               "chrome://global/locale/intl.properties");
  1.1450 +pref("intl.menuitems.alwaysappendaccesskeys","chrome://global/locale/intl.properties");
  1.1451 +pref("intl.menuitems.insertseparatorbeforeaccesskeys","chrome://global/locale/intl.properties");
  1.1452 +pref("intl.charsetmenu.browser.static",     "chrome://global/locale/intl.properties");
  1.1453 +pref("intl.charsetmenu.browser.more1",      "ISO-8859-1, ISO-8859-15, IBM850, macintosh, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3");
  1.1454 +pref("intl.charsetmenu.browser.more2",      "ISO-8859-4, ISO-8859-13, windows-1257, IBM852, ISO-8859-2, x-mac-ce, windows-1250, x-mac-croatian, IBM855, ISO-8859-5, ISO-IR-111, KOI8-R, x-mac-cyrillic, windows-1251, IBM866, KOI8-U, x-mac-ukrainian, ISO-8859-16, x-mac-romanian");
  1.1455 +pref("intl.charsetmenu.browser.more3",      "GB2312, gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-johab, ISO-2022-KR");
  1.1456 +pref("intl.charsetmenu.browser.more4",      "armscii-8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi");
  1.1457 +pref("intl.charsetmenu.browser.more5",      "ISO-8859-6, windows-1256, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862");
  1.1458 +pref("intl.charsetmenu.mailedit",           "chrome://global/locale/intl.properties");
  1.1459 +pref("intl.charsetmenu.browser.cache",      "");
  1.1460 +pref("intl.charsetmenu.mailview.cache",     "");
  1.1461 +pref("intl.charsetmenu.composer.cache",     "");
  1.1462 +pref("intl.charsetmenu.browser.cache.size", 5);
  1.1463 +pref("intl.charset.detector",               "chrome://global/locale/intl.properties");
  1.1464 +pref("intl.charset.fallback.override",      "");
  1.1465 +pref("intl.charset.fallback.tld",           true);
  1.1466 +pref("intl.ellipsis",                       "chrome://global-platform/locale/intl.properties");
  1.1467 +pref("intl.locale.matchOS",                 false);
  1.1468 +// fallback charset list for Unicode conversion (converting from Unicode)
  1.1469 +// currently used for mail send only to handle symbol characters (e.g Euro, trademark, smartquotes)
  1.1470 +// for ISO-8859-1
  1.1471 +pref("intl.fallbackCharsetList.ISO-8859-1", "windows-1252");
  1.1472 +pref("font.language.group",                 "chrome://global/locale/intl.properties");
  1.1473 +
  1.1474 +// these locales have right-to-left UI
  1.1475 +pref("intl.uidirection.ar", "rtl");
  1.1476 +pref("intl.uidirection.he", "rtl");
  1.1477 +pref("intl.uidirection.fa", "rtl");
  1.1478 +pref("intl.uidirection.ug", "rtl");
  1.1479 +pref("intl.uidirection.ur", "rtl");
  1.1480 +
  1.1481 +// use en-US hyphenation by default for content tagged with plain lang="en"
  1.1482 +pref("intl.hyphenation-alias.en", "en-us");
  1.1483 +// and for other subtags of en-*, if no specific patterns are available
  1.1484 +pref("intl.hyphenation-alias.en-*", "en-us");
  1.1485 +
  1.1486 +pref("intl.hyphenation-alias.af-*", "af");
  1.1487 +pref("intl.hyphenation-alias.bg-*", "bg");
  1.1488 +pref("intl.hyphenation-alias.ca-*", "ca");
  1.1489 +pref("intl.hyphenation-alias.cy-*", "cy");
  1.1490 +pref("intl.hyphenation-alias.da-*", "da");
  1.1491 +pref("intl.hyphenation-alias.eo-*", "eo");
  1.1492 +pref("intl.hyphenation-alias.es-*", "es");
  1.1493 +pref("intl.hyphenation-alias.et-*", "et");
  1.1494 +pref("intl.hyphenation-alias.fi-*", "fi");
  1.1495 +pref("intl.hyphenation-alias.fr-*", "fr");
  1.1496 +pref("intl.hyphenation-alias.gl-*", "gl");
  1.1497 +pref("intl.hyphenation-alias.hr-*", "hr");
  1.1498 +pref("intl.hyphenation-alias.hsb-*", "hsb");
  1.1499 +pref("intl.hyphenation-alias.hu-*", "hu");
  1.1500 +pref("intl.hyphenation-alias.ia-*", "ia");
  1.1501 +pref("intl.hyphenation-alias.is-*", "is");
  1.1502 +pref("intl.hyphenation-alias.it-*", "it");
  1.1503 +pref("intl.hyphenation-alias.kmr-*", "kmr");
  1.1504 +pref("intl.hyphenation-alias.la-*", "la");
  1.1505 +pref("intl.hyphenation-alias.lt-*", "lt");
  1.1506 +pref("intl.hyphenation-alias.mn-*", "mn");
  1.1507 +pref("intl.hyphenation-alias.nl-*", "nl");
  1.1508 +pref("intl.hyphenation-alias.pl-*", "pl");
  1.1509 +pref("intl.hyphenation-alias.pt-*", "pt");
  1.1510 +pref("intl.hyphenation-alias.ru-*", "ru");
  1.1511 +pref("intl.hyphenation-alias.sl-*", "sl");
  1.1512 +pref("intl.hyphenation-alias.sv-*", "sv");
  1.1513 +pref("intl.hyphenation-alias.tr-*", "tr");
  1.1514 +pref("intl.hyphenation-alias.uk-*", "uk");
  1.1515 +
  1.1516 +// use reformed (1996) German patterns by default unless specifically tagged as de-1901
  1.1517 +// (these prefs may soon be obsoleted by better BCP47-based tag matching, but for now...)
  1.1518 +pref("intl.hyphenation-alias.de", "de-1996");
  1.1519 +pref("intl.hyphenation-alias.de-*", "de-1996");
  1.1520 +pref("intl.hyphenation-alias.de-AT-1901", "de-1901");
  1.1521 +pref("intl.hyphenation-alias.de-DE-1901", "de-1901");
  1.1522 +pref("intl.hyphenation-alias.de-CH-*", "de-CH");
  1.1523 +
  1.1524 +// patterns from TeX are tagged as "sh" (Serbo-Croatian) macrolanguage;
  1.1525 +// alias "sr" (Serbian) and "bs" (Bosnian) to those patterns
  1.1526 +// (Croatian has its own separate patterns).
  1.1527 +pref("intl.hyphenation-alias.sr", "sh");
  1.1528 +pref("intl.hyphenation-alias.bs", "sh");
  1.1529 +pref("intl.hyphenation-alias.sh-*", "sh");
  1.1530 +pref("intl.hyphenation-alias.sr-*", "sh");
  1.1531 +pref("intl.hyphenation-alias.bs-*", "sh");
  1.1532 +
  1.1533 +// Norwegian has two forms, Bokmål and Nynorsk, with "no" as a macrolanguage encompassing both.
  1.1534 +// For "no", we'll alias to "nb" (Bokmål) as that is the more widely used written form.
  1.1535 +pref("intl.hyphenation-alias.no", "nb");
  1.1536 +pref("intl.hyphenation-alias.no-*", "nb");
  1.1537 +pref("intl.hyphenation-alias.nb-*", "nb");
  1.1538 +pref("intl.hyphenation-alias.nn-*", "nn");
  1.1539 +
  1.1540 +pref("font.mathfont-family", "Latin Modern Math, XITS Math, STIX Math, Cambria Math, Asana Math, TeX Gyre Bonum Math, TeX Gyre Pagella Math, TeX Gyre Termes Math, Neo Euler, Lucida Bright Math, MathJax_Main, STIXNonUnicode, STIXSizeOneSym, STIXGeneral, Standard Symbols L, DejaVu Sans");
  1.1541 +
  1.1542 +// Some CJK fonts have bad underline offset, their CJK character glyphs are overlapped (or adjoined)  to its underline.
  1.1543 +// These fonts are ignored the underline offset, instead of it, the underline is lowered to bottom of its em descent.
  1.1544 +pref("font.blacklist.underline_offset", "FangSong,Gulim,GulimChe,MingLiU,MingLiU-ExtB,MingLiU_HKSCS,MingLiU-HKSCS-ExtB,MS Gothic,MS Mincho,MS PGothic,MS PMincho,MS UI Gothic,PMingLiU,PMingLiU-ExtB,SimHei,SimSun,SimSun-ExtB,Hei,Kai,Apple LiGothic,Apple LiSung,Osaka");
  1.1545 +
  1.1546 +#ifdef MOZ_WIDGET_GONK
  1.1547 +// Whitelist of fonts that ship with B2G that do not include space lookups in
  1.1548 +// default features. This allows us to skip analyzing the GSUB/GPOS tables
  1.1549 +// unless features are explicitly enabled.
  1.1550 +// Use NSPR_LOG_MODULES=fontinit:5 to dump out details of space lookups
  1.1551 +pref("font.whitelist.skip_default_features_space_check", "Fira Sans OT,Fira Mono OT");
  1.1552 +#endif
  1.1553 +
  1.1554 +pref("images.dither", "auto");
  1.1555 +pref("security.directory",              "");
  1.1556 +
  1.1557 +pref("signed.applets.codebase_principal_support", false);
  1.1558 +pref("security.checkloaduri", true);
  1.1559 +pref("security.xpconnect.plugin.unrestricted", true);
  1.1560 +// security-sensitive dialogs should delay button enabling. In milliseconds.
  1.1561 +pref("security.dialog_enable_delay", 1000);
  1.1562 +pref("security.notification_enable_delay", 500);
  1.1563 +
  1.1564 +pref("security.csp.enable", true);
  1.1565 +pref("security.csp.debug", false);
  1.1566 +pref("security.csp.experimentalEnabled", false);
  1.1567 +
  1.1568 +// Mixed content blocking
  1.1569 +pref("security.mixed_content.block_active_content", false);
  1.1570 +pref("security.mixed_content.block_display_content", false);
  1.1571 +
  1.1572 +// Disable pinning checks by default.
  1.1573 +pref("security.cert_pinning.enforcement_level", 0);
  1.1574 +
  1.1575 +// Modifier key prefs: default to Windows settings,
  1.1576 +// menu access key = alt, accelerator key = control.
  1.1577 +// Use 17 for Ctrl, 18 for Alt, 224 for Meta, 91 for Win, 0 for none. Mac settings in macprefs.js
  1.1578 +pref("ui.key.accelKey", 17);
  1.1579 +pref("ui.key.menuAccessKey", 18);
  1.1580 +pref("ui.key.generalAccessKey", -1);
  1.1581 +
  1.1582 +// If generalAccessKey is -1, use the following two prefs instead.
  1.1583 +// Use 0 for disabled, 1 for Shift, 2 for Ctrl, 4 for Alt, 8 for Meta, 16 for Win
  1.1584 +// (values can be combined, e.g. 5 for Alt+Shift)
  1.1585 +pref("ui.key.chromeAccess", 4);
  1.1586 +pref("ui.key.contentAccess", 5);
  1.1587 +
  1.1588 +pref("ui.key.menuAccessKeyFocuses", false); // overridden below
  1.1589 +pref("ui.key.saveLink.shift", true); // true = shift, false = meta
  1.1590 +
  1.1591 +// Disable page loading activity cursor by default.
  1.1592 +pref("ui.use_activity_cursor", false);
  1.1593 +
  1.1594 +// Middle-mouse handling
  1.1595 +pref("middlemouse.paste", false);
  1.1596 +pref("middlemouse.openNewWindow", true);
  1.1597 +pref("middlemouse.contentLoadURL", false);
  1.1598 +pref("middlemouse.scrollbarPosition", false);
  1.1599 +
  1.1600 +// Clipboard behavior
  1.1601 +pref("clipboard.autocopy", false);
  1.1602 +
  1.1603 +// mouse wheel scroll transaction period of time (in milliseconds)
  1.1604 +pref("mousewheel.transaction.timeout", 1500);
  1.1605 +// mouse wheel scroll transaction is held even if the mouse cursor is moved.
  1.1606 +pref("mousewheel.transaction.ignoremovedelay", 100);
  1.1607 +
  1.1608 +// prefs for app level mouse wheel scrolling acceleration.
  1.1609 +// number of mousewheel clicks when acceleration starts
  1.1610 +// acceleration can be turned off if pref is set to -1
  1.1611 +pref("mousewheel.acceleration.start", -1);
  1.1612 +// factor to be multiplied for constant acceleration
  1.1613 +pref("mousewheel.acceleration.factor", 10);
  1.1614 +
  1.1615 +// Prefs for override the system mouse wheel scrolling speed on the root
  1.1616 +// content of the web pages.  When
  1.1617 +// "mousewheel.system_scroll_override_on_root_content.enabled" is true and the system
  1.1618 +// scrolling speed isn't customized by the user, the root content scrolling
  1.1619 +// speed is multiplied by the following factors.  The value will be used as
  1.1620 +// 1/100.  E.g., 200 means 2.00.
  1.1621 +// NOTE: Even if "mousewheel.system_scroll_override_on_root_content.enabled" is
  1.1622 +// true, when Gecko detects the user customized the system scrolling speed
  1.1623 +// settings, the override isn't executed.
  1.1624 +pref("mousewheel.system_scroll_override_on_root_content.vertical.factor", 200);
  1.1625 +pref("mousewheel.system_scroll_override_on_root_content.horizontal.factor", 200);
  1.1626 +
  1.1627 +// mousewheel.*.action can specify the action when you use mosue wheel.
  1.1628 +// When no modifier keys are pressed or two or more modifires are pressed,
  1.1629 +// .default is used.
  1.1630 +// 0: Nothing happens
  1.1631 +// 1: Scrolling contents
  1.1632 +// 2: Go back or go forward, in your history
  1.1633 +// 3: Zoom in or out.
  1.1634 +pref("mousewheel.default.action", 1);
  1.1635 +pref("mousewheel.with_alt.action", 2);
  1.1636 +pref("mousewheel.with_control.action", 3);
  1.1637 +pref("mousewheel.with_meta.action", 1);  // command key on Mac
  1.1638 +pref("mousewheel.with_shift.action", 1);
  1.1639 +pref("mousewheel.with_win.action", 1);
  1.1640 +
  1.1641 +// mousewheel.*.action.override_x will override the action
  1.1642 +// when the mouse wheel is rotated along the x direction.
  1.1643 +// -1: Don't override the action.
  1.1644 +// 0 to 3: Override the action with the specified value.
  1.1645 +pref("mousewheel.default.action.override_x", -1);
  1.1646 +pref("mousewheel.with_alt.action.override_x", -1);
  1.1647 +pref("mousewheel.with_control.action.override_x", -1);
  1.1648 +pref("mousewheel.with_meta.action.override_x", -1);  // command key on Mac
  1.1649 +pref("mousewheel.with_shift.action.override_x", -1);
  1.1650 +pref("mousewheel.with_win.action.override_x", -1);
  1.1651 +
  1.1652 +// mousewheel.*.delta_multiplier_* can specify the value muliplied by the delta
  1.1653 +// value.  The values will be used after divided by 100.  I.e., 100 means 1.0,
  1.1654 +// -100 means -1.0.  If the values were negative, the direction would be
  1.1655 +// reverted.  The absolue value must be 100 or larger.
  1.1656 +pref("mousewheel.default.delta_multiplier_x", 100);
  1.1657 +pref("mousewheel.default.delta_multiplier_y", 100);
  1.1658 +pref("mousewheel.default.delta_multiplier_z", 100);
  1.1659 +pref("mousewheel.with_alt.delta_multiplier_x", 100);
  1.1660 +pref("mousewheel.with_alt.delta_multiplier_y", 100);
  1.1661 +pref("mousewheel.with_alt.delta_multiplier_z", 100);
  1.1662 +pref("mousewheel.with_control.delta_multiplier_x", 100);
  1.1663 +pref("mousewheel.with_control.delta_multiplier_y", 100);
  1.1664 +pref("mousewheel.with_control.delta_multiplier_z", 100);
  1.1665 +pref("mousewheel.with_meta.delta_multiplier_x", 100);  // command key on Mac
  1.1666 +pref("mousewheel.with_meta.delta_multiplier_y", 100);  // command key on Mac
  1.1667 +pref("mousewheel.with_meta.delta_multiplier_z", 100);  // command key on Mac
  1.1668 +pref("mousewheel.with_shift.delta_multiplier_x", 100);
  1.1669 +pref("mousewheel.with_shift.delta_multiplier_y", 100);
  1.1670 +pref("mousewheel.with_shift.delta_multiplier_z", 100);
  1.1671 +pref("mousewheel.with_win.delta_multiplier_x", 100);
  1.1672 +pref("mousewheel.with_win.delta_multiplier_y", 100);
  1.1673 +pref("mousewheel.with_win.delta_multiplier_z", 100);
  1.1674 +
  1.1675 +// If line-height is lower than this value (in device pixels), 1 line scroll
  1.1676 +// scrolls this height.
  1.1677 +pref("mousewheel.min_line_scroll_amount", 5);
  1.1678 +
  1.1679 +// These define the smooth scroll behavior (min ms, max ms) for different triggers
  1.1680 +// Some triggers:
  1.1681 +// mouseWheel: Discrete mouse wheel events, Synaptics touchpads on windows (generate wheel events)
  1.1682 +// Lines:  Up/Down/Left/Right KB arrows
  1.1683 +// Pages:  Page up/down, Space
  1.1684 +// Scrollbars: Clicking scrollbars arrows, clicking scrollbars tracks
  1.1685 +// Note: Currently OS X trackpad and magic mouse don't use our smooth scrolling
  1.1686 +// Note: These are relevant only when "general.smoothScroll" is enabled
  1.1687 +pref("general.smoothScroll.mouseWheel.durationMinMS", 200);
  1.1688 +pref("general.smoothScroll.mouseWheel.durationMaxMS", 400);
  1.1689 +pref("general.smoothScroll.pixels.durationMinMS", 150);
  1.1690 +pref("general.smoothScroll.pixels.durationMaxMS", 150);
  1.1691 +pref("general.smoothScroll.lines.durationMinMS", 150);
  1.1692 +pref("general.smoothScroll.lines.durationMaxMS", 150);
  1.1693 +pref("general.smoothScroll.pages.durationMinMS", 150);
  1.1694 +pref("general.smoothScroll.pages.durationMaxMS", 150);
  1.1695 +pref("general.smoothScroll.scrollbars.durationMinMS", 150);
  1.1696 +pref("general.smoothScroll.scrollbars.durationMaxMS", 150);
  1.1697 +pref("general.smoothScroll.other.durationMinMS", 150);
  1.1698 +pref("general.smoothScroll.other.durationMaxMS", 150);
  1.1699 +// Enable disable smooth scrolling for different triggers (when "general.smoothScroll" is enabled)
  1.1700 +pref("general.smoothScroll.mouseWheel", true);
  1.1701 +pref("general.smoothScroll.pixels", true);
  1.1702 +pref("general.smoothScroll.lines", true);
  1.1703 +pref("general.smoothScroll.pages", true);
  1.1704 +pref("general.smoothScroll.scrollbars", true);
  1.1705 +pref("general.smoothScroll.other", true);
  1.1706 +// To connect consecutive scroll events into a continuous flow, the animation's duration
  1.1707 +// should be longer than scroll events intervals (or else the scroll will stop
  1.1708 +// before the next event arrives - we're guessing next interval by averaging recent
  1.1709 +// intervals).
  1.1710 +// This defines how longer is the duration compared to events interval (percentage)
  1.1711 +pref("general.smoothScroll.durationToIntervalRatio", 200);
  1.1712 +
  1.1713 +pref("profile.confirm_automigration",true);
  1.1714 +// profile.migration_behavior determines how the profiles root is set
  1.1715 +// 0 - use NS_APP_USER_PROFILES_ROOT_DIR
  1.1716 +// 1 - create one based on the NS4.x profile root
  1.1717 +// 2 - use, if not empty, profile.migration_directory otherwise same as 0
  1.1718 +pref("profile.migration_behavior",0);
  1.1719 +pref("profile.migration_directory", "");
  1.1720 +
  1.1721 +// the amount of time (in seconds) that must elapse
  1.1722 +// before we think your mozilla profile is defunct
  1.1723 +// and you'd benefit from re-migrating from 4.x
  1.1724 +// see bug #137886 for more details
  1.1725 +//
  1.1726 +// if -1, we never think your profile is defunct
  1.1727 +// and users will never see the remigrate UI.
  1.1728 +pref("profile.seconds_until_defunct", -1);
  1.1729 +// We can show it anytime from menus
  1.1730 +pref("profile.manage_only_at_launch", false);
  1.1731 +
  1.1732 +pref("prefs.converted-to-utf8",false);
  1.1733 +
  1.1734 +// ------------------
  1.1735 +//  Text Direction
  1.1736 +// ------------------
  1.1737 +// 1 = directionLTRBidi *
  1.1738 +// 2 = directionRTLBidi
  1.1739 +pref("bidi.direction", 1);
  1.1740 +// ------------------
  1.1741 +//  Text Type
  1.1742 +// ------------------
  1.1743 +// 1 = charsettexttypeBidi *
  1.1744 +// 2 = logicaltexttypeBidi
  1.1745 +// 3 = visualtexttypeBidi
  1.1746 +pref("bidi.texttype", 1);
  1.1747 +// ------------------
  1.1748 +//  Numeral Style
  1.1749 +// ------------------
  1.1750 +// 0 = nominalnumeralBidi *
  1.1751 +// 1 = regularcontextnumeralBidi
  1.1752 +// 2 = hindicontextnumeralBidi
  1.1753 +// 3 = arabicnumeralBidi
  1.1754 +// 4 = hindinumeralBidi
  1.1755 +// 5 = persiancontextnumeralBidi
  1.1756 +// 6 = persiannumeralBidi
  1.1757 +pref("bidi.numeral", 0);
  1.1758 +// ------------------
  1.1759 +//  Support Mode
  1.1760 +// ------------------
  1.1761 +// 1 = mozillaBidisupport *
  1.1762 +// 2 = OsBidisupport
  1.1763 +// 3 = disableBidisupport
  1.1764 +pref("bidi.support", 1);
  1.1765 +// Whether delete and backspace should immediately delete characters not
  1.1766 +// visually adjacent to the caret, or adjust the visual position of the caret
  1.1767 +// on the first keypress and delete the character on a second keypress
  1.1768 +pref("bidi.edit.delete_immediately", false);
  1.1769 +
  1.1770 +// Bidi caret movement style:
  1.1771 +// 0 = logical
  1.1772 +// 1 = visual
  1.1773 +// 2 = visual, but logical during selection
  1.1774 +pref("bidi.edit.caret_movement_style", 2);
  1.1775 +
  1.1776 +// Setting this pref to |true| forces Bidi UI menu items and keyboard shortcuts
  1.1777 +// to be exposed, and enables the directional caret hook. By default, only
  1.1778 +// expose it for bidi-associated system locales.
  1.1779 +pref("bidi.browser.ui", false);
  1.1780 +
  1.1781 +// used for double-click word selection behavior. Win will override.
  1.1782 +pref("layout.word_select.eat_space_to_next_word", false);
  1.1783 +pref("layout.word_select.stop_at_punctuation", true);
  1.1784 +
  1.1785 +// controls caret style and word-delete during text selection
  1.1786 +// 0 = use platform default
  1.1787 +// 1 = caret moves and blinks as when there is no selection; word
  1.1788 +//     delete deselects the selection and then deletes word
  1.1789 +// 2 = caret moves to selection edge and is not visible during selection;
  1.1790 +//     word delete deletes the selection (Mac and Linux default)
  1.1791 +// 3 = caret moves and blinks as when there is no selection; word delete
  1.1792 +//     deletes the selection
  1.1793 +// Windows default is 1 for word delete behavior, the rest as for 2.
  1.1794 +pref("layout.selection.caret_style", 0);
  1.1795 +
  1.1796 +// pref to force frames to be resizable
  1.1797 +pref("layout.frames.force_resizability", false);
  1.1798 +
  1.1799 +// pref to report CSS errors to the error console
  1.1800 +pref("layout.css.report_errors", true);
  1.1801 +
  1.1802 +// Should the :visited selector ever match (otherwise :link matches instead)?
  1.1803 +pref("layout.css.visited_links_enabled", true);
  1.1804 +
  1.1805 +// Override DPI. A value of -1 means use the maximum of 96 and the system DPI.
  1.1806 +// A value of 0 means use the system DPI. A positive value is used as the DPI.
  1.1807 +// This sets the physical size of a device pixel and thus controls the
  1.1808 +// interpretation of physical units such as "pt".
  1.1809 +pref("layout.css.dpi", -1);
  1.1810 +
  1.1811 +// Set the number of device pixels per CSS pixel. A value <= 0 means choose
  1.1812 +// automatically based on user settings for the platform (e.g., "UI scale factor"
  1.1813 +// on Mac). A positive value is used as-is. This effectively controls the size
  1.1814 +// of a CSS "px". This is only used for windows on the screen, not for printing.
  1.1815 +pref("layout.css.devPixelsPerPx", "-1.0");
  1.1816 +
  1.1817 +// Is support for CSS Masking features enabled?
  1.1818 +#ifdef RELEASE_BUILD
  1.1819 +pref("layout.css.masking.enabled", false);
  1.1820 +#else
  1.1821 +pref("layout.css.masking.enabled", true);
  1.1822 +#endif
  1.1823 +
  1.1824 +// Is support for mix-blend-mode enabled?
  1.1825 +pref("layout.css.mix-blend-mode.enabled", false);
  1.1826 +
  1.1827 +// Is support for the the @supports rule enabled?
  1.1828 +pref("layout.css.supports-rule.enabled", true);
  1.1829 +
  1.1830 +// Is support for CSS Filters enabled?
  1.1831 +pref("layout.css.filters.enabled", false);
  1.1832 +
  1.1833 +// Is support for CSS sticky positioning enabled?
  1.1834 +#ifdef RELEASE_BUILD
  1.1835 +pref("layout.css.sticky.enabled", false);
  1.1836 +#else
  1.1837 +pref("layout.css.sticky.enabled", true);
  1.1838 +#endif
  1.1839 +
  1.1840 +// Is support for CSS "will-change" enabled?
  1.1841 +pref("layout.css.will-change.enabled", false);
  1.1842 +
  1.1843 +// Is support for DOMPoint enabled?
  1.1844 +pref("layout.css.DOMPoint.enabled", true);
  1.1845 +
  1.1846 +// Is support for DOMQuad enabled?
  1.1847 +pref("layout.css.DOMQuad.enabled", true);
  1.1848 +
  1.1849 +// Is support for GeometryUtils.getBoxQuads enabled?
  1.1850 +#ifdef RELEASE_BUILD
  1.1851 +pref("layout.css.getBoxQuads.enabled", false);
  1.1852 +#else
  1.1853 +pref("layout.css.getBoxQuads.enabled", true);
  1.1854 +#endif
  1.1855 +
  1.1856 +// Is support for GeometryUtils.getBoxQuads enabled?
  1.1857 +#ifdef RELEASE_BUILD
  1.1858 +pref("layout.css.convertFromNode.enabled", false);
  1.1859 +#else
  1.1860 +pref("layout.css.convertFromNode.enabled", true);
  1.1861 +#endif
  1.1862 +
  1.1863 +// Is support for CSS "text-align: true X" enabled?
  1.1864 +pref("layout.css.text-align-true-value.enabled", false);
  1.1865 +
  1.1866 +// Is support for the CSS4 image-orientation property enabled?
  1.1867 +pref("layout.css.image-orientation.enabled", true);
  1.1868 +
  1.1869 +// Is support for CSS3 Fonts features enabled?
  1.1870 +// (includes font-variant-*, font-kerning, font-synthesis
  1.1871 +// and the @font-feature-values rule)
  1.1872 +// Note: with this enabled, font-feature-settings is aliased
  1.1873 +// to -moz-font-feature-settings.  When unprefixing, this should
  1.1874 +// be reversed, -moz-font-feature-settings should alias to
  1.1875 +// font-feature-settings.
  1.1876 +#ifdef RELEASE_BUILD
  1.1877 +pref("layout.css.font-features.enabled", false);
  1.1878 +#else
  1.1879 +pref("layout.css.font-features.enabled", true);
  1.1880 +#endif
  1.1881 +
  1.1882 +// Are sets of prefixed properties supported?
  1.1883 +pref("layout.css.prefixes.border-image", true);
  1.1884 +pref("layout.css.prefixes.transforms", true);
  1.1885 +pref("layout.css.prefixes.transitions", true);
  1.1886 +pref("layout.css.prefixes.animations", true);
  1.1887 +pref("layout.css.prefixes.box-sizing", true);
  1.1888 +
  1.1889 +// Is support for the :scope selector enabled?
  1.1890 +#ifdef RELEASE_BUILD
  1.1891 +pref("layout.css.scope-pseudo.enabled", false);
  1.1892 +#else
  1.1893 +pref("layout.css.scope-pseudo.enabled", true);
  1.1894 +#endif
  1.1895 +
  1.1896 +// Is support for background-blend-mode enabled?
  1.1897 +pref("layout.css.background-blend-mode.enabled", true);
  1.1898 +
  1.1899 +// Is support for CSS vertical text enabled?
  1.1900 +pref("layout.css.vertical-text.enabled", false);
  1.1901 +
  1.1902 +// Is -moz-osx-font-smoothing enabled?
  1.1903 +// Only supported in OSX builds
  1.1904 +#ifdef XP_MACOSX
  1.1905 +pref("layout.css.osx-font-smoothing.enabled", true);
  1.1906 +#else
  1.1907 +pref("layout.css.osx-font-smoothing.enabled", false);
  1.1908 +#endif
  1.1909 +
  1.1910 +// Is support for the CSS-wide "unset" value enabled?
  1.1911 +pref("layout.css.unset-value.enabled", true);
  1.1912 +
  1.1913 +// Is support for the "all" shorthand enabled?
  1.1914 +pref("layout.css.all-shorthand.enabled", true);
  1.1915 +
  1.1916 +// Is support for CSS variables enabled?
  1.1917 +pref("layout.css.variables.enabled", true);
  1.1918 +
  1.1919 +// Is support for CSS overflow-clip-box enabled for non-UA sheets?
  1.1920 +pref("layout.css.overflow-clip-box.enabled", false);
  1.1921 +
  1.1922 +// pref for which side vertical scrollbars should be on
  1.1923 +// 0 = end-side in UI direction
  1.1924 +// 1 = end-side in document/content direction
  1.1925 +// 2 = right
  1.1926 +// 3 = left
  1.1927 +pref("layout.scrollbar.side", 0);
  1.1928 +
  1.1929 +// pref to stop overlay scrollbars from fading out, for testing purposes
  1.1930 +pref("layout.testing.overlay-scrollbars.always-visible", false);
  1.1931 +
  1.1932 +// Enable/disable interruptible reflow, which allows reflows to stop
  1.1933 +// before completion (and display the partial results) when user events
  1.1934 +// are pending.
  1.1935 +pref("layout.interruptible-reflow.enabled", true);
  1.1936 +
  1.1937 +// pref to control browser frame rate, in Hz. A value <= 0 means choose
  1.1938 +// automatically based on knowledge of the platform (or 60Hz if no platform-
  1.1939 +// specific information is available).
  1.1940 +pref("layout.frame_rate", -1);
  1.1941 +
  1.1942 +// pref to control precision of the frame rate timer. When true,
  1.1943 +// we use a "precise" timer, which means each notification fires
  1.1944 +// Nms after the start of the last notification. That means if the
  1.1945 +// processing of the notification is slow, the timer can fire immediately
  1.1946 +// after we've just finished processing the last notification, which might
  1.1947 +// lead to starvation problems.
  1.1948 +// When false, we use a "slack" timer which fires Nms after the *end*
  1.1949 +// of the last notification. This can give less tight frame rates
  1.1950 +// but provides more time for other operations when the browser is
  1.1951 +// heavily loaded.
  1.1952 +pref("layout.frame_rate.precise", false);
  1.1953 +
  1.1954 +// pref to permit users to make verified SOAP calls by default
  1.1955 +pref("capability.policy.default.SOAPCall.invokeVerifySourceHeader", "allAccess");
  1.1956 +
  1.1957 +// if true, allow plug-ins to override internal imglib decoder mime types in full-page mode
  1.1958 +pref("plugin.override_internal_types", false);
  1.1959 +
  1.1960 +// See bug 136985.  Gives embedders a pref to hook into to show
  1.1961 +// a popup blocker if they choose.
  1.1962 +pref("browser.popups.showPopupBlocker", true);
  1.1963 +
  1.1964 +// Pref to control whether the viewmanager code does double-buffering or not
  1.1965 +// See http://bugzilla.mozilla.org/show_bug.cgi?id=169483 for further details...
  1.1966 +pref("viewmanager.do_doublebuffering", true);
  1.1967 +
  1.1968 +// enable single finger gesture input (win7+ tablets)
  1.1969 +pref("gestures.enable_single_finger_input", true);
  1.1970 +
  1.1971 +pref("editor.resizing.preserve_ratio",       true);
  1.1972 +pref("editor.positioning.offset",            0);
  1.1973 +
  1.1974 +pref("dom.use_watchdog", true);
  1.1975 +pref("dom.max_chrome_script_run_time", 20);
  1.1976 +pref("dom.max_script_run_time", 10);
  1.1977 +
  1.1978 +// If true, ArchiveReader will be enabled
  1.1979 +pref("dom.archivereader.enabled", false);
  1.1980 +
  1.1981 +// Hang monitor timeout after which we kill the browser, in seconds
  1.1982 +// (0 is disabled)
  1.1983 +// Disabled on all platforms per bug 705748 until the found issues are
  1.1984 +// resolved.
  1.1985 +pref("hangmonitor.timeout", 0);
  1.1986 +
  1.1987 +pref("plugins.load_appdir_plugins", false);
  1.1988 +// If true, plugins will be click to play
  1.1989 +pref("plugins.click_to_play", false);
  1.1990 +
  1.1991 +// A comma-delimited list of plugin name prefixes matching plugins that will be
  1.1992 +// exposed when enumerating navigator.plugins[]. For example, prefix "Shockwave"
  1.1993 +// matches both Adobe Flash Player ("Shockwave Flash") and Adobe Shockwave
  1.1994 +// Player ("Shockwave for Director"). To hide all plugins from enumeration, use
  1.1995 +// the empty string "" to match no plugin names. To allow all plugins to be
  1.1996 +// enumerated, use the string "*" to match all plugin names.
  1.1997 +pref("plugins.enumerable_names", "*");
  1.1998 +
  1.1999 +// The default value for nsIPluginTag.enabledState (STATE_ENABLED = 2)
  1.2000 +pref("plugin.default.state", 2);
  1.2001 +
  1.2002 +// The MIME type that should bind to legacy java-specific invocations like
  1.2003 +// <applet> and <object data="java:foo">. Setting this to a non-java MIME type
  1.2004 +// is undefined behavior.
  1.2005 +pref("plugin.java.mime", "application/x-java-vm");
  1.2006 +
  1.2007 +// How long in minutes we will allow a plugin to work after the user has chosen
  1.2008 +// to allow it "now"
  1.2009 +pref("plugin.sessionPermissionNow.intervalInMinutes", 60);
  1.2010 +// How long in days we will allow a plugin to work after the user has chosen
  1.2011 +// to allow it persistently.
  1.2012 +pref("plugin.persistentPermissionAlways.intervalInDays", 90);
  1.2013 +
  1.2014 +#ifndef DEBUG
  1.2015 +// How long a plugin is allowed to process a synchronous IPC message
  1.2016 +// before we consider it "hung".
  1.2017 +pref("dom.ipc.plugins.timeoutSecs", 45);
  1.2018 +// How long a plugin process will wait for a response from the parent
  1.2019 +// to a synchronous request before terminating itself. After this
  1.2020 +// point the child assumes the parent is hung. Currently disabled.
  1.2021 +pref("dom.ipc.plugins.parentTimeoutSecs", 0);
  1.2022 +// How long a plugin launch is allowed to take before
  1.2023 +// we consider it failed.
  1.2024 +pref("dom.ipc.plugins.processLaunchTimeoutSecs", 45);
  1.2025 +#ifdef XP_WIN
  1.2026 +// How long a plugin is allowed to process a synchronous IPC message
  1.2027 +// before we display the plugin hang UI
  1.2028 +pref("dom.ipc.plugins.hangUITimeoutSecs", 11);
  1.2029 +// Minimum time that the plugin hang UI will be displayed
  1.2030 +pref("dom.ipc.plugins.hangUIMinDisplaySecs", 10);
  1.2031 +#endif
  1.2032 +// How long a content process can take before closing its IPC channel
  1.2033 +// after shutdown is initiated.  If the process exceeds the timeout,
  1.2034 +// we fear the worst and kill it.
  1.2035 +pref("dom.ipc.tabs.shutdownTimeoutSecs", 5);
  1.2036 +#else
  1.2037 +// No timeout in DEBUG builds
  1.2038 +pref("dom.ipc.plugins.timeoutSecs", 0);
  1.2039 +pref("dom.ipc.plugins.processLaunchTimeoutSecs", 0);
  1.2040 +pref("dom.ipc.plugins.parentTimeoutSecs", 0);
  1.2041 +#ifdef XP_WIN
  1.2042 +pref("dom.ipc.plugins.hangUITimeoutSecs", 0);
  1.2043 +pref("dom.ipc.plugins.hangUIMinDisplaySecs", 0);
  1.2044 +#endif
  1.2045 +pref("dom.ipc.tabs.shutdownTimeoutSecs", 0);
  1.2046 +#endif
  1.2047 +
  1.2048 +#ifdef XP_WIN
  1.2049 +// Disable oopp for java on windows. They run their own
  1.2050 +// process isolation which conflicts with our implementation.
  1.2051 +pref("dom.ipc.plugins.java.enabled", false);
  1.2052 +#endif
  1.2053 +
  1.2054 +pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", true);
  1.2055 +pref("dom.ipc.plugins.reportCrashURL", true);
  1.2056 +
  1.2057 +pref("dom.ipc.processCount", 1);
  1.2058 +
  1.2059 +// Enable the use of display-lists for SVG hit-testing and painting.
  1.2060 +pref("svg.display-lists.hit-testing.enabled", true);
  1.2061 +pref("svg.display-lists.painting.enabled", true);
  1.2062 +
  1.2063 +// Is support for the SVG 2 paint-order property enabled?
  1.2064 +pref("svg.paint-order.enabled", true);
  1.2065 +
  1.2066 +// Is support for the new marker features from SVG 2 enabled?  Currently
  1.2067 +// this just includes <marker orient="auto-start-reverse">.
  1.2068 +#ifdef RELEASE_BUILD
  1.2069 +pref("svg.marker-improvements.enabled", false);
  1.2070 +#else
  1.2071 +pref("svg.marker-improvements.enabled", true);
  1.2072 +#endif
  1.2073 +
  1.2074 +pref("font.minimum-size.ar", 0);
  1.2075 +pref("font.minimum-size.x-armn", 0);
  1.2076 +pref("font.minimum-size.x-beng", 0);
  1.2077 +pref("font.minimum-size.x-baltic", 0);
  1.2078 +pref("font.minimum-size.x-central-euro", 0);
  1.2079 +pref("font.minimum-size.zh-CN", 0);
  1.2080 +pref("font.minimum-size.zh-HK", 0);
  1.2081 +pref("font.minimum-size.zh-TW", 0);
  1.2082 +pref("font.minimum-size.x-cyrillic", 0);
  1.2083 +pref("font.minimum-size.x-devanagari", 0);
  1.2084 +pref("font.minimum-size.x-ethi", 0);
  1.2085 +pref("font.minimum-size.x-geor", 0);
  1.2086 +pref("font.minimum-size.el", 0);
  1.2087 +pref("font.minimum-size.x-gujr", 0);
  1.2088 +pref("font.minimum-size.x-guru", 0);
  1.2089 +pref("font.minimum-size.he", 0);
  1.2090 +pref("font.minimum-size.ja", 0);
  1.2091 +pref("font.minimum-size.x-knda", 0);
  1.2092 +pref("font.minimum-size.x-khmr", 0);
  1.2093 +pref("font.minimum-size.ko", 0);
  1.2094 +pref("font.minimum-size.x-mlym", 0);
  1.2095 +pref("font.minimum-size.x-orya", 0);
  1.2096 +pref("font.minimum-size.x-sinh", 0);
  1.2097 +pref("font.minimum-size.x-tamil", 0);
  1.2098 +pref("font.minimum-size.x-telu", 0);
  1.2099 +pref("font.minimum-size.x-tibt", 0);
  1.2100 +pref("font.minimum-size.th", 0);
  1.2101 +pref("font.minimum-size.tr", 0);
  1.2102 +pref("font.minimum-size.x-cans", 0);
  1.2103 +pref("font.minimum-size.x-western", 0);
  1.2104 +pref("font.minimum-size.x-unicode", 0);
  1.2105 +
  1.2106 +/*
  1.2107 + * A value greater than zero enables font size inflation for
  1.2108 + * pan-and-zoom UIs, so that the fonts in a block are at least the size
  1.2109 + * that, if a block's width is scaled to match the device's width, the
  1.2110 + * fonts in the block are big enough that at most the pref value ems of
  1.2111 + * text fit in *the width of the device*.
  1.2112 + *
  1.2113 + * When both this pref and the next are set, the larger inflation is
  1.2114 + * used.
  1.2115 + */
  1.2116 +pref("font.size.inflation.emPerLine", 0);
  1.2117 +/*
  1.2118 + * A value greater than zero enables font size inflation for
  1.2119 + * pan-and-zoom UIs, so that if a block's width is scaled to match the
  1.2120 + * device's width, the fonts in a block are at least the font size
  1.2121 + * given.  The value given is in twips, i.e., 1/20 of a point, or 1/1440
  1.2122 + * of an inch.
  1.2123 + *
  1.2124 + * When both this pref and the previous are set, the larger inflation is
  1.2125 + * used.
  1.2126 + */
  1.2127 +pref("font.size.inflation.minTwips", 0);
  1.2128 +/*
  1.2129 + * In products with multi-mode pan-and-zoom and non-pan-and-zoom UIs,
  1.2130 + * this pref forces font inflation to always be enabled in all modes.
  1.2131 + * That is, any heuristics used to detect pan-and-zoom
  1.2132 + * vs. non-pan-and-zoom modes are disabled and all content is treated
  1.2133 + * as pan-and-zoom mode wrt font inflation.
  1.2134 + *
  1.2135 + * This pref has no effect if font inflation is not enabled through
  1.2136 + * either of the prefs above.  It has no meaning in single-mode UIs.
  1.2137 + */
  1.2138 +pref("font.size.inflation.forceEnabled", false);
  1.2139 +/*
  1.2140 + * In products with multi-mode pan-and-zoom and non-pan-and-zoom UIs,
  1.2141 + * this pref disables font inflation in master-process contexts where
  1.2142 + * existing heuristics can't be used determine enabled-ness.
  1.2143 + *
  1.2144 + * This pref has no effect if font inflation is not enabled through
  1.2145 + * either of the prefs above.  The "forceEnabled" pref above overrides
  1.2146 + * this pref.
  1.2147 + */
  1.2148 +pref("font.size.inflation.disabledInMasterProcess", false);
  1.2149 +/*
  1.2150 + * Since the goal of font size inflation is to avoid having to
  1.2151 + * repeatedly scroll side to side to read a block of text, and there are
  1.2152 + * a number of page layouts where a relatively small chunk of text is
  1.2153 + * better of not being inflated according to the same algorithm we use
  1.2154 + * for larger chunks of text, we want a threshold for an amount of text
  1.2155 + * that triggers font size inflation.  This preference controls that
  1.2156 + * threshold.
  1.2157 + *
  1.2158 + * It controls the threshold used within an *approximation* of the
  1.2159 + * number of lines of text we use.  In particular, if we assume that
  1.2160 + * each character (collapsing collapsible whitespace) has a width the
  1.2161 + * same as the em-size of the font (when, normally, it's actually quite
  1.2162 + * a bit smaller on average), this preference gives the percentage of a
  1.2163 + * number of lines of text we'd need to trigger inflation.  This means
  1.2164 + * that a percentage of 100 means that we'd need a number of characters
  1.2165 + * (we know the font size and the width) equivalent to one line of
  1.2166 + * square text (which is actually a lot less than a real line of text).
  1.2167 + *
  1.2168 + * A value of 0 means there's no character length threshold.
  1.2169 + */
  1.2170 +pref("font.size.inflation.lineThreshold", 400);
  1.2171 +
  1.2172 +/*
  1.2173 + * Defines the font size inflation mapping intercept parameter.
  1.2174 + *
  1.2175 + * Font size inflation computes a minimum font size, m, based on
  1.2176 + * other preferences (see font.size.inflation.minTwips and
  1.2177 + * font.size.inflation.emPerLine, above) and the width of the
  1.2178 + * frame in which the text resides. Using this minimum, a specified
  1.2179 + * font size, s, is mapped to an inflated font size, i, using an
  1.2180 + * equation that varies depending on the value of the font size
  1.2181 + * inflation mapping intercept parameter, P:
  1.2182 + *
  1.2183 + * If the intercept parameter is negative, then the following mapping
  1.2184 + * function is used:
  1.2185 + *
  1.2186 + * i = m + s
  1.2187 + *
  1.2188 + * If the intercept parameter is non-negative, then the mapping function
  1.2189 + * is a function such that its graph meets the graph of i = s at the
  1.2190 + * point where both i and s are (1 + P/2) * m for values of s that are
  1.2191 + * large enough. This means that when s=0, i is always equal to m.
  1.2192 + */
  1.2193 +pref("font.size.inflation.mappingIntercept", 1);
  1.2194 +
  1.2195 +
  1.2196 +/*
  1.2197 + * This controls the percentage that fonts will be inflated, if font
  1.2198 + * size inflation is enabled. Essentially, if we have a specified font
  1.2199 + * size, s, and an inflated font size, i, this specifies that the ratio
  1.2200 + * i/s * 100 should never exceed the value of this preference.
  1.2201 + *
  1.2202 + * In order for this preference to have any effect, its value must be
  1.2203 + * greater than 100, since font inflation can never decrease the ratio
  1.2204 + * i/s.
  1.2205 + */
  1.2206 +pref("font.size.inflation.maxRatio", 0);
  1.2207 +
  1.2208 +/*
  1.2209 + * When enabled, the touch.radius and mouse.radius prefs allow events to be dispatched
  1.2210 + * to nearby elements that are sensitive to the event. See PositionedEventTargeting.cpp.
  1.2211 + * The 'mm' prefs define a rectangle around the nominal event target point within which
  1.2212 + * we will search for suitable elements. 'visitedWeight' is a percentage weight;
  1.2213 + * a value > 100 makes a visited link be treated as further away from the event target
  1.2214 + * than it really is, while a value < 100 makes a visited link be treated as closer
  1.2215 + * to the event target than it really is.
  1.2216 + */
  1.2217 +pref("ui.touch.radius.enabled", false);
  1.2218 +pref("ui.touch.radius.leftmm", 8);
  1.2219 +pref("ui.touch.radius.topmm", 12);
  1.2220 +pref("ui.touch.radius.rightmm", 8);
  1.2221 +pref("ui.touch.radius.bottommm", 4);
  1.2222 +pref("ui.touch.radius.visitedWeight", 120);
  1.2223 +
  1.2224 +pref("ui.mouse.radius.enabled", false);
  1.2225 +pref("ui.mouse.radius.leftmm", 8);
  1.2226 +pref("ui.mouse.radius.topmm", 12);
  1.2227 +pref("ui.mouse.radius.rightmm", 8);
  1.2228 +pref("ui.mouse.radius.bottommm", 4);
  1.2229 +pref("ui.mouse.radius.visitedWeight", 120);
  1.2230 +
  1.2231 +// When true, the ui.mouse.radius.* prefs will only affect simulated mouse events generated by touch input.
  1.2232 +// When false, the prefs will be used for all mouse events.
  1.2233 +pref("ui.mouse.radius.inputSource.touchOnly", true);
  1.2234 +
  1.2235 +#ifdef XP_WIN
  1.2236 +
  1.2237 +pref("font.name.serif.ar", "Times New Roman");
  1.2238 +pref("font.name.sans-serif.ar", "Arial");
  1.2239 +pref("font.name.monospace.ar", "Courier New");
  1.2240 +pref("font.name.cursive.ar", "Comic Sans MS");
  1.2241 +
  1.2242 +pref("font.name.serif.el", "Times New Roman");
  1.2243 +pref("font.name.sans-serif.el", "Arial");
  1.2244 +pref("font.name.monospace.el", "Courier New");
  1.2245 +pref("font.name.cursive.el", "Comic Sans MS");
  1.2246 +
  1.2247 +pref("font.name.serif.he", "Narkisim");
  1.2248 +pref("font.name.sans-serif.he", "Arial");
  1.2249 +pref("font.name.monospace.he", "Fixed Miriam Transparent");
  1.2250 +pref("font.name.cursive.he", "Guttman Yad");
  1.2251 +pref("font.name-list.serif.he", "Narkisim, David");
  1.2252 +pref("font.name-list.monospace.he", "Fixed Miriam Transparent, Miriam Fixed, Rod, Courier New");
  1.2253 +pref("font.name-list.cursive.he", "Guttman Yad, Ktav, Arial");
  1.2254 +
  1.2255 +pref("font.name.serif.ja", "MS PMincho");
  1.2256 +pref("font.name.sans-serif.ja", "MS PGothic");
  1.2257 +pref("font.name.monospace.ja", "MS Gothic");
  1.2258 +pref("font.name-list.serif.ja", "MS PMincho, MS Mincho, MS PGothic, MS Gothic,Meiryo");
  1.2259 +pref("font.name-list.sans-serif.ja", "MS PGothic, MS Gothic, MS PMincho, MS Mincho,Meiryo");
  1.2260 +pref("font.name-list.monospace.ja", "MS Gothic, MS Mincho, MS PGothic, MS PMincho,Meiryo");
  1.2261 +
  1.2262 +pref("font.name.serif.ko", "Batang");
  1.2263 +pref("font.name.sans-serif.ko", "Gulim");
  1.2264 +pref("font.name.monospace.ko", "GulimChe");
  1.2265 +pref("font.name.cursive.ko", "Gungsuh");
  1.2266 +
  1.2267 +pref("font.name-list.serif.ko", "Batang, Gulim");
  1.2268 +pref("font.name-list.sans-serif.ko", "Gulim");
  1.2269 +pref("font.name-list.monospace.ko", "GulimChe");
  1.2270 +pref("font.name-list.cursive.ko", "Gungsuh");
  1.2271 +
  1.2272 +pref("font.name.serif.th", "Tahoma");
  1.2273 +pref("font.name.sans-serif.th", "Tahoma");
  1.2274 +pref("font.name.monospace.th", "Tahoma");
  1.2275 +pref("font.name.cursive.th", "Tahoma");
  1.2276 +
  1.2277 +pref("font.name.serif.tr", "Times New Roman");
  1.2278 +pref("font.name.sans-serif.tr", "Arial");
  1.2279 +pref("font.name.monospace.tr", "Courier New");
  1.2280 +pref("font.name.cursive.tr", "Comic Sans MS");
  1.2281 +
  1.2282 +pref("font.name.serif.x-baltic", "Times New Roman");
  1.2283 +pref("font.name.sans-serif.x-baltic", "Arial");
  1.2284 +pref("font.name.monospace.x-baltic", "Courier New");
  1.2285 +pref("font.name.cursive.x-baltic", "Comic Sans MS");
  1.2286 +
  1.2287 +pref("font.name.serif.x-central-euro", "Times New Roman");
  1.2288 +pref("font.name.sans-serif.x-central-euro", "Arial");
  1.2289 +pref("font.name.monospace.x-central-euro", "Courier New");
  1.2290 +pref("font.name.cursive.x-central-euro", "Comic Sans MS");
  1.2291 +
  1.2292 +pref("font.name.serif.x-cyrillic", "Times New Roman");
  1.2293 +pref("font.name.sans-serif.x-cyrillic", "Arial");
  1.2294 +pref("font.name.monospace.x-cyrillic", "Courier New");
  1.2295 +pref("font.name.cursive.x-cyrillic", "Comic Sans MS");
  1.2296 +
  1.2297 +pref("font.name.serif.x-unicode", "Times New Roman");
  1.2298 +pref("font.name.sans-serif.x-unicode", "Arial");
  1.2299 +pref("font.name.monospace.x-unicode", "Courier New");
  1.2300 +pref("font.name.cursive.x-unicode", "Comic Sans MS");
  1.2301 +
  1.2302 +pref("font.name.serif.x-western", "Times New Roman");
  1.2303 +pref("font.name.sans-serif.x-western", "Arial");
  1.2304 +pref("font.name.monospace.x-western", "Courier New");
  1.2305 +pref("font.name.cursive.x-western", "Comic Sans MS");
  1.2306 +
  1.2307 +pref("font.name.serif.zh-CN", "SimSun");
  1.2308 +pref("font.name.sans-serif.zh-CN", "SimSun");
  1.2309 +pref("font.name.monospace.zh-CN", "SimSun");
  1.2310 +pref("font.name-list.serif.zh-CN", "MS Song, SimSun, SimSun-ExtB");
  1.2311 +pref("font.name-list.sans-serif.zh-CN", "MS Song, SimSun, SimSun-ExtB");
  1.2312 +pref("font.name-list.monospace.zh-CN", "MS Song, SimSun, SimSun-ExtB");
  1.2313 +
  1.2314 +// Per Taiwanese users' demand. They don't want to use TC fonts for
  1.2315 +// rendering Latin letters. (bug 88579)
  1.2316 +pref("font.name.serif.zh-TW", "Times New Roman");
  1.2317 +pref("font.name.sans-serif.zh-TW", "Arial");
  1.2318 +pref("font.name.monospace.zh-TW", "MingLiU");
  1.2319 +pref("font.name-list.serif.zh-TW", "PMingLiu, MingLiU, MingLiU-ExtB");
  1.2320 +pref("font.name-list.sans-serif.zh-TW", "PMingLiU, MingLiU, MingLiU-ExtB");
  1.2321 +pref("font.name-list.monospace.zh-TW", "MingLiU, MingLiU-ExtB");
  1.2322 +
  1.2323 +// hkscsm3u.ttf (HKSCS-2001) :  http://www.microsoft.com/hk/hkscs
  1.2324 +// Hong Kong users have the same demand about glyphs for Latin letters (bug 88579)
  1.2325 +pref("font.name.serif.zh-HK", "Times New Roman");
  1.2326 +pref("font.name.sans-serif.zh-HK", "Arial");
  1.2327 +pref("font.name.monospace.zh-HK", "MingLiu_HKSCS");
  1.2328 +pref("font.name-list.serif.zh-HK", "MingLiu_HKSCS, Ming(for ISO10646), MingLiU, MingLiU_HKSCS-ExtB");
  1.2329 +pref("font.name-list.sans-serif.zh-HK", "MingLiU_HKSCS, Ming(for ISO10646), MingLiU, MingLiU_HKSCS-ExtB");
  1.2330 +pref("font.name-list.monospace.zh-HK", "MingLiU_HKSCS, Ming(for ISO10646), MingLiU, MingLiU_HKSCS-ExtB");
  1.2331 +
  1.2332 +pref("font.name.serif.x-devanagari", "Kokila");
  1.2333 +pref("font.name.sans-serif.x-devanagari", "Nirmala UI");
  1.2334 +pref("font.name.monospace.x-devanagari", "Mangal");
  1.2335 +pref("font.name-list.serif.x-devanagari", "Kokila, Raghindi");
  1.2336 +pref("font.name-list.sans-serif.x-devanagari", "Nirmala UI, Mangal");
  1.2337 +pref("font.name-list.monospace.x-devanagari", "Mangal, Nirmala UI");
  1.2338 +
  1.2339 +pref("font.name.serif.x-tamil", "Latha");
  1.2340 +pref("font.name.sans-serif.x-tamil", "Code2000");
  1.2341 +pref("font.name.monospace.x-tamil", "Latha");
  1.2342 +pref("font.name-list.serif.x-tamil", "Latha, Code2000");
  1.2343 +pref("font.name-list.monospace.x-tamil", "Latha, Code2000");
  1.2344 +
  1.2345 +# http://www.alanwood.net/unicode/fonts.html
  1.2346 +
  1.2347 +pref("font.name.serif.x-armn", "Sylfaen");
  1.2348 +pref("font.name.sans-serif.x-armn", "Arial AMU");
  1.2349 +pref("font.name.monospace.x-armn", "Arial AMU");
  1.2350 +pref("font.name-list.serif.x-armn", "Sylfaen,Arial Unicode MS, Code2000");
  1.2351 +pref("font.name-list.monospace.x-armn", "Arial AMU, Arial Unicode MS, Code2000");
  1.2352 +
  1.2353 +pref("font.name.serif.x-beng", "Vrinda");
  1.2354 +pref("font.name.sans-serif.x-beng", "Vrinda");
  1.2355 +pref("font.name.monospace.x-beng", "Mitra Mono");
  1.2356 +pref("font.name-list.serif.x-beng", "Vrinda, Akaash, Likhan, Ekushey Punarbhaba, Code2000, Arial Unicode MS");
  1.2357 +pref("font.name-list.sans-serif.x-beng", "Vrinda, Akaash, Likhan, Ekushey Punarbhaba, Code2000, Arial Unicode MS");
  1.2358 +pref("font.name-list.monospace.x-beng", "Likhan, Mukti Narrow, Code2000, Arial Unicode MS");
  1.2359 +
  1.2360 +pref("font.name.serif.x-cans", "Aboriginal Serif");
  1.2361 +pref("font.name.sans-serif.x-cans", "Aboriginal Sans");
  1.2362 +pref("font.name.monospace.x-cans", "Aboriginal Sans");
  1.2363 +pref("font.name-list.serif.x-cans", "Aboriginal Serif, BJCree Uni");
  1.2364 +pref("font.name-list.monospace.x-cans", "Aboriginal Sans, OskiDakelh, Pigiarniq, Uqammaq");
  1.2365 +
  1.2366 +pref("font.name.serif.x-ethi", "Visual Geez Unicode");
  1.2367 +pref("font.name.sans-serif.x-ethi", "GF Zemen Unicode");
  1.2368 +pref("font.name.cursive.x-ethi", "Visual Geez Unicode Title");
  1.2369 +pref("font.name.monospace.x-ethi", "Ethiopia Jiret");
  1.2370 +pref("font.name-list.serif.x-ethi", "Visual Geez Unicode, Visual Geez Unicode Agazian, Code2000");
  1.2371 +pref("font.name-list.monospace.x-ethi", "Ethiopia Jiret, Code2000");
  1.2372 +
  1.2373 +pref("font.name.serif.x-geor", "Sylfaen");
  1.2374 +pref("font.name.sans-serif.x-geor", "BPG Classic 99U");
  1.2375 +pref("font.name.monospace.x-geor", "Code2000");
  1.2376 +pref("font.name-list.serif.x-geor", "Sylfaen, BPG Paata Khutsuri U, TITUS Cyberbit Basic");
  1.2377 +pref("font.name-list.monospace.x-geor", "BPG Classic 99U, Code2000, Arial Unicode MS");
  1.2378 +
  1.2379 +pref("font.name.serif.x-gujr", "Shruti");
  1.2380 +pref("font.name.sans-serif.x-gujr", "Shruti");
  1.2381 +pref("font.name.monospace.x-gujr", "Code2000");
  1.2382 +pref("font.name-list.serif.x-gujr", "Shruti, Code2000, Arial Unicode MS");
  1.2383 +pref("font.name-list.monospace.x-gujr", "Code2000, Shruti, Arial Unicode MS");
  1.2384 +
  1.2385 +pref("font.name.serif.x-guru", "Raavi");
  1.2386 +pref("font.name.sans-serif.x-guru", "Code2000");
  1.2387 +pref("font.name.monospace.x-guru", "Code2000");
  1.2388 +pref("font.name-list.serif.x-guru", "Raavi, Saab, Code2000, Arial Unicode MS");
  1.2389 +pref("font.name-list.monospace.x-guru", "Code2000, Raavi, Saab, Arial Unicode MS");
  1.2390 +
  1.2391 +pref("font.name.serif.x-khmr", "PhnomPenh OT");
  1.2392 +pref("font.name.sans-serif.x-khmr", "Khmer OS");
  1.2393 +pref("font.name.monospace.x-khmr", "Code2000");
  1.2394 +pref("font.name-list.serif.x-khmr", "PhnomPenh OT,.Mondulkiri U GR 1.5, Khmer OS");
  1.2395 +pref("font.name-list.monospace.x-khmr", "Code2000, Khmer OS, Khmer OS System");
  1.2396 +
  1.2397 +pref("font.name.serif.x-mlym", "Rachana_w01");
  1.2398 +pref("font.name.sans-serif.x-mlym", "Rachana_w01");
  1.2399 +pref("font.name.monospace.x-mlym", "Rachana_w01");
  1.2400 +pref("font.name-list.serif.x-mlym", "AnjaliOldLipi, Kartika, ThoolikaUnicode, Code2000, Arial Unicode MS");
  1.2401 +pref("font.name-list.sans-serif.x-mlym", "AnjaliOldLipi, Kartika, ThoolikaUnicode, Code2000, Arial Unicode MS");
  1.2402 +pref("font.name-list.monospace.x-mlym", "AnjaliOldLipi, Kartika, ThoolikaUnicode, Code2000, Arial Unicode MS");
  1.2403 +
  1.2404 +pref("font.name.serif.x-orya", "ori1Uni");
  1.2405 +pref("font.name.sans-serif.x-orya", "ori1Uni");
  1.2406 +pref("font.name.monospace.x-orya", "ori1Uni");
  1.2407 +pref("font.name-list.serif.x-orya", "Kalinga, ori1Uni, Code2000, Arial Unicode MS");
  1.2408 +pref("font.name-list.sans-serif.x-orya", "Kalinga, ori1Uni, Code2000, Arial Unicode MS");
  1.2409 +pref("font.name-list.monospace.x-orya", "Kalinga, ori1Uni, Code2000, Arial Unicode MS");
  1.2410 +
  1.2411 +pref("font.name.serif.x-telu", "Gautami");
  1.2412 +pref("font.name.sans-serif.x-telu", "Gautami");
  1.2413 +pref("font.name.monospace.x-telu", "Gautami");
  1.2414 +pref("font.name-list.serif.x-telu", "Gautami, Akshar Unicode, Code2000, Arial Unicode MS");
  1.2415 +pref("font.name-list.sans-serif.x-telu", "Gautami, Akshar Unicode, Code2000, Arial Unicode MS");
  1.2416 +pref("font.name-list.monospace.x-telu", "Gautami, Akshar Unicode, Code2000, Arial Unicode MS");
  1.2417 +
  1.2418 +pref("font.name.serif.x-knda", "Tunga");
  1.2419 +pref("font.name.sans-serif.x-knda", "Tunga");
  1.2420 +pref("font.name.monospace.x-knda", "Tunga");
  1.2421 +pref("font.name-list.serif.x-knda", "Tunga, AksharUnicode, Code2000, Arial Unicode MS");
  1.2422 +pref("font.name-list.sans-serif.x-knda", "Tunga, AksharUnicode, Code2000, Arial Unicode MS");
  1.2423 +pref("font.name-list.monospace.x-knda", "Tunga, AksharUnicode, Code2000, Arial Unicode MS");
  1.2424 +
  1.2425 +pref("font.name.serif.x-sinh", "Iskoola Pota");
  1.2426 +pref("font.name.sans-serif.x-sinh", "Iskoola Pota");
  1.2427 +pref("font.name.monospace.x-sinh", "Iskoola Pota");
  1.2428 +pref("font.name-list.serif.x-sinh", "Iskoola Pota, AksharUnicode");
  1.2429 +pref("font.name-list.sans-serif.x-sinh", "Iskoola Pota, AksharUnicode");
  1.2430 +pref("font.name-list.monospace.x-sinh", "Iskoola Pota, AksharUnicode");
  1.2431 +
  1.2432 +pref("font.name.serif.x-tibt", "Tibetan Machine Uni");
  1.2433 +pref("font.name.sans-serif.x-tibt", "Tibetan Machine Uni");
  1.2434 +pref("font.name.monospace.x-tibt", "Tibetan Machine Uni");
  1.2435 +pref("font.name-list.serif.x-tibt", "Tibetan Machine Uni, Jomolhari, Microsoft Himalaya");
  1.2436 +pref("font.name-list.sans-serif.x-tibt", "Tibetan Machine Uni, Jomolhari, Microsoft Himalaya");
  1.2437 +pref("font.name-list.monospace.x-tibt", "Tibetan Machine Uni, Jomolhari, Microsoft Himalaya");
  1.2438 +
  1.2439 +pref("font.default.ar", "sans-serif");
  1.2440 +pref("font.size.variable.ar", 16);
  1.2441 +pref("font.size.fixed.ar", 13);
  1.2442 +
  1.2443 +pref("font.default.el", "serif");
  1.2444 +pref("font.size.variable.el", 16);
  1.2445 +pref("font.size.fixed.el", 13);
  1.2446 +
  1.2447 +pref("font.default.he", "sans-serif");
  1.2448 +pref("font.size.variable.he", 16);
  1.2449 +pref("font.size.fixed.he", 13);
  1.2450 +
  1.2451 +pref("font.default.ja", "sans-serif");
  1.2452 +pref("font.size.variable.ja", 16);
  1.2453 +pref("font.size.fixed.ja", 16);
  1.2454 +
  1.2455 +pref("font.default.ko", "sans-serif");
  1.2456 +pref("font.size.variable.ko", 16);
  1.2457 +pref("font.size.fixed.ko", 16);
  1.2458 +
  1.2459 +pref("font.default.th", "serif");
  1.2460 +pref("font.size.variable.th", 16);
  1.2461 +pref("font.size.fixed.th", 13);
  1.2462 +pref("font.minimum-size.th", 10);
  1.2463 +
  1.2464 +pref("font.default.tr", "serif");
  1.2465 +pref("font.size.variable.tr", 16);
  1.2466 +pref("font.size.fixed.tr", 13);
  1.2467 +
  1.2468 +pref("font.default.x-baltic", "serif");
  1.2469 +pref("font.size.variable.x-baltic", 16);
  1.2470 +pref("font.size.fixed.x-baltic", 13);
  1.2471 +
  1.2472 +pref("font.default.x-central-euro", "serif");
  1.2473 +pref("font.size.variable.x-central-euro", 16);
  1.2474 +pref("font.size.fixed.x-central-euro", 13);
  1.2475 +
  1.2476 +pref("font.default.x-cyrillic", "serif");
  1.2477 +pref("font.size.variable.x-cyrillic", 16);
  1.2478 +pref("font.size.fixed.x-cyrillic", 13);
  1.2479 +
  1.2480 +pref("font.default.x-devanagari", "sans-serif");
  1.2481 +pref("font.size.variable.x-devanagari", 16);
  1.2482 +pref("font.size.fixed.x-devanagari", 13);
  1.2483 +
  1.2484 +pref("font.default.x-tamil", "serif");
  1.2485 +pref("font.size.variable.x-tamil", 16);
  1.2486 +pref("font.size.fixed.x-tamil", 13);
  1.2487 +
  1.2488 +pref("font.default.x-armn", "serif");
  1.2489 +pref("font.size.variable.x-armn", 16);
  1.2490 +pref("font.size.fixed.x-armn", 13);
  1.2491 +
  1.2492 +pref("font.default.x-beng", "serif");
  1.2493 +pref("font.size.variable.x-beng", 16);
  1.2494 +pref("font.size.fixed.x-beng", 13);
  1.2495 +
  1.2496 +pref("font.default.x-cans", "serif");
  1.2497 +pref("font.size.variable.x-cans", 16);
  1.2498 +pref("font.size.fixed.x-cans", 13);
  1.2499 +
  1.2500 +pref("font.default.x-ethi", "serif");
  1.2501 +pref("font.size.variable.x-ethi", 16);
  1.2502 +pref("font.size.fixed.x-ethi", 13);
  1.2503 +
  1.2504 +pref("font.default.x-geor", "serif");
  1.2505 +pref("font.size.variable.x-geor", 16);
  1.2506 +pref("font.size.fixed.x-geor", 13);
  1.2507 +
  1.2508 +pref("font.default.x-gujr", "serif");
  1.2509 +pref("font.size.variable.x-gujr", 16);
  1.2510 +pref("font.size.fixed.x-gujr", 13);
  1.2511 +
  1.2512 +pref("font.default.x-guru", "serif");
  1.2513 +pref("font.size.variable.x-guru", 16);
  1.2514 +pref("font.size.fixed.x-guru", 13);
  1.2515 +
  1.2516 +pref("font.default.x-khmr", "serif");
  1.2517 +pref("font.size.variable.x-khmr", 16);
  1.2518 +pref("font.size.fixed.x-khmr", 13);
  1.2519 +
  1.2520 +pref("font.default.x-mlym", "serif");
  1.2521 +pref("font.size.variable.x-mlym", 16);
  1.2522 +pref("font.size.fixed.x-mlym", 13);
  1.2523 +
  1.2524 +pref("font.default.x-orya", "serif");
  1.2525 +pref("font.size.variable.x-orya", 16);
  1.2526 +pref("font.size.fixed.x-orya", 13);
  1.2527 +
  1.2528 +pref("font.default.x-telu", "serif");
  1.2529 +pref("font.size.variable.x-telu", 16);
  1.2530 +pref("font.size.fixed.x-telu", 13);
  1.2531 +
  1.2532 +pref("font.default.x-knda", "serif");
  1.2533 +pref("font.size.variable.x-knda", 16);
  1.2534 +pref("font.size.fixed.x-knda", 13);
  1.2535 +
  1.2536 +pref("font.default.x-sinh", "serif");
  1.2537 +pref("font.size.variable.x-sinh", 16);
  1.2538 +pref("font.size.fixed.x-sinh", 13);
  1.2539 +
  1.2540 +pref("font.default.x-tibt", "serif");
  1.2541 +pref("font.size.variable.x-tibt", 16);
  1.2542 +pref("font.size.fixed.x-tibt", 13);
  1.2543 +
  1.2544 +pref("font.default.x-unicode", "serif");
  1.2545 +pref("font.size.variable.x-unicode", 16);
  1.2546 +pref("font.size.fixed.x-unicode", 13);
  1.2547 +
  1.2548 +pref("font.default.x-western", "serif");
  1.2549 +pref("font.size.variable.x-western", 16);
  1.2550 +pref("font.size.fixed.x-western", 13);
  1.2551 +
  1.2552 +pref("font.default.zh-CN", "sans-serif");
  1.2553 +pref("font.size.variable.zh-CN", 16);
  1.2554 +pref("font.size.fixed.zh-CN", 16);
  1.2555 +
  1.2556 +pref("font.default.zh-TW", "sans-serif");
  1.2557 +pref("font.size.variable.zh-TW", 16);
  1.2558 +pref("font.size.fixed.zh-TW", 16);
  1.2559 +
  1.2560 +pref("font.default.zh-HK", "sans-serif");
  1.2561 +pref("font.size.variable.zh-HK", 16);
  1.2562 +pref("font.size.fixed.zh-HK", 16);
  1.2563 +
  1.2564 +// We have special support for Monotype Symbol on Windows.
  1.2565 +pref("font.mathfont-family", "MathJax_Main, STIXNonUnicode, STIXSizeOneSym, STIXGeneral, Asana Math, Symbol, DejaVu Sans, Cambria Math");
  1.2566 +
  1.2567 +// cleartype settings - false implies default system settings
  1.2568 +
  1.2569 +// use cleartype rendering for downloadable fonts (win xp only)
  1.2570 +pref("gfx.font_rendering.cleartype.use_for_downloadable_fonts", true);
  1.2571 +
  1.2572 +// use cleartype rendering for all fonts always (win xp only)
  1.2573 +pref("gfx.font_rendering.cleartype.always_use_for_content", false);
  1.2574 +
  1.2575 +// ClearType tuning parameters for directwrite/d2d.
  1.2576 +//
  1.2577 +// Allows overriding of underlying registry values in:
  1.2578 +//   HKCU/Software/Microsoft/Avalon.Graphics/<display> (contrast and level)
  1.2579 +//   HKLM/Software/Microsoft/Avalon.Graphics/<display> (gamma, pixel structure)
  1.2580 +// and selection of the ClearType/antialiasing mode.
  1.2581 +//
  1.2582 +// A value of -1 implies use the default value, otherwise value ranges
  1.2583 +// follow registry settings:
  1.2584 +//   gamma [1000, 2200]  default: based on screen, typically 2200 (== 2.2)
  1.2585 +//   enhanced contrast [0, 1000] default: 50
  1.2586 +//   cleartype level [0, 100] default: 100
  1.2587 +//   pixel structure [0, 2] default: 0 (flat/RGB/BGR)
  1.2588 +//   rendering mode [0, 5] default: 0
  1.2589 +//     0 = use default for font & size;
  1.2590 +//     1 = aliased;
  1.2591 +//     2 = GDI Classic;
  1.2592 +//     3 = GDI Natural Widths;
  1.2593 +//     4 = Natural;
  1.2594 +//     5 = Natural Symmetric
  1.2595 +//
  1.2596 +// See:
  1.2597 +//   http://msdn.microsoft.com/en-us/library/aa970267.aspx
  1.2598 +//   http://msdn.microsoft.com/en-us/library/dd368190%28v=VS.85%29.aspx
  1.2599 +// Note: DirectWrite uses the "Enhanced Contrast Level" value rather than the
  1.2600 +// "Text Contrast Level" value
  1.2601 +
  1.2602 +pref("gfx.font_rendering.cleartype_params.gamma", -1);
  1.2603 +pref("gfx.font_rendering.cleartype_params.enhanced_contrast", -1);
  1.2604 +pref("gfx.font_rendering.cleartype_params.cleartype_level", -1);
  1.2605 +pref("gfx.font_rendering.cleartype_params.pixel_structure", -1);
  1.2606 +pref("gfx.font_rendering.cleartype_params.rendering_mode", -1);
  1.2607 +
  1.2608 +// A comma-separated list of font family names. Fonts in these families will
  1.2609 +// be forced to use "GDI Classic" ClearType mode, provided the value
  1.2610 +// of gfx.font_rendering.cleartype_params.rendering_mode is -1
  1.2611 +// (i.e. a specific rendering_mode has not been explicitly set).
  1.2612 +// Currently we apply this setting to the sans-serif Microsoft "core Web fonts".
  1.2613 +pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families",
  1.2614 +     "Arial,Consolas,Courier New,Microsoft Sans Serif,Segoe UI,Tahoma,Trebuchet MS,Verdana");
  1.2615 +// The maximum size at which we will force GDI classic mode using
  1.2616 +// force_gdi_classic_for_families.
  1.2617 +pref("gfx.font_rendering.cleartype_params.force_gdi_classic_max_size", 15);
  1.2618 +
  1.2619 +pref("ui.key.menuAccessKeyFocuses", true);
  1.2620 +
  1.2621 +// override double-click word selection behavior.
  1.2622 +pref("layout.word_select.eat_space_to_next_word", true);
  1.2623 +
  1.2624 +// scrollbar snapping region
  1.2625 +pref("slider.snapMultiplier", 6);
  1.2626 +
  1.2627 +// print_extra_margin enables platforms to specify an extra gap or margin
  1.2628 +// around the content of the page for Print Preview only
  1.2629 +pref("print.print_extra_margin", 90); // twips (90 twips is an eigth of an inch)
  1.2630 +
  1.2631 +// Whether to extend the native dialog with information on printing frames.
  1.2632 +pref("print.extend_native_print_dialog", true);
  1.2633 +
  1.2634 +// Locate plugins by scanning the Adobe Acrobat installation directory with a minimum version
  1.2635 +pref("plugin.scan.Acrobat", "5.0");
  1.2636 +
  1.2637 +// Locate plugins by scanning the Quicktime installation directory with a minimum version
  1.2638 +pref("plugin.scan.Quicktime", "5.0");
  1.2639 +
  1.2640 +// Locate and scan the Window Media Player installation directory for plugins with a minimum version
  1.2641 +pref("plugin.scan.WindowsMediaPlayer", "7.0");
  1.2642 +
  1.2643 +// Locate plugins by the directories specified in the Windows registry for PLIDs
  1.2644 +// Which is currently HKLM\Software\MozillaPlugins\xxxPLIDxxx\Path
  1.2645 +pref("plugin.scan.plid.all", true);
  1.2646 +
  1.2647 +// Allow the new AsyncDrawing mode to be used for plugins.
  1.2648 +pref("plugin.allow.asyncdrawing", false);
  1.2649 +
  1.2650 +// Help Windows NT, 2000, and XP dialup a RAS connection
  1.2651 +// when a network address is unreachable.
  1.2652 +pref("network.autodial-helper.enabled", true);
  1.2653 +
  1.2654 +// Switch the keyboard layout per window
  1.2655 +pref("intl.keyboard.per_window_layout", false);
  1.2656 +
  1.2657 +#ifdef NS_ENABLE_TSF
  1.2658 +// Enable/Disable TSF support
  1.2659 +pref("intl.tsf.enable", false);
  1.2660 +
  1.2661 +// Support IMEs implemented with IMM in TSF mode.
  1.2662 +pref("intl.tsf.support_imm", true);
  1.2663 +
  1.2664 +// Enables/Disables hack for specific TIP.
  1.2665 +
  1.2666 +// Whether creates native caret for ATOK or not.
  1.2667 +pref("intl.tsf.hack.atok.create_native_caret", true);
  1.2668 +#endif
  1.2669 +
  1.2670 +// See bug 448927, on topmost panel, some IMEs are not usable on Windows.
  1.2671 +pref("ui.panel.default_level_parent", false);
  1.2672 +
  1.2673 +pref("mousewheel.system_scroll_override_on_root_content.enabled", true);
  1.2674 +
  1.2675 +// High resolution scrolling with supported mouse drivers on Vista or later.
  1.2676 +pref("mousewheel.enable_pixel_scrolling", true);
  1.2677 +
  1.2678 +// If your mouse drive sends WM_*SCROLL messages when you turn your mouse wheel,
  1.2679 +// set this to true.  Then, gecko processes them as mouse wheel messages.
  1.2680 +pref("mousewheel.emulate_at_wm_scroll", false);
  1.2681 +
  1.2682 +// Enables or disabled the TrackPoint hack, -1 is autodetect, 0 is off,
  1.2683 +// and 1 is on.  Set this to 1 if TrackPoint scrolling is not working.
  1.2684 +pref("ui.trackpoint_hack.enabled", -1);
  1.2685 +
  1.2686 +// Setting this to a non-empty string overrides the Win32 "window class" used
  1.2687 +// for "normal" windows. Setting this to MozillaUIWindowClass might make
  1.2688 +// some trackpad drivers behave better.
  1.2689 +pref("ui.window_class_override", "");
  1.2690 +
  1.2691 +// Enables or disables the Elantech gesture hacks.  -1 is autodetect, 0 is off,
  1.2692 +// and 1 is on.  Set this to 1 if three-finger swipe gestures do not cause
  1.2693 +// page back/forward actions, or if pinch-to-zoom does not work.
  1.2694 +pref("ui.elantech_gesture_hacks.enabled", -1);
  1.2695 +
  1.2696 +# XP_WIN
  1.2697 +#endif
  1.2698 +
  1.2699 +#ifdef XP_MACOSX
  1.2700 +// Mac specific preference defaults
  1.2701 +pref("browser.drag_out_of_frame_style", 1);
  1.2702 +pref("ui.key.saveLink.shift", false); // true = shift, false = meta
  1.2703 +
  1.2704 +// default fonts (in UTF8 and using canonical names)
  1.2705 +// to determine canonical font names, use a debug build and
  1.2706 +// enable NSPR logging for module fontInfoLog:5
  1.2707 +// canonical names immediately follow '(fontinit) family:' in the log
  1.2708 +
  1.2709 +pref("font.name.serif.ar", "Al Bayan");
  1.2710 +pref("font.name.sans-serif.ar", "Geeza Pro");
  1.2711 +pref("font.name.monospace.ar", "Geeza Pro");
  1.2712 +pref("font.name.cursive.ar", "DecoType Naskh");
  1.2713 +pref("font.name.fantasy.ar", "KufiStandardGK");
  1.2714 +pref("font.name-list.serif.ar", "Al Bayan");
  1.2715 +pref("font.name-list.sans-serif.ar", "Geeza Pro");
  1.2716 +pref("font.name-list.monospace.ar", "Geeza Pro");
  1.2717 +pref("font.name-list.cursive.ar", "DecoType Naskh");
  1.2718 +pref("font.name-list.fantasy.ar", "KufiStandardGK");
  1.2719 +
  1.2720 +pref("font.name.serif.el", "Times");
  1.2721 +pref("font.name.sans-serif.el", "Helvetica");
  1.2722 +pref("font.name.monospace.el", "Courier New");
  1.2723 +pref("font.name.cursive.el", "Lucida Grande");
  1.2724 +pref("font.name.fantasy.el", "Lucida Grande");
  1.2725 +pref("font.name-list.serif.el", "Times,Times New Roman");
  1.2726 +pref("font.name-list.sans-serif.el", "Helvetica,Lucida Grande");
  1.2727 +pref("font.name-list.monospace.el", "Courier New,Lucida Grande");
  1.2728 +pref("font.name-list.cursive.el", "Times,Lucida Grande");
  1.2729 +pref("font.name-list.fantasy.el", "Times,Lucida Grande");
  1.2730 +
  1.2731 +pref("font.name.serif.he", "Times New Roman");
  1.2732 +pref("font.name.sans-serif.he", "Arial");
  1.2733 +pref("font.name.monospace.he", "Courier New");
  1.2734 +pref("font.name.cursive.he", "Times New Roman");
  1.2735 +pref("font.name.fantasy.he", "Times New Roman");
  1.2736 +pref("font.name-list.serif.he", "Times New Roman");
  1.2737 +pref("font.name-list.sans-serif.he", "Arial");
  1.2738 +pref("font.name-list.monospace.he", "Courier New");
  1.2739 +pref("font.name-list.cursive.he", "Times New Roman");
  1.2740 +pref("font.name-list.fantasy.he", "Times New Roman");
  1.2741 +
  1.2742 +pref("font.name.serif.ja", "Hiragino Mincho ProN");
  1.2743 +pref("font.name.sans-serif.ja", "Hiragino Kaku Gothic ProN");
  1.2744 +pref("font.name.monospace.ja", "Osaka-Mono");
  1.2745 +pref("font.name-list.serif.ja", "Hiragino Mincho ProN,Hiragino Mincho Pro");
  1.2746 +pref("font.name-list.sans-serif.ja", "Hiragino Kaku Gothic ProN,Hiragino Kaku Gothic Pro");
  1.2747 +pref("font.name-list.monospace.ja", "Osaka-Mono");
  1.2748 +
  1.2749 +pref("font.name.serif.ko", "AppleMyungjo");
  1.2750 +pref("font.name.sans-serif.ko", "Apple SD Gothic Neo");
  1.2751 +pref("font.name.monospace.ko", "Apple SD Gothic Neo");
  1.2752 +pref("font.name-list.serif.ko", "AppleMyungjo");
  1.2753 +pref("font.name-list.sans-serif.ko", "Apple SD Gothic Neo,AppleGothic");
  1.2754 +pref("font.name-list.monospace.ko", "Apple SD Gothic Neo,AppleGothic");
  1.2755 +
  1.2756 +pref("font.name.serif.th", "Thonburi");
  1.2757 +pref("font.name.sans-serif.th", "Thonburi");
  1.2758 +pref("font.name.monospace.th", "Ayuthaya");
  1.2759 +pref("font.name-list.serif.th", "Thonburi");
  1.2760 +pref("font.name-list.sans-serif.th", "Thonburi");
  1.2761 +pref("font.name-list.monospace.th", "Ayuthaya");
  1.2762 +
  1.2763 +pref("font.name.serif.tr", "Times");
  1.2764 +pref("font.name.sans-serif.tr", "Helvetica");
  1.2765 +pref("font.name.monospace.tr", "Courier");
  1.2766 +pref("font.name.cursive.tr", "Apple Chancery");
  1.2767 +pref("font.name.fantasy.tr", "Papyrus");
  1.2768 +pref("font.name-list.serif.tr", "Times");
  1.2769 +pref("font.name-list.sans-serif.tr", "Helvetica");
  1.2770 +pref("font.name-list.monospace.tr", "Courier");
  1.2771 +pref("font.name-list.cursive.tr", "Apple Chancery");
  1.2772 +pref("font.name-list.fantasy.tr", "Papyrus");
  1.2773 +
  1.2774 +pref("font.name.serif.x-armn", "Mshtakan");
  1.2775 +pref("font.name.sans-serif.x-armn", "Mshtakan");
  1.2776 +pref("font.name.monospace.x-armn", "Mshtakan");
  1.2777 +pref("font.name-list.serif.x-armn", "Mshtakan");
  1.2778 +pref("font.name-list.sans-serif.x-armn", "Mshtakan");
  1.2779 +pref("font.name-list.monospace.x-armn", "Mshtakan");
  1.2780 +
  1.2781 +pref("font.name.serif.x-baltic", "Times");
  1.2782 +pref("font.name.sans-serif.x-baltic", "Helvetica");
  1.2783 +pref("font.name.monospace.x-baltic", "Courier");
  1.2784 +pref("font.name.cursive.x-baltic", "Apple Chancery");
  1.2785 +pref("font.name.fantasy.x-baltic", "Papyrus");
  1.2786 +pref("font.name-list.serif.x-baltic", "Times");
  1.2787 +pref("font.name-list.sans-serif.x-baltic", "Helvetica");
  1.2788 +pref("font.name-list.monospace.x-baltic", "Courier");
  1.2789 +pref("font.name-list.cursive.x-baltic", "Apple Chancery");
  1.2790 +pref("font.name-list.fantasy.x-baltic", "Papyrus");
  1.2791 +
  1.2792 +// SolaimanLipi, Rupali http://ekushey.org/?page/mac_download
  1.2793 +pref("font.name.serif.x-beng", "Bangla MN");
  1.2794 +pref("font.name.sans-serif.x-beng", "Bangla Sangam MN");
  1.2795 +pref("font.name.monospace.x-beng", "Bangla Sangam MN");
  1.2796 +pref("font.name-list.serif.x-beng", "Bangla MN");
  1.2797 +pref("font.name-list.sans-serif.x-beng", "Bangla Sangam MN");
  1.2798 +pref("font.name-list.monospace.x-beng", "Bangla Sangam MN");
  1.2799 +
  1.2800 +pref("font.name.serif.x-cans", "Euphemia UCAS");
  1.2801 +pref("font.name.sans-serif.x-cans", "Euphemia UCAS");
  1.2802 +pref("font.name.monospace.x-cans", "Euphemia UCAS");
  1.2803 +pref("font.name-list.serif.x-cans", "Euphemia UCAS");
  1.2804 +pref("font.name-list.sans-serif.x-cans", "Euphemia UCAS");
  1.2805 +pref("font.name-list.monospace.x-cans", "Euphemia UCAS");
  1.2806 +
  1.2807 +pref("font.name.serif.x-central-euro", "Times");
  1.2808 +pref("font.name.sans-serif.x-central-euro", "Helvetica");
  1.2809 +pref("font.name.monospace.x-central-euro", "Courier");
  1.2810 +pref("font.name.cursive.x-central-euro", "Apple Chancery");
  1.2811 +pref("font.name.fantasy.x-central-euro", "Papyrus");
  1.2812 +pref("font.name-list.serif.x-central-euro", "Times");
  1.2813 +pref("font.name-list.sans-serif.x-central-euro", "Helvetica");
  1.2814 +pref("font.name-list.monospace.x-central-euro", "Courier");
  1.2815 +pref("font.name-list.cursive.x-central-euro", "Apple Chancery");
  1.2816 +pref("font.name-list.fantasy.x-central-euro", "Papyrus");
  1.2817 +
  1.2818 +pref("font.name.serif.x-cyrillic", "Times");
  1.2819 +pref("font.name.sans-serif.x-cyrillic", "Helvetica");
  1.2820 +pref("font.name.monospace.x-cyrillic", "Monaco");
  1.2821 +pref("font.name.cursive.x-cyrillic", "Geneva");
  1.2822 +pref("font.name.fantasy.x-cyrillic", "Charcoal CY");
  1.2823 +pref("font.name-list.serif.x-cyrillic", "Times,Times New Roman");
  1.2824 +pref("font.name-list.sans-serif.x-cyrillic", "Helvetica,Arial");
  1.2825 +pref("font.name-list.monospace.x-cyrillic", "Monaco,Courier New");
  1.2826 +pref("font.name-list.cursive.x-cyrillic", "Geneva");
  1.2827 +pref("font.name-list.fantasy.x-cyrillic", "Charcoal CY");
  1.2828 +
  1.2829 +pref("font.name.serif.x-devanagari", "Devanagari MT");
  1.2830 +pref("font.name.sans-serif.x-devanagari", "Devanagari Sangam MN");
  1.2831 +pref("font.name.monospace.x-devanagari", "Devanagari Sangam MN");
  1.2832 +pref("font.name-list.serif.x-devanagari", "Devanagari MT");
  1.2833 +pref("font.name-list.sans-serif.x-devanagari", "Devanagari Sangam MN,Devanagari MT");
  1.2834 +pref("font.name-list.monospace.x-devanagari", "Devanagari Sangam MN,Devanagari MT");
  1.2835 +
  1.2836 +// Abyssinica SIL http://scripts.sil.org/AbyssinicaSIL_Download
  1.2837 +pref("font.name.serif.x-ethi", "Kefa");
  1.2838 +pref("font.name.sans-serif.x-ethi", "Kefa");
  1.2839 +pref("font.name.monospace.x-ethi", "Kefa");
  1.2840 +pref("font.name-list.serif.x-ethi", "Kefa,Abyssinica SIL");
  1.2841 +pref("font.name-list.sans-serif.x-ethi", "Kefa,Abyssinica SIL");
  1.2842 +pref("font.name-list.monospace.x-ethi", "Kefa,Abyssinica SIL");
  1.2843 +
  1.2844 +// no suitable fonts for georgian ship with mac os x
  1.2845 +// however some can be freely downloaded
  1.2846 +// TITUS Cyberbit Basic http://titus.fkidg1.uni-frankfurt.de/unicode/tituut.asp
  1.2847 +// Zuzumbo http://homepage.mac.com/rsiradze/FileSharing91.html
  1.2848 +pref("font.name.serif.x-geor", "TITUS Cyberbit Basic");
  1.2849 +pref("font.name.sans-serif.x-geor", "Zuzumbo");
  1.2850 +pref("font.name.monospace.x-geor", "Zuzumbo");
  1.2851 +pref("font.name-list.serif.x-geor", "TITUS Cyberbit Basic");
  1.2852 +pref("font.name-list.sans-serif.x-geor", "Zuzumbo");
  1.2853 +pref("font.name-list.monospace.x-geor", "Zuzumbo");
  1.2854 +
  1.2855 +pref("font.name.serif.x-gujr", "Gujarati MT");
  1.2856 +pref("font.name.sans-serif.x-gujr", "Gujarati Sangam MN");
  1.2857 +pref("font.name.monospace.x-gujr", "Gujarati Sangam MN");
  1.2858 +pref("font.name-list.serif.x-gujr", "Gujarati MT");
  1.2859 +pref("font.name-list.sans-serif.x-gujr", "Gujarati Sangam MN,Gujarati MT");
  1.2860 +pref("font.name-list.monospace.x-gujr", "Gujarati Sangam MN,Gujarati MT");
  1.2861 +
  1.2862 +pref("font.name.serif.x-guru", "Gurmukhi MT");
  1.2863 +pref("font.name.sans-serif.x-guru", "Gurmukhi MT");
  1.2864 +pref("font.name.monospace.x-guru", "Gurmukhi MT");
  1.2865 +pref("font.name-list.serif.x-guru", "Gurmukhi MT");
  1.2866 +pref("font.name-list.sans-serif.x-guru", "Gurmukhi MT");
  1.2867 +pref("font.name-list.monospace.x-guru", "Gurmukhi MT");
  1.2868 +
  1.2869 +pref("font.name.serif.x-khmr", "Khmer MN");
  1.2870 +pref("font.name.sans-serif.x-khmr", "Khmer Sangam MN");
  1.2871 +pref("font.name.monospace.x-khmr", "Khmer Sangam MN");
  1.2872 +pref("font.name-list.serif.x-khmr", "Khmer MN");
  1.2873 +pref("font.name-list.sans-serif.x-khmr", "Khmer Sangam MN");
  1.2874 +pref("font.name-list.monospace.x-khmr", "Khmer Sangam MN");
  1.2875 +
  1.2876 +pref("font.name.serif.x-mlym", "Malayalam MN");
  1.2877 +pref("font.name.sans-serif.x-mlym", "Malayalam Sangam MN");
  1.2878 +pref("font.name.monospace.x-mlym", "Malayalam Sangam MN");
  1.2879 +pref("font.name-list.serif.x-mlym", "Malayalam MN");
  1.2880 +pref("font.name-list.sans-serif.x-mlym", "Malayalam Sangam MN");
  1.2881 +pref("font.name-list.monospace.x-mlym", "Malayalam Sangam MN");
  1.2882 +
  1.2883 +pref("font.name.serif.x-orya", "Oriya MN");
  1.2884 +pref("font.name.sans-serif.x-orya", "Oriya Sangam MN");
  1.2885 +pref("font.name.monospace.x-orya", "Oriya Sangam MN");
  1.2886 +pref("font.name-list.serif.x-orya", "Oriya MN");
  1.2887 +pref("font.name-list.sans-serif.x-orya", "Oriya Sangam MN");
  1.2888 +pref("font.name-list.monospace.x-orya", "Oriya Sangam MN");
  1.2889 +
  1.2890 +// Pothana http://web.nickshanks.com/typography/telugu/
  1.2891 +pref("font.name.serif.x-telu", "Telugu MN");
  1.2892 +pref("font.name.sans-serif.x-telu", "Telugu Sangam MN");
  1.2893 +pref("font.name.monospace.x-telu", "Telugu Sangam MN");
  1.2894 +pref("font.name-list.serif.x-telu", "Telugu MN,Pothana");
  1.2895 +pref("font.name-list.sans-serif.x-telu", "Telugu Sangam MN,Pothana");
  1.2896 +pref("font.name-list.monospace.x-telu", "Telugu Sangam MN,Pothana");
  1.2897 +
  1.2898 +// Kedage http://web.nickshanks.com/typography/kannada/
  1.2899 +pref("font.name.serif.x-knda", "Kannada MN");
  1.2900 +pref("font.name.sans-serif.x-knda", "Kannada Sangam MN");
  1.2901 +pref("font.name.monospace.x-knda", "Kannada Sangam MN");
  1.2902 +pref("font.name-list.serif.x-knda", "Kannada MN,Kedage");
  1.2903 +pref("font.name-list.sans-serif.x-knda", "Kannada Sangam MN,Kedage");
  1.2904 +pref("font.name-list.monospace.x-knda", "Kannada Sangam MN,Kedage");
  1.2905 +
  1.2906 +pref("font.name.serif.x-sinh", "Sinhala MN");
  1.2907 +pref("font.name.sans-serif.x-sinh", "Sinhala Sangam MN");
  1.2908 +pref("font.name.monospace.x-sinh", "Sinhala Sangam MN");
  1.2909 +pref("font.name-list.serif.x-sinh", "Sinhala MN");
  1.2910 +pref("font.name-list.sans-serif.x-sinh", "Sinhala Sangam MN");
  1.2911 +pref("font.name-list.monospace.x-sinh", "Sinhala Sangam MN");
  1.2912 +
  1.2913 +pref("font.name.serif.x-tamil", "InaiMathi");
  1.2914 +pref("font.name.sans-serif.x-tamil", "InaiMathi");
  1.2915 +pref("font.name.monospace.x-tamil", "InaiMathi");
  1.2916 +pref("font.name-list.serif.x-tamil", "InaiMathi");
  1.2917 +pref("font.name-list.sans-serif.x-tamil", "InaiMathi");
  1.2918 +pref("font.name-list.monospace.x-tamil", "InaiMathi");
  1.2919 +
  1.2920 +// Kailasa ships with mac os x >= 10.5
  1.2921 +pref("font.name.serif.x-tibt", "Kailasa");
  1.2922 +pref("font.name.sans-serif.x-tibt", "Kailasa");
  1.2923 +pref("font.name.monospace.x-tibt", "Kailasa");
  1.2924 +pref("font.name-list.serif.x-tibt", "Kailasa");
  1.2925 +pref("font.name-list.sans-serif.x-tibt", "Kailasa");
  1.2926 +pref("font.name-list.monospace.x-tibt", "Kailasa");
  1.2927 +
  1.2928 +pref("font.name.serif.x-unicode", "Times");
  1.2929 +pref("font.name.sans-serif.x-unicode", "Helvetica");
  1.2930 +pref("font.name.monospace.x-unicode", "Courier");
  1.2931 +pref("font.name.cursive.x-unicode", "Apple Chancery");
  1.2932 +pref("font.name.fantasy.x-unicode", "Papyrus");
  1.2933 +pref("font.name-list.serif.x-unicode", "Times");
  1.2934 +pref("font.name-list.sans-serif.x-unicode", "Helvetica");
  1.2935 +pref("font.name-list.monospace.x-unicode", "Courier");
  1.2936 +pref("font.name-list.cursive.x-unicode", "Apple Chancery");
  1.2937 +pref("font.name-list.fantasy.x-unicode", "Papyrus");
  1.2938 +
  1.2939 +pref("font.name.serif.x-western", "Times");
  1.2940 +pref("font.name.sans-serif.x-western", "Helvetica");
  1.2941 +pref("font.name.monospace.x-western", "Courier");
  1.2942 +pref("font.name.cursive.x-western", "Apple Chancery");
  1.2943 +pref("font.name.fantasy.x-western", "Papyrus");
  1.2944 +pref("font.name-list.serif.x-western", "Times,Times New Roman");
  1.2945 +pref("font.name-list.sans-serif.x-western", "Helvetica,Arial");
  1.2946 +pref("font.name-list.monospace.x-western", "Courier,Courier New");
  1.2947 +pref("font.name-list.cursive.x-western", "Apple Chancery");
  1.2948 +pref("font.name-list.fantasy.x-western", "Papyrus");
  1.2949 +
  1.2950 +pref("font.name.serif.zh-CN", "Times");
  1.2951 +pref("font.name.sans-serif.zh-CN", "Helvetica");
  1.2952 +pref("font.name.monospace.zh-CN", "Courier");
  1.2953 +pref("font.name-list.serif.zh-CN", "Times,STSong,Heiti SC");
  1.2954 +pref("font.name-list.sans-serif.zh-CN", "Helvetica,STHeiti,Heiti SC");
  1.2955 +pref("font.name-list.monospace.zh-CN", "Courier,STHeiti,Heiti SC");
  1.2956 +
  1.2957 +pref("font.name.serif.zh-TW", "Times");
  1.2958 +pref("font.name.sans-serif.zh-TW", "Helvetica");
  1.2959 +pref("font.name.monospace.zh-TW", "Courier");
  1.2960 +pref("font.name-list.serif.zh-TW", "Times,LiSong Pro,Heiti TC");
  1.2961 +pref("font.name-list.sans-serif.zh-TW", "Helvetica,Heiti TC,LiHei Pro");
  1.2962 +pref("font.name-list.monospace.zh-TW", "Courier,Heiti TC,LiHei Pro");
  1.2963 +
  1.2964 +pref("font.name.serif.zh-HK", "Times");
  1.2965 +pref("font.name.sans-serif.zh-HK", "Helvetica");
  1.2966 +pref("font.name.monospace.zh-HK", "Courier");
  1.2967 +pref("font.name-list.serif.zh-HK", "Times,LiSong Pro,Heiti TC");
  1.2968 +pref("font.name-list.sans-serif.zh-HK", "Helvetica,Heiti TC,LiHei Pro");
  1.2969 +pref("font.name-list.monospace.zh-HK", "Courier,Heiti TC,LiHei Pro");
  1.2970 +
  1.2971 +pref("font.default.ar", "sans-serif");
  1.2972 +pref("font.size.variable.ar", 16);
  1.2973 +pref("font.size.fixed.ar", 13);
  1.2974 +
  1.2975 +pref("font.default.el", "serif");
  1.2976 +pref("font.size.variable.el", 16);
  1.2977 +pref("font.size.fixed.el", 13);
  1.2978 +
  1.2979 +pref("font.default.he", "sans-serif");
  1.2980 +pref("font.size.variable.he", 16);
  1.2981 +pref("font.size.fixed.he", 13);
  1.2982 +
  1.2983 +pref("font.default.ja", "sans-serif");
  1.2984 +pref("font.size.variable.ja", 16);
  1.2985 +pref("font.size.fixed.ja", 16);
  1.2986 +
  1.2987 +pref("font.default.ko", "sans-serif");
  1.2988 +pref("font.size.variable.ko", 16);
  1.2989 +pref("font.size.fixed.ko", 16);
  1.2990 +
  1.2991 +pref("font.default.th", "serif");
  1.2992 +pref("font.size.variable.th", 16);
  1.2993 +pref("font.size.fixed.th", 13);
  1.2994 +pref("font.minimum-size.th", 10);
  1.2995 +
  1.2996 +pref("font.default.tr", "serif");
  1.2997 +pref("font.size.variable.tr", 16);
  1.2998 +pref("font.size.fixed.tr", 13);
  1.2999 +
  1.3000 +pref("font.default.x-armn", "serif");
  1.3001 +pref("font.size.variable.x-armn", 16);
  1.3002 +pref("font.size.fixed.x-armn", 13);
  1.3003 +
  1.3004 +pref("font.default.x-baltic", "serif");
  1.3005 +pref("font.size.variable.x-baltic", 16);
  1.3006 +pref("font.size.fixed.x-baltic", 13);
  1.3007 +
  1.3008 +pref("font.default.x-beng", "serif");
  1.3009 +pref("font.size.variable.x-beng", 16);
  1.3010 +pref("font.size.fixed.x-beng", 13);
  1.3011 +
  1.3012 +pref("font.default.x-cans", "serif");
  1.3013 +pref("font.size.variable.x-cans", 16);
  1.3014 +pref("font.size.fixed.x-cans", 13);
  1.3015 +
  1.3016 +pref("font.default.x-central-euro", "serif");
  1.3017 +pref("font.size.variable.x-central-euro", 16);
  1.3018 +pref("font.size.fixed.x-central-euro", 13);
  1.3019 +
  1.3020 +pref("font.default.x-cyrillic", "serif");
  1.3021 +pref("font.size.variable.x-cyrillic", 16);
  1.3022 +pref("font.size.fixed.x-cyrillic", 13);
  1.3023 +
  1.3024 +pref("font.default.x-devanagari", "serif");
  1.3025 +pref("font.size.variable.x-devanagari", 16);
  1.3026 +pref("font.size.fixed.x-devanagari", 13);
  1.3027 +
  1.3028 +pref("font.default.x-ethi", "serif");
  1.3029 +pref("font.size.variable.x-ethi", 16);
  1.3030 +pref("font.size.fixed.x-ethi", 13);
  1.3031 +
  1.3032 +pref("font.default.x-geor", "serif");
  1.3033 +pref("font.size.variable.x-geor", 16);
  1.3034 +pref("font.size.fixed.x-geor", 13);
  1.3035 +
  1.3036 +pref("font.default.x-gujr", "serif");
  1.3037 +pref("font.size.variable.x-gujr", 16);
  1.3038 +pref("font.size.fixed.x-gujr", 13);
  1.3039 +
  1.3040 +pref("font.default.x-guru", "serif");
  1.3041 +pref("font.size.variable.x-guru", 16);
  1.3042 +pref("font.size.fixed.x-guru", 13);
  1.3043 +
  1.3044 +pref("font.default.x-khmr", "serif");
  1.3045 +pref("font.size.variable.x-khmr", 16);
  1.3046 +pref("font.size.fixed.x-khmr", 13);
  1.3047 +
  1.3048 +pref("font.default.x-mlym", "serif");
  1.3049 +pref("font.size.variable.x-mlym", 16);
  1.3050 +pref("font.size.fixed.x-mlym", 13);
  1.3051 +
  1.3052 +pref("font.default.x-tamil", "serif");
  1.3053 +pref("font.size.variable.x-tamil", 16);
  1.3054 +pref("font.size.fixed.x-tamil", 13);
  1.3055 +
  1.3056 +pref("font.default.x-orya", "serif");
  1.3057 +pref("font.size.variable.x-orya", 16);
  1.3058 +pref("font.size.fixed.x-orya", 13);
  1.3059 +
  1.3060 +pref("font.default.x-telu", "serif");
  1.3061 +pref("font.size.variable.x-telu", 16);
  1.3062 +pref("font.size.fixed.x-telu", 13);
  1.3063 +
  1.3064 +pref("font.default.x-knda", "serif");
  1.3065 +pref("font.size.variable.x-knda", 16);
  1.3066 +pref("font.size.fixed.x-knda", 13);
  1.3067 +
  1.3068 +pref("font.default.x-sinh", "serif");
  1.3069 +pref("font.size.variable.x-sinh", 16);
  1.3070 +pref("font.size.fixed.x-sinh", 13);
  1.3071 +
  1.3072 +pref("font.default.x-tibt", "serif");
  1.3073 +pref("font.size.variable.x-tibt", 16);
  1.3074 +pref("font.size.fixed.x-tibt", 13);
  1.3075 +
  1.3076 +pref("font.default.x-unicode", "serif");
  1.3077 +pref("font.size.variable.x-unicode", 16);
  1.3078 +pref("font.size.fixed.x-unicode", 13);
  1.3079 +
  1.3080 +pref("font.default.x-western", "serif");
  1.3081 +pref("font.size.variable.x-western", 16);
  1.3082 +pref("font.size.fixed.x-western", 13);
  1.3083 +
  1.3084 +pref("font.default.zh-CN", "sans-serif");
  1.3085 +pref("font.size.variable.zh-CN", 15);
  1.3086 +pref("font.size.fixed.zh-CN", 16);
  1.3087 +
  1.3088 +pref("font.default.zh-TW", "sans-serif");
  1.3089 +pref("font.size.variable.zh-TW", 15);
  1.3090 +pref("font.size.fixed.zh-TW", 16);
  1.3091 +
  1.3092 +pref("font.default.zh-HK", "sans-serif");
  1.3093 +pref("font.size.variable.zh-HK", 15);
  1.3094 +pref("font.size.fixed.zh-HK", 16);
  1.3095 +
  1.3096 +// Apple's Symbol is Unicode so use it
  1.3097 +pref("font.mathfont-family", "Latin Modern Math, XITS Math, STIX Math, Cambria Math, Asana Math, TeX Gyre Bonum Math, TeX Gyre Pagella Math, TeX Gyre Termes Math, Neo Euler, Lucida Bright Math, MathJax_Main, STIXNonUnicode, STIXSizeOneSym, STIXGeneral, Symbol, DejaVu Sans");
  1.3098 +
  1.3099 +// individual font faces to be treated as independent families
  1.3100 +// names are Postscript names of each face
  1.3101 +pref("font.single-face-list", "Osaka-Mono");
  1.3102 +
  1.3103 +// optimization hint for fonts with localized names to be read in at startup, otherwise read in at lookup miss
  1.3104 +// names are canonical family names (typically English names)
  1.3105 +pref("font.preload-names-list", "Hiragino Kaku Gothic ProN,Hiragino Mincho ProN,STSong");
  1.3106 +
  1.3107 +// Override font-weight values for some problematic families Apple ships
  1.3108 +// (see bug 931426).
  1.3109 +// The name here is the font's PostScript name, which can be checked in
  1.3110 +// the Font Book utility or other tools.
  1.3111 +pref("font.weight-override.AppleSDGothicNeo-Thin", 100); // Ensure Thin < UltraLight < Light
  1.3112 +pref("font.weight-override.AppleSDGothicNeo-UltraLight", 200);
  1.3113 +pref("font.weight-override.AppleSDGothicNeo-Light", 300);
  1.3114 +pref("font.weight-override.AppleSDGothicNeo-Heavy", 900); // Ensure Heavy > ExtraBold (800)
  1.3115 +
  1.3116 +pref("font.weight-override.Avenir-Book", 300); // Ensure Book < Roman (400)
  1.3117 +pref("font.weight-override.Avenir-BookOblique", 300);
  1.3118 +pref("font.weight-override.Avenir-MediumOblique", 500); // Harmonize MediumOblique with Medium
  1.3119 +pref("font.weight-override.Avenir-Black", 900); // Ensure Black > Heavy (800)
  1.3120 +pref("font.weight-override.Avenir-BlackOblique", 900);
  1.3121 +
  1.3122 +pref("font.weight-override.AvenirNext-MediumItalic", 500); // Harmonize MediumItalic with Medium
  1.3123 +pref("font.weight-override.AvenirNextCondensed-MediumItalic", 500);
  1.3124 +
  1.3125 +pref("font.weight-override.HelveticaNeue-Light", 300); // Ensure Light > Thin (200)
  1.3126 +pref("font.weight-override.HelveticaNeue-LightItalic", 300);
  1.3127 +pref("font.weight-override.HelveticaNeue-MediumItalic", 500); // Harmonize MediumItalic with Medium
  1.3128 +
  1.3129 +// Override the Windows settings: no menu key, meta accelerator key. ctrl for general access key in HTML/XUL
  1.3130 +// Use 17 for Ctrl, 18 for Option, 224 for Cmd, 0 for none
  1.3131 +pref("ui.key.menuAccessKey", 0);
  1.3132 +pref("ui.key.accelKey", 224);
  1.3133 +// (pinkerton, joki, saari) IE5 for mac uses Control for access keys. The HTML4 spec
  1.3134 +// suggests to use command on mac, but this really sucks (imagine someone having a "q"
  1.3135 +// as an access key and not letting you quit the app!). As a result, we've made a
  1.3136 +// command decision 1 day before tree lockdown to change it to the control key.
  1.3137 +pref("ui.key.generalAccessKey", -1);
  1.3138 +
  1.3139 +// If generalAccessKey is -1, use the following two prefs instead.
  1.3140 +// Use 0 for disabled, 1 for Shift, 2 for Ctrl, 4 for Alt, 8 for Meta (Cmd)
  1.3141 +// (values can be combined, e.g. 3 for Ctrl+Shift)
  1.3142 +pref("ui.key.chromeAccess", 2);
  1.3143 +pref("ui.key.contentAccess", 6);
  1.3144 +
  1.3145 +// print_extra_margin enables platforms to specify an extra gap or margin
  1.3146 +// around the content of the page for Print Preview only
  1.3147 +pref("print.print_extra_margin", 90); // twips (90 twips is an eigth of an inch)
  1.3148 +
  1.3149 +// See bug 404131, topmost <panel> element wins to Dashboard on MacOSX.
  1.3150 +pref("ui.panel.default_level_parent", false);
  1.3151 +
  1.3152 +pref("ui.plugin.cancel_composition_at_input_source_changed", false);
  1.3153 +
  1.3154 +// The min width of composition window for plugins
  1.3155 +pref("ui.plugin.panel.min-width", 500);
  1.3156 +
  1.3157 +pref("mousewheel.system_scroll_override_on_root_content.enabled", false);
  1.3158 +
  1.3159 +// Macbook touchpad two finger pixel scrolling
  1.3160 +pref("mousewheel.enable_pixel_scrolling", true);
  1.3161 +
  1.3162 +# XP_MACOSX
  1.3163 +#endif
  1.3164 +
  1.3165 +#ifdef ANDROID
  1.3166 +// Handled differently under Mac/Windows
  1.3167 +pref("network.protocol-handler.warn-external.file", false);
  1.3168 +pref("browser.drag_out_of_frame_style", 1);
  1.3169 +
  1.3170 +// Middle-mouse handling
  1.3171 +pref("middlemouse.paste", true);
  1.3172 +pref("middlemouse.contentLoadURL", true);
  1.3173 +pref("middlemouse.openNewWindow", true);
  1.3174 +pref("middlemouse.scrollbarPosition", true);
  1.3175 +
  1.3176 +pref("browser.urlbar.clickSelectsAll", false);
  1.3177 +
  1.3178 +// Tab focus model bit field:
  1.3179 +// 1 focuses text controls, 2 focuses other form elements, 4 adds links.
  1.3180 +// Leave this at the default, 7, to match mozilla1.0-era user expectations.
  1.3181 +// pref("accessibility.tabfocus", 1);
  1.3182 +
  1.3183 +// autocomplete keyboard grab workaround
  1.3184 +pref("autocomplete.grab_during_popup", true);
  1.3185 +pref("autocomplete.ungrab_during_mode_switch", true);
  1.3186 +
  1.3187 +// Default to using the system filepicker if possible, but allow
  1.3188 +// toggling to use the XUL filepicker
  1.3189 +pref("ui.allow_platform_file_picker", true);
  1.3190 +
  1.3191 +pref("helpers.global_mime_types_file", "/etc/mime.types");
  1.3192 +pref("helpers.global_mailcap_file", "/etc/mailcap");
  1.3193 +pref("helpers.private_mime_types_file", "~/.mime.types");
  1.3194 +pref("helpers.private_mailcap_file", "~/.mailcap");
  1.3195 +pref("print.print_command", "lpr ${MOZ_PRINTER_NAME:+-P\"$MOZ_PRINTER_NAME\"}");
  1.3196 +pref("print.printer_list", ""); // list of printers, separated by spaces
  1.3197 +pref("print.print_reversed", false);
  1.3198 +pref("print.print_color", true);
  1.3199 +pref("print.print_landscape", false);
  1.3200 +pref("print.print_paper_size", 0);
  1.3201 +
  1.3202 +// print_extra_margin enables platforms to specify an extra gap or margin
  1.3203 +// around the content of the page for Print Preview only
  1.3204 +pref("print.print_extra_margin", 0); // twips
  1.3205 +
  1.3206 +# ANDROID
  1.3207 +#endif
  1.3208 +
  1.3209 +#if defined(ANDROID) || defined(FXOS_SIMULATOR)
  1.3210 +// font names
  1.3211 +
  1.3212 +pref("font.alias-list", "sans,sans-serif,serif,monospace");
  1.3213 +
  1.3214 +// Gonk (along with FxOS Simulator) and Android ship different sets of fonts
  1.3215 +#if defined(MOZ_WIDGET_GONK) || defined(FXOS_SIMULATOR)
  1.3216 +
  1.3217 +// TODO: some entries could probably be cleaned up.
  1.3218 +
  1.3219 +// ar
  1.3220 +
  1.3221 +pref("font.name.serif.el", "Droid Serif");
  1.3222 +pref("font.name.sans-serif.el", "Roboto"); // To be updated once the Greek letters in Fira are revised
  1.3223 +pref("font.name.monospace.el", "Droid Sans Mono");
  1.3224 +
  1.3225 +pref("font.name.serif.he", "Charis SIL Compact");
  1.3226 +pref("font.name.sans-serif.he", "Fira Sans OT");
  1.3227 +pref("font.name.monospace.he", "Fira Mono OT");
  1.3228 +pref("font.name-list.sans-serif.he", "Droid Sans Hebrew, Fira Sans OT");
  1.3229 +
  1.3230 +pref("font.name.serif.ja", "Charis SIL Compact");
  1.3231 +pref("font.name.sans-serif.ja", "Fira Sans OT");
  1.3232 +pref("font.name.monospace.ja", "MotoyaLMaru");
  1.3233 +pref("font.name-list.sans-serif.ja", "Fira Sans OT, MotoyaLMaru, MotoyaLCedar, Droid Sans Japanese");
  1.3234 +pref("font.name-list.monospace.ja", "MotoyaLMaru, MotoyaLCedar, Fira Mono OT");
  1.3235 +
  1.3236 +pref("font.name.serif.ko", "Charis SIL Compact");
  1.3237 +pref("font.name.sans-serif.ko", "Fira Sans OT");
  1.3238 +pref("font.name.monospace.ko", "Fira Mono OT");
  1.3239 +
  1.3240 +pref("font.name.serif.th", "Charis SIL Compact");
  1.3241 +pref("font.name.sans-serif.th", "Fira Sans OT");
  1.3242 +pref("font.name.monospace.th", "Fira Mono OT");
  1.3243 +pref("font.name-list.sans-serif.th", "Fira Sans OT, Droid Sans Thai");
  1.3244 +
  1.3245 +pref("font.name.serif.tr", "Charis SIL Compact");
  1.3246 +pref("font.name.sans-serif.tr", "Fira Sans OT");
  1.3247 +pref("font.name.monospace.tr", "Fira Mono OT");
  1.3248 +
  1.3249 +pref("font.name.serif.x-baltic", "Charis SIL Compact");
  1.3250 +pref("font.name.sans-serif.x-baltic", "Fira Sans OT");
  1.3251 +pref("font.name.monospace.x-baltic", "Fira Mono OT");
  1.3252 +
  1.3253 +pref("font.name.serif.x-central-euro", "Charis SIL Compact");
  1.3254 +pref("font.name.sans-serif.x-central-euro", "Fira Sans OT");
  1.3255 +pref("font.name.monospace.x-central-euro", "Fira Mono OT");
  1.3256 +
  1.3257 +pref("font.name.serif.x-cyrillic", "Charis SIL Compact");
  1.3258 +pref("font.name.sans-serif.x-cyrillic", "Fira Sans OT");
  1.3259 +pref("font.name.monospace.x-cyrillic", "Fira Mono OT");
  1.3260 +
  1.3261 +pref("font.name.serif.x-unicode", "Charis SIL Compact");
  1.3262 +pref("font.name.sans-serif.x-unicode", "Fira Sans OT");
  1.3263 +pref("font.name.monospace.x-unicode", "Fira Mono OT");
  1.3264 +
  1.3265 +pref("font.name.serif.x-western", "Charis SIL Compact");
  1.3266 +pref("font.name.sans-serif.x-western", "Fira Sans OT");
  1.3267 +pref("font.name.monospace.x-western", "Fira Mono OT");
  1.3268 +
  1.3269 +pref("font.name.serif.zh-CN", "Charis SIL Compact");
  1.3270 +pref("font.name.sans-serif.zh-CN", "Fira Sans OT");
  1.3271 +pref("font.name.monospace.zh-CN", "Fira Mono OT");
  1.3272 +
  1.3273 +pref("font.name.serif.zh-HK", "Charis SIL Compact");
  1.3274 +pref("font.name.sans-serif.zh-HK", "Fira Sans OT");
  1.3275 +pref("font.name.monospace.zh-HK", "Fira Mono OT");
  1.3276 +
  1.3277 +pref("font.name.serif.zh-TW", "Charis SIL Compact");
  1.3278 +pref("font.name.sans-serif.zh-TW", "Fira Sans OT");
  1.3279 +pref("font.name.monospace.zh-TW", "Fira Mono OT");
  1.3280 +
  1.3281 +#else
  1.3282 +
  1.3283 +// not MOZ_WIDGET_GONK / FXOS_SIMULATOR
  1.3284 +// (i.e. this is Firefox for Android) - here, we use the bundled fonts
  1.3285 +
  1.3286 +// ar
  1.3287 +
  1.3288 +pref("font.name.serif.el", "Droid Serif"); // not Charis SIL Compact, only has a few Greek chars
  1.3289 +pref("font.name.sans-serif.el", "Clear Sans");
  1.3290 +pref("font.name.monospace.el", "Droid Sans Mono");
  1.3291 +pref("font.name-list.sans-serif.el", "Clear Sans, Roboto, Droid Sans");
  1.3292 +
  1.3293 +pref("font.name.serif.he", "Droid Serif");
  1.3294 +pref("font.name.sans-serif.he", "Clear Sans");
  1.3295 +pref("font.name.monospace.he", "Droid Sans Mono");
  1.3296 +pref("font.name-list.sans-serif.he", "Droid Sans Hebrew, Clear Sans, Droid Sans");
  1.3297 +
  1.3298 +pref("font.name.serif.ja", "Charis SIL Compact");
  1.3299 +pref("font.name.sans-serif.ja", "Clear Sans");
  1.3300 +pref("font.name.monospace.ja", "MotoyaLMaru");
  1.3301 +pref("font.name-list.serif.ja", "Droid Serif");
  1.3302 +pref("font.name-list.sans-serif.ja", "Clear Sans, Roboto, Droid Sans, MotoyaLMaru, MotoyaLCedar, Droid Sans Japanese");
  1.3303 +pref("font.name-list.monospace.ja", "MotoyaLMaru, MotoyaLCedar, Droid Sans Mono");
  1.3304 +
  1.3305 +pref("font.name.serif.ko", "Charis SIL Compact");
  1.3306 +pref("font.name.sans-serif.ko", "Clear Sans");
  1.3307 +pref("font.name.monospace.ko", "Droid Sans Mono");
  1.3308 +pref("font.name-list.serif.ko", "Droid Serif, HYSerif");
  1.3309 +pref("font.name-list.sans-serif.ko", "SmartGothic, NanumGothic, DroidSansFallback, Droid Sans Fallback");
  1.3310 +
  1.3311 +pref("font.name.serif.th", "Charis SIL Compact");
  1.3312 +pref("font.name.sans-serif.th", "Clear Sans");
  1.3313 +pref("font.name.monospace.th", "Droid Sans Mono");
  1.3314 +pref("font.name-list.serif.th", "Droid Serif");
  1.3315 +pref("font.name-list.sans-serif.th", "Droid Sans Thai, Clear Sans, Droid Sans");
  1.3316 +
  1.3317 +pref("font.name.serif.tr", "Charis SIL Compact");
  1.3318 +pref("font.name.sans-serif.tr", "Clear Sans");
  1.3319 +pref("font.name.monospace.tr", "Droid Sans Mono");
  1.3320 +pref("font.name-list.serif.tr", "Droid Serif");
  1.3321 +pref("font.name-list.sans-serif.tr", "Clear Sans, Roboto, Droid Sans");
  1.3322 +
  1.3323 +pref("font.name.serif.x-baltic", "Charis SIL Compact");
  1.3324 +pref("font.name.sans-serif.x-baltic", "Clear Sans");
  1.3325 +pref("font.name.monospace.x-baltic", "Droid Sans Mono");
  1.3326 +pref("font.name-list.serif.x-baltic", "Droid Serif");
  1.3327 +pref("font.name-list.sans-serif.x-baltic", "Clear Sans, Roboto, Droid Sans");
  1.3328 +
  1.3329 +pref("font.name.serif.x-central-euro", "Charis SIL Compact");
  1.3330 +pref("font.name.sans-serif.x-central-euro", "Clear Sans");
  1.3331 +pref("font.name.monospace.x-central-euro", "Droid Sans Mono");
  1.3332 +pref("font.name-list.serif.x-central-euro", "Droid Serif");
  1.3333 +pref("font.name-list.sans-serif.x-central-euro", "Clear Sans, Roboto, Droid Sans");
  1.3334 +
  1.3335 +pref("font.name.serif.x-cyrillic", "Charis SIL Compact");
  1.3336 +pref("font.name.sans-serif.x-cyrillic", "Clear Sans");
  1.3337 +pref("font.name.monospace.x-cyrillic", "Droid Sans Mono");
  1.3338 +pref("font.name-list.serif.x-cyrillic", "Droid Serif");
  1.3339 +pref("font.name-list.sans-serif.x-cyrillic", "Clear Sans, Roboto, Droid Sans");
  1.3340 +
  1.3341 +pref("font.name.serif.x-unicode", "Charis SIL Compact");
  1.3342 +pref("font.name.sans-serif.x-unicode", "Clear Sans");
  1.3343 +pref("font.name.monospace.x-unicode", "Droid Sans Mono");
  1.3344 +pref("font.name-list.serif.x-unicode", "Droid Serif");
  1.3345 +pref("font.name-list.sans-serif.x-unicode", "Clear Sans, Roboto, Droid Sans");
  1.3346 +
  1.3347 +pref("font.name.serif.x-western", "Charis SIL Compact");
  1.3348 +pref("font.name.sans-serif.x-western", "Clear Sans");
  1.3349 +pref("font.name.monospace.x-western", "Droid Sans Mono");
  1.3350 +pref("font.name-list.serif.x-western", "Droid Serif");
  1.3351 +pref("font.name-list.sans-serif.x-western", "Clear Sans, Roboto, Droid Sans");
  1.3352 +
  1.3353 +pref("font.name.serif.zh-CN", "Charis SIL Compact");
  1.3354 +pref("font.name.sans-serif.zh-CN", "Clear Sans");
  1.3355 +pref("font.name.monospace.zh-CN", "Droid Sans Mono");
  1.3356 +pref("font.name-list.serif.zh-CN", "Droid Serif, Droid Sans Fallback");
  1.3357 +pref("font.name-list.sans-serif.zh-CN", "Roboto, Droid Sans, Droid Sans Fallback");
  1.3358 +pref("font.name-list.monospace.zh-CN", "Droid Sans Fallback");
  1.3359 +
  1.3360 +pref("font.name.serif.zh-HK", "Charis SIL Compact");
  1.3361 +pref("font.name.sans-serif.zh-HK", "Clear Sans");
  1.3362 +pref("font.name.monospace.zh-HK", "Droid Sans Mono");
  1.3363 +pref("font.name-list.serif.zh-HK", "Droid Serif, Droid Sans Fallback");
  1.3364 +pref("font.name-list.sans-serif.zh-HK", "Roboto, Droid Sans, Droid Sans Fallback");
  1.3365 +pref("font.name-list.monospace.zh-HK", "Droid Sans Fallback");
  1.3366 +
  1.3367 +pref("font.name.serif.zh-TW", "Charis SIL Compact");
  1.3368 +pref("font.name.sans-serif.zh-TW", "Clear Sans");
  1.3369 +pref("font.name.monospace.zh-TW", "Droid Sans Mono");
  1.3370 +pref("font.name-list.serif.zh-TW", "Droid Serif, Droid Sans Fallback");
  1.3371 +pref("font.name-list.sans-serif.zh-TW", "Roboto, Droid Sans, Droid Sans Fallback");
  1.3372 +pref("font.name-list.monospace.zh-TW", "Droid Sans Fallback");
  1.3373 +
  1.3374 +// end ! (MOZ_WIDGET_GONK || FXOS_SIMULATOR)
  1.3375 +
  1.3376 +#endif
  1.3377 +
  1.3378 +pref("font.default.ar", "sans-serif");
  1.3379 +pref("font.size.variable.ar", 16);
  1.3380 +pref("font.size.fixed.ar", 12);
  1.3381 +
  1.3382 +pref("font.default.el", "sans-serif");
  1.3383 +pref("font.size.variable.el", 16);
  1.3384 +pref("font.size.fixed.el", 12);
  1.3385 +
  1.3386 +pref("font.default.he", "sans-serif");
  1.3387 +pref("font.size.variable.he", 16);
  1.3388 +pref("font.size.fixed.he", 12);
  1.3389 +
  1.3390 +pref("font.default.ja", "sans-serif");
  1.3391 +pref("font.size.variable.ja", 16);
  1.3392 +pref("font.size.fixed.ja", 16);
  1.3393 +
  1.3394 +pref("font.default.ko", "sans-serif");
  1.3395 +pref("font.size.variable.ko", 16);
  1.3396 +pref("font.size.fixed.ko", 16);
  1.3397 +
  1.3398 +pref("font.default.th", "serif");
  1.3399 +pref("font.size.variable.th", 16);
  1.3400 +pref("font.size.fixed.th", 13);
  1.3401 +pref("font.minimum-size.th", 13);
  1.3402 +
  1.3403 +pref("font.default.tr", "sans-serif");
  1.3404 +pref("font.size.variable.tr", 16);
  1.3405 +pref("font.size.fixed.tr", 12);
  1.3406 +
  1.3407 +pref("font.default.x-baltic", "sans-serif");
  1.3408 +pref("font.size.variable.x-baltic", 16);
  1.3409 +pref("font.size.fixed.x-baltic", 12);
  1.3410 +
  1.3411 +pref("font.default.x-central-euro", "sans-serif");
  1.3412 +pref("font.size.variable.x-central-euro", 16);
  1.3413 +pref("font.size.fixed.x-central-euro", 12);
  1.3414 +
  1.3415 +pref("font.default.x-cyrillic", "sans-serif");
  1.3416 +pref("font.size.variable.x-cyrillic", 16);
  1.3417 +pref("font.size.fixed.x-cyrillic", 12);
  1.3418 +
  1.3419 +pref("font.default.x-unicode", "sans-serif");
  1.3420 +pref("font.size.variable.x-unicode", 16);
  1.3421 +pref("font.size.fixed.x-unicode", 12);
  1.3422 +
  1.3423 +pref("font.default.x-western", "sans-serif");
  1.3424 +pref("font.size.variable.x-western", 16);
  1.3425 +pref("font.size.fixed.x-western", 12);
  1.3426 +
  1.3427 +pref("font.default.zh-CN", "sans-serif");
  1.3428 +pref("font.size.variable.zh-CN", 16);
  1.3429 +pref("font.size.fixed.zh-CN", 16);
  1.3430 +
  1.3431 +pref("font.default.zh-TW", "sans-serif");
  1.3432 +pref("font.size.variable.zh-TW", 16);
  1.3433 +pref("font.size.fixed.zh-TW", 16);
  1.3434 +
  1.3435 +pref("font.default.zh-HK", "sans-serif");
  1.3436 +pref("font.size.variable.zh-HK", 16);
  1.3437 +pref("font.size.fixed.zh-HK", 16);
  1.3438 +
  1.3439 +pref("font.default.x-devanagari", "serif");
  1.3440 +pref("font.size.variable.x-devanagari", 16);
  1.3441 +pref("font.size.fixed.x-devanagari", 13);
  1.3442 +
  1.3443 +pref("font.default.x-tamil", "serif");
  1.3444 +pref("font.size.variable.x-tamil", 16);
  1.3445 +pref("font.size.fixed.x-tamil", 13);
  1.3446 +
  1.3447 +pref("font.default.x-armn", "serif");
  1.3448 +pref("font.size.variable.x-armn", 16);
  1.3449 +pref("font.size.fixed.x-armn", 13);
  1.3450 +
  1.3451 +pref("font.default.x-beng", "serif");
  1.3452 +pref("font.size.variable.x-beng", 16);
  1.3453 +pref("font.size.fixed.x-beng", 13);
  1.3454 +
  1.3455 +pref("font.default.x-cans", "serif");
  1.3456 +pref("font.size.variable.x-cans", 16);
  1.3457 +pref("font.size.fixed.x-cans", 13);
  1.3458 +
  1.3459 +pref("font.default.x-ethi", "serif");
  1.3460 +pref("font.size.variable.x-ethi", 16);
  1.3461 +pref("font.size.fixed.x-ethi", 13);
  1.3462 +
  1.3463 +pref("font.default.x-geor", "serif");
  1.3464 +pref("font.size.variable.x-geor", 16);
  1.3465 +pref("font.size.fixed.x-geor", 13);
  1.3466 +
  1.3467 +pref("font.default.x-gujr", "serif");
  1.3468 +pref("font.size.variable.x-gujr", 16);
  1.3469 +pref("font.size.fixed.x-gujr", 13);
  1.3470 +
  1.3471 +pref("font.default.x-guru", "serif");
  1.3472 +pref("font.size.variable.x-guru", 16);
  1.3473 +pref("font.size.fixed.x-guru", 13);
  1.3474 +
  1.3475 +pref("font.default.x-khmr", "serif");
  1.3476 +pref("font.size.variable.x-khmr", 16);
  1.3477 +pref("font.size.fixed.x-khmr", 13);
  1.3478 +
  1.3479 +pref("font.default.x-mlym", "serif");
  1.3480 +pref("font.size.variable.x-mlym", 16);
  1.3481 +pref("font.size.fixed.x-mlym", 13);
  1.3482 +
  1.3483 +pref("font.default.x-orya", "serif");
  1.3484 +pref("font.size.variable.x-orya", 16);
  1.3485 +pref("font.size.fixed.x-orya", 13);
  1.3486 +
  1.3487 +pref("font.default.x-telu", "serif");
  1.3488 +pref("font.size.variable.x-telu", 16);
  1.3489 +pref("font.size.fixed.x-telu", 13);
  1.3490 +
  1.3491 +pref("font.default.x-knda", "serif");
  1.3492 +pref("font.size.variable.x-knda", 16);
  1.3493 +pref("font.size.fixed.x-knda", 13);
  1.3494 +
  1.3495 +pref("font.default.x-sinh", "serif");
  1.3496 +pref("font.size.variable.x-sinh", 16);
  1.3497 +pref("font.size.fixed.x-sinh", 13);
  1.3498 +
  1.3499 +pref("font.default.x-tibt", "serif");
  1.3500 +pref("font.size.variable.x-tibt", 16);
  1.3501 +pref("font.size.fixed.x-tibt", 13);
  1.3502 +
  1.3503 +# ANDROID || FXOS_SIMUALTOR
  1.3504 +#endif
  1.3505 +
  1.3506 +#ifdef ANDROID
  1.3507 +/* PostScript print module prefs */
  1.3508 +// pref("print.postscript.enabled",      true);
  1.3509 +pref("print.postscript.paper_size",    "letter");
  1.3510 +pref("print.postscript.orientation",   "portrait");
  1.3511 +pref("print.postscript.print_command", "lpr ${MOZ_PRINTER_NAME:+-P\"$MOZ_PRINTER_NAME\"}");
  1.3512 +
  1.3513 +// Setting default_level_parent to true makes the default level for popup
  1.3514 +// windows "top" instead of "parent".  On GTK2 platform, this is implemented
  1.3515 +// with override-redirect windows which is the normal way to implement
  1.3516 +// temporary popup windows.  Setting this to false would make the default
  1.3517 +// level "parent" which is implemented with managed windows.
  1.3518 +// A problem with using managed windows is that metacity sometimes deactivates
  1.3519 +// the parent window when the managed popup is shown.
  1.3520 +pref("ui.panel.default_level_parent", true);
  1.3521 +
  1.3522 +pref("mousewheel.system_scroll_override_on_root_content.enabled", false);
  1.3523 +
  1.3524 +# ANDROID
  1.3525 +#endif
  1.3526 +
  1.3527 +#ifndef ANDROID
  1.3528 +#ifndef XP_MACOSX
  1.3529 +#ifdef XP_UNIX
  1.3530 +// Handled differently under Mac/Windows
  1.3531 +pref("network.protocol-handler.warn-external.file", false);
  1.3532 +pref("browser.drag_out_of_frame_style", 1);
  1.3533 +
  1.3534 +// Middle-mouse handling
  1.3535 +pref("middlemouse.paste", true);
  1.3536 +pref("middlemouse.contentLoadURL", true);
  1.3537 +pref("middlemouse.openNewWindow", true);
  1.3538 +pref("middlemouse.scrollbarPosition", true);
  1.3539 +
  1.3540 +// Clipboard behavior
  1.3541 +pref("clipboard.autocopy", true);
  1.3542 +
  1.3543 +pref("browser.urlbar.clickSelectsAll", false);
  1.3544 +
  1.3545 +// Tab focus model bit field:
  1.3546 +// 1 focuses text controls, 2 focuses other form elements, 4 adds links.
  1.3547 +// Leave this at the default, 7, to match mozilla1.0-era user expectations.
  1.3548 +// pref("accessibility.tabfocus", 1);
  1.3549 +
  1.3550 +// autocomplete keyboard grab workaround
  1.3551 +pref("autocomplete.grab_during_popup", true);
  1.3552 +pref("autocomplete.ungrab_during_mode_switch", true);
  1.3553 +
  1.3554 +// Default to using the system filepicker if possible, but allow
  1.3555 +// toggling to use the XUL filepicker
  1.3556 +pref("ui.allow_platform_file_picker", true);
  1.3557 +
  1.3558 +pref("helpers.global_mime_types_file", "/etc/mime.types");
  1.3559 +pref("helpers.global_mailcap_file", "/etc/mailcap");
  1.3560 +pref("helpers.private_mime_types_file", "~/.mime.types");
  1.3561 +pref("helpers.private_mailcap_file", "~/.mailcap");
  1.3562 +pref("print.print_command", "lpr ${MOZ_PRINTER_NAME:+-P\"$MOZ_PRINTER_NAME\"}");
  1.3563 +pref("print.printer_list", ""); // list of printers, separated by spaces
  1.3564 +pref("print.print_reversed", false);
  1.3565 +pref("print.print_color", true);
  1.3566 +pref("print.print_landscape", false);
  1.3567 +pref("print.print_paper_size", 0);
  1.3568 +
  1.3569 +// print_extra_margin enables platforms to specify an extra gap or margin
  1.3570 +// around the content of the page for Print Preview only
  1.3571 +pref("print.print_extra_margin", 0); // twips
  1.3572 +
  1.3573 +// font names
  1.3574 +
  1.3575 +pref("font.alias-list", "sans,sans-serif,serif,monospace");
  1.3576 +
  1.3577 +// ar
  1.3578 +
  1.3579 +pref("font.name.serif.el", "serif");
  1.3580 +pref("font.name.sans-serif.el", "sans-serif");
  1.3581 +pref("font.name.monospace.el", "monospace");
  1.3582 +
  1.3583 +pref("font.name.serif.he", "serif");
  1.3584 +pref("font.name.sans-serif.he", "sans-serif");
  1.3585 +pref("font.name.monospace.he", "monospace");
  1.3586 +
  1.3587 +pref("font.name.serif.ja", "serif");
  1.3588 +pref("font.name.sans-serif.ja", "sans-serif");
  1.3589 +pref("font.name.monospace.ja", "monospace");
  1.3590 +
  1.3591 +pref("font.name.serif.ko", "serif");
  1.3592 +pref("font.name.sans-serif.ko", "sans-serif");
  1.3593 +pref("font.name.monospace.ko", "monospace");
  1.3594 +
  1.3595 +pref("font.name.serif.th", "serif");
  1.3596 +pref("font.name.sans-serif.th", "sans-serif");
  1.3597 +pref("font.name.monospace.th", "monospace");
  1.3598 +
  1.3599 +pref("font.name.serif.tr", "serif");
  1.3600 +pref("font.name.sans-serif.tr", "sans-serif");
  1.3601 +pref("font.name.monospace.tr", "monospace");
  1.3602 +
  1.3603 +pref("font.name.serif.x-baltic", "serif");
  1.3604 +pref("font.name.sans-serif.x-baltic", "sans-serif");
  1.3605 +pref("font.name.monospace.x-baltic", "monospace");
  1.3606 +
  1.3607 +pref("font.name.serif.x-central-euro", "serif");
  1.3608 +pref("font.name.sans-serif.x-central-euro", "sans-serif");
  1.3609 +pref("font.name.monospace.x-central-euro", "monospace");
  1.3610 +
  1.3611 +pref("font.name.serif.x-cyrillic", "serif");
  1.3612 +pref("font.name.sans-serif.x-cyrillic", "sans-serif");
  1.3613 +pref("font.name.monospace.x-cyrillic", "monospace");
  1.3614 +
  1.3615 +pref("font.name.serif.x-unicode", "serif");
  1.3616 +pref("font.name.sans-serif.x-unicode", "sans-serif");
  1.3617 +pref("font.name.monospace.x-unicode", "monospace");
  1.3618 +
  1.3619 +pref("font.name.serif.x-western", "serif");
  1.3620 +pref("font.name.sans-serif.x-western", "sans-serif");
  1.3621 +pref("font.name.monospace.x-western", "monospace");
  1.3622 +
  1.3623 +pref("font.name.serif.zh-CN", "serif");
  1.3624 +pref("font.name.sans-serif.zh-CN", "sans-serif");
  1.3625 +pref("font.name.monospace.zh-CN", "monospace");
  1.3626 +
  1.3627 +// ming_uni.ttf (HKSCS-2001)
  1.3628 +// http://www.info.gov.hk/digital21/eng/hkscs/download/uime.exe
  1.3629 +pref("font.name.serif.zh-HK", "serif");
  1.3630 +pref("font.name.sans-serif.zh-HK", "sans-serif");
  1.3631 +pref("font.name.monospace.zh-HK", "monospace");
  1.3632 +
  1.3633 +// zh-TW
  1.3634 +
  1.3635 +pref("font.default.ar", "sans-serif");
  1.3636 +pref("font.size.variable.ar", 16);
  1.3637 +pref("font.size.fixed.ar", 12);
  1.3638 +
  1.3639 +pref("font.default.el", "serif");
  1.3640 +pref("font.size.variable.el", 16);
  1.3641 +pref("font.size.fixed.el", 12);
  1.3642 +
  1.3643 +pref("font.default.he", "sans-serif");
  1.3644 +pref("font.size.variable.he", 16);
  1.3645 +pref("font.size.fixed.he", 12);
  1.3646 +
  1.3647 +pref("font.default.ja", "sans-serif");
  1.3648 +pref("font.size.variable.ja", 16);
  1.3649 +pref("font.size.fixed.ja", 16);
  1.3650 +
  1.3651 +pref("font.default.ko", "sans-serif");
  1.3652 +pref("font.size.variable.ko", 16);
  1.3653 +pref("font.size.fixed.ko", 16);
  1.3654 +
  1.3655 +pref("font.default.th", "serif");
  1.3656 +pref("font.size.variable.th", 16);
  1.3657 +pref("font.size.fixed.th", 13);
  1.3658 +pref("font.minimum-size.th", 13);
  1.3659 +
  1.3660 +pref("font.default.tr", "serif");
  1.3661 +pref("font.size.variable.tr", 16);
  1.3662 +pref("font.size.fixed.tr", 12);
  1.3663 +
  1.3664 +pref("font.default.x-baltic", "serif");
  1.3665 +pref("font.size.variable.x-baltic", 16);
  1.3666 +pref("font.size.fixed.x-baltic", 12);
  1.3667 +
  1.3668 +pref("font.default.x-central-euro", "serif");
  1.3669 +pref("font.size.variable.x-central-euro", 16);
  1.3670 +pref("font.size.fixed.x-central-euro", 12);
  1.3671 +
  1.3672 +pref("font.default.x-cyrillic", "serif");
  1.3673 +pref("font.size.variable.x-cyrillic", 16);
  1.3674 +pref("font.size.fixed.x-cyrillic", 12);
  1.3675 +
  1.3676 +pref("font.default.x-unicode", "serif");
  1.3677 +pref("font.size.variable.x-unicode", 16);
  1.3678 +pref("font.size.fixed.x-unicode", 12);
  1.3679 +
  1.3680 +pref("font.default.x-western", "serif");
  1.3681 +pref("font.size.variable.x-western", 16);
  1.3682 +pref("font.size.fixed.x-western", 12);
  1.3683 +
  1.3684 +pref("font.default.zh-CN", "sans-serif");
  1.3685 +pref("font.size.variable.zh-CN", 16);
  1.3686 +pref("font.size.fixed.zh-CN", 16);
  1.3687 +
  1.3688 +pref("font.default.zh-TW", "sans-serif");
  1.3689 +pref("font.size.variable.zh-TW", 16);
  1.3690 +pref("font.size.fixed.zh-TW", 16);
  1.3691 +
  1.3692 +pref("font.default.zh-HK", "sans-serif");
  1.3693 +pref("font.size.variable.zh-HK", 16);
  1.3694 +pref("font.size.fixed.zh-HK", 16);
  1.3695 +
  1.3696 +pref("font.default.x-devanagari", "serif");
  1.3697 +pref("font.size.variable.x-devanagari", 16);
  1.3698 +pref("font.size.fixed.x-devanagari", 13);
  1.3699 +
  1.3700 +pref("font.default.x-tamil", "serif");
  1.3701 +pref("font.size.variable.x-tamil", 16);
  1.3702 +pref("font.size.fixed.x-tamil", 13);
  1.3703 +
  1.3704 +pref("font.default.x-armn", "serif");
  1.3705 +pref("font.size.variable.x-armn", 16);
  1.3706 +pref("font.size.fixed.x-armn", 13);
  1.3707 +
  1.3708 +pref("font.default.x-beng", "serif");
  1.3709 +pref("font.size.variable.x-beng", 16);
  1.3710 +pref("font.size.fixed.x-beng", 13);
  1.3711 +
  1.3712 +pref("font.default.x-cans", "serif");
  1.3713 +pref("font.size.variable.x-cans", 16);
  1.3714 +pref("font.size.fixed.x-cans", 13);
  1.3715 +
  1.3716 +pref("font.default.x-ethi", "serif");
  1.3717 +pref("font.size.variable.x-ethi", 16);
  1.3718 +pref("font.size.fixed.x-ethi", 13);
  1.3719 +
  1.3720 +pref("font.default.x-geor", "serif");
  1.3721 +pref("font.size.variable.x-geor", 16);
  1.3722 +pref("font.size.fixed.x-geor", 13);
  1.3723 +
  1.3724 +pref("font.default.x-gujr", "serif");
  1.3725 +pref("font.size.variable.x-gujr", 16);
  1.3726 +pref("font.size.fixed.x-gujr", 13);
  1.3727 +
  1.3728 +pref("font.default.x-guru", "serif");
  1.3729 +pref("font.size.variable.x-guru", 16);
  1.3730 +pref("font.size.fixed.x-guru", 13);
  1.3731 +
  1.3732 +pref("font.default.x-khmr", "serif");
  1.3733 +pref("font.size.variable.x-khmr", 16);
  1.3734 +pref("font.size.fixed.x-khmr", 13);
  1.3735 +
  1.3736 +pref("font.default.x-mlym", "serif");
  1.3737 +pref("font.size.variable.x-mlym", 16);
  1.3738 +pref("font.size.fixed.x-mlym", 13);
  1.3739 +
  1.3740 +pref("font.default.x-orya", "serif");
  1.3741 +pref("font.size.variable.x-orya", 16);
  1.3742 +pref("font.size.fixed.x-orya", 13);
  1.3743 +
  1.3744 +pref("font.default.x-telu", "serif");
  1.3745 +pref("font.size.variable.x-telu", 16);
  1.3746 +pref("font.size.fixed.x-telu", 13);
  1.3747 +
  1.3748 +pref("font.default.x-knda", "serif");
  1.3749 +pref("font.size.variable.x-knda", 16);
  1.3750 +pref("font.size.fixed.x-knda", 13);
  1.3751 +
  1.3752 +pref("font.default.x-sinh", "serif");
  1.3753 +pref("font.size.variable.x-sinh", 16);
  1.3754 +pref("font.size.fixed.x-sinh", 13);
  1.3755 +
  1.3756 +pref("font.default.x-tibt", "serif");
  1.3757 +pref("font.size.variable.x-tibt", 16);
  1.3758 +pref("font.size.fixed.x-tibt", 13);
  1.3759 +
  1.3760 +/* PostScript print module prefs */
  1.3761 +// pref("print.postscript.enabled",      true);
  1.3762 +pref("print.postscript.paper_size",    "letter");
  1.3763 +pref("print.postscript.orientation",   "portrait");
  1.3764 +pref("print.postscript.print_command", "lpr ${MOZ_PRINTER_NAME:+-P\"$MOZ_PRINTER_NAME\"}");
  1.3765 +
  1.3766 +// On GTK2 platform, we should use topmost window level for the default window
  1.3767 +// level of <panel> element of XUL. GTK2 has only two window types. One is
  1.3768 +// normal top level window, other is popup window. The popup window is always
  1.3769 +// topmost window level, therefore, we are using normal top level window for
  1.3770 +// non-topmost panel, but it is pretty hacky. On some Window Managers, we have
  1.3771 +// 2 problems:
  1.3772 +// 1. The non-topmost panel steals focus from its parent window at showing.
  1.3773 +// 2. The parent of non-topmost panel is not activated when the panel is hidden.
  1.3774 +// So, we have no reasons we should use non-toplevel window for popup.
  1.3775 +pref("ui.panel.default_level_parent", true);
  1.3776 +
  1.3777 +pref("mousewheel.system_scroll_override_on_root_content.enabled", false);
  1.3778 +
  1.3779 +#if MOZ_WIDGET_GTK == 2
  1.3780 +pref("intl.ime.use_simple_context_on_password_field", true);
  1.3781 +#else
  1.3782 +pref("intl.ime.use_simple_context_on_password_field", false);
  1.3783 +#endif
  1.3784 +
  1.3785 +# XP_UNIX
  1.3786 +#endif
  1.3787 +#endif
  1.3788 +#endif
  1.3789 +
  1.3790 +#if OS_ARCH==AIX
  1.3791 +
  1.3792 +// Override default Japanese fonts
  1.3793 +pref("font.name.serif.ja", "dt-interface system-jisx0208.1983-0");
  1.3794 +pref("font.name.sans-serif.ja", "dt-interface system-jisx0208.1983-0");
  1.3795 +pref("font.name.monospace.ja", "dt-interface user-jisx0208.1983-0");
  1.3796 +
  1.3797 +// Override default Cyrillic fonts
  1.3798 +pref("font.name.serif.x-cyrillic", "dt-interface system-iso8859-5");
  1.3799 +pref("font.name.sans-serif.x-cyrillic", "dt-interface system-iso8859-5");
  1.3800 +pref("font.name.monospace.x-cyrillic", "dt-interface user-iso8859-5");
  1.3801 +
  1.3802 +// Override default Unicode fonts
  1.3803 +pref("font.name.serif.x-unicode", "dt-interface system-ucs2.cjk_japan-0");
  1.3804 +pref("font.name.sans-serif.x-unicode", "dt-interface system-ucs2.cjk_japan-0");
  1.3805 +pref("font.name.monospace.x-unicode", "dt-interface user-ucs2.cjk_japan-0");
  1.3806 +
  1.3807 +# AIX
  1.3808 +#endif
  1.3809 +
  1.3810 +#ifdef SOLARIS
  1.3811 +
  1.3812 +pref("print.postscript.print_command", "lp -c -s ${MOZ_PRINTER_NAME:+-d\"$MOZ_PRINTER_NAME\"}");
  1.3813 +pref("print.print_command", "lp -c -s ${MOZ_PRINTER_NAME:+-d\"$MOZ_PRINTER_NAME\"}");
  1.3814 +
  1.3815 +# Solaris
  1.3816 +#endif
  1.3817 +
  1.3818 +// Login Manager prefs
  1.3819 +pref("signon.rememberSignons",              true);
  1.3820 +pref("signon.autofillForms",                true);
  1.3821 +pref("signon.autologin.proxy",              false);
  1.3822 +pref("signon.storeWhenAutocompleteOff",     true);
  1.3823 +pref("signon.debug",                        false);
  1.3824 +
  1.3825 +// Satchel (Form Manager) prefs
  1.3826 +pref("browser.formfill.debug",            false);
  1.3827 +pref("browser.formfill.enable",           true);
  1.3828 +pref("browser.formfill.expire_days",      180);
  1.3829 +pref("browser.formfill.saveHttpsForms",   true);
  1.3830 +pref("browser.formfill.agedWeight",       2);
  1.3831 +pref("browser.formfill.bucketSize",       1);
  1.3832 +pref("browser.formfill.maxTimeGroupings", 25);
  1.3833 +pref("browser.formfill.timeGroupingSize", 604800);
  1.3834 +pref("browser.formfill.boundaryWeight",   25);
  1.3835 +pref("browser.formfill.prefixWeight",     5);
  1.3836 +
  1.3837 +// Zoom prefs
  1.3838 +pref("browser.zoom.full", false);
  1.3839 +pref("zoom.minPercent", 30);
  1.3840 +pref("zoom.maxPercent", 300);
  1.3841 +pref("toolkit.zoomManager.zoomValues", ".3,.5,.67,.8,.9,1,1.1,1.2,1.33,1.5,1.7,2,2.4,3");
  1.3842 +
  1.3843 +/**
  1.3844 + * Specify whether or not the browser should generate a reflow event on zoom.
  1.3845 + * For a pan-and-zoom ui on mobile, it is sometimes desirable for a zoom event
  1.3846 + * to limit the max line box width of text in order to enable easier reading
  1.3847 + * of large amounts of text.
  1.3848 + *
  1.3849 + * If enabled, this will limit the max line box width of all text on a page to
  1.3850 + * the viewport width (also generating a reflow), after a zoom event occurs.
  1.3851 + *
  1.3852 + * By default, this is not enabled.
  1.3853 + */
  1.3854 +pref("browser.zoom.reflowOnZoom", false);
  1.3855 +
  1.3856 +/**
  1.3857 + * Specifies the number of milliseconds to wait after a given reflow-on-zoom
  1.3858 + * operation has completed before allowing another one to be triggered. This
  1.3859 + * is to prevent a buildup of reflow-zoom events.
  1.3860 + */
  1.3861 +pref("browser.zoom.reflowZoom.reflowTimeout", 500);
  1.3862 +
  1.3863 +/**
  1.3864 + * Controls whether or not the reflow-on-zoom behavior happens on page load.
  1.3865 + * This can be enabled in conjunction with the above preference (reflowOnZoom),
  1.3866 + * but has no effect if browser.zoom.reflowOnZoom is disabled.
  1.3867 + *
  1.3868 + * Note that this should be turned off only in cases where debugging of the
  1.3869 + * reflow-on-zoom feature is necessary, and enabling the feature during
  1.3870 + * a page load inhbits this debugging.
  1.3871 + */
  1.3872 +pref("browser.zoom.reflowZoom.reflowTextOnPageLoad", true);
  1.3873 +
  1.3874 +// Image-related prefs
  1.3875 +// The maximum size, in bytes, of the decoded images we cache
  1.3876 +pref("image.cache.size", 5242880);
  1.3877 +// A weight, from 0-1000, to place on time when comparing to size.
  1.3878 +// Size is given a weight of 1000 - timeweight.
  1.3879 +pref("image.cache.timeweight", 500);
  1.3880 +
  1.3881 +// The default Accept header sent for images loaded over HTTP(S)
  1.3882 +pref("image.http.accept", "image/png,image/*;q=0.8,*/*;q=0.5");
  1.3883 +
  1.3884 +// Whether we do high-quality image downscaling. OS X natively supports
  1.3885 +// high-quality image scaling.
  1.3886 +#ifdef XP_MACOSX
  1.3887 +pref("image.high_quality_downscaling.enabled", false);
  1.3888 +#else
  1.3889 +pref("image.high_quality_downscaling.enabled", true);
  1.3890 +#endif
  1.3891 +
  1.3892 +// The minimum percent downscaling we'll use high-quality downscaling on,
  1.3893 +// interpreted as a floating-point number / 1000.
  1.3894 +pref("image.high_quality_downscaling.min_factor", 1000);
  1.3895 +
  1.3896 +// The maximum memory size which we'll use high-quality uspcaling on,
  1.3897 +// interpreted as number of decoded bytes.
  1.3898 +pref("image.high_quality_upscaling.max_size", 20971520);
  1.3899 +
  1.3900 +//
  1.3901 +// Image memory management prefs
  1.3902 +//
  1.3903 +
  1.3904 +// Discards inactive image frames and re-decodes them on demand from
  1.3905 +// compressed data.
  1.3906 +pref("image.mem.discardable", true);
  1.3907 +
  1.3908 +// Prevents images from automatically being decoded on load, instead allowing
  1.3909 +// them to be decoded on demand when they are drawn.
  1.3910 +pref("image.mem.decodeondraw", true);
  1.3911 +
  1.3912 +// Allows image locking of decoded image data in content processes.
  1.3913 +pref("image.mem.allow_locking_in_content_processes", true);
  1.3914 +
  1.3915 +// Minimum timeout for image discarding (in milliseconds). The actual time in
  1.3916 +// which an image must inactive for it to be discarded will vary between this
  1.3917 +// value and twice this value.
  1.3918 +//
  1.3919 +// This used to be 120 seconds, but having it that high causes our working
  1.3920 +// set to grow very large. Switching it back to 10 seconds will hopefully
  1.3921 +// be better.
  1.3922 +pref("image.mem.min_discard_timeout_ms", 10000);
  1.3923 +
  1.3924 +// Chunk size for calls to the image decoders
  1.3925 +pref("image.mem.decode_bytes_at_a_time", 16384);
  1.3926 +
  1.3927 +// The longest time we can spend in an iteration of an async decode
  1.3928 +pref("image.mem.max_ms_before_yield", 5);
  1.3929 +
  1.3930 +// The maximum amount of decoded image data we'll willingly keep around (we
  1.3931 +// might keep around more than this, but we'll try to get down to this value).
  1.3932 +pref("image.mem.max_decoded_image_kb", 51200);
  1.3933 +
  1.3934 +// Hard limit for the amount of decoded image data, 0 means we don't have the
  1.3935 +// hard limit for it.
  1.3936 +pref("image.mem.hard_limit_decoded_image_kb", 0);
  1.3937 +
  1.3938 +// Minimum timeout for expiring unused images from the surface cache, in
  1.3939 +// milliseconds. This controls how long we store cached temporary surfaces.
  1.3940 +pref("image.mem.surfacecache.min_expiration_ms", 60000); // 60ms
  1.3941 +
  1.3942 +// Maximum size for the surface cache, in kilobytes.
  1.3943 +pref("image.mem.surfacecache.max_size_kb", 102400); // 100MB
  1.3944 +
  1.3945 +// The surface cache's size, within the constraints of the maximum size set
  1.3946 +// above, is determined using a formula based on system capabilities like memory
  1.3947 +// size. The size factor is used to tune this formula. Larger size factors
  1.3948 +// result in smaller caches. The default should be a good balance for most
  1.3949 +// systems.
  1.3950 +pref("image.mem.surfacecache.size_factor", 64);
  1.3951 +
  1.3952 +// Whether we decode images on multiple background threads rather than the
  1.3953 +// foreground thread.
  1.3954 +pref("image.multithreaded_decoding.enabled", true);
  1.3955 +
  1.3956 +// How many threads we'll use for multithreaded decoding. If < 0, will be
  1.3957 +// automatically determined based on the system's number of cores.
  1.3958 +pref("image.multithreaded_decoding.limit", -1);
  1.3959 +
  1.3960 +// Limit for the canvas image cache. 0 means we don't limit the size of the
  1.3961 +// cache.
  1.3962 +pref("canvas.image.cache.limit", 0);
  1.3963 +
  1.3964 +// How many images to eagerly decode on a given page. 0 means "no limit".
  1.3965 +pref("image.onload.decode.limit", 0);
  1.3966 +
  1.3967 +// WebGL prefs
  1.3968 +pref("gl.msaa-level", 2);
  1.3969 +pref("webgl.force-enabled", false);
  1.3970 +pref("webgl.disabled", false);
  1.3971 +pref("webgl.shader_validator", true);
  1.3972 +pref("webgl.prefer-native-gl", false);
  1.3973 +pref("webgl.min_capability_mode", false);
  1.3974 +pref("webgl.disable-extensions", false);
  1.3975 +pref("webgl.msaa-force", false);
  1.3976 +pref("webgl.prefer-16bpp", false);
  1.3977 +pref("webgl.default-no-alpha", false);
  1.3978 +pref("webgl.force-layers-readback", false);
  1.3979 +pref("webgl.lose-context-on-heap-minimize", false);
  1.3980 +pref("webgl.can-lose-context-in-foreground", true);
  1.3981 +pref("webgl.max-warnings-per-context", 32);
  1.3982 +pref("webgl.enable-draft-extensions", false);
  1.3983 +pref("webgl.enable-privileged-extensions", false);
  1.3984 +#ifdef MOZ_WIDGET_GONK
  1.3985 +pref("gfx.gralloc.fence-with-readpixels", false);
  1.3986 +#endif
  1.3987 +
  1.3988 +
  1.3989 +// Stagefright prefs
  1.3990 +pref("stagefright.force-enabled", false);
  1.3991 +pref("stagefright.disabled", false);
  1.3992 +
  1.3993 +#ifdef XP_WIN
  1.3994 +// The default TCP send window on Windows is too small, and autotuning only occurs on receive
  1.3995 +pref("network.tcp.sendbuffer", 131072);
  1.3996 +#endif
  1.3997 +// TCP Keepalive
  1.3998 +pref("network.tcp.keepalive.enabled", true);
  1.3999 +// Default idle time before first TCP keepalive probe; same time for interval
  1.4000 +// between successful probes. Can be overridden in socket transport API.
  1.4001 +// Win, Linux and Mac.
  1.4002 +pref("network.tcp.keepalive.idle_time", 600); // seconds; 10 mins
  1.4003 +// Default timeout for retransmission of unack'd keepalive probes.
  1.4004 +// Win and Linux only; not configurable on Mac.
  1.4005 +#if defined(XP_UNIX) && !defined(XP_MACOSX) || defined(XP_WIN)
  1.4006 +pref("network.tcp.keepalive.retry_interval", 1); // seconds
  1.4007 +#endif
  1.4008 +// Default maximum probe retransmissions.
  1.4009 +// Linux only; not configurable on Win and Mac; fixed at 10 and 8 respectively.
  1.4010 +#ifdef XP_UNIX && !defined(XP_MACOSX)
  1.4011 +pref("network.tcp.keepalive.probe_count", 4);
  1.4012 +#endif
  1.4013 +
  1.4014 +// Whether to disable acceleration for all widgets.
  1.4015 +pref("layers.acceleration.disabled", false);
  1.4016 +
  1.4017 +// Whether to force acceleration on, ignoring blacklists.
  1.4018 +#ifdef ANDROID
  1.4019 +// bug 838603 -- on Android, accidentally blacklisting OpenGL layers
  1.4020 +// means a startup crash for everyone.
  1.4021 +pref("layers.acceleration.force-enabled", true);
  1.4022 +#else
  1.4023 +pref("layers.acceleration.force-enabled", false);
  1.4024 +#endif
  1.4025 +
  1.4026 +pref("layers.acceleration.draw-fps", false);
  1.4027 +
  1.4028 +pref("layers.dump", false);
  1.4029 +pref("layers.draw-borders", false);
  1.4030 +pref("layers.draw-tile-borders", false);
  1.4031 +pref("layers.draw-bigimage-borders", false);
  1.4032 +pref("layers.frame-counter", false);
  1.4033 +pref("layers.enable-tiles", false);
  1.4034 +// Max number of layers per container. See Overwrite in mobile prefs.
  1.4035 +pref("layers.max-active", -1);
  1.4036 +// When a layer is moving it will add a scroll graph to measure the smoothness
  1.4037 +// of the movement. NOTE: This pref triggers composites to refresh
  1.4038 +// the graph.
  1.4039 +pref("layers.scroll-graph", false);
  1.4040 +
  1.4041 +// Set the default values, and then override per-platform as needed
  1.4042 +pref("layers.offmainthreadcomposition.enabled", false);
  1.4043 +// Compositor target frame rate. NOTE: If vsync is enabled the compositor
  1.4044 +// frame rate will still be capped.
  1.4045 +// -1 -> default (match layout.frame_rate or 60 FPS)
  1.4046 +// 0  -> full-tilt mode: Recomposite even if not transaction occured.
  1.4047 +pref("layers.offmainthreadcomposition.frame-rate", -1);
  1.4048 +#ifndef XP_WIN
  1.4049 +// Asynchonous video compositing using the ImageBridge IPDL protocol.
  1.4050 +// requires off-main-thread compositing.
  1.4051 +// Never works on Windows, so no point pref'ing it on.
  1.4052 +pref("layers.async-video.enabled",false);
  1.4053 +#endif
  1.4054 +
  1.4055 +#ifdef MOZ_X11
  1.4056 +// OMTC off by default on Linux, but if activated, use new textures and async-video.
  1.4057 +pref("layers.async-video.enabled", true);
  1.4058 +#endif
  1.4059 +
  1.4060 +#ifdef MOZ_WIDGET_QT
  1.4061 +pref("layers.offmainthreadcomposition.enabled", true);
  1.4062 +pref("layers.async-video.enabled",true);
  1.4063 +#endif
  1.4064 +
  1.4065 +#ifdef XP_MACOSX
  1.4066 +pref("layers.offmainthreadcomposition.enabled", true);
  1.4067 +pref("layers.async-video.enabled",true);
  1.4068 +#endif
  1.4069 +
  1.4070 +// ANDROID covers android and b2g
  1.4071 +#ifdef ANDROID
  1.4072 +pref("layers.offmainthreadcomposition.enabled", true);
  1.4073 +pref("layers.async-video.enabled",true);
  1.4074 +#endif
  1.4075 +
  1.4076 +// same effect as layers.offmainthreadcomposition.enabled, but specifically for
  1.4077 +// use with tests.
  1.4078 +pref("layers.offmainthreadcomposition.testing.enabled", false);
  1.4079 +
  1.4080 +// whether to allow use of the basic compositor
  1.4081 +pref("layers.offmainthreadcomposition.force-basic", false);
  1.4082 +
  1.4083 +// Whether to animate simple opacity and transforms on the compositor
  1.4084 +pref("layers.offmainthreadcomposition.async-animations", false);
  1.4085 +
  1.4086 +// Whether to log information about off main thread animations to stderr
  1.4087 +pref("layers.offmainthreadcomposition.log-animations", false);
  1.4088 +
  1.4089 +pref("layers.bufferrotation.enabled", true);
  1.4090 +
  1.4091 +pref("layers.componentalpha.enabled", true);
  1.4092 +
  1.4093 +#ifdef ANDROID
  1.4094 +pref("gfx.apitrace.enabled",false);
  1.4095 +#endif
  1.4096 +
  1.4097 +#ifdef MOZ_X11
  1.4098 +#ifdef MOZ_WIDGET_GTK
  1.4099 +pref("gfx.xrender.enabled",true);
  1.4100 +#endif
  1.4101 +#endif
  1.4102 +
  1.4103 +#ifdef XP_WIN
  1.4104 +// Whether to disable the automatic detection and use of direct2d.
  1.4105 +pref("gfx.direct2d.disabled", false);
  1.4106 +
  1.4107 +// Whether to attempt to enable Direct2D regardless of automatic detection or
  1.4108 +// blacklisting
  1.4109 +pref("gfx.direct2d.force-enabled", false);
  1.4110 +
  1.4111 +pref("layers.prefer-opengl", false);
  1.4112 +pref("layers.prefer-d3d9", false);
  1.4113 +#endif
  1.4114 +
  1.4115 +// Force all possible layers to be always active layers
  1.4116 +pref("layers.force-active", false);
  1.4117 +
  1.4118 +// Enable/Disable the geolocation API for content
  1.4119 +pref("geo.enabled", true);
  1.4120 +
  1.4121 +// Enable/Disable the orientation API for content
  1.4122 +pref("device.sensors.enabled", true);
  1.4123 +
  1.4124 +// Enable/Disable the device storage API for content
  1.4125 +pref("device.storage.enabled", false);
  1.4126 +
  1.4127 +// Toggle which thread the HTML5 parser uses for stream parsing
  1.4128 +pref("html5.offmainthread", true);
  1.4129 +// Time in milliseconds between the time a network buffer is seen and the
  1.4130 +// timer firing when the timer hasn't fired previously in this parse in the
  1.4131 +// off-the-main-thread HTML5 parser.
  1.4132 +pref("html5.flushtimer.initialdelay", 120);
  1.4133 +// Time in milliseconds between the time a network buffer is seen and the
  1.4134 +// timer firing when the timer has already fired previously in this parse.
  1.4135 +pref("html5.flushtimer.subsequentdelay", 120);
  1.4136 +
  1.4137 +// Push/Pop/Replace State prefs
  1.4138 +pref("browser.history.allowPushState", true);
  1.4139 +pref("browser.history.allowReplaceState", true);
  1.4140 +pref("browser.history.allowPopState", true);
  1.4141 +pref("browser.history.maxStateObjectSize", 655360);
  1.4142 +
  1.4143 +// XPInstall prefs
  1.4144 +pref("xpinstall.whitelist.required", true);
  1.4145 +pref("extensions.alwaysUnpack", false);
  1.4146 +pref("extensions.minCompatiblePlatformVersion", "2.0");
  1.4147 +
  1.4148 +pref("network.buffer.cache.count", 24);
  1.4149 +pref("network.buffer.cache.size",  32768);
  1.4150 +
  1.4151 +// Desktop Notification
  1.4152 +pref("notification.feature.enabled", false);
  1.4153 +
  1.4154 +// Web Notification
  1.4155 +pref("dom.webnotifications.enabled", true);
  1.4156 +
  1.4157 +// Alert animation effect, name is disableSlidingEffect for backwards-compat.
  1.4158 +pref("alerts.disableSlidingEffect", false);
  1.4159 +
  1.4160 +// DOM full-screen API.
  1.4161 +pref("full-screen-api.enabled", false);
  1.4162 +pref("full-screen-api.allow-trusted-requests-only", true);
  1.4163 +pref("full-screen-api.content-only", false);
  1.4164 +pref("full-screen-api.pointer-lock.enabled", true);
  1.4165 +
  1.4166 +// DOM idle observers API
  1.4167 +pref("dom.idle-observers-api.enabled", true);
  1.4168 +
  1.4169 +// Time limit, in milliseconds, for EventStateManager::IsHandlingUserInput().
  1.4170 +// Used to detect long running handlers of user-generated events.
  1.4171 +pref("dom.event.handling-user-input-time-limit", 1000);
  1.4172 +
  1.4173 +// Whether we should layerize all animated images (if otherwise possible).
  1.4174 +pref("layout.animated-image-layers.enabled", false);
  1.4175 +
  1.4176 +pref("dom.vibrator.enabled", true);
  1.4177 +pref("dom.vibrator.max_vibrate_ms", 10000);
  1.4178 +pref("dom.vibrator.max_vibrate_list_len", 128);
  1.4179 +
  1.4180 +// Battery API
  1.4181 +pref("dom.battery.enabled", true);
  1.4182 +
  1.4183 +// WebSMS
  1.4184 +pref("dom.sms.enabled", false);
  1.4185 +// Enable Latin characters replacement with corresponding ones in GSM SMS
  1.4186 +// 7-bit default alphabet.
  1.4187 +pref("dom.sms.strict7BitEncoding", false);
  1.4188 +pref("dom.sms.requestStatusReport", true);
  1.4189 +// Numeric default service id for SMS API calls with |serviceId| parameter
  1.4190 +// omitted.
  1.4191 +pref("dom.sms.defaultServiceId", 0);
  1.4192 +
  1.4193 +// WebContacts
  1.4194 +pref("dom.mozContacts.enabled", false);
  1.4195 +pref("dom.navigator-property.disable.mozContacts", true);
  1.4196 +pref("dom.global-constructor.disable.mozContact", true);
  1.4197 +
  1.4198 +// WebAlarms
  1.4199 +pref("dom.mozAlarms.enabled", false);
  1.4200 +
  1.4201 +// SimplePush
  1.4202 +pref("services.push.enabled", false);
  1.4203 +
  1.4204 +// WebNetworkStats
  1.4205 +pref("dom.mozNetworkStats.enabled", false);
  1.4206 +
  1.4207 +// WebSettings
  1.4208 +pref("dom.mozSettings.enabled", false);
  1.4209 +pref("dom.mozPermissionSettings.enabled", false);
  1.4210 +
  1.4211 +// W3C touch events
  1.4212 +// 0 - disabled, 1 - enabled, 2 - autodetect (win)
  1.4213 +#ifdef XP_WIN
  1.4214 +pref("dom.w3c_touch_events.enabled", 2);
  1.4215 +#endif
  1.4216 +
  1.4217 +// W3C draft pointer events
  1.4218 +pref("dom.w3c_pointer_events.enabled", false);
  1.4219 +
  1.4220 +// W3C touch-action css property (related to touch and pointer events)
  1.4221 +pref("layout.css.touch_action.enabled", false);
  1.4222 +
  1.4223 +// enable JS dump() function.
  1.4224 +pref("browser.dom.window.dump.enabled", false);
  1.4225 +
  1.4226 +// SPS Profiler
  1.4227 +pref("profiler.enabled", false);
  1.4228 +pref("profiler.interval", 10);
  1.4229 +pref("profiler.entries", 100000);
  1.4230 +
  1.4231 +#if defined(MOZ_WIDGET_GONK) || defined(MOZ_WIDGET_ANDROID)
  1.4232 +// Network Information API
  1.4233 +pref("dom.netinfo.enabled", true);
  1.4234 +#else
  1.4235 +pref("dom.netinfo.enabled", false);
  1.4236 +#endif
  1.4237 +
  1.4238 +#ifdef XP_WIN
  1.4239 +// On 32-bit Windows, fire a low-memory notification if we have less than this
  1.4240 +// many mb of virtual address space available.
  1.4241 +pref("memory.low_virtual_memory_threshold_mb", 128);
  1.4242 +
  1.4243 +// On Windows 32- or 64-bit, fire a low-memory notification if we have less
  1.4244 +// than this many mb of commit space (physical memory plus page file) left.
  1.4245 +pref("memory.low_commit_space_threshold_mb", 128);
  1.4246 +
  1.4247 +// On Windows 32- or 64-bit, fire a low-memory notification if we have less
  1.4248 +// than this many mb of physical memory available on the whole machine.
  1.4249 +pref("memory.low_physical_memory_threshold_mb", 0);
  1.4250 +
  1.4251 +// On Windows 32- or 64-bit, don't fire a low-memory notification because of
  1.4252 +// low available physical memory or low commit space more than once every
  1.4253 +// low_memory_notification_interval_ms.
  1.4254 +pref("memory.low_memory_notification_interval_ms", 10000);
  1.4255 +#endif
  1.4256 +
  1.4257 +// How long must we wait before declaring that a window is a "ghost" (i.e., a
  1.4258 +// likely leak)?  This should be longer than it usually takes for an eligible
  1.4259 +// window to be collected via the GC/CC.
  1.4260 +pref("memory.ghost_window_timeout_seconds", 60);
  1.4261 +
  1.4262 +// Disable freeing dirty pages when minimizing memory.
  1.4263 +pref("memory.free_dirty_pages", false);
  1.4264 +
  1.4265 +// Disable the Linux-specific, system-wide memory reporter.
  1.4266 +#ifdef XP_LINUX
  1.4267 +pref("memory.system_memory_reporter", false);
  1.4268 +#endif
  1.4269 +
  1.4270 +// Don't dump memory reports on OOM, by default.
  1.4271 +pref("memory.dump_reports_on_oom", false);
  1.4272 +
  1.4273 +// Number of stack frames to capture in createObjectURL for about:memory.
  1.4274 +pref("memory.blob_report.stack_frames", 0);
  1.4275 +
  1.4276 +// comma separated list of domain origins (e.g. https://domain.com) for
  1.4277 +// providers that can install from their own website without user warnings.
  1.4278 +// entries are
  1.4279 +pref("social.whitelist", "https://mozsocial.cliqz.com,https://now.msn.com,https://mixi.jp");
  1.4280 +// comma separated list of domain origins (e.g. https://domain.com) for
  1.4281 +// directory websites (e.g. AMO) that can install providers for other sites
  1.4282 +pref("social.directories", "https://activations.cdn.mozilla.net");
  1.4283 +// remote-install allows any website to activate a provider, with extended UI
  1.4284 +// notifying user of installation. we can later pref off remote install if
  1.4285 +// necessary. This does not affect whitelisted and directory installs.
  1.4286 +pref("social.remote-install.enabled", true);
  1.4287 +pref("social.toast-notifications.enabled", true);
  1.4288 +
  1.4289 +// Disable idle observer fuzz, because only privileged content can access idle
  1.4290 +// observers (bug 780507).
  1.4291 +pref("dom.idle-observers-api.fuzz_time.disabled", true);
  1.4292 +
  1.4293 +// Lowest localId for apps.
  1.4294 +pref("dom.mozApps.maxLocalId", 1000);
  1.4295 +
  1.4296 +// XXX Security: You CANNOT safely add a new app store for
  1.4297 +// installing privileged apps just by modifying this pref and
  1.4298 +// adding the signing cert for that store to the cert trust
  1.4299 +// database. *Any* origin listed can install apps signed with
  1.4300 +// *any* certificate trusted; we don't try to maintain a strong
  1.4301 +// association between certificate with installOrign. The
  1.4302 +// expectation here is that in production builds the pref will
  1.4303 +// contain exactly one origin. However, in custom development
  1.4304 +// builds it may contain more than one origin so we can test
  1.4305 +// different stages (dev, staging, prod) of the same app store.
  1.4306 +pref("dom.mozApps.signed_apps_installable_from", "https://marketplace.firefox.com");
  1.4307 +
  1.4308 +// Minimum delay in milliseconds between network activity notifications (0 means
  1.4309 +// no notifications). The delay is the same for both download and upload, though
  1.4310 +// they are handled separately. This pref is only read once at startup:
  1.4311 +// a restart is required to enable a new value.
  1.4312 +pref("network.activity.blipIntervalMilliseconds", 0);
  1.4313 +
  1.4314 +// If true, reuse the same global for everything loaded by the component loader
  1.4315 +// (JS components, JSMs, etc).  This saves memory, but makes it possible for
  1.4316 +// the scripts to interfere with each other.  A restart is required for this
  1.4317 +// to take effect.
  1.4318 +pref("jsloader.reuseGlobal", false);
  1.4319 +
  1.4320 +// When we're asked to take a screenshot, don't wait more than 2000ms for the
  1.4321 +// event loop to become idle before actually taking the screenshot.
  1.4322 +pref("dom.browserElement.maxScreenshotDelayMS", 2000);
  1.4323 +
  1.4324 +// Whether we should show the placeholder when the element is focused but empty.
  1.4325 +pref("dom.placeholder.show_on_focus", true);
  1.4326 +
  1.4327 +// MMS UA Profile settings
  1.4328 +pref("wap.UAProf.url", "");
  1.4329 +pref("wap.UAProf.tagname", "x-wap-profile");
  1.4330 +
  1.4331 +// MMS version 1.1 = 0x11 (or decimal 17)
  1.4332 +// MMS version 1.3 = 0x13 (or decimal 19)
  1.4333 +// @see OMA-TS-MMS_ENC-V1_3-20110913-A clause 7.3.34
  1.4334 +pref("dom.mms.version", 19);
  1.4335 +
  1.4336 +pref("dom.mms.requestStatusReport", true);
  1.4337 +
  1.4338 +// Retrieval mode for MMS
  1.4339 +// manual: Manual retrieval mode.
  1.4340 +// automatic: Automatic retrieval mode even in roaming.
  1.4341 +// automatic-home: Automatic retrieval mode in home network.
  1.4342 +// never: Never retrieval mode.
  1.4343 +pref("dom.mms.retrieval_mode", "manual");
  1.4344 +
  1.4345 +pref("dom.mms.sendRetryCount", 3);
  1.4346 +pref("dom.mms.sendRetryInterval", 300000);
  1.4347 +
  1.4348 +pref("dom.mms.retrievalRetryCount", 4);
  1.4349 +pref("dom.mms.retrievalRetryIntervals", "60000,300000,600000,1800000");
  1.4350 +// Numeric default service id for MMS API calls with |serviceId| parameter
  1.4351 +// omitted.
  1.4352 +pref("dom.mms.defaultServiceId", 0);
  1.4353 +// Debug enabler for MMS.
  1.4354 +pref("mms.debugging.enabled", false);
  1.4355 +
  1.4356 +// Request read report while sending MMS.
  1.4357 +pref("dom.mms.requestReadReport", true);
  1.4358 +
  1.4359 +// Number of RadioInterface instances to create.
  1.4360 +pref("ril.numRadioInterfaces", 0);
  1.4361 +
  1.4362 +// If the user puts a finger down on an element and we think the user
  1.4363 +// might be executing a pan gesture, how long do we wait before
  1.4364 +// tentatively deciding the gesture is actually a tap and activating
  1.4365 +// the target element?
  1.4366 +pref("ui.touch_activation.delay_ms", 100);
  1.4367 +
  1.4368 +// If the user has clicked an element, how long do we keep the
  1.4369 +// :active state before it is cleared by the mouse sequences
  1.4370 +// fired after a touchstart/touchend.
  1.4371 +pref("ui.touch_activation.duration_ms", 10);
  1.4372 +
  1.4373 +// nsMemoryInfoDumper can watch a fifo in the temp directory and take various
  1.4374 +// actions when the fifo is written to.  Disable this in general.
  1.4375 +pref("memory_info_dumper.watch_fifo.enabled", false);
  1.4376 +
  1.4377 +#ifdef MOZ_CAPTIVEDETECT
  1.4378 +pref("captivedetect.maxWaitingTime", 5000);
  1.4379 +pref("captivedetect.pollingTime", 3000);
  1.4380 +pref("captivedetect.maxRetryCount", 5);
  1.4381 +#endif
  1.4382 +
  1.4383 +#ifdef RELEASE_BUILD
  1.4384 +pref("dom.forms.inputmode", false);
  1.4385 +#else
  1.4386 +pref("dom.forms.inputmode", true);
  1.4387 +#endif
  1.4388 +
  1.4389 +// InputMethods for soft keyboards in B2G
  1.4390 +pref("dom.mozInputMethod.enabled", false);
  1.4391 +
  1.4392 +// DataStore is disabled by default
  1.4393 +pref("dom.datastore.enabled", false);
  1.4394 +
  1.4395 +// Telephony API
  1.4396 +#ifdef MOZ_B2G_RIL
  1.4397 +pref("dom.telephony.enabled", true);
  1.4398 +#else
  1.4399 +pref("dom.telephony.enabled", false);
  1.4400 +#endif
  1.4401 +// Numeric default service id for WebTelephony API calls with |serviceId|
  1.4402 +// parameter omitted.
  1.4403 +pref("dom.telephony.defaultServiceId", 0);
  1.4404 +
  1.4405 +// Cell Broadcast API
  1.4406 +#ifdef MOZ_B2G_RIL
  1.4407 +pref("dom.cellbroadcast.enabled", true);
  1.4408 +#else
  1.4409 +pref("dom.cellbroadcast.enabled", false);
  1.4410 +#endif
  1.4411 +
  1.4412 +// ICC API
  1.4413 +#ifdef MOZ_B2G_RIL
  1.4414 +pref("dom.icc.enabled", true);
  1.4415 +#else
  1.4416 +pref("dom.icc.enabled", false);
  1.4417 +#endif
  1.4418 +
  1.4419 +// Mobile Connection API
  1.4420 +#ifdef MOZ_B2G_RIL
  1.4421 +pref("dom.mobileconnection.enabled", true);
  1.4422 +#else
  1.4423 +pref("dom.mobileconnection.enabled", false);
  1.4424 +#endif
  1.4425 +
  1.4426 +// Voice Mail API
  1.4427 +#ifdef MOZ_B2G_RIL
  1.4428 +pref("dom.voicemail.enabled", true);
  1.4429 +#else
  1.4430 +pref("dom.voicemail.enabled", false);
  1.4431 +#endif
  1.4432 +// Numeric default service id for Voice Mail API calls with |serviceId|
  1.4433 +// parameter omitted.
  1.4434 +pref("dom.voicemail.defaultServiceId", 0);
  1.4435 +
  1.4436 +// DOM Inter-App Communication API.
  1.4437 +pref("dom.inter-app-communication-api.enabled", false);
  1.4438 +
  1.4439 +// The tables used for Safebrowsing phishing and malware checks.
  1.4440 +pref("urlclassifier.malware_table", "goog-malware-shavar,test-malware-simple");
  1.4441 +pref("urlclassifier.phish_table", "goog-phish-shavar,test-phish-simple");
  1.4442 +pref("urlclassifier.downloadBlockTable", "");
  1.4443 +pref("urlclassifier.downloadAllowTable", "");
  1.4444 +pref("urlclassifier.disallow_completions", "test-malware-simple,test-phish-simple,goog-downloadwhite-digest256");
  1.4445 +
  1.4446 +// Turn off Spatial navigation by default.
  1.4447 +pref("snav.enabled", false);
  1.4448 +
  1.4449 +// Wakelock is disabled by default.
  1.4450 +pref("dom.wakelock.enabled", false);
  1.4451 +
  1.4452 +// The URL of the Firefox Accounts auth server backend
  1.4453 +pref("identity.fxaccounts.auth.uri", "https://api.accounts.firefox.com/v1");
  1.4454 +
  1.4455 +// disable mozsample size for now
  1.4456 +pref("image.mozsamplesize.enabled", false);
  1.4457 +
  1.4458 +// Enable navigator.sendBeacon on all platforms except b2g because it doesn't
  1.4459 +// play nicely with Firefox OS apps yet.
  1.4460 +#ifndef MOZ_WIDGET_GONK
  1.4461 +pref("beacon.enabled", true);
  1.4462 +#endif
  1.4463 +
  1.4464 +// Camera prefs
  1.4465 +pref("camera.control.autofocus_moving_callback.enabled", false);
  1.4466 +pref("camera.control.face_detection.enabled", false);

mercurial