mobile/android/app/mobile.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/mobile/android/app/mobile.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,857 @@
     1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public
     1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this
     1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     1.7 +
     1.8 +#filter substitution
     1.9 +
    1.10 +// For browser.xml binding
    1.11 +//
    1.12 +// cacheRatio* is a ratio that determines the amount of pixels to cache. The
    1.13 +// ratio is multiplied by the viewport width or height to get the displayport's
    1.14 +// width or height, respectively.
    1.15 +//
    1.16 +// (divide integer value by 1000 to get the ratio)
    1.17 +//
    1.18 +// For instance: cachePercentageWidth is 1500
    1.19 +//               viewport height is 500
    1.20 +//               => display port height will be 500 * 1.5 = 750
    1.21 +//
    1.22 +pref("toolkit.browser.cacheRatioWidth", 2000);
    1.23 +pref("toolkit.browser.cacheRatioHeight", 3000);
    1.24 +
    1.25 +// How long before a content view (a handle to a remote scrollable object)
    1.26 +// expires.
    1.27 +pref("toolkit.browser.contentViewExpire", 3000);
    1.28 +
    1.29 +pref("toolkit.defaultChromeURI", "chrome://browser/content/browser.xul");
    1.30 +pref("browser.chromeURL", "chrome://browser/content/");
    1.31 +
    1.32 +pref("browser.tabs.remote", false);
    1.33 +
    1.34 +// If a tab has not been active for this long (seconds), then it may be
    1.35 +// turned into a zombie tab to preemptively free up memory. -1 disables time-based
    1.36 +// expiration (but low-memory conditions may still require the tab to be zombified).
    1.37 +pref("browser.tabs.expireTime", 900);
    1.38 +
    1.39 +// From libpref/src/init/all.js, extended to allow a slightly wider zoom range.
    1.40 +pref("zoom.minPercent", 20);
    1.41 +pref("zoom.maxPercent", 400);
    1.42 +pref("toolkit.zoomManager.zoomValues", ".2,.3,.5,.67,.8,.9,1,1.1,1.2,1.33,1.5,1.7,2,2.4,3,4");
    1.43 +
    1.44 +// Mobile will use faster, less durable mode.
    1.45 +pref("toolkit.storage.synchronous", 0);
    1.46 +
    1.47 +pref("browser.viewport.desktopWidth", 980);
    1.48 +// The default fallback zoom level to render pages at. Set to -1 to fit page; otherwise
    1.49 +// the value is divided by 1000 and clamped to hard-coded min/max scale values.
    1.50 +pref("browser.viewport.defaultZoom", -1);
    1.51 +
    1.52 +/* allow scrollbars to float above chrome ui */
    1.53 +pref("ui.scrollbarsCanOverlapContent", 1);
    1.54 +
    1.55 +/* cache prefs */
    1.56 +pref("browser.cache.disk.enable", true);
    1.57 +pref("browser.cache.disk.capacity", 20480); // kilobytes
    1.58 +pref("browser.cache.disk.max_entry_size", 4096); // kilobytes
    1.59 +pref("browser.cache.disk.smart_size.enabled", true);
    1.60 +pref("browser.cache.disk.smart_size.first_run", true);
    1.61 +
    1.62 +#ifdef MOZ_PKG_SPECIAL
    1.63 +// low memory devices
    1.64 +pref("browser.cache.memory.enable", false);
    1.65 +#else
    1.66 +pref("browser.cache.memory.enable", true);
    1.67 +#endif
    1.68 +pref("browser.cache.memory.capacity", 1024); // kilobytes
    1.69 +
    1.70 +pref("browser.cache.memory_limit", 5120); // 5 MB
    1.71 +
    1.72 +/* image cache prefs */
    1.73 +pref("image.cache.size", 1048576); // bytes
    1.74 +pref("image.high_quality_downscaling.enabled", false);
    1.75 +
    1.76 +/* offline cache prefs */
    1.77 +pref("browser.offline-apps.notify", true);
    1.78 +pref("browser.cache.offline.enable", true);
    1.79 +pref("browser.cache.offline.capacity", 5120); // kilobytes
    1.80 +pref("offline-apps.quota.warn", 1024); // kilobytes
    1.81 +
    1.82 +// cache compression turned off for now - see bug #715198
    1.83 +pref("browser.cache.compression_level", 0);
    1.84 +
    1.85 +/* disable some protocol warnings */
    1.86 +pref("network.protocol-handler.warn-external.tel", false);
    1.87 +pref("network.protocol-handler.warn-external.sms", false);
    1.88 +pref("network.protocol-handler.warn-external.mailto", false);
    1.89 +pref("network.protocol-handler.warn-external.vnd.youtube", false);
    1.90 +
    1.91 +/* http prefs */
    1.92 +pref("network.http.pipelining", true);
    1.93 +pref("network.http.pipelining.ssl", true);
    1.94 +pref("network.http.proxy.pipelining", true);
    1.95 +pref("network.http.pipelining.maxrequests" , 6);
    1.96 +pref("network.http.keep-alive.timeout", 600);
    1.97 +pref("network.http.max-connections", 20);
    1.98 +pref("network.http.max-persistent-connections-per-server", 6);
    1.99 +pref("network.http.max-persistent-connections-per-proxy", 20);
   1.100 +
   1.101 +// spdy
   1.102 +pref("network.http.spdy.push-allowance", 32768);
   1.103 +
   1.104 +// See bug 545869 for details on why these are set the way they are
   1.105 +pref("network.buffer.cache.count", 24);
   1.106 +pref("network.buffer.cache.size",  16384);
   1.107 +
   1.108 +// predictive actions
   1.109 +pref("network.seer.enabled", false);
   1.110 +pref("network.seer.max-db-size", 2097152); // bytes
   1.111 +pref("network.seer.preserve", 50); // percentage of seer data to keep when cleaning up
   1.112 +
   1.113 +/* history max results display */
   1.114 +pref("browser.display.history.maxresults", 100);
   1.115 +
   1.116 +/* How many times should have passed before the remote tabs list is refreshed */
   1.117 +pref("browser.display.remotetabs.timeout", 10);
   1.118 +
   1.119 +/* session history */
   1.120 +pref("browser.sessionhistory.max_total_viewers", 1);
   1.121 +pref("browser.sessionhistory.max_entries", 50);
   1.122 +
   1.123 +/* session store */
   1.124 +pref("browser.sessionstore.resume_session_once", false);
   1.125 +pref("browser.sessionstore.resume_from_crash", true);
   1.126 +pref("browser.sessionstore.interval", 10000); // milliseconds
   1.127 +pref("browser.sessionstore.max_tabs_undo", 1);
   1.128 +pref("browser.sessionstore.max_resumed_crashes", 1);
   1.129 +pref("browser.sessionstore.recent_crashes", 0);
   1.130 +
   1.131 +/* these should help performance */
   1.132 +pref("mozilla.widget.force-24bpp", true);
   1.133 +pref("mozilla.widget.use-buffer-pixmap", true);
   1.134 +pref("mozilla.widget.disable-native-theme", true);
   1.135 +pref("layout.reflow.synthMouseMove", false);
   1.136 +pref("layout.css.report_errors", false);
   1.137 +
   1.138 +/* download manager (don't show the window or alert) */
   1.139 +pref("browser.download.useDownloadDir", true);
   1.140 +pref("browser.download.folderList", 1); // Default to ~/Downloads
   1.141 +pref("browser.download.manager.showAlertOnComplete", false);
   1.142 +pref("browser.download.manager.showAlertInterval", 2000);
   1.143 +pref("browser.download.manager.retention", 2);
   1.144 +pref("browser.download.manager.showWhenStarting", false);
   1.145 +pref("browser.download.manager.closeWhenDone", true);
   1.146 +pref("browser.download.manager.openDelay", 0);
   1.147 +pref("browser.download.manager.focusWhenStarting", false);
   1.148 +pref("browser.download.manager.flashCount", 2);
   1.149 +pref("browser.download.manager.displayedHistoryDays", 7);
   1.150 +
   1.151 +/* download helper */
   1.152 +pref("browser.helperApps.deleteTempFileOnExit", false);
   1.153 +
   1.154 +/* password manager */
   1.155 +pref("signon.rememberSignons", true);
   1.156 +pref("signon.expireMasterPassword", false);
   1.157 +pref("signon.debug", false);
   1.158 +
   1.159 +/* form helper (scroll to and optionally zoom into editable fields)  */
   1.160 +pref("formhelper.mode", 2);  // 0 = disabled, 1 = enabled, 2 = dynamic depending on screen size
   1.161 +pref("formhelper.autozoom", true);
   1.162 +
   1.163 +/* find helper */
   1.164 +pref("findhelper.autozoom", true);
   1.165 +
   1.166 +/* autocomplete */
   1.167 +pref("browser.formfill.enable", true);
   1.168 +
   1.169 +/* spellcheck */
   1.170 +pref("layout.spellcheckDefault", 0);
   1.171 +
   1.172 +/* new html5 forms */
   1.173 +pref("dom.experimental_forms", true);
   1.174 +pref("dom.forms.number", true);
   1.175 +
   1.176 +/* extension manager and xpinstall */
   1.177 +pref("xpinstall.whitelist.directRequest", false);
   1.178 +pref("xpinstall.whitelist.fileRequest", false);
   1.179 +pref("xpinstall.whitelist.add", "addons.mozilla.org");
   1.180 +pref("xpinstall.whitelist.add.180", "marketplace.firefox.com");
   1.181 +
   1.182 +pref("extensions.enabledScopes", 1);
   1.183 +pref("extensions.autoupdate.enabled", true);
   1.184 +pref("extensions.autoupdate.interval", 86400);
   1.185 +pref("extensions.update.enabled", false);
   1.186 +pref("extensions.update.interval", 86400);
   1.187 +pref("extensions.dss.enabled", false);
   1.188 +pref("extensions.dss.switchPending", false);
   1.189 +pref("extensions.ignoreMTimeChanges", false);
   1.190 +pref("extensions.logging.enabled", false);
   1.191 +pref("extensions.hideInstallButton", true);
   1.192 +pref("extensions.showMismatchUI", false);
   1.193 +pref("extensions.hideUpdateButton", false);
   1.194 +pref("extensions.strictCompatibility", false);
   1.195 +pref("extensions.minCompatibleAppVersion", "11.0");
   1.196 +
   1.197 +pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
   1.198 +pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
   1.199 +
   1.200 +/* preferences for the Get Add-ons pane */
   1.201 +pref("extensions.getAddons.cache.enabled", true);
   1.202 +pref("extensions.getAddons.maxResults", 15);
   1.203 +pref("extensions.getAddons.recommended.browseURL", "https://addons.mozilla.org/%LOCALE%/android/recommended/");
   1.204 +pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/android/api/%API_VERSION%/list/featured/all/%MAX_RESULTS%/%OS%/%VERSION%");
   1.205 +pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/android/search?q=%TERMS%&platform=%OS%&appver=%VERSION%");
   1.206 +pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/android/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%");
   1.207 +pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/android/");
   1.208 +pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/android/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%");
   1.209 +pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/android/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
   1.210 +
   1.211 +/* preference for the locale picker */
   1.212 +pref("extensions.getLocales.get.url", "");
   1.213 +pref("extensions.compatability.locales.buildid", "0");
   1.214 +
   1.215 +/* blocklist preferences */
   1.216 +pref("extensions.blocklist.enabled", true);
   1.217 +pref("extensions.blocklist.interval", 86400);
   1.218 +pref("extensions.blocklist.url", "https://addons.mozilla.org/blocklist/3/%APP_ID%/%APP_VERSION%/%PRODUCT%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/%PING_COUNT%/%TOTAL_PING_COUNT%/%DAYS_SINCE_LAST_PING%/");
   1.219 +pref("extensions.blocklist.detailsURL", "https://www.mozilla.com/%LOCALE%/blocklist/");
   1.220 +
   1.221 +/* block popups by default, and notify the user about blocked popups */
   1.222 +pref("dom.disable_open_during_load", true);
   1.223 +pref("privacy.popups.showBrowserMessage", true);
   1.224 +
   1.225 +/* disable opening windows with the dialog feature */
   1.226 +pref("dom.disable_window_open_dialog_feature", true);
   1.227 +pref("dom.disable_window_showModalDialog", true);
   1.228 +pref("dom.disable_window_print", true);
   1.229 +pref("dom.disable_window_find", true);
   1.230 +
   1.231 +pref("keyword.enabled", true);
   1.232 +
   1.233 +pref("accessibility.typeaheadfind", false);
   1.234 +pref("accessibility.typeaheadfind.timeout", 5000);
   1.235 +pref("accessibility.typeaheadfind.flashBar", 1);
   1.236 +pref("accessibility.typeaheadfind.linksonly", false);
   1.237 +pref("accessibility.typeaheadfind.casesensitive", 0);
   1.238 +pref("accessibility.browsewithcaret_shortcut.enabled", false);
   1.239 +
   1.240 +// Whether the character encoding menu is under the main Firefox button. This
   1.241 +// preference is a string so that localizers can alter it.
   1.242 +pref("browser.menu.showCharacterEncoding", "chrome://browser/locale/browser.properties");
   1.243 +
   1.244 +// pointer to the default engine name
   1.245 +pref("browser.search.defaultenginename", "chrome://browser/locale/region.properties");
   1.246 +// maximum number of search suggestions, as a string because the search service expects a string pref
   1.247 +pref("browser.search.param.maxSuggestions", "4");
   1.248 +// SSL error page behaviour
   1.249 +pref("browser.ssl_override_behavior", 2);
   1.250 +pref("browser.xul.error_pages.expert_bad_cert", false);
   1.251 +
   1.252 +// disable logging for the search service by default
   1.253 +pref("browser.search.log", false);
   1.254 +
   1.255 +// ordering of search engines in the engine list.
   1.256 +pref("browser.search.order.1", "chrome://browser/locale/region.properties");
   1.257 +pref("browser.search.order.2", "chrome://browser/locale/region.properties");
   1.258 +pref("browser.search.order.3", "chrome://browser/locale/region.properties");
   1.259 +
   1.260 +// disable updating
   1.261 +pref("browser.search.update", false);
   1.262 +pref("browser.search.update.log", false);
   1.263 +pref("browser.search.updateinterval", 6);
   1.264 +
   1.265 +// disable search suggestions by default
   1.266 +pref("browser.search.suggest.enabled", false);
   1.267 +pref("browser.search.suggest.prompted", false);
   1.268 +
   1.269 +// Tell the search service to load search plugins from the locale JAR
   1.270 +pref("browser.search.loadFromJars", true);
   1.271 +pref("browser.search.jarURIs", "chrome://browser/locale/searchplugins/");
   1.272 +
   1.273 +// tell the search service that we don't really expose the "current engine"
   1.274 +pref("browser.search.noCurrentEngine", true);
   1.275 +
   1.276 +#ifdef MOZ_OFFICIAL_BRANDING
   1.277 +// {moz:official} expands to "official"
   1.278 +pref("browser.search.official", true);
   1.279 +#endif
   1.280 +
   1.281 +// Control media casting feature
   1.282 +pref("browser.casting.enabled", false);
   1.283 +
   1.284 +// Enable sparse localization by setting a few package locale overrides
   1.285 +pref("chrome.override_package.global", "browser");
   1.286 +pref("chrome.override_package.mozapps", "browser");
   1.287 +pref("chrome.override_package.passwordmgr", "browser");
   1.288 +
   1.289 +// enable xul error pages
   1.290 +pref("browser.xul.error_pages.enabled", true);
   1.291 +
   1.292 +// Specify emptyRestriction = 0 so that bookmarks appear in the list by default
   1.293 +pref("browser.urlbar.default.behavior", 0);
   1.294 +pref("browser.urlbar.default.behavior.emptyRestriction", 0);
   1.295 +
   1.296 +// Let the faviconservice know that we display favicons as 32x32px so that it
   1.297 +// uses the right size when optimizing favicons
   1.298 +pref("places.favicons.optimizeToDimension", 32);
   1.299 +
   1.300 +// various and sundry awesomebar prefs (should remove/re-evaluate
   1.301 +// these once bug 447900 is fixed)
   1.302 +pref("browser.urlbar.clickSelectsAll", true);
   1.303 +pref("browser.urlbar.doubleClickSelectsAll", true);
   1.304 +pref("browser.urlbar.autoFill", false);
   1.305 +pref("browser.urlbar.matchOnlyTyped", false);
   1.306 +pref("browser.urlbar.matchBehavior", 1);
   1.307 +pref("browser.urlbar.filter.javascript", true);
   1.308 +pref("browser.urlbar.maxRichResults", 24); // increased so we see more results when portrait
   1.309 +pref("browser.urlbar.search.chunkSize", 1000);
   1.310 +pref("browser.urlbar.search.timeout", 100);
   1.311 +pref("browser.urlbar.restrict.history", "^");
   1.312 +pref("browser.urlbar.restrict.bookmark", "*");
   1.313 +pref("browser.urlbar.restrict.tag", "+");
   1.314 +pref("browser.urlbar.match.title", "#");
   1.315 +pref("browser.urlbar.match.url", "@");
   1.316 +pref("browser.urlbar.autocomplete.search_threshold", 5);
   1.317 +pref("browser.history.grouping", "day");
   1.318 +pref("browser.history.showSessions", false);
   1.319 +pref("browser.sessionhistory.max_entries", 50);
   1.320 +pref("browser.history_expire_sites", 40000);
   1.321 +pref("browser.places.migratePostDataAnnotations", true);
   1.322 +pref("browser.places.updateRecentTagsUri", true);
   1.323 +pref("places.frecency.numVisits", 10);
   1.324 +pref("places.frecency.numCalcOnIdle", 50);
   1.325 +pref("places.frecency.numCalcOnMigrate", 50);
   1.326 +pref("places.frecency.updateIdleTime", 60000);
   1.327 +pref("places.frecency.firstBucketCutoff", 4);
   1.328 +pref("places.frecency.secondBucketCutoff", 14);
   1.329 +pref("places.frecency.thirdBucketCutoff", 31);
   1.330 +pref("places.frecency.fourthBucketCutoff", 90);
   1.331 +pref("places.frecency.firstBucketWeight", 100);
   1.332 +pref("places.frecency.secondBucketWeight", 70);
   1.333 +pref("places.frecency.thirdBucketWeight", 50);
   1.334 +pref("places.frecency.fourthBucketWeight", 30);
   1.335 +pref("places.frecency.defaultBucketWeight", 10);
   1.336 +pref("places.frecency.embedVisitBonus", 0);
   1.337 +pref("places.frecency.linkVisitBonus", 100);
   1.338 +pref("places.frecency.typedVisitBonus", 2000);
   1.339 +pref("places.frecency.bookmarkVisitBonus", 150);
   1.340 +pref("places.frecency.downloadVisitBonus", 0);
   1.341 +pref("places.frecency.permRedirectVisitBonus", 0);
   1.342 +pref("places.frecency.tempRedirectVisitBonus", 0);
   1.343 +pref("places.frecency.defaultVisitBonus", 0);
   1.344 +pref("places.frecency.unvisitedBookmarkBonus", 140);
   1.345 +pref("places.frecency.unvisitedTypedBonus", 200);
   1.346 +
   1.347 +// disable color management
   1.348 +pref("gfx.color_management.mode", 0);
   1.349 +
   1.350 +// 0=fixed margin, 1=velocity bias, 2=dynamic resolution, 3=no margins, 4=prediction bias
   1.351 +pref("gfx.displayport.strategy", 1);
   1.352 +
   1.353 +// all of the following displayport strategy prefs will be divided by 1000
   1.354 +// to obtain some multiplier which is then used in the strategy.
   1.355 +// fixed margin strategy options
   1.356 +pref("gfx.displayport.strategy_fm.multiplier", -1); // displayport dimension multiplier
   1.357 +pref("gfx.displayport.strategy_fm.danger_x", -1); // danger zone on x-axis when multiplied by viewport width
   1.358 +pref("gfx.displayport.strategy_fm.danger_y", -1); // danger zone on y-axis when multiplied by viewport height
   1.359 +
   1.360 +// velocity bias strategy options
   1.361 +pref("gfx.displayport.strategy_vb.multiplier", -1); // displayport dimension multiplier
   1.362 +pref("gfx.displayport.strategy_vb.threshold", -1); // velocity threshold in inches/frame
   1.363 +pref("gfx.displayport.strategy_vb.reverse_buffer", -1); // fraction of buffer to keep in reverse direction from scroll
   1.364 +pref("gfx.displayport.strategy_vb.danger_x_base", -1); // danger zone on x-axis when multiplied by viewport width
   1.365 +pref("gfx.displayport.strategy_vb.danger_y_base", -1); // danger zone on y-axis when multiplied by viewport height
   1.366 +pref("gfx.displayport.strategy_vb.danger_x_incr", -1); // additional danger zone on x-axis when multiplied by viewport width and velocity
   1.367 +pref("gfx.displayport.strategy_vb.danger_y_incr", -1); // additional danger zone on y-axis when multiplied by viewport height and velocity
   1.368 +
   1.369 +// prediction bias strategy options
   1.370 +pref("gfx.displayport.strategy_pb.threshold", -1); // velocity threshold in inches/frame
   1.371 +
   1.372 +// Allow 24-bit colour when the hardware supports it
   1.373 +pref("gfx.android.rgb16.force", false);
   1.374 +
   1.375 +// don't allow JS to move and resize existing windows
   1.376 +pref("dom.disable_window_move_resize", true);
   1.377 +
   1.378 +// prevent click image resizing for nsImageDocument
   1.379 +pref("browser.enable_click_image_resizing", false);
   1.380 +
   1.381 +// open in tab preferences
   1.382 +// 0=default window, 1=current window/tab, 2=new window, 3=new tab in most window
   1.383 +pref("browser.link.open_external", 3);
   1.384 +pref("browser.link.open_newwindow", 3);
   1.385 +// 0=force all new windows to tabs, 1=don't force, 2=only force those with no features set
   1.386 +pref("browser.link.open_newwindow.restriction", 0);
   1.387 +
   1.388 +// controls which bits of private data to clear. by default we clear them all.
   1.389 +pref("privacy.item.cache", true);
   1.390 +pref("privacy.item.cookies", true);
   1.391 +pref("privacy.item.offlineApps", true);
   1.392 +pref("privacy.item.history", true);
   1.393 +pref("privacy.item.formdata", true);
   1.394 +pref("privacy.item.downloads", true);
   1.395 +pref("privacy.item.passwords", true);
   1.396 +pref("privacy.item.sessions", true);
   1.397 +pref("privacy.item.geolocation", true);
   1.398 +pref("privacy.item.siteSettings", true);
   1.399 +pref("privacy.item.syncAccount", true);
   1.400 +
   1.401 +// enable geo
   1.402 +pref("geo.enabled", true);
   1.403 +pref("app.geo.reportdata", 0);
   1.404 +
   1.405 +// content sink control -- controls responsiveness during page load
   1.406 +// see https://bugzilla.mozilla.org/show_bug.cgi?id=481566#c9
   1.407 +//pref("content.sink.enable_perf_mode",  2); // 0 - switch, 1 - interactive, 2 - perf
   1.408 +//pref("content.sink.pending_event_mode", 0);
   1.409 +//pref("content.sink.perf_deflect_count", 1000000);
   1.410 +//pref("content.sink.perf_parse_time", 50000000);
   1.411 +
   1.412 +// Disable the JS engine's gc on memory pressure, since we do one in the mobile
   1.413 +// browser (bug 669346).
   1.414 +pref("javascript.options.gc_on_memory_pressure", false);
   1.415 +
   1.416 +#ifdef MOZ_PKG_SPECIAL
   1.417 +// low memory devices
   1.418 +pref("javascript.options.mem.gc_high_frequency_heap_growth_max", 120);
   1.419 +pref("javascript.options.mem.gc_high_frequency_heap_growth_min", 120);
   1.420 +pref("javascript.options.mem.gc_high_frequency_high_limit_mb", 40);
   1.421 +pref("javascript.options.mem.gc_high_frequency_low_limit_mb", 10);
   1.422 +pref("javascript.options.mem.gc_low_frequency_heap_growth", 120);
   1.423 +pref("javascript.options.mem.high_water_mark", 16);
   1.424 +pref("javascript.options.mem.gc_allocation_threshold_mb", 3);
   1.425 +pref("javascript.options.mem.gc_decommit_threshold_mb", 1);
   1.426 +#else
   1.427 +pref("javascript.options.mem.high_water_mark", 32);
   1.428 +#endif
   1.429 +
   1.430 +pref("dom.max_chrome_script_run_time", 0); // disable slow script dialog for chrome
   1.431 +pref("dom.max_script_run_time", 20);
   1.432 +
   1.433 +// JS error console
   1.434 +pref("devtools.errorconsole.enabled", false);
   1.435 +
   1.436 +pref("font.size.inflation.minTwips", 120);
   1.437 +
   1.438 +// When true, zooming will be enabled on all sites, even ones that declare user-scalable=no.
   1.439 +pref("browser.ui.zoom.force-user-scalable", false);
   1.440 +
   1.441 +// Touch radius (area around the touch location to look for target elements),
   1.442 +// in 1/240-inch pixels:
   1.443 +pref("browser.ui.touch.left", 32);
   1.444 +pref("browser.ui.touch.right", 32);
   1.445 +pref("browser.ui.touch.top", 48);
   1.446 +pref("browser.ui.touch.bottom", 16);
   1.447 +pref("browser.ui.touch.weight.visited", 120); // percentage
   1.448 +
   1.449 +// The percentage of the screen that needs to be scrolled before margins are exposed.
   1.450 +pref("browser.ui.show-margins-threshold", 10);
   1.451 +
   1.452 +// Maximum distance from the point where the user pressed where we still
   1.453 +// look for text to select
   1.454 +pref("browser.ui.selection.distance", 250);
   1.455 +
   1.456 +// plugins
   1.457 +pref("plugin.disable", false);
   1.458 +pref("dom.ipc.plugins.enabled", false);
   1.459 +
   1.460 +// This pref isn't actually used anymore, but we're leaving this here to avoid changing
   1.461 +// the default so that we can migrate a user-set pref. See bug 885357.
   1.462 +pref("plugins.click_to_play", true);
   1.463 +// The default value for nsIPluginTag.enabledState (STATE_CLICKTOPLAY = 1)
   1.464 +pref("plugin.default.state", 1);
   1.465 +
   1.466 +// product URLs
   1.467 +// The breakpad report server to link to in about:crashes
   1.468 +pref("breakpad.reportURL", "https://crash-stats.mozilla.com/report/index/");
   1.469 +pref("app.support.baseURL", "http://support.mozilla.org/1/mobile/%VERSION%/%OS%/%LOCALE%/");
   1.470 +// Used to submit data to input from about:feedback
   1.471 +pref("app.feedback.postURL", "https://input.mozilla.org/%LOCALE%/feedback");
   1.472 +pref("app.privacyURL", "https://www.mozilla.org/legal/privacy/firefox.html");
   1.473 +pref("app.creditsURL", "http://www.mozilla.org/credits/");
   1.474 +pref("app.channelURL", "http://www.mozilla.org/%LOCALE%/firefox/channel/");
   1.475 +#if MOZ_UPDATE_CHANNEL == aurora
   1.476 +pref("app.releaseNotesURL", "http://www.mozilla.com/%LOCALE%/mobile/%VERSION%/auroranotes/");
   1.477 +#elif MOZ_UPDATE_CHANNEL == beta
   1.478 +pref("app.releaseNotesURL", "http://www.mozilla.com/%LOCALE%/mobile/%VERSION%beta/releasenotes/");
   1.479 +#else
   1.480 +pref("app.releaseNotesURL", "http://www.mozilla.com/%LOCALE%/mobile/%VERSION%/releasenotes/");
   1.481 +#endif
   1.482 +#if MOZ_UPDATE_CHANNEL == beta
   1.483 +pref("app.faqURL", "http://www.mozilla.com/%LOCALE%/mobile/beta/faq/");
   1.484 +#else
   1.485 +pref("app.faqURL", "http://www.mozilla.com/%LOCALE%/mobile/faq/");
   1.486 +#endif
   1.487 +pref("app.marketplaceURL", "https://marketplace.firefox.com/");
   1.488 +
   1.489 +// Name of alternate about: page for certificate errors (when undefined, defaults to about:neterror)
   1.490 +pref("security.alternate_certificate_error_page", "certerror");
   1.491 +
   1.492 +pref("security.warn_viewing_mixed", false); // Warning is disabled.  See Bug 616712.
   1.493 +
   1.494 +// Block insecure active content on https pages
   1.495 +pref("security.mixed_content.block_active_content", true);
   1.496 +
   1.497 +// Override some named colors to avoid inverse OS themes
   1.498 +pref("ui.-moz-dialog", "#efebe7");
   1.499 +pref("ui.-moz-dialogtext", "#101010");
   1.500 +pref("ui.-moz-field", "#fff");
   1.501 +pref("ui.-moz-fieldtext", "#1a1a1a");
   1.502 +pref("ui.-moz-buttonhoverface", "#f3f0ed");
   1.503 +pref("ui.-moz-buttonhovertext", "#101010");
   1.504 +pref("ui.-moz-combobox", "#fff");
   1.505 +pref("ui.-moz-comboboxtext", "#101010");
   1.506 +pref("ui.buttonface", "#ece7e2");
   1.507 +pref("ui.buttonhighlight", "#fff");
   1.508 +pref("ui.buttonshadow", "#aea194");
   1.509 +pref("ui.buttontext", "#101010");
   1.510 +pref("ui.captiontext", "#101010");
   1.511 +pref("ui.graytext", "#b1a598");
   1.512 +pref("ui.highlight", "#fad184");
   1.513 +pref("ui.highlighttext", "#1a1a1a");
   1.514 +pref("ui.infobackground", "#f5f5b5");
   1.515 +pref("ui.infotext", "#000");
   1.516 +pref("ui.menu", "#f7f5f3");
   1.517 +pref("ui.menutext", "#101010");
   1.518 +pref("ui.threeddarkshadow", "#000");
   1.519 +pref("ui.threedface", "#ece7e2");
   1.520 +pref("ui.threedhighlight", "#fff");
   1.521 +pref("ui.threedlightshadow", "#ece7e2");
   1.522 +pref("ui.threedshadow", "#aea194");
   1.523 +pref("ui.window", "#efebe7");
   1.524 +pref("ui.windowtext", "#101010");
   1.525 +pref("ui.windowframe", "#efebe7");
   1.526 +
   1.527 +/* prefs used by the update timer system (including blocklist pings) */
   1.528 +pref("app.update.timerFirstInterval", 30000); // milliseconds
   1.529 +pref("app.update.timerMinimumDelay", 30); // seconds
   1.530 +
   1.531 +// used by update service to decide whether or not to
   1.532 +// automatically download an update
   1.533 +pref("app.update.autodownload", "wifi");
   1.534 +
   1.535 +#ifdef MOZ_UPDATER
   1.536 +/* prefs used specifically for updating the app */
   1.537 +pref("app.update.enabled", false);
   1.538 +pref("app.update.channel", "@MOZ_UPDATE_CHANNEL@");
   1.539 +
   1.540 +// If you are looking for app.update.url, we no longer use it.
   1.541 +// See mobile/android/base/UpdateServiceHelper.java.in
   1.542 +#endif
   1.543 +
   1.544 +// replace newlines with spaces on paste into single-line text boxes
   1.545 +pref("editor.singleLine.pasteNewlines", 2);
   1.546 +
   1.547 +// threshold where a tap becomes a drag, in 1/240" reference pixels
   1.548 +// The names of the preferences are to be in sync with EventStateManager.cpp
   1.549 +pref("ui.dragThresholdX", 25);
   1.550 +pref("ui.dragThresholdY", 25);
   1.551 +
   1.552 +pref("layers.acceleration.disabled", false);
   1.553 +pref("layers.offmainthreadcomposition.enabled", true);
   1.554 +pref("layers.async-video.enabled", true);
   1.555 +pref("layers.progressive-paint", true);
   1.556 +pref("layers.low-precision-buffer", true);
   1.557 +pref("layers.low-precision-resolution", 250);
   1.558 +// We want to limit layers for two reasons:
   1.559 +// 1) We can't scroll smoothly if we have to many draw calls
   1.560 +// 2) Pages that have too many layers consume too much memory and crash.
   1.561 +// By limiting the number of layers on mobile we're making the main thread
   1.562 +// work harder keep scrolling smooth and memory low.
   1.563 +pref("layers.max-active", 20);
   1.564 +
   1.565 +pref("notification.feature.enabled", true);
   1.566 +pref("dom.webnotifications.enabled", true);
   1.567 +
   1.568 +// prevent tooltips from showing up
   1.569 +pref("browser.chrome.toolbar_tips", false);
   1.570 +pref("dom.indexedDB.warningQuota", 5);
   1.571 +
   1.572 +// prevent video elements from preloading too much data
   1.573 +pref("media.preload.default", 1); // default to preload none
   1.574 +pref("media.preload.auto", 2);    // preload metadata if preload=auto
   1.575 +
   1.576 +// Number of video frames we buffer while decoding video.
   1.577 +// On Android this is decided by a similar value which varies for
   1.578 +// each OMX decoder |OMX_PARAM_PORTDEFINITIONTYPE::nBufferCountMin|. This
   1.579 +// number must be less than the OMX equivalent or gecko will think it is
   1.580 +// chronically starved of video frames. All decoders seen so far have a value
   1.581 +// of at least 4.
   1.582 +pref("media.video-queue.default-size", 3);
   1.583 +
   1.584 +// optimize images memory usage
   1.585 +pref("image.mem.decodeondraw", true);
   1.586 +pref("image.mem.min_discard_timeout_ms", 10000);
   1.587 +
   1.588 +#ifdef NIGHTLY_BUILD
   1.589 +// Shumway component (SWF player) is disabled by default. Also see bug 904346.
   1.590 +pref("shumway.disabled", true);
   1.591 +#endif
   1.592 +
   1.593 +// enable touch events interfaces
   1.594 +pref("dom.w3c_touch_events.enabled", 1);
   1.595 +
   1.596 +#ifdef MOZ_SAFE_BROWSING
   1.597 +pref("browser.safebrowsing.enabled", true);
   1.598 +pref("browser.safebrowsing.malware.enabled", true);
   1.599 +pref("browser.safebrowsing.debug", false);
   1.600 +
   1.601 +pref("browser.safebrowsing.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2&key=%GOOGLE_API_KEY%");
   1.602 +pref("browser.safebrowsing.gethashURL", "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
   1.603 +pref("browser.safebrowsing.reportURL", "https://safebrowsing.google.com/safebrowsing/report?");
   1.604 +pref("browser.safebrowsing.reportGenericURL", "http://%LOCALE%.phish-generic.mozilla.com/?hl=%LOCALE%");
   1.605 +pref("browser.safebrowsing.reportErrorURL", "http://%LOCALE%.phish-error.mozilla.com/?hl=%LOCALE%");
   1.606 +pref("browser.safebrowsing.reportPhishURL", "http://%LOCALE%.phish-report.mozilla.com/?hl=%LOCALE%");
   1.607 +pref("browser.safebrowsing.reportMalwareURL", "http://%LOCALE%.malware-report.mozilla.com/?hl=%LOCALE%");
   1.608 +pref("browser.safebrowsing.reportMalwareErrorURL", "http://%LOCALE%.malware-error.mozilla.com/?hl=%LOCALE%");
   1.609 +
   1.610 +pref("browser.safebrowsing.malware.reportURL", "https://safebrowsing.google.com/safebrowsing/diagnostic?client=%NAME%&hl=%LOCALE%&site=");
   1.611 +
   1.612 +pref("browser.safebrowsing.id", @MOZ_APP_UA_NAME@);
   1.613 +
   1.614 +// Name of the about: page contributed by safebrowsing to handle display of error
   1.615 +// pages on phishing/malware hits.  (bug 399233)
   1.616 +pref("urlclassifier.alternate_error_page", "blocked");
   1.617 +
   1.618 +// The number of random entries to send with a gethash request.
   1.619 +pref("urlclassifier.gethashnoise", 4);
   1.620 +
   1.621 +// If an urlclassifier table has not been updated in this number of seconds,
   1.622 +// a gethash request will be forced to check that the result is still in
   1.623 +// the database.
   1.624 +pref("urlclassifier.max-complete-age", 2700);
   1.625 +#endif
   1.626 +
   1.627 +// True if this is the first time we are showing about:firstrun
   1.628 +pref("browser.firstrun.show.uidiscovery", true);
   1.629 +pref("browser.firstrun.show.localepicker", false);
   1.630 +
   1.631 +// True if you always want dump() to work
   1.632 +//
   1.633 +// On Android, you also need to do the following for the output
   1.634 +// to show up in logcat:
   1.635 +//
   1.636 +// $ adb shell stop
   1.637 +// $ adb shell setprop log.redirect-stdio true
   1.638 +// $ adb shell start
   1.639 +pref("browser.dom.window.dump.enabled", true);
   1.640 +
   1.641 +// SimplePush
   1.642 +pref("services.push.enabled", false);
   1.643 +
   1.644 +// controls if we want camera support
   1.645 +pref("device.camera.enabled", true);
   1.646 +pref("media.realtime_decoder.enabled", true);
   1.647 +
   1.648 +pref("dom.report_all_js_exceptions", true);
   1.649 +pref("javascript.options.showInConsole", true);
   1.650 +
   1.651 +pref("full-screen-api.enabled", true);
   1.652 +
   1.653 +pref("direct-texture.force.enabled", false);
   1.654 +pref("direct-texture.force.disabled", false);
   1.655 +
   1.656 +// This fraction in 1000ths of velocity remains after every animation frame when the velocity is low.
   1.657 +pref("ui.scrolling.friction_slow", -1);
   1.658 +// This fraction in 1000ths of velocity remains after every animation frame when the velocity is high.
   1.659 +pref("ui.scrolling.friction_fast", -1);
   1.660 +// The maximum velocity change factor between events, per ms, in 1000ths.
   1.661 +// Direction changes are excluded.
   1.662 +pref("ui.scrolling.max_event_acceleration", -1);
   1.663 +// The rate of deceleration when the surface has overscrolled, in 1000ths.
   1.664 +pref("ui.scrolling.overscroll_decel_rate", -1);
   1.665 +// The fraction of the surface which can be overscrolled before it must snap back, in 1000ths.
   1.666 +pref("ui.scrolling.overscroll_snap_limit", -1);
   1.667 +// The minimum amount of space that must be present for an axis to be considered scrollable,
   1.668 +// in 1/1000ths of pixels.
   1.669 +pref("ui.scrolling.min_scrollable_distance", -1);
   1.670 +// The axis lock mode for panning behaviour - set between standard, free and sticky
   1.671 +pref("ui.scrolling.axis_lock_mode", "standard");
   1.672 +// Negate scrollY, true will make the mouse scroll wheel move the screen the same direction as with most desktops or laptops.
   1.673 +pref("ui.scrolling.negate_wheel_scrollY", true);
   1.674 +// Determine the dead zone for gamepad joysticks. Higher values result in larger dead zones; use a negative value to
   1.675 +// auto-detect based on reported hardware values
   1.676 +pref("ui.scrolling.gamepad_dead_zone", 115);
   1.677 +
   1.678 +
   1.679 +// Enable accessibility mode if platform accessibility is enabled.
   1.680 +pref("accessibility.accessfu.activate", 2);
   1.681 +pref("accessibility.accessfu.quicknav_modes", "Link,Heading,FormElement,Landmark,ListItem");
   1.682 +// Setting for an utterance order (0 - description first, 1 - description last).
   1.683 +pref("accessibility.accessfu.utterance", 1);
   1.684 +// Whether to skip images with empty alt text
   1.685 +pref("accessibility.accessfu.skip_empty_images", true);
   1.686 +
   1.687 +// Transmit UDP busy-work to the LAN when anticipating low latency
   1.688 +// network reads and on wifi to mitigate 802.11 Power Save Polling delays
   1.689 +pref("network.tickle-wifi.enabled", true);
   1.690 +
   1.691 +// Mobile manages state by autodetection
   1.692 +pref("network.manage-offline-status", true);
   1.693 +
   1.694 +// increase the timeout clamp for background tabs to 15 minutes
   1.695 +pref("dom.min_background_timeout_value", 900000);
   1.696 +
   1.697 +// The default state of reader mode works on loaded a page.
   1.698 +pref("reader.parse-on-load.enabled", true);
   1.699 +
   1.700 +// Force to enable reader mode to parse on loaded a page.
   1.701 +// Allow reader mode even on low-memory platforms
   1.702 +pref("reader.parse-on-load.force-enabled", false);
   1.703 +
   1.704 +// The default of font size in reader (1-5)
   1.705 +pref("reader.font_size", 3);
   1.706 +
   1.707 +// The default color scheme in reader (light, dark, sepia, auto)
   1.708 +// auto = color automatically adjusts according to ambient light level
   1.709 +pref("reader.color_scheme", "auto");
   1.710 +
   1.711 +// The font type in reader (sans-serif, serif)
   1.712 +pref("reader.font_type", "sans-serif");
   1.713 +
   1.714 +// Used to show a first-launch tip in reader
   1.715 +pref("reader.has_used_toolbar", false);
   1.716 +
   1.717 +// Media plugins for libstagefright playback on android
   1.718 +pref("media.plugins.enabled", true);
   1.719 +
   1.720 +// Stagefright's OMXCodec::CreationFlags. The interesting flag values are:
   1.721 +//  0 = Let Stagefright choose hardware or software decoding (default)
   1.722 +//  8 = Force software decoding
   1.723 +// 16 = Force hardware decoding
   1.724 +pref("media.stagefright.omxcodec.flags", 0);
   1.725 +
   1.726 +// Coalesce touch events to prevent them from flooding the event queue
   1.727 +pref("dom.event.touch.coalescing.enabled", false);
   1.728 +
   1.729 +// default orientation for the app, default to undefined
   1.730 +// the java GeckoScreenOrientationListener needs this to be defined
   1.731 +pref("app.orientation.default", "");
   1.732 +
   1.733 +// On memory pressure, release dirty but unused pages held by jemalloc
   1.734 +// back to the system.
   1.735 +pref("memory.free_dirty_pages", true);
   1.736 +
   1.737 +pref("layout.imagevisibility.enabled", true);
   1.738 +pref("layout.imagevisibility.numscrollportwidths", 1);
   1.739 +pref("layout.imagevisibility.numscrollportheights", 1);
   1.740 +
   1.741 +pref("layers.enable-tiles", true);
   1.742 +
   1.743 +// Enable the dynamic toolbar
   1.744 +pref("browser.chrome.dynamictoolbar", true);
   1.745 +
   1.746 +// The mode of browser titlebar
   1.747 +// 0: Show a current page title.
   1.748 +// 1: Show a current page url.
   1.749 +pref("browser.chrome.titlebarMode", 0);
   1.750 +
   1.751 +// Hide common parts of URLs like "www." or "http://"
   1.752 +pref("browser.urlbar.trimURLs", true);
   1.753 +
   1.754 +#ifdef MOZ_PKG_SPECIAL
   1.755 +// Disable webgl on ARMv6 because running the reftests takes
   1.756 +// too long for some reason (bug 843738)
   1.757 +pref("webgl.disabled", true);
   1.758 +#endif
   1.759 +
   1.760 +// initial web feed readers list
   1.761 +pref("browser.contentHandlers.types.0.title", "chrome://browser/locale/region.properties");
   1.762 +pref("browser.contentHandlers.types.0.uri", "chrome://browser/locale/region.properties");
   1.763 +pref("browser.contentHandlers.types.0.type", "application/vnd.mozilla.maybe.feed");
   1.764 +pref("browser.contentHandlers.types.1.title", "chrome://browser/locale/region.properties");
   1.765 +pref("browser.contentHandlers.types.1.uri", "chrome://browser/locale/region.properties");
   1.766 +pref("browser.contentHandlers.types.1.type", "application/vnd.mozilla.maybe.feed");
   1.767 +pref("browser.contentHandlers.types.2.title", "chrome://browser/locale/region.properties");
   1.768 +pref("browser.contentHandlers.types.2.uri", "chrome://browser/locale/region.properties");
   1.769 +pref("browser.contentHandlers.types.2.type", "application/vnd.mozilla.maybe.feed");
   1.770 +pref("browser.contentHandlers.types.3.title", "chrome://browser/locale/region.properties");
   1.771 +pref("browser.contentHandlers.types.3.uri", "chrome://browser/locale/region.properties");
   1.772 +pref("browser.contentHandlers.types.3.type", "application/vnd.mozilla.maybe.feed");
   1.773 +
   1.774 +// WebPayment
   1.775 +pref("dom.mozPay.enabled", true);
   1.776 +
   1.777 +#ifndef RELEASE_BUILD
   1.778 +pref("dom.payment.provider.0.name", "Firefox Marketplace");
   1.779 +pref("dom.payment.provider.0.description", "marketplace.firefox.com");
   1.780 +pref("dom.payment.provider.0.uri", "https://marketplace.firefox.com/mozpay/?req=");
   1.781 +pref("dom.payment.provider.0.type", "mozilla/payments/pay/v1");
   1.782 +pref("dom.payment.provider.0.requestMethod", "GET");
   1.783 +#endif
   1.784 +
   1.785 +// Shortnumber matching needed for e.g. Brazil:
   1.786 +// 01187654321 can be found with 87654321
   1.787 +pref("dom.phonenumber.substringmatching.BR", 8);
   1.788 +pref("dom.phonenumber.substringmatching.CO", 10);
   1.789 +pref("dom.phonenumber.substringmatching.VE", 7);
   1.790 +
   1.791 +// Support for the mozAudioChannel attribute on media elements is disabled in non-webapps
   1.792 +pref("media.useAudioChannelService", false);
   1.793 +
   1.794 +// Turn on the CSP 1.0 parser for Content Security Policy headers
   1.795 +pref("security.csp.speccompliant", true);
   1.796 +
   1.797 +// Enable hardware-accelerated Skia canvas
   1.798 +pref("gfx.canvas.azure.backends", "skia");
   1.799 +pref("gfx.canvas.azure.accelerated", true);
   1.800 +
   1.801 +pref("general.useragent.override.youtube.com", "Android; Tablet;#Android; Mobile;");
   1.802 +
   1.803 +// When true, phone number linkification is enabled.
   1.804 +pref("browser.ui.linkify.phone", false);
   1.805 +
   1.806 +// Enables/disables Spatial Navigation
   1.807 +pref("snav.enabled", true);
   1.808 +
   1.809 +// This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
   1.810 +// this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
   1.811 +// repackager of this code using an alternate snippet url, please keep your users safe
   1.812 +pref("browser.snippets.updateUrl", "https://snippets.mozilla.com/json/%SNIPPETS_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/");
   1.813 +
   1.814 +// How frequently we check for new snippets, in seconds (1 day)
   1.815 +pref("browser.snippets.updateInterval", 86400);
   1.816 +
   1.817 +// URL used to check for user's country code
   1.818 +pref("browser.snippets.geoUrl", "https://geo.mozilla.org/country.json");
   1.819 +
   1.820 +// URL used to ping metrics with stats about which snippets have been shown
   1.821 +pref("browser.snippets.statsUrl", "https://snippets-stats.mozilla.org/mobile");
   1.822 +
   1.823 +// These prefs require a restart to take effect.
   1.824 +pref("browser.snippets.enabled", true);
   1.825 +pref("browser.snippets.syncPromo.enabled", true);
   1.826 +
   1.827 +#ifdef MOZ_ANDROID_SYNTHAPKS
   1.828 +// The URL of the APK factory from which we obtain APKs for webapps.
   1.829 +pref("browser.webapps.apkFactoryUrl", "https://controller.apk.firefox.com/application.apk");
   1.830 +
   1.831 +// How frequently to check for webapp updates, in seconds (86400 is daily).
   1.832 +pref("browser.webapps.updateInterval", 86400);
   1.833 +
   1.834 +// Whether or not to check for updates.  Enabled by default, but the runtime
   1.835 +// disables it for webapp profiles on firstrun, so only the main Fennec process
   1.836 +// checks for updates (to avoid duplicate update notifications).
   1.837 +//
   1.838 +// In the future, we might want to make each webapp process check for updates
   1.839 +// for its own webapp, in which case we'll need to have a third state for this
   1.840 +// preference.  Thus it's an integer rather than a boolean.
   1.841 +//
   1.842 +// Possible values:
   1.843 +//   0: don't check for updates
   1.844 +//   1: do check for updates
   1.845 +pref("browser.webapps.checkForUpdates", 1);
   1.846 +
   1.847 +// The URL of the service that checks for updates.
   1.848 +// To test updates, set this to http://apk-update-checker.paas.allizom.org,
   1.849 +// which is a test server that always reports all apps as having updates.
   1.850 +pref("browser.webapps.updateCheckUrl", "https://controller.apk.firefox.com/app_updates");
   1.851 +
   1.852 +#endif
   1.853 +
   1.854 +// The mode of home provider syncing.
   1.855 +// 0: Sync always
   1.856 +// 1: Sync only when on wifi
   1.857 +pref("home.sync.updateMode", 0);
   1.858 +
   1.859 +// How frequently to check if we should sync home provider data.
   1.860 +pref("home.sync.checkIntervalSecs", 3600);

mercurial