firefox.js
Go to the documentation of this file.
1 # -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 # ***** BEGIN LICENSE BLOCK *****
3 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 #
5 # The contents of this file are subject to the Mozilla Public License Version
6 # 1.1 (the "License"); you may not use this file except in compliance with
7 # the License. You may obtain a copy of the License at
8 # http://www.mozilla.org/MPL/
9 #
10 # Software distributed under the License is distributed on an "AS IS" basis,
11 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 # for the specific language governing rights and limitations under the
13 # License.
14 #
15 # The Original Code is mozilla.org code.
16 #
17 # The Initial Developer of the Original Code is
18 # Netscape Communications Corporation.
19 # Portions created by the Initial Developer are Copyright (C) 1998
20 # the Initial Developer. All Rights Reserved.
21 #
22 # Contributor(s):
23 #
24 # Alternatively, the contents of this file may be used under the terms of
25 # either the GNU General Public License Version 2 or later (the "GPL"), or
26 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 # in which case the provisions of the GPL or the LGPL are applicable instead
28 # of those above. If you wish to allow use of your version of this file only
29 # under the terms of either the GPL or the LGPL, and not to allow others to
30 # use your version of this file under the terms of the MPL, indicate your
31 # decision by deleting the provisions above and replace them with the notice
32 # and other provisions required by the GPL or the LGPL. If you do not delete
33 # the provisions above, a recipient may use your version of this file under
34 # the terms of any one of the MPL, the GPL or the LGPL.
35 #
36 # ***** END LICENSE BLOCK *****
37 
38 // XXX Toolkit-specific preferences should be moved into toolkit.js
39 
40 #filter substitution
41 
42 # SYNTAX HINTS: dashes are delimiters. Use underscores instead.
43 # The first character after a period must be alphabetic.
44 
45 #ifdef XP_UNIX
46 #ifndef XP_MACOSX
47 #define UNIX_BUT_NOT_MAC
48 #endif
49 #endif
50 
51 pref("general.startup.browser", true);
52 
53 pref("browser.chromeURL","chrome://browser/content/");
54 pref("browser.hiddenWindowChromeURL", "chrome://browser/content/hiddenWindow.xul");
55 pref("xpinstall.dialog.confirm", "chrome://mozapps/content/xpinstall/xpinstallConfirm.xul");
56 pref("xpinstall.dialog.progress.skin", "chrome://mozapps/content/extensions/extensions.xul");
57 pref("xpinstall.dialog.progress.chrome", "chrome://mozapps/content/extensions/extensions.xul");
58 pref("xpinstall.dialog.progress.type.skin", "Extension:Manager");
59 pref("xpinstall.dialog.progress.type.chrome", "Extension:Manager");
60 
61 // Developers can set this to |true| if they are constantly changing files in their
62 // extensions directory so that the extension system does not constantly think that
63 // their extensions are being updated and thus reregistered every time the app is
64 // started.
65 pref("extensions.ignoreMTimeChanges", false);
66 // Enables some extra Extension System Logging (can reduce performance)
67 pref("extensions.logging.enabled", false);
68 // Hides the install button in the add-ons mgr
69 pref("extensions.hideInstallButton", true);
70 
71 // Preferences for the Get Add-ons pane
72 pref("extensions.getAddons.showPane", true);
73 pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/%APP%");
74 pref("extensions.getAddons.maxResults", 5);
75 pref("extensions.getAddons.recommended.browseURL", "https://addons.mozilla.org/%LOCALE%/%APP%/recommended");
76 pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/list/featured/all/10/%OS%/%VERSION%");
77 pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/%APP%/search?q=%TERMS%");
78 pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/10/%OS%/%VERSION%");
79 
80 // Blocklist preferences
81 pref("extensions.blocklist.enabled", true);
82 pref("extensions.blocklist.interval", 86400);
83 // Controls what level the blocklist switches from warning about items to forcibly
84 // blocking them.
85 pref("extensions.blocklist.level", 2);
86 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%/");
87 pref("extensions.blocklist.detailsURL", "https://www.mozilla.com/%LOCALE%/blocklist/");
88 
89 // Dictionary download preference
90 pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/%APP%/dictionaries/");
91 
92 // Update Timer Manager preferences
93 // Interval: When all registered timers should be checked (in milliseconds)
94 // default=10 minutes
95 pref("app.update.timer", 600000);
96 
97 // App-specific update preferences
98 
99 // The interval to check for updates (app.update.interval) is defined in
100 // firefox-branding.js
101 
102 // Whether or not app updates are enabled
103 pref("app.update.enabled", true);
104 
105 // This preference turns on app.update.mode and allows automatic download and
106 // install to take place. We use a separate boolean toggle for this to make
107 // the UI easier to construct.
108 pref("app.update.auto", true);
109 
110 // Defines how the Application Update Service notifies the user about updates:
111 //
112 // AUM Set to: Minor Releases: Major Releases:
113 // 0 download no prompt download no prompt
114 // 1 download no prompt download no prompt if no incompatibilities
115 // 2 download no prompt prompt
116 //
117 // See chart in nsUpdateService.js.in for more details
118 //
119 pref("app.update.mode", 1);
120 
121 // If set to true, the Update Service will present no UI for any event.
122 pref("app.update.silent", false);
123 
124 // Update service URL:
125 pref("app.update.url", "https://aus2.mozilla.org/update/3/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml");
126 // app.update.url.manual is in branding section
127 // app.update.url.details is in branding section
128 
129 // User-settable override to app.update.url for testing purposes.
130 //pref("app.update.url.override", "");
131 
132 // app.update.interval is in branding section
133 
134 // Interval: Time before prompting the user again to restart to install the
135 // latest download (in seconds) default=1 day
136 pref("app.update.nagTimer.restart", 86400);
137 
138 // Give the user x seconds to react before showing the big UI. default=12 hours
139 pref("app.update.promptWaitTime", 43200);
140 // Show the Update Checking/Ready UI when the user was idle for x seconds
141 pref("app.update.idletime", 60);
142 
143 // Whether or not we show a dialog box informing the user that the update was
144 // successfully applied. This is off in Firefox by default since we show a
145 // upgrade start page instead! Other apps may wish to show this UI, and supply
146 // a whatsNewURL field in their brand.properties that contains a link to a page
147 // which tells users what's new in this new update.
148 pref("app.update.showInstalledUI", false);
149 
150 // 0 = suppress prompting for incompatibilities if there are updates available
151 // to newer versions of installed addons that resolve them.
152 // 1 = suppress prompting for incompatibilities only if there are VersionInfo
153 // updates available to installed addons that resolve them, not newer
154 // versions.
155 pref("app.update.incompatible.mode", 0);
156 
157 // Symmetric (can be overridden by individual extensions) update preferences.
158 // e.g.
159 // extensions.{GUID}.update.enabled
160 // extensions.{GUID}.update.url
161 // .. etc ..
162 //
163 pref("extensions.update.enabled", true);
164 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%");
165 pref("extensions.update.interval", 86400); // Check for updates to Extensions and
166  // Themes every day
167 // Non-symmetric (not shared by extensions) extension-specific [update] preferences
168 pref("extensions.getMoreThemesURL", "https://addons.mozilla.org/%LOCALE%/%APP%/getpersonas");
169 pref("extensions.dss.enabled", false); // Dynamic Skin Switching
170 pref("extensions.dss.switchPending", false); // Non-dynamic switch pending after next
171  // restart.
172 
173 pref("extensions.{972ce4c6-7e08-4474-a285-3208198ce6fd}.name", "chrome://browser/locale/browser.properties");
174 pref("extensions.{972ce4c6-7e08-4474-a285-3208198ce6fd}.description", "chrome://browser/locale/browser.properties");
175 
176 pref("xpinstall.whitelist.add", "addons.mozilla.org");
177 pref("xpinstall.whitelist.add.36", "getpersonas.com");
178 
179 pref("lightweightThemes.update.enabled", true);
180 
181 pref("keyword.enabled", true);
182 pref("keyword.URL", "chrome://browser-region/locale/region.properties");
183 
184 pref("general.useragent.locale", "@AB_CD@");
185 pref("general.skins.selectedSkin", "classic/1.0");
186 pref("general.useragent.extra.firefox", "@APP_UA_NAME@/@APP_VERSION@");
187 
188 pref("general.smoothScroll", false);
189 #ifdef UNIX_BUT_NOT_MAC
190 pref("general.autoScroll", false);
191 #else
192 pref("general.autoScroll", true);
193 #endif
194 
195 // Whether or not the application should check at startup each time if it
196 // is the default browser.
197 pref("browser.shell.checkDefaultBrowser", true);
198 
199 // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
200 // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
201 pref("browser.startup.page", 1);
202 pref("browser.startup.homepage", "resource:/browserconfig.properties");
203 
204 pref("browser.enable_automatic_image_resizing", true);
205 pref("browser.chrome.site_icons", true);
206 pref("browser.chrome.favicons", true);
207 pref("browser.warnOnQuit", true);
208 pref("browser.warnOnRestart", true);
209 pref("browser.fullscreen.autohide", true);
210 pref("browser.fullscreen.animateUp", 1);
211 
212 #ifdef UNIX_BUT_NOT_MAC
213 pref("browser.urlbar.clickSelectsAll", false);
214 #else
215 pref("browser.urlbar.clickSelectsAll", true);
216 #endif
217 #ifdef UNIX_BUT_NOT_MAC
218 pref("browser.urlbar.doubleClickSelectsAll", true);
219 #else
220 pref("browser.urlbar.doubleClickSelectsAll", false);
221 #endif
222 pref("browser.urlbar.autoFill", false);
223 // 0: Match anywhere (e.g., middle of words)
224 // 1: Match on word boundaries and then try matching anywhere
225 // 2: Match only on word boundaries (e.g., after / or .)
226 // 3: Match at the beginning of the url or title
227 pref("browser.urlbar.matchBehavior", 1);
228 pref("browser.urlbar.filter.javascript", true);
229 
230 // the maximum number of results to show in autocomplete when doing richResults
231 pref("browser.urlbar.maxRichResults", 12);
232 // The amount of time (ms) to wait after the user has stopped typing
233 // before starting to perform autocomplete. 50 is the default set in
234 // autocomplete.xml.
235 pref("browser.urlbar.delay", 50);
236 
237 // The special characters below can be typed into the urlbar to either restrict
238 // the search to visited history, bookmarked, tagged pages; or force a match on
239 // just the title text or url.
240 pref("browser.urlbar.restrict.history", "^");
241 pref("browser.urlbar.restrict.bookmark", "*");
242 pref("browser.urlbar.restrict.tag", "+");
243 pref("browser.urlbar.restrict.typed", "~");
244 pref("browser.urlbar.match.title", "#");
245 pref("browser.urlbar.match.url", "@");
246 
247 // The default behavior for the urlbar can be configured to use any combination
248 // of the restrict or match filters with each additional filter restricting
249 // more (intersection). Add the following values to set the behavior as the
250 // default: 1: history, 2: bookmark, 4: tag, 8: title, 16: url, 32: typed
251 // E.g., 0 = show all results (no filtering), 1 = only visited pages in history,
252 // 2 = only bookmarks, 3 = visited bookmarks, 1+16 = history matching in the url
253 pref("browser.urlbar.default.behavior", 0);
254 
255 // Number of milliseconds to wait for the http headers (and thus
256 // the Content-Disposition filename) before giving up and falling back to
257 // picking a filename without that info in hand so that the user sees some
258 // feedback from their action.
259 pref("browser.download.saveLinkAsFilenameTimeout", 1000);
260 
261 pref("browser.download.useDownloadDir", true);
262 
263 #ifdef WINCE
264 pref("browser.download.folderList", 2);
265 pref("browser.download.dir", "\\Storage Card");
266 #else
267 pref("browser.download.folderList", 1);
268 #endif
269 pref("browser.download.manager.showAlertOnComplete", true);
270 pref("browser.download.manager.showAlertInterval", 2000);
271 pref("browser.download.manager.retention", 2);
272 pref("browser.download.manager.showWhenStarting", true);
273 pref("browser.download.manager.closeWhenDone", false);
274 pref("browser.download.manager.focusWhenStarting", false);
275 pref("browser.download.manager.flashCount", 2);
276 pref("browser.download.manager.addToRecentDocs", true);
277 pref("browser.download.manager.quitBehavior", 0);
278 pref("browser.download.manager.scanWhenDone", true);
279 pref("browser.download.manager.resumeOnWakeDelay", 10000);
280 
281 // search engines URL
282 pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/%APP%/search-engines/");
283 
284 // pointer to the default engine name
285 pref("browser.search.defaultenginename", "chrome://browser-region/locale/region.properties");
286 
287 // disable logging for the search service by default
288 pref("browser.search.log", false);
289 
290 // Ordering of Search Engines in the Engine list.
291 pref("browser.search.order.1", "chrome://browser-region/locale/region.properties");
292 pref("browser.search.order.2", "chrome://browser-region/locale/region.properties");
293 
294 // search bar results always open in a new tab
295 pref("browser.search.openintab", false);
296 
297 // send ping to the server to update
298 pref("browser.search.update", true);
299 
300 // disable logging for the search service update system by default
301 pref("browser.search.update.log", false);
302 
303 // Check whether we need to perform engine updates every 6 hours
304 pref("browser.search.updateinterval", 6);
305 
306 // Whether or not microsummary and generator updates are enabled
307 pref("browser.microsummary.enabled", true);
308 pref("browser.microsummary.updateGenerators", true);
309 
310 // enable search suggestions by default
311 pref("browser.search.suggest.enabled", true);
312 
313 pref("browser.history.showSessions", false);
314 pref("browser.sessionhistory.max_entries", 50);
315 #ifndef WINCE
316 pref("browser.history_expire_days", 180);
317 pref("browser.history_expire_days_min", 90);
318 #else
319 pref("browser.history_expire_days", 90);
320 pref("browser.history_expire_days_min", 45);
321 #endif
322 pref("browser.history_expire_sites", 40000);
323 
324 // handle links targeting new windows
325 // 0=default window, 1=current window/tab, 2=new window, 3=new tab in most recent window
326 pref("browser.link.open_newwindow", 3);
327 
328 // 0: no restrictions - divert everything
329 // 1: don't divert window.open at all
330 // 2: don't divert window.open with features
331 pref("browser.link.open_newwindow.restriction", 2);
332 
333 // Tabbed browser
334 #ifndef WINCE
335 pref("browser.tabs.autoHide", false);
336 #else
337 pref("browser.tabs.autoHide", true);
338 #endif
339 pref("browser.tabs.closeWindowWithLastTab", true);
340 pref("browser.tabs.insertRelatedAfterCurrent", true);
341 pref("browser.tabs.warnOnClose", true);
342 pref("browser.tabs.warnOnOpen", true);
343 pref("browser.tabs.maxOpenBeforeWarn", 15);
344 pref("browser.tabs.loadInBackground", true);
345 pref("browser.tabs.loadFolderAndReplace", true);
346 pref("browser.tabs.opentabfor.middleclick", true);
347 pref("browser.tabs.loadDivertedInBackground", false);
348 pref("browser.tabs.loadBookmarksInBackground", false);
349 pref("browser.tabs.tabMinWidth", 100);
350 pref("browser.tabs.tabMaxWidth", 250);
351 pref("browser.tabs.tabClipWidth", 140);
352 
353 // Where to show tab close buttons:
354 // 0 on active tab only
355 // 1 on all tabs until tabClipWidth is reached, then active tab only
356 // 2 no close buttons at all
357 // 3 at the end of the tabstrip
358 pref("browser.tabs.closeButtons", 1);
359 
360 // When tabs opened by links in other tabs via a combination of
361 // browser.link.open_newwindow being set to 3 and target="_blank" etc are
362 // closed:
363 // true return to the tab that opened this tab (its owner)
364 // false return to the adjacent tab (old default)
365 pref("browser.tabs.selectOwnerOnClose", true);
366 
367 pref("browser.allTabs.previews", false);
368 pref("browser.ctrlTab.previews", false);
369 pref("browser.ctrlTab.recentlyUsedLimit", 7);
370 
371 // Default bookmark sorting
372 pref("browser.bookmarks.sort.direction", "descending");
373 pref("browser.bookmarks.sort.resource", "rdf:http://home.netscape.com/NC-rdf#Name");
374 
375 // By default, do not export HTML at shutdown.
376 // If true, at shutdown the bookmarks in your menu and toolbar will
377 // be exported as HTML to the bookmarks.html file.
378 pref("browser.bookmarks.autoExportHTML", false);
379 
380 // The maximum number of daily bookmark backups to
381 // keep in {PROFILEDIR}/bookmarkbackups. Special values:
382 // -1: unlimited
383 // 0: no backups created (and deletes all existing backups)
384 pref("browser.bookmarks.max_backups", 5);
385 
386 // Scripts & Windows prefs
387 pref("dom.disable_open_during_load", true);
388 #ifdef DEBUG
389 pref("javascript.options.showInConsole", true);
390 pref("general.warnOnAboutConfig", false);
391 #else
392 pref("javascript.options.showInConsole", false);
393 #endif
394 
395 #ifdef WINCE
396 // Set the threshold higher to avoid some slow script warnings
397 pref("dom.max_script_run_time", 20);
398 #endif
399 
400 // Make the status bar reliably present and unaffected by pages
401 pref("dom.disable_window_open_feature.status", true);
402 // This is the pref to control the location bar, change this to true to
403 // force this instead of or in addition to the status bar - this makes
404 // the origin of popup windows more obvious to avoid spoofing. We would
405 // rather not do it by default because it affects UE for web applications, but
406 // without it there isn't a really good way to prevent chrome spoofing, see bug 337344
407 pref("dom.disable_window_open_feature.location", true);
408 pref("dom.disable_window_status_change", true);
409 // allow JS to move and resize existing windows
410 pref("dom.disable_window_move_resize", false);
411 // prevent JS from monkeying with window focus, etc
412 pref("dom.disable_window_flip", true);
413 
414 // popups.policy 1=allow,2=reject
415 pref("privacy.popups.policy", 1);
416 pref("privacy.popups.usecustom", true);
417 pref("privacy.popups.firstTime", true);
418 pref("privacy.popups.showBrowserMessage", true);
419 
420 pref("privacy.item.cookies", false);
421 
422 pref("privacy.clearOnShutdown.history", true);
423 pref("privacy.clearOnShutdown.formdata", true);
424 pref("privacy.clearOnShutdown.passwords", false);
425 pref("privacy.clearOnShutdown.downloads", true);
426 pref("privacy.clearOnShutdown.cookies", true);
427 pref("privacy.clearOnShutdown.cache", true);
428 pref("privacy.clearOnShutdown.sessions", true);
429 pref("privacy.clearOnShutdown.offlineApps", false);
430 pref("privacy.clearOnShutdown.siteSettings", false);
431 
432 pref("privacy.cpd.history", true);
433 pref("privacy.cpd.formdata", true);
434 pref("privacy.cpd.passwords", false);
435 pref("privacy.cpd.downloads", true);
436 pref("privacy.cpd.cookies", true);
437 pref("privacy.cpd.cache", true);
438 pref("privacy.cpd.sessions", true);
439 pref("privacy.cpd.offlineApps", false);
440 pref("privacy.cpd.siteSettings", false);
441 
442 // What default should we use for the time span in the sanitizer:
443 // 0 - Clear everything
444 // 1 - Last Hour
445 // 2 - Last 2 Hours
446 // 3 - Last 4 Hours
447 // 4 - Today
448 pref("privacy.sanitize.timeSpan", 1);
449 pref("privacy.sanitize.sanitizeOnShutdown", false);
450 
451 pref("privacy.sanitize.migrateFx3Prefs", false);
452 
453 pref("network.proxy.share_proxy_settings", false); // use the same proxy settings for all protocols
454 
455 pref("network.cookie.cookieBehavior", 0); // 0-Accept, 1-dontAcceptForeign, 2-dontUse
456 
457 // l12n and i18n
458 pref("intl.accept_languages", "chrome://global/locale/intl.properties");
459 pref("intl.charsetmenu.browser.static", "chrome://global/locale/intl.properties");
460 pref("intl.charsetmenu.browser.more1", "chrome://global/locale/intl.properties");
461 pref("intl.charsetmenu.browser.more2", "chrome://global/locale/intl.properties");
462 pref("intl.charsetmenu.browser.more3", "chrome://global/locale/intl.properties");
463 pref("intl.charsetmenu.browser.more4", "chrome://global/locale/intl.properties");
464 pref("intl.charsetmenu.browser.more5", "chrome://global/locale/intl.properties");
465 pref("intl.charsetmenu.browser.unicode", "UTF-8, UTF-16LE, UTF-16BE, UTF-32, UTF-32LE, UTF-32BE");
466 pref("intl.charset.detector", "chrome://global/locale/intl.properties");
467 pref("intl.charset.default", "chrome://global-platform/locale/intl.properties");
468 pref("font.language.group", "chrome://global/locale/intl.properties");
469 pref("intl.menuitems.alwaysappendaccesskeys","chrome://global/locale/intl.properties");
470 pref("intl.menuitems.insertseparatorbeforeaccesskeys","chrome://global/locale/intl.properties");
471 
472 // simple gestures support
473 pref("browser.gesture.swipe.left", "Browser:BackOrBackDuplicate");
474 pref("browser.gesture.swipe.right", "Browser:ForwardOrForwardDuplicate");
475 pref("browser.gesture.swipe.up", "cmd_scrollTop");
476 pref("browser.gesture.swipe.down", "cmd_scrollBottom");
477 #ifdef XP_MACOSX
478 pref("browser.gesture.pinch.latched", true);
479 pref("browser.gesture.pinch.threshold", 150);
480 #else
481 pref("browser.gesture.pinch.latched", false);
482 pref("browser.gesture.pinch.threshold", 25);
483 #endif
484 pref("browser.gesture.pinch.out", "cmd_fullZoomEnlarge");
485 pref("browser.gesture.pinch.in", "cmd_fullZoomReduce");
486 pref("browser.gesture.pinch.out.shift", "cmd_fullZoomReset");
487 pref("browser.gesture.pinch.in.shift", "cmd_fullZoomReset");
488 pref("browser.gesture.twist.latched", false);
489 pref("browser.gesture.twist.threshold", 25);
490 pref("browser.gesture.twist.right", "");
491 pref("browser.gesture.twist.left", "");
492 pref("browser.gesture.tap", "cmd_fullZoomReset");
493 
494 // 0=lines, 1=pages, 2=history , 3=text size
495 #ifdef XP_MACOSX
496 // On OS X, if the wheel has one axis only, shift+wheel comes through as a
497 // horizontal scroll event. Thus, we can't assign anything other than normal
498 // scrolling to shift+wheel.
499 pref("mousewheel.withshiftkey.action",0);
500 pref("mousewheel.withshiftkey.sysnumlines",true);
501 pref("mousewheel.withshiftkey.numlines",1);
502 pref("mousewheel.withaltkey.action",2);
503 pref("mousewheel.withaltkey.sysnumlines",false);
504 pref("mousewheel.withaltkey.numlines",1);
505 pref("mousewheel.withmetakey.action",0);
506 pref("mousewheel.withmetakey.sysnumlines",false);
507 pref("mousewheel.withmetakey.numlines",1);
508 #else
509 pref("mousewheel.withshiftkey.action",2);
510 pref("mousewheel.withshiftkey.sysnumlines",false);
511 pref("mousewheel.withshiftkey.numlines",1);
512 pref("mousewheel.withaltkey.action",0);
513 pref("mousewheel.withaltkey.sysnumlines",false);
514 pref("mousewheel.withaltkey.numlines",1);
515 pref("mousewheel.withmetakey.action",0);
516 pref("mousewheel.withmetakey.sysnumlines",true);
517 pref("mousewheel.withmetakey.numlines",1);
518 #endif
519 pref("mousewheel.withcontrolkey.action",3);
520 pref("mousewheel.withcontrolkey.sysnumlines",false);
521 pref("mousewheel.withcontrolkey.numlines",1);
522 
523 pref("profile.allow_automigration", false); // setting to false bypasses automigration in the profile code
524 
525 // Customizable toolbar stuff
526 pref("custtoolbar.personal_toolbar_folder", "");
527 
528 // pref to control the alert notification
529 pref("alerts.slideIncrement", 1);
530 pref("alerts.slideIncrementTime", 10);
531 pref("alerts.totalOpenTime", 4000);
532 
533 pref("browser.xul.error_pages.enabled", true);
534 pref("browser.xul.error_pages.expert_bad_cert", false);
535 
536 // We want to make sure mail URLs are handled externally...
537 pref("network.protocol-handler.external.mailto", true); // for mail
538 pref("network.protocol-handler.external.news", true); // for news
539 pref("network.protocol-handler.external.snews", true); // for secure news
540 pref("network.protocol-handler.external.nntp", true); // also news
541 // ...without warning dialogs
542 pref("network.protocol-handler.warn-external.mailto", false);
543 pref("network.protocol-handler.warn-external.news", false);
544 pref("network.protocol-handler.warn-external.snews", false);
545 pref("network.protocol-handler.warn-external.nntp", false);
546 
547 // By default, all protocol handlers are exposed. This means that
548 // the browser will respond to openURL commands for all URL types.
549 // It will also try to open link clicks inside the browser before
550 // failing over to the system handlers.
551 pref("network.protocol-handler.expose-all", true);
552 pref("network.protocol-handler.expose.mailto", false);
553 pref("network.protocol-handler.expose.news", false);
554 pref("network.protocol-handler.expose.snews", false);
555 pref("network.protocol-handler.expose.nntp", false);
556 
557 // Default security warning dialogs to show once.
558 pref("security.warn_entering_secure.show_once", false);
559 pref("security.warn_entering_weak.show_once", true);
560 pref("security.warn_leaving_secure.show_once", false);
561 pref("security.warn_viewing_mixed.show_once", true);
562 pref("security.warn_submit_insecure.show_once", false);
563 
564 pref("accessibility.typeaheadfind", false);
565 pref("accessibility.typeaheadfind.timeout", 5000);
566 pref("accessibility.typeaheadfind.linksonly", false);
567 pref("accessibility.typeaheadfind.flashBar", 1);
568 
569 // Disable the default plugin for firefox
570 pref("plugin.default_plugin_disabled", true);
571 
572 // plugin finder service url
573 pref("pfs.datasource.url", "https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%&appRelease=%APP_RELEASE%");
574 
575 // by default we show an infobar message when pages require plugins the user has not installed, or are outdated
576 pref("plugins.hide_infobar_for_missing_plugin", false);
577 pref("plugins.hide_infobar_for_outdated_plugin", false);
578 
579 pref("plugins.update.url", "https://www.mozilla.com/%LOCALE%/plugincheck/");
580 pref("plugins.update.notifyUser", false);
581 
582 #ifdef XP_WIN
583 pref("browser.preferences.instantApply", false);
584 #else
585 pref("browser.preferences.instantApply", true);
586 #endif
587 #ifdef XP_MACOSX
588 pref("browser.preferences.animateFadeIn", true);
589 #else
590 pref("browser.preferences.animateFadeIn", false);
591 #endif
592 
593 pref("browser.download.show_plugins_in_list", true);
594 pref("browser.download.hide_plugins_without_extensions", true);
595 
596 // Backspace and Shift+Backspace behavior
597 // 0 goes Back/Forward
598 // 1 act like PgUp/PgDown
599 // 2 and other values, nothing
600 #ifdef UNIX_BUT_NOT_MAC
601 pref("browser.backspace_action", 2);
602 #else
603 pref("browser.backspace_action", 0);
604 #endif
605 
606 // this will automatically enable inline spellchecking (if it is available) for
607 // editable elements in HTML
608 // 0 = spellcheck nothing
609 // 1 = check multi-line controls [default]
610 // 2 = check multi/single line controls
611 pref("layout.spellcheckDefault", 1);
612 
613 pref("browser.send_pings", false);
614 
615 /* initial web feed readers list */
616 pref("browser.contentHandlers.types.0.title", "chrome://browser-region/locale/region.properties");
617 pref("browser.contentHandlers.types.0.uri", "chrome://browser-region/locale/region.properties");
618 pref("browser.contentHandlers.types.0.type", "application/vnd.mozilla.maybe.feed");
619 pref("browser.contentHandlers.types.1.title", "chrome://browser-region/locale/region.properties");
620 pref("browser.contentHandlers.types.1.uri", "chrome://browser-region/locale/region.properties");
621 pref("browser.contentHandlers.types.1.type", "application/vnd.mozilla.maybe.feed");
622 pref("browser.contentHandlers.types.2.title", "chrome://browser-region/locale/region.properties");
623 pref("browser.contentHandlers.types.2.uri", "chrome://browser-region/locale/region.properties");
624 pref("browser.contentHandlers.types.2.type", "application/vnd.mozilla.maybe.feed");
625 pref("browser.contentHandlers.types.3.title", "chrome://browser-region/locale/region.properties");
626 pref("browser.contentHandlers.types.3.uri", "chrome://browser-region/locale/region.properties");
627 pref("browser.contentHandlers.types.3.type", "application/vnd.mozilla.maybe.feed");
628 pref("browser.contentHandlers.types.4.title", "chrome://browser-region/locale/region.properties");
629 pref("browser.contentHandlers.types.4.uri", "chrome://browser-region/locale/region.properties");
630 pref("browser.contentHandlers.types.4.type", "application/vnd.mozilla.maybe.feed");
631 pref("browser.contentHandlers.types.5.title", "chrome://browser-region/locale/region.properties");
632 pref("browser.contentHandlers.types.5.uri", "chrome://browser-region/locale/region.properties");
633 pref("browser.contentHandlers.types.5.type", "application/vnd.mozilla.maybe.feed");
634 
635 pref("browser.feeds.handler", "ask");
636 pref("browser.videoFeeds.handler", "ask");
637 pref("browser.audioFeeds.handler", "ask");
638 
639 // At startup, if the handler service notices that the version number in the
640 // region.properties file is newer than the version number in the handler
641 // service datastore, it will add any new handlers it finds in the prefs (as
642 // seeded by this file) to its datastore.
643 pref("gecko.handlerService.defaultHandlersVersion", "chrome://browser-region/locale/region.properties");
644 
645 // The default set of web-based protocol handlers shown in the application
646 // selection dialog for webcal: ; I've arbitrarily picked 4 default handlers
647 // per protocol, but if some locale wants more than that (or defaults for some
648 // protocol not currently listed here), we should go ahead and add those.
649 
650 // webcal
651 pref("gecko.handlerService.schemes.webcal.0.name", "chrome://browser-region/locale/region.properties");
652 pref("gecko.handlerService.schemes.webcal.0.uriTemplate", "chrome://browser-region/locale/region.properties");
653 pref("gecko.handlerService.schemes.webcal.1.name", "chrome://browser-region/locale/region.properties");
654 pref("gecko.handlerService.schemes.webcal.1.uriTemplate", "chrome://browser-region/locale/region.properties");
655 pref("gecko.handlerService.schemes.webcal.2.name", "chrome://browser-region/locale/region.properties");
656 pref("gecko.handlerService.schemes.webcal.2.uriTemplate", "chrome://browser-region/locale/region.properties");
657 pref("gecko.handlerService.schemes.webcal.3.name", "chrome://browser-region/locale/region.properties");
658 pref("gecko.handlerService.schemes.webcal.3.uriTemplate", "chrome://browser-region/locale/region.properties");
659 
660 // mailto
661 pref("gecko.handlerService.schemes.mailto.0.name", "chrome://browser-region/locale/region.properties");
662 pref("gecko.handlerService.schemes.mailto.0.uriTemplate", "chrome://browser-region/locale/region.properties");
663 pref("gecko.handlerService.schemes.mailto.1.name", "chrome://browser-region/locale/region.properties");
664 pref("gecko.handlerService.schemes.mailto.1.uriTemplate", "chrome://browser-region/locale/region.properties");
665 pref("gecko.handlerService.schemes.mailto.2.name", "chrome://browser-region/locale/region.properties");
666 pref("gecko.handlerService.schemes.mailto.2.uriTemplate", "chrome://browser-region/locale/region.properties");
667 pref("gecko.handlerService.schemes.mailto.3.name", "chrome://browser-region/locale/region.properties");
668 pref("gecko.handlerService.schemes.mailto.3.uriTemplate", "chrome://browser-region/locale/region.properties");
669 
670 // irc
671 pref("gecko.handlerService.schemes.irc.0.name", "chrome://browser-region/locale/region.properties");
672 pref("gecko.handlerService.schemes.irc.0.uriTemplate", "chrome://browser-region/locale/region.properties");
673 pref("gecko.handlerService.schemes.irc.1.name", "chrome://browser-region/locale/region.properties");
674 pref("gecko.handlerService.schemes.irc.1.uriTemplate", "chrome://browser-region/locale/region.properties");
675 pref("gecko.handlerService.schemes.irc.2.name", "chrome://browser-region/locale/region.properties");
676 pref("gecko.handlerService.schemes.irc.2.uriTemplate", "chrome://browser-region/locale/region.properties");
677 pref("gecko.handlerService.schemes.irc.3.name", "chrome://browser-region/locale/region.properties");
678 pref("gecko.handlerService.schemes.irc.3.uriTemplate", "chrome://browser-region/locale/region.properties");
679 
680 // ircs
681 pref("gecko.handlerService.schemes.ircs.0.name", "chrome://browser-region/locale/region.properties");
682 pref("gecko.handlerService.schemes.ircs.0.uriTemplate", "chrome://browser-region/locale/region.properties");
683 pref("gecko.handlerService.schemes.ircs.1.name", "chrome://browser-region/locale/region.properties");
684 pref("gecko.handlerService.schemes.ircs.1.uriTemplate", "chrome://browser-region/locale/region.properties");
685 pref("gecko.handlerService.schemes.ircs.2.name", "chrome://browser-region/locale/region.properties");
686 pref("gecko.handlerService.schemes.ircs.2.uriTemplate", "chrome://browser-region/locale/region.properties");
687 pref("gecko.handlerService.schemes.ircs.3.name", "chrome://browser-region/locale/region.properties");
688 pref("gecko.handlerService.schemes.ircs.3.uriTemplate", "chrome://browser-region/locale/region.properties");
689 
690 // By default, we don't want protocol/content handlers to be registered from a different host, see bug 402287
691 pref("gecko.handlerService.allowRegisterFromDifferentHost", false);
692 
693 #ifdef MOZ_SAFE_BROWSING
694 // Safe browsing does nothing unless this pref is set
695 pref("browser.safebrowsing.enabled", true);
696 
697 // Prevent loading of pages identified as malware
698 pref("browser.safebrowsing.malware.enabled", true);
699 
700 // Non-enhanced mode (local url lists) URL list to check for updates
701 pref("browser.safebrowsing.provider.0.updateURL", "http://safebrowsing.clients.google.com/safebrowsing/downloads?client={moz:client}&appver={moz:version}&pver=2.2");
702 
703 pref("browser.safebrowsing.dataProvider", 0);
704 
705 // Does the provider name need to be localizable?
706 pref("browser.safebrowsing.provider.0.name", "Google");
707 pref("browser.safebrowsing.provider.0.lookupURL", "http://safebrowsing.clients.google.com/safebrowsing/lookup?sourceid=firefox-antiphish&features=TrustRank&client={moz:client}&appver={moz:version}&");
708 pref("browser.safebrowsing.provider.0.keyURL", "https://sb-ssl.google.com/safebrowsing/newkey?client={moz:client}&appver={moz:version}&pver=2.2");
709 pref("browser.safebrowsing.provider.0.reportURL", "http://safebrowsing.clients.google.com/safebrowsing/report?");
710 pref("browser.safebrowsing.provider.0.gethashURL", "http://safebrowsing.clients.google.com/safebrowsing/gethash?client={moz:client}&appver={moz:version}&pver=2.2");
711 
712 // HTML report pages
713 pref("browser.safebrowsing.provider.0.reportGenericURL", "http://{moz:locale}.phish-generic.mozilla.com/?hl={moz:locale}");
714 pref("browser.safebrowsing.provider.0.reportErrorURL", "http://{moz:locale}.phish-error.mozilla.com/?hl={moz:locale}");
715 pref("browser.safebrowsing.provider.0.reportPhishURL", "http://{moz:locale}.phish-report.mozilla.com/?hl={moz:locale}");
716 pref("browser.safebrowsing.provider.0.reportMalwareURL", "http://{moz:locale}.malware-report.mozilla.com/?hl={moz:locale}");
717 pref("browser.safebrowsing.provider.0.reportMalwareErrorURL", "http://{moz:locale}.malware-error.mozilla.com/?hl={moz:locale}");
718 
719 // FAQ URLs
720 pref("browser.safebrowsing.warning.infoURL", "http://www.mozilla.com/%LOCALE%/%APP%/phishing-protection/");
721 pref("browser.geolocation.warning.infoURL", "http://www.mozilla.com/%LOCALE%/%APP%/geolocation/");
722 
723 // Name of the about: page contributed by safebrowsing to handle display of error
724 // pages on phishing/malware hits. (bug 399233)
725 pref("urlclassifier.alternate_error_page", "blocked");
726 
727 // The number of random entries to send with a gethash request.
728 pref("urlclassifier.gethashnoise", 4);
729 
730 // The list of tables that use the gethash request to confirm partial results.
731 pref("urlclassifier.gethashtables", "goog-phish-shavar,goog-malware-shavar");
732 
733 // If an urlclassifier table has not been updated in this number of seconds,
734 // a gethash request will be forced to check that the result is still in
735 // the database.
736 pref("urlclassifier.confirm-age", 2700);
737 
738 #ifdef MOZ_WIDGET_GTK2
739 #define RESTRICT_CACHEMAX
740 #endif
741 #ifdef XP_OS2
742 #define RESTRICT_CACHEMAX
743 #endif
744 
745 // Maximum size of the sqlite3 cache during an update, in bytes
746 #ifdef RESTRICT_CACHEMAX
747 pref("urlclassifier.updatecachemax", 104857600);
748 #else
749 pref("urlclassifier.updatecachemax", -1);
750 #endif
751 
752 // URL for checking the reason for a malware warning.
753 pref("browser.safebrowsing.malware.reportURL", "http://safebrowsing.clients.google.com/safebrowsing/diagnostic?client=%NAME%&hl=%LOCALE%&site=");
754 
755 #endif
756 
757 pref("browser.EULA.version", 3);
758 pref("browser.rights.version", 3);
759 pref("browser.rights.3.shown", false);
760 
761 #ifdef DEBUG
762 // Don't show the about:rights notification in debug builds.
763 pref("browser.rights.override", true);
764 #endif
765 
766 #ifdef WINCE
767 pref("browser.sessionstore.resume_from_crash", false);
768 #else
769 pref("browser.sessionstore.resume_from_crash", true);
770 #endif
771 pref("browser.sessionstore.resume_session_once", false);
772 
773 // minimal interval between two save operations in milliseconds
774 pref("browser.sessionstore.interval", 10000);
775 // maximum amount of POSTDATA to be saved in bytes per history entry (-1 = all of it)
776 // (NB: POSTDATA will be saved either entirely or not at all)
777 pref("browser.sessionstore.postdata", 0);
778 // on which sites to save text data, POSTDATA and cookies
779 // 0 = everywhere, 1 = unencrypted sites, 2 = nowhere
780 pref("browser.sessionstore.privacy_level", 1);
781 // how many tabs can be reopened (per window)
782 pref("browser.sessionstore.max_tabs_undo", 10);
783 // how many windows can be reopened (per session) - on non-OS X platforms this
784 // pref may be ignored when dealing with pop-up windows to ensure proper startup
785 pref("browser.sessionstore.max_windows_undo", 3);
786 // number of crashes that can occur before the about:sessionrestore page is displayed
787 // (this pref has no effect if more than 6 hours have passed since the last crash)
788 pref("browser.sessionstore.max_resumed_crashes", 1);
789 
790 // allow META refresh by default
791 pref("accessibility.blockautorefresh", false);
792 
793 // the (maximum) number of the recent visits to sample
794 // when calculating frecency
795 pref("places.frecency.numVisits", 10);
796 
797 // buckets (in days) for frecency calculation
798 pref("places.frecency.firstBucketCutoff", 4);
799 pref("places.frecency.secondBucketCutoff", 14);
800 pref("places.frecency.thirdBucketCutoff", 31);
801 pref("places.frecency.fourthBucketCutoff", 90);
802 
803 // weights for buckets for frecency calculations
804 pref("places.frecency.firstBucketWeight", 100);
805 pref("places.frecency.secondBucketWeight", 70);
806 pref("places.frecency.thirdBucketWeight", 50);
807 pref("places.frecency.fourthBucketWeight", 30);
808 pref("places.frecency.defaultBucketWeight", 10);
809 
810 // bonus (in percent) for visit transition types for frecency calculations
811 pref("places.frecency.embedVisitBonus", 0);
812 pref("places.frecency.linkVisitBonus", 100);
813 pref("places.frecency.typedVisitBonus", 2000);
814 pref("places.frecency.bookmarkVisitBonus", 75);
815 pref("places.frecency.downloadVisitBonus", 0);
816 pref("places.frecency.permRedirectVisitBonus", 0);
817 pref("places.frecency.tempRedirectVisitBonus", 0);
818 pref("places.frecency.defaultVisitBonus", 0);
819 
820 // bonus (in percent) for place types for frecency calculations
821 pref("places.frecency.unvisitedBookmarkBonus", 140);
822 pref("places.frecency.unvisitedTypedBonus", 200);
823 
824 // Controls behavior of the "Add Exception" dialog launched from SSL error pages
825 // 0 - don't pre-populate anything
826 // 1 - pre-populate site URL, but don't fetch certificate
827 // 2 - pre-populate site URL and pre-fetch certificate
828 pref("browser.ssl_override_behavior", 2);
829 
830 // Controls the display of domain in the identity box for SSL connections.
831 // 0 - do not show domain
832 // 1 - show effectiveTLD + 1 (e.g. mozilla.org)
833 // 2 - show full domain (e.g. bugzilla.mozilla.org)
834 pref("browser.identity.ssl_domain_display", 1);
835 
836 // True if the user should be prompted when a web application supports
837 // offline apps.
838 pref("browser.offline-apps.notify", true);
839 
840 // if true, use full page zoom instead of text zoom
841 pref("browser.zoom.full", true);
842 
843 // Whether or not to save and restore zoom levels on a per-site basis.
844 pref("browser.zoom.siteSpecific", true);
845 
846 // Whether or not to update background tabs to the current zoom level.
847 pref("browser.zoom.updateBackgroundTabs", true);
848 
849 // replace newlines with spaces when pasting into <input type="text"> fields
850 pref("editor.singleLine.pasteNewlines", 2);
851 
852 // The breakpad report server to link to in about:crashes
853 pref("breakpad.reportURL", "http://crash-stats.mozilla.com/report/index/");
854 
855 // base URL for web-based support pages
856 pref("app.support.baseURL", "http://support.mozilla.com/1/%APP%/%VERSION%/%OS%/%LOCALE%/");
857 
858 // Name of alternate about: page for certificate errors (when undefined, defaults to about:neterror)
859 pref("security.alternate_certificate_error_page", "certerror");
860 
861 // Whether to start the private browsing mode at application startup
862 pref("browser.privatebrowsing.autostart", false);
863 
864 // Whether we should skip prompting before starting the private browsing mode
865 pref("browser.privatebrowsing.dont_prompt_on_enter", false);
866 
867 // Don't try to alter this pref, it'll be reset the next time you use the
868 // bookmarking dialog
869 pref("browser.bookmarks.editDialog.firstEditField", "namePicker");
870 
871 // base url for the wifi geolocation network provider
872 pref("geo.wifi.uri", "https://www.google.com/loc/json");
873 
874 #ifdef WINCE
875 
876 // tweak awesomebar -- increase the delay until a search happens.
877 pref("browser.urlbar.delay", 250);
878 
879 // disable safe browsing, due to perf hit
880 pref("browser.safebrowsing.enabled", false);
881 pref("browser.safebrowsing.malware.enabled", false);
882 
883 // don't check for default browser
884 pref("browser.shell.checkDefaultBrowser", false);
885 
886 // disable bfcache for memory
887 pref("browser.sessionhistory.max_total_viewers", 0);
888 
889 // tweak default content sink prefs
890 pref("content.sink.interactive_deflect_count", 10); /* default 0 */
891 pref("content.sink.perf_deflect_count", 50); /* default 200 */
892 pref("content.sink.interactive_parse_time", 5000); /* default 3000 */
893 pref("content.sink.perf_parse_time", 150000); /* default 360000 */
894 pref("content.sink.pending_event_mode", 0); /* default 1 */
895 pref("content.sink.event_probe_rate", 1); /* default 1 */
896 pref("content.sink.interactive_time", 750000); /* default 750000 */
897 pref("content.sink.initial_perf_time", 500000); /* default 2000000 */
898 pref("content.sink.enable_perf_mode", 0); /* default 0; 0 == switch, 1 == stay interactive, 2 == stay perf */
899 
900 // Write sessionstore.js less often
901 pref("browser.sessionstore.interval", 60000);
902 
903 #endif /* WINCE */
904 
905 // Whether to use a panel that looks like an OS X sheet for customization
906 #ifdef XP_MACOSX
907 pref("toolbar.customization.usesheet", true);
908 #else
909 pref("toolbar.customization.usesheet", false);
910 #endif
911 
912 #ifdef XP_WIN
913 #ifndef WINCE
914 pref("browser.taskbar.previews.enable", false);
915 pref("browser.taskbar.previews.max", 20);
916 pref("browser.taskbar.previews.cachetime", 20);
917 #endif
918 #endif
pref("general.startup.browser", true)